#include <linux/i2c.h>
#include <linux/mfd/core.h>
#include <linux/module.h>
#include <linux/notifier.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/reboot.h>
#include <linux/regmap.h>
#include <linux/mfd/88pm886.h>
static const struct regmap_config pm886_regmap_config = …;
static struct regmap_irq pm886_regmap_irqs[] = …;
static struct regmap_irq_chip pm886_regmap_irq_chip = …;
static struct resource pm886_onkey_resources[] = …;
static struct mfd_cell pm886_devs[] = …;
static int pm886_power_off_handler(struct sys_off_data *sys_off_data)
{ … }
static int pm886_setup_irq(struct pm886_chip *chip,
struct regmap_irq_chip_data **irq_data)
{ … }
static int pm886_probe(struct i2c_client *client)
{ … }
static const struct of_device_id pm886_of_match[] = …;
MODULE_DEVICE_TABLE(of, pm886_of_match);
static struct i2c_driver pm886_i2c_driver = …;
module_i2c_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;