#include <linux/err.h>
#include <linux/i2c.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include "pmbus.h"
#define MP2888_MFR_SYS_CONFIG …
#define MP2888_MFR_READ_CS1_2 …
#define MP2888_MFR_READ_CS3_4 …
#define MP2888_MFR_READ_CS5_6 …
#define MP2888_MFR_READ_CS7_8 …
#define MP2888_MFR_READ_CS9_10 …
#define MP2888_MFR_VR_CONFIG1 …
#define MP2888_TOTAL_CURRENT_RESOLUTION …
#define MP2888_PHASE_CURRENT_RESOLUTION …
#define MP2888_DRMOS_KCS …
#define MP2888_TEMP_UNIT …
#define MP2888_MAX_PHASE …
struct mp2888_data { … };
#define to_mp2888_data(x) …
static int mp2888_read_byte_data(struct i2c_client *client, int page, int reg)
{ … }
static int
mp2888_current_sense_gain_and_resolution_get(struct i2c_client *client, struct mp2888_data *data)
{ … }
static int
mp2888_read_phase(struct i2c_client *client, struct mp2888_data *data, int page, int phase, u8 reg)
{ … }
static int
mp2888_read_phases(struct i2c_client *client, struct mp2888_data *data, int page, int phase)
{ … }
static int mp2888_read_word_data(struct i2c_client *client, int page, int phase, int reg)
{ … }
static int mp2888_write_word_data(struct i2c_client *client, int page, int reg, u16 word)
{ … }
static int
mp2888_identify_multiphase(struct i2c_client *client, struct mp2888_data *data,
struct pmbus_driver_info *info)
{ … }
static struct pmbus_driver_info mp2888_info = …;
static int mp2888_probe(struct i2c_client *client)
{ … }
static const struct i2c_device_id mp2888_id[] = …;
MODULE_DEVICE_TABLE(i2c, mp2888_id);
static const struct of_device_id __maybe_unused mp2888_of_match[] = …;
MODULE_DEVICE_TABLE(of, mp2888_of_match);
static struct i2c_driver mp2888_driver = …;
module_i2c_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_IMPORT_NS(…);