#include <linux/bitops.h>
#include <linux/device.h>
#include <linux/hwmon.h>
#include <linux/hwmon-sysfs.h>
#include <linux/module.h>
#include <linux/platform_data/mlxreg.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#define MLXREG_IO_ATT_SIZE …
#define MLXREG_IO_ATT_NUM …
struct mlxreg_io_priv_data { … };
static int
mlxreg_io_get_reg(void *regmap, struct mlxreg_core_data *data, u32 in_val,
bool rw_flag, int regsize, u32 *regval)
{ … }
static ssize_t
mlxreg_io_attr_show(struct device *dev, struct device_attribute *attr,
char *buf)
{ … }
static ssize_t
mlxreg_io_attr_store(struct device *dev, struct device_attribute *attr,
const char *buf, size_t len)
{ … }
static struct device_attribute mlxreg_io_devattr_rw = …;
static int mlxreg_io_attr_init(struct mlxreg_io_priv_data *priv)
{ … }
static int mlxreg_io_probe(struct platform_device *pdev)
{ … }
static void mlxreg_io_remove(struct platform_device *pdev)
{ … }
static struct platform_driver mlxreg_io_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;