#include <linux/interrupt.h>
#include <linux/mfd/rk808.h>
#include <linux/mfd/core.h>
#include <linux/module.h>
#include <linux/property.h>
#include <linux/regmap.h>
#include <linux/reboot.h>
struct rk808_reg_data { … };
static const struct resource rtc_resources[] = …;
static const struct resource rk816_rtc_resources[] = …;
static const struct resource rk817_rtc_resources[] = …;
static const struct resource rk805_key_resources[] = …;
static struct resource rk806_pwrkey_resources[] = …;
static const struct resource rk817_pwrkey_resources[] = …;
static const struct resource rk817_charger_resources[] = …;
static const struct mfd_cell rk805s[] = …;
static const struct mfd_cell rk806s[] = …;
static const struct mfd_cell rk808s[] = …;
static const struct mfd_cell rk816s[] = …;
static const struct mfd_cell rk817s[] = …;
static const struct mfd_cell rk818s[] = …;
static const struct rk808_reg_data rk805_pre_init_reg[] = …;
static const struct rk808_reg_data rk806_pre_init_reg[] = …;
static const struct rk808_reg_data rk808_pre_init_reg[] = …;
static const struct rk808_reg_data rk816_pre_init_reg[] = …;
static const struct rk808_reg_data rk817_pre_init_reg[] = …;
static const struct rk808_reg_data rk818_pre_init_reg[] = …;
static const struct regmap_irq rk805_irqs[] = …;
static const struct regmap_irq rk806_irqs[] = …;
static const struct regmap_irq rk808_irqs[] = …;
static const unsigned int rk816_irq_status_offsets[] = …;
static const unsigned int rk816_irq_mask_offsets[] = …;
static unsigned int rk816_get_irq_reg(struct regmap_irq_chip_data *data,
unsigned int base, int index)
{
unsigned int irq_reg = base;
switch (base) {
case RK816_INT_STS_REG1:
irq_reg += rk816_irq_status_offsets[index];
break;
case RK816_INT_STS_MSK_REG1:
irq_reg += rk816_irq_mask_offsets[index];
break;
}
return irq_reg;
};
static const struct regmap_irq rk816_irqs[] = …;
static const struct regmap_irq rk818_irqs[] = …;
static const struct regmap_irq rk817_irqs[RK817_IRQ_END] = …;
static struct regmap_irq_chip rk805_irq_chip = …;
static struct regmap_irq_chip rk806_irq_chip = …;
static const struct regmap_irq_chip rk808_irq_chip = …;
static const struct regmap_irq_chip rk816_irq_chip = …;
static struct regmap_irq_chip rk817_irq_chip = …;
static const struct regmap_irq_chip rk818_irq_chip = …;
static int rk808_power_off(struct sys_off_data *data)
{ … }
static int rk808_restart(struct sys_off_data *data)
{ … }
void rk8xx_shutdown(struct device *dev)
{ … }
EXPORT_SYMBOL_GPL(…);
int rk8xx_probe(struct device *dev, int variant, unsigned int irq, struct regmap *regmap)
{ … }
EXPORT_SYMBOL_GPL(…);
int rk8xx_suspend(struct device *dev)
{ … }
EXPORT_SYMBOL_GPL(…);
int rk8xx_resume(struct device *dev)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;