#include <linux/i2c.h>
#include <linux/interrupt.h>
#include <linux/kernel.h>
#include <linux/mutex.h>
#include <linux/export.h>
#include <linux/slab.h>
#include <linux/mfd/pcf50633/core.h>
#include <linux/mfd/pcf50633/mbc.h>
int pcf50633_register_irq(struct pcf50633 *pcf, int irq,
void (*handler) (int, void *), void *data)
{ … }
EXPORT_SYMBOL_GPL(…);
int pcf50633_free_irq(struct pcf50633 *pcf, int irq)
{ … }
EXPORT_SYMBOL_GPL(…);
static int __pcf50633_irq_mask_set(struct pcf50633 *pcf, int irq, u8 mask)
{ … }
int pcf50633_irq_mask(struct pcf50633 *pcf, int irq)
{ … }
EXPORT_SYMBOL_GPL(…);
int pcf50633_irq_unmask(struct pcf50633 *pcf, int irq)
{ … }
EXPORT_SYMBOL_GPL(…);
int pcf50633_irq_mask_get(struct pcf50633 *pcf, int irq)
{ … }
EXPORT_SYMBOL_GPL(…);
static void pcf50633_irq_call_handler(struct pcf50633 *pcf, int irq)
{ … }
#define PCF50633_ONKEY1S_TIMEOUT …
static irqreturn_t pcf50633_irq(int irq, void *data)
{ … }
static int pcf50633_suspend(struct device *dev)
{ … }
static int pcf50633_resume(struct device *dev)
{ … }
EXPORT_GPL_SIMPLE_DEV_PM_OPS(…);
int pcf50633_irq_init(struct pcf50633 *pcf, int irq)
{ … }
void pcf50633_irq_free(struct pcf50633 *pcf)
{ … }