summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSamuel Holland <[email protected]>2024-11-04 20:10:10 -0800
committerAnup Patel <[email protected]>2024-11-28 11:51:56 +0530
commit111772353f4a334dfc4a94a17ebbec8e3edc0b5e (patch)
tree5ef6916e5bc9450a22b5f0d11f935bc24548ed49 /include
parent678f5909a3fe54d528276f9afce5dd3148e42cbf (diff)
lib: sbi_irqchip: Set the IRQ handler when registering a chip
In addition to saving some code size, this moves the decision about setting the top-level external interrupt handler to the irqchip core, not the specific driver, which would be needed to support chained interrupt handlers. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Anup Patel <[email protected]>
Diffstat (limited to 'include')
-rw-r--r--include/sbi/sbi_irqchip.h13
1 files changed, 3 insertions, 10 deletions
diff --git a/include/sbi/sbi_irqchip.h b/include/sbi/sbi_irqchip.h
index 9d26067f..e0ae12f5 100644
--- a/include/sbi/sbi_irqchip.h
+++ b/include/sbi/sbi_irqchip.h
@@ -22,17 +22,10 @@ struct sbi_irqchip_device {
/** Initialize per-hart state for the current hart */
int (*warm_init)(struct sbi_irqchip_device *dev);
-};
-/**
- * Set external interrupt handling function
- *
- * This function is called by OpenSBI platform code to set a handler for
- * external interrupts
- *
- * @param fn function pointer for handling external irqs
- */
-void sbi_irqchip_set_irqfn(int (*fn)(void));
+ /** Handle an IRQ from this irqchip */
+ int (*irq_handle)(void);
+};
/**
* Process external interrupts