#include <linux/device.h>
#include <linux/delay.h>
#include <linux/input.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/irqdomain.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <linux/mfd/da9052/da9052.h>
#include <linux/mfd/da9052/reg.h>
#define DA9052_NUM_IRQ_REGS …
#define DA9052_IRQ_MASK_POS_1 …
#define DA9052_IRQ_MASK_POS_2 …
#define DA9052_IRQ_MASK_POS_3 …
#define DA9052_IRQ_MASK_POS_4 …
#define DA9052_IRQ_MASK_POS_5 …
#define DA9052_IRQ_MASK_POS_6 …
#define DA9052_IRQ_MASK_POS_7 …
#define DA9052_IRQ_MASK_POS_8 …
static const struct regmap_irq da9052_irqs[] = …;
static const struct regmap_irq_chip da9052_regmap_irq_chip = …;
static int da9052_map_irq(struct da9052 *da9052, int irq)
{ … }
int da9052_enable_irq(struct da9052 *da9052, int irq)
{ … }
EXPORT_SYMBOL_GPL(…);
int da9052_disable_irq(struct da9052 *da9052, int irq)
{ … }
EXPORT_SYMBOL_GPL(…);
int da9052_disable_irq_nosync(struct da9052 *da9052, int irq)
{ … }
EXPORT_SYMBOL_GPL(…);
int da9052_request_irq(struct da9052 *da9052, int irq, char *name,
irq_handler_t handler, void *data)
{ … }
EXPORT_SYMBOL_GPL(…);
void da9052_free_irq(struct da9052 *da9052, int irq, void *data)
{ … }
EXPORT_SYMBOL_GPL(…);
static irqreturn_t da9052_auxadc_irq(int irq, void *irq_data)
{ … }
int da9052_irq_init(struct da9052 *da9052)
{ … }
int da9052_irq_exit(struct da9052 *da9052)
{ … }