#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/irqdomain.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/suspend.h>
#include <linux/mfd/mt6323/core.h>
#include <linux/mfd/mt6323/registers.h>
#include <linux/mfd/mt6331/core.h>
#include <linux/mfd/mt6331/registers.h>
#include <linux/mfd/mt6397/core.h>
#include <linux/mfd/mt6397/registers.h>
static void mt6397_irq_lock(struct irq_data *data)
{ … }
static void mt6397_irq_sync_unlock(struct irq_data *data)
{ … }
static void mt6397_irq_disable(struct irq_data *data)
{ … }
static void mt6397_irq_enable(struct irq_data *data)
{ … }
static int mt6397_irq_set_wake(struct irq_data *irq_data, unsigned int on)
{ … }
static struct irq_chip mt6397_irq_chip = …;
static void mt6397_irq_handle_reg(struct mt6397_chip *mt6397, int reg,
int irqbase)
{ … }
static irqreturn_t mt6397_irq_thread(int irq, void *data)
{ … }
static int mt6397_irq_domain_map(struct irq_domain *d, unsigned int irq,
irq_hw_number_t hw)
{ … }
static const struct irq_domain_ops mt6397_irq_domain_ops = …;
static int mt6397_irq_pm_notifier(struct notifier_block *notifier,
unsigned long pm_event, void *unused)
{ … }
int mt6397_irq_init(struct mt6397_chip *chip)
{ … }