#include <linux/bitops.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/err.h>
#include <linux/i2c.h>
#include "pmbus.h"
enum chips { … };
#define MAX34440_MFR_VOUT_PEAK …
#define MAX34440_MFR_IOUT_PEAK …
#define MAX34440_MFR_TEMPERATURE_PEAK …
#define MAX34440_MFR_VOUT_MIN …
#define MAX34446_MFR_POUT_PEAK …
#define MAX34446_MFR_POUT_AVG …
#define MAX34446_MFR_IOUT_AVG …
#define MAX34446_MFR_TEMPERATURE_AVG …
#define MAX34440_STATUS_OC_WARN …
#define MAX34440_STATUS_OC_FAULT …
#define MAX34440_STATUS_OT_FAULT …
#define MAX34440_STATUS_OT_WARN …
#define MAX34440_IOUT_OC_WARN_LIMIT …
#define MAX34440_IOUT_OC_FAULT_LIMIT …
#define MAX34451_MFR_CHANNEL_CONFIG …
#define MAX34451_MFR_CHANNEL_CONFIG_SEL_MASK …
struct max34440_data { … };
#define to_max34440_data(x) …
static const struct i2c_device_id max34440_id[];
static int max34440_read_word_data(struct i2c_client *client, int page,
int phase, int reg)
{ … }
static int max34440_write_word_data(struct i2c_client *client, int page,
int reg, u16 word)
{ … }
static int max34440_read_byte_data(struct i2c_client *client, int page, int reg)
{ … }
static int max34451_set_supported_funcs(struct i2c_client *client,
struct max34440_data *data)
{ … }
static struct pmbus_driver_info max34440_info[] = …;
static int max34440_probe(struct i2c_client *client)
{ … }
static const struct i2c_device_id max34440_id[] = …;
MODULE_DEVICE_TABLE(i2c, max34440_id);
static struct i2c_driver max34440_driver = …;
module_i2c_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_IMPORT_NS(…);