linux/drivers/mfd/lp8788-irq.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * TI LP8788 MFD - interrupt handler
 *
 * Copyright 2012 Texas Instruments
 *
 * Author: Milo(Woogyom) Kim <[email protected]>
 */

#include <linux/delay.h>
#include <linux/err.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/irqdomain.h>
#include <linux/device.h>
#include <linux/mfd/lp8788.h>
#include <linux/module.h>
#include <linux/slab.h>

/* register address */
#define LP8788_INT_1
#define LP8788_INTEN_1

#define BASE_INTEN_ADDR
#define SIZE_REG
#define NUM_REGS

/*
 * struct lp8788_irq_data
 * @lp               : used for accessing to lp8788 registers
 * @irq_lock         : mutex for enabling/disabling the interrupt
 * @domain           : IRQ domain for handling nested interrupt
 * @enabled          : status of enabled interrupt
 */
struct lp8788_irq_data {};

static inline u8 _irq_to_addr(enum lp8788_int_id id)
{}

static inline u8 _irq_to_enable_addr(enum lp8788_int_id id)
{}

static inline u8 _irq_to_mask(enum lp8788_int_id id)
{}

static inline u8 _irq_to_val(enum lp8788_int_id id, int enable)
{}

static void lp8788_irq_enable(struct irq_data *data)
{}

static void lp8788_irq_disable(struct irq_data *data)
{}

static void lp8788_irq_bus_lock(struct irq_data *data)
{}

static void lp8788_irq_bus_sync_unlock(struct irq_data *data)
{}

static struct irq_chip lp8788_irq_chip =;

static irqreturn_t lp8788_irq_handler(int irq, void *ptr)
{}

static int lp8788_irq_map(struct irq_domain *d, unsigned int virq,
			irq_hw_number_t hwirq)
{}

static const struct irq_domain_ops lp8788_domain_ops =;

int lp8788_irq_init(struct lp8788 *lp, int irq)
{}

void lp8788_irq_exit(struct lp8788 *lp)
{}