linux/drivers/irqchip/irq-starfive-jh8100-intc.c

// SPDX-License-Identifier: GPL-2.0
/*
 * StarFive JH8100 External Interrupt Controller driver
 *
 * Copyright (C) 2023 StarFive Technology Co., Ltd.
 *
 * Author: Changhuang Liang <[email protected]>
 */

#define pr_fmt(fmt)

#include <linux/bitops.h>
#include <linux/clk.h>
#include <linux/irq.h>
#include <linux/irqchip.h>
#include <linux/irqchip/chained_irq.h>
#include <linux/irqdomain.h>
#include <linux/of_address.h>
#include <linux/of_irq.h>
#include <linux/reset.h>
#include <linux/spinlock.h>

#define STARFIVE_INTC_SRC0_CLEAR
#define STARFIVE_INTC_SRC0_MASK
#define STARFIVE_INTC_SRC0_INT

#define STARFIVE_INTC_SRC_IRQ_NUM

struct starfive_irq_chip {};

static void starfive_intc_bit_set(struct starfive_irq_chip *irqc,
				  u32 reg, u32 bit_mask)
{}

static void starfive_intc_bit_clear(struct starfive_irq_chip *irqc,
				    u32 reg, u32 bit_mask)
{}

static void starfive_intc_unmask(struct irq_data *d)
{}

static void starfive_intc_mask(struct irq_data *d)
{}

static struct irq_chip intc_dev =;

static int starfive_intc_map(struct irq_domain *d, unsigned int irq,
			     irq_hw_number_t hwirq)
{}

static const struct irq_domain_ops starfive_intc_domain_ops =;

static void starfive_intc_irq_handler(struct irq_desc *desc)
{}

static int __init starfive_intc_init(struct device_node *intc,
				     struct device_node *parent)
{}

IRQCHIP_PLATFORM_DRIVER_BEGIN(starfive_intc)
IRQCHIP_MATCH("starfive,jh8100-intc", starfive_intc_init)
IRQCHIP_PLATFORM_DRIVER_END(starfive_intc)

MODULE_DESCRIPTION();
MODULE_LICENSE();
MODULE_AUTHOR();