#include <linux/i2c.h>
#include <linux/module.h>
#include <linux/of_device.h>
#include "pmbus.h"
#define MP2993_VOUT_OVUV_UINT …
#define MP2993_VOUT_OVUV_DIV …
#define MP2993_VIN_LIMIT_UINT …
#define MP2993_VIN_LIMIT_DIV …
#define MP2993_READ_VIN_UINT …
#define MP2993_READ_VIN_DIV …
#define MP2993_PAGE_NUM …
#define MP2993_RAIL1_FUNC …
#define MP2993_RAIL2_FUNC …
static u16 mp2993_linear11_exponent_transfer(u16 word, u16 expect_exponent)
{ … }
static int
mp2993_set_vout_format(struct i2c_client *client, int page, int format)
{ … }
static int mp2993_identify(struct i2c_client *client, struct pmbus_driver_info *info)
{ … }
static int mp2993_read_word_data(struct i2c_client *client, int page, int phase,
int reg)
{ … }
static int mp2993_write_word_data(struct i2c_client *client, int page, int reg,
u16 word)
{ … }
static struct pmbus_driver_info mp2993_info = …;
static int mp2993_probe(struct i2c_client *client)
{ … }
static const struct i2c_device_id mp2993_id[] = …;
MODULE_DEVICE_TABLE(i2c, mp2993_id);
static const struct of_device_id __maybe_unused mp2993_of_match[] = …;
MODULE_DEVICE_TABLE(of, mp2993_of_match);
static struct i2c_driver mp2993_driver = …;
module_i2c_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_IMPORT_NS(…);