Skip to content

Commit 694b2ef

Browse files
vlsunilPaul Walmsley
authored andcommitted
ACPI: RISC-V: Create interrupt controller list in sorted order
Currently, the interrupt controller list is created without any order. Create the list sorted with the GSI base of the interrupt controllers. Signed-off-by: Sunil V L <sunilvl@ventanamicro.com> Signed-off-by: Anup Patel <apatel@ventanamicro.com> Acked-by: Jassi Brar <jassisinghbrar@gmail.com> Link: https://lore.kernel.org/r/20250818040920.272664-18-apatel@ventanamicro.com Signed-off-by: Paul Walmsley <pjw@kernel.org>
1 parent 4215d1c commit 694b2ef

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

drivers/acpi/riscv/irq.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ struct fwnode_handle *riscv_acpi_get_gsi_domain_id(u32 gsi)
115115
static int __init riscv_acpi_register_ext_intc(u32 gsi_base, u32 nr_irqs, u32 nr_idcs,
116116
u32 id, u32 type)
117117
{
118-
struct riscv_ext_intc_list *ext_intc_element;
118+
struct riscv_ext_intc_list *ext_intc_element, *node;
119119

120120
ext_intc_element = kzalloc(sizeof(*ext_intc_element), GFP_KERNEL);
121121
if (!ext_intc_element)
@@ -125,7 +125,12 @@ static int __init riscv_acpi_register_ext_intc(u32 gsi_base, u32 nr_irqs, u32 nr
125125
ext_intc_element->nr_irqs = nr_irqs;
126126
ext_intc_element->nr_idcs = nr_idcs;
127127
ext_intc_element->id = id;
128-
list_add_tail(&ext_intc_element->list, &ext_intc_list);
128+
list_for_each_entry(node, &ext_intc_list, list) {
129+
if (node->gsi_base < ext_intc_element->gsi_base)
130+
break;
131+
}
132+
133+
list_add_tail(&ext_intc_element->list, &node->list);
129134
return 0;
130135
}
131136

0 commit comments

Comments
 (0)