diff options
| author | Anup Patel <[email protected]> | 2026-06-08 18:22:53 +0530 |
|---|---|---|
| committer | Anup Patel <[email protected]> | 2026-06-10 18:13:10 +0530 |
| commit | 8570b938444d92d4557df7e03bd9cb83fdd4c2b1 (patch) | |
| tree | 4f4f62d3816e9b17ba9ab261c632f9b3214cf0eb /lib/utils | |
| parent | a59c8fb9fb0ee4b56268b84cf94d6a5d66ead514 (diff) | |
lib: sbi_irqchip: Allow irqchip drivers advertise capabilities
Extend struct sbi_irqchip_device to allow irqchip drivers advertise
interrupt controller capabilities (such as wired interrupt, MSIs, etc).
This further allows other parts of OpenSBI to lookup irqchip devices
based on capabilities.
Signed-off-by: Anup Patel <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Anup Patel <[email protected]>
Diffstat (limited to 'lib/utils')
| -rw-r--r-- | lib/utils/irqchip/aplic.c | 1 | ||||
| -rw-r--r-- | lib/utils/irqchip/imsic.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/lib/utils/irqchip/aplic.c b/lib/utils/irqchip/aplic.c index ec69c82b..6c63620e 100644 --- a/lib/utils/irqchip/aplic.c +++ b/lib/utils/irqchip/aplic.c @@ -307,6 +307,7 @@ int aplic_cold_irqchip_init(struct aplic_data *aplic) /* Register irqchip device */ aplic->irqchip.id = aplic->unique_id; + aplic->irqchip.caps = SBI_IRQCHIP_CAPS_WIRED; aplic->irqchip.num_hwirq = aplic->num_source + 1; rc = sbi_irqchip_add_device(&aplic->irqchip); if (rc) diff --git a/lib/utils/irqchip/imsic.c b/lib/utils/irqchip/imsic.c index 521d17fe..0e7f3e6b 100644 --- a/lib/utils/irqchip/imsic.c +++ b/lib/utils/irqchip/imsic.c @@ -400,6 +400,7 @@ int imsic_cold_irqchip_init(struct imsic_data *imsic) /* Register irqchip device */ imsic_device.id = imsic->unique_id; + imsic_device.caps = SBI_IRQCHIP_CAPS_MSI; imsic_device.num_hwirq = imsic->num_ids + 1; sbi_hartmask_set_all(&imsic_device.target_harts); rc = sbi_irqchip_add_device(&imsic_device); |
