#include <linux/delay.h>
#include <linux/gpio.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/irqdomain.h>
#include <linux/module.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
#include <linux/slab.h>
#include <linux/mfd/arizona/core.h>
#include <linux/mfd/arizona/registers.h>
#include "arizona.h"
#define ARIZONA_AOD_IRQ_INDEX …
#define ARIZONA_MAIN_IRQ_INDEX …
static int arizona_map_irq(struct arizona *arizona, int irq)
{ … }
int arizona_request_irq(struct arizona *arizona, int irq, char *name,
irq_handler_t handler, void *data)
{ … }
EXPORT_SYMBOL_GPL(…);
void arizona_free_irq(struct arizona *arizona, int irq, void *data)
{ … }
EXPORT_SYMBOL_GPL(…);
int arizona_set_irq_wake(struct arizona *arizona, int irq, int on)
{ … }
EXPORT_SYMBOL_GPL(…);
static irqreturn_t arizona_boot_done(int irq, void *data)
{ … }
static irqreturn_t arizona_ctrlif_err(int irq, void *data)
{ … }
static irqreturn_t arizona_irq_thread(int irq, void *data)
{ … }
static void arizona_irq_enable(struct irq_data *data)
{ … }
static void arizona_irq_disable(struct irq_data *data)
{ … }
static int arizona_irq_set_wake(struct irq_data *data, unsigned int on)
{ … }
static struct irq_chip arizona_irq_chip = …;
static struct lock_class_key arizona_irq_lock_class;
static struct lock_class_key arizona_irq_request_class;
static int arizona_irq_map(struct irq_domain *h, unsigned int virq,
irq_hw_number_t hw)
{ … }
static const struct irq_domain_ops arizona_domain_ops = …;
int arizona_irq_init(struct arizona *arizona)
{ … }
int arizona_irq_exit(struct arizona *arizona)
{ … }