#include <linux/i2c.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/pmbus.h>
#include "pmbus.h"
enum chips { … };
static int bpa_rs600_read_byte_data(struct i2c_client *client, int page, int reg)
{ … }
static int bpa_rs600_read_vin(struct i2c_client *client)
{ … }
static int bpa_rs600_read_pin_max(struct i2c_client *client)
{ … }
static int bpa_rs600_read_word_data(struct i2c_client *client, int page, int phase, int reg)
{ … }
static struct pmbus_driver_info bpa_rs600_info = …;
static const struct i2c_device_id bpa_rs600_id[] = …;
MODULE_DEVICE_TABLE(i2c, bpa_rs600_id);
static int bpa_rs600_probe(struct i2c_client *client)
{ … }
static const struct of_device_id __maybe_unused bpa_rs600_of_match[] = …;
MODULE_DEVICE_TABLE(of, bpa_rs600_of_match);
static struct i2c_driver bpa_rs600_driver = …;
module_i2c_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_IMPORT_NS(…);