#include <linux/i2c.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/irq.h>
#include <linux/mfd/core.h>
#include <linux/mfd/rohm-bd957x.h>
#include <linux/mfd/rohm-generic.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/regmap.h>
#include <linux/types.h>
enum { … };
static const struct resource bd9576_regulator_irqs[] = …;
static struct mfd_cell bd9573_mfd_cells[] = …;
static struct mfd_cell bd9576_mfd_cells[] = …;
static const struct regmap_range volatile_ranges[] = …;
static const struct regmap_access_table volatile_regs = …;
static struct regmap_config bd957x_regmap = …;
static struct regmap_irq bd9576_irqs[] = …;
static struct regmap_irq_chip bd9576_irq_chip = …;
static int bd957x_i2c_probe(struct i2c_client *i2c)
{ … }
static const struct of_device_id bd957x_of_match[] = …;
MODULE_DEVICE_TABLE(of, bd957x_of_match);
static struct i2c_driver bd957x_drv = …;
module_i2c_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;