From e82d20122dcf97a357053636c1fc6d268bd4db5c Mon Sep 17 00:00:00 2001 From: Anup Patel Date: Fri, 13 Feb 2026 11:23:40 +0530 Subject: lib: utils/irqchip: Add unique_id to plic, aplic, and imsic data Add a 32-bit unique ID to plic, aplic, and imsic data which can be used to differentiate multiple irqchip devices. Signed-off-by: Anup Patel Link: https://lore.kernel.org/r/20260213055342.3124872-7-anup.patel@oss.qualcomm.com Signed-off-by: Anup Patel --- lib/utils/fdt/fdt_helper.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'lib/utils') diff --git a/lib/utils/fdt/fdt_helper.c b/lib/utils/fdt/fdt_helper.c index a8c6e1aa..b57eae1a 100644 --- a/lib/utils/fdt/fdt_helper.c +++ b/lib/utils/fdt/fdt_helper.c @@ -673,6 +673,7 @@ int fdt_parse_aplic_node(const void *fdt, int nodeoff, struct aplic_data *aplic) rc = fdt_get_node_addr_size(fdt, nodeoff, 0, ®_addr, ®_size); if (rc < 0 || !reg_size) return SBI_ENODEV; + aplic->unique_id = nodeoff; aplic->addr = reg_addr; aplic->size = reg_size; @@ -805,6 +806,7 @@ int fdt_parse_imsic_node(const void *fdt, int nodeoff, struct imsic_data *imsic) if (nodeoff < 0 || !imsic || !fdt) return SBI_ENODEV; + imsic->unique_id = nodeoff; imsic->targets_mmode = false; val = fdt_getprop(fdt, nodeoff, "interrupts-extended", &len); if (val && len > sizeof(fdt32_t)) { @@ -887,6 +889,7 @@ int fdt_parse_plic_node(const void *fdt, int nodeoffset, struct plic_data *plic) ®_addr, ®_size); if (rc < 0 || !reg_size) return SBI_ENODEV; + plic->unique_id = nodeoffset; plic->addr = reg_addr; plic->size = reg_size; -- cgit v1.2.3