]> git.itanic.dy.fi Git - linux-stable/commitdiff
irqchip/loongarch: Adjust acpi_cascade_irqdomain_init() and sub-routines
authorHuacai Chen <chenhuacai@loongson.cn>
Thu, 20 Oct 2022 14:25:14 +0000 (22:25 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 May 2023 09:53:53 +0000 (11:53 +0200)
[ Upstream commit 3d12938dbc048ecb193fec69898d95f6b4813a4b ]

1, Adjust the return of acpi_cascade_irqdomain_init() and check its
   return value.
2, Combine unnecessary short lines to one long line.

Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20221020142514.1725514-1-chenhuacai@loongson.cn
Stable-dep-of: 64cc451e45e1 ("irqchip/loongson-eiointc: Fix incorrect use of acpi_get_vec_parent")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/irqchip/irq-loongarch-cpu.c
drivers/irqchip/irq-loongson-eiointc.c
drivers/irqchip/irq-loongson-pch-pic.c

index 741612ba6a5209e5fdc3382439fd749d54106283..fdec3e9cfacfb5dbd151d6fee31b33712f41c168 100644 (file)
@@ -92,18 +92,16 @@ static const struct irq_domain_ops loongarch_cpu_intc_irq_domain_ops = {
        .xlate = irq_domain_xlate_onecell,
 };
 
-static int __init
-liointc_parse_madt(union acpi_subtable_headers *header,
-                      const unsigned long end)
+static int __init liointc_parse_madt(union acpi_subtable_headers *header,
+                                       const unsigned long end)
 {
        struct acpi_madt_lio_pic *liointc_entry = (struct acpi_madt_lio_pic *)header;
 
        return liointc_acpi_init(irq_domain, liointc_entry);
 }
 
-static int __init
-eiointc_parse_madt(union acpi_subtable_headers *header,
-                      const unsigned long end)
+static int __init eiointc_parse_madt(union acpi_subtable_headers *header,
+                                       const unsigned long end)
 {
        struct acpi_madt_eio_pic *eiointc_entry = (struct acpi_madt_eio_pic *)header;
 
@@ -112,16 +110,24 @@ eiointc_parse_madt(union acpi_subtable_headers *header,
 
 static int __init acpi_cascade_irqdomain_init(void)
 {
-       acpi_table_parse_madt(ACPI_MADT_TYPE_LIO_PIC,
-                             liointc_parse_madt, 0);
-       acpi_table_parse_madt(ACPI_MADT_TYPE_EIO_PIC,
-                             eiointc_parse_madt, 0);
+       int r;
+
+       r = acpi_table_parse_madt(ACPI_MADT_TYPE_LIO_PIC, liointc_parse_madt, 0);
+       if (r < 0)
+               return r;
+
+       r = acpi_table_parse_madt(ACPI_MADT_TYPE_EIO_PIC, eiointc_parse_madt, 0);
+       if (r < 0)
+               return r;
+
        return 0;
 }
 
 static int __init cpuintc_acpi_init(union acpi_subtable_headers *header,
                                   const unsigned long end)
 {
+       int ret;
+
        if (irq_domain)
                return 0;
 
@@ -139,9 +145,9 @@ static int __init cpuintc_acpi_init(union acpi_subtable_headers *header,
        set_handle_irq(&handle_cpu_irq);
        acpi_set_irq_model(ACPI_IRQ_MODEL_LPIC, lpic_get_gsi_domain_id);
        acpi_set_gsi_to_irq_fallback(lpic_gsi_to_irq);
-       acpi_cascade_irqdomain_init();
+       ret = acpi_cascade_irqdomain_init();
 
-       return 0;
+       return ret;
 }
 
 IRQCHIP_ACPI_DECLARE(cpuintc_v1, ACPI_MADT_TYPE_CORE_PIC,
index ab49cd15699f478e85d3e07a704208f4e3276332..7e601a5f7d9f8de79ed85612347f4fc5a4e3291f 100644 (file)
@@ -301,9 +301,8 @@ static struct irq_domain *acpi_get_vec_parent(int node, struct acpi_vector_group
        return NULL;
 }
 
-static int __init
-pch_pic_parse_madt(union acpi_subtable_headers *header,
-                      const unsigned long end)
+static int __init pch_pic_parse_madt(union acpi_subtable_headers *header,
+                                       const unsigned long end)
 {
        struct acpi_madt_bio_pic *pchpic_entry = (struct acpi_madt_bio_pic *)header;
        unsigned int node = (pchpic_entry->address >> 44) & 0xf;
@@ -315,9 +314,8 @@ pch_pic_parse_madt(union acpi_subtable_headers *header,
        return 0;
 }
 
-static int __init
-pch_msi_parse_madt(union acpi_subtable_headers *header,
-                      const unsigned long end)
+static int __init pch_msi_parse_madt(union acpi_subtable_headers *header,
+                                       const unsigned long end)
 {
        struct acpi_madt_msi_pic *pchmsi_entry = (struct acpi_madt_msi_pic *)header;
        struct irq_domain *parent = acpi_get_vec_parent(eiointc_priv[nr_pics - 1]->node, msi_group);
@@ -330,17 +328,23 @@ pch_msi_parse_madt(union acpi_subtable_headers *header,
 
 static int __init acpi_cascade_irqdomain_init(void)
 {
-       acpi_table_parse_madt(ACPI_MADT_TYPE_BIO_PIC,
-                             pch_pic_parse_madt, 0);
-       acpi_table_parse_madt(ACPI_MADT_TYPE_MSI_PIC,
-                             pch_msi_parse_madt, 1);
+       int r;
+
+       r = acpi_table_parse_madt(ACPI_MADT_TYPE_BIO_PIC, pch_pic_parse_madt, 0);
+       if (r < 0)
+               return r;
+
+       r = acpi_table_parse_madt(ACPI_MADT_TYPE_MSI_PIC, pch_msi_parse_madt, 1);
+       if (r < 0)
+               return r;
+
        return 0;
 }
 
 int __init eiointc_acpi_init(struct irq_domain *parent,
                                     struct acpi_madt_eio_pic *acpi_eiointc)
 {
-       int i, parent_irq;
+       int i, ret, parent_irq;
        unsigned long node_map;
        struct eiointc_priv *priv;
 
@@ -386,9 +390,9 @@ int __init eiointc_acpi_init(struct irq_domain *parent,
 
        acpi_set_vec_parent(acpi_eiointc->node, priv->eiointc_domain, pch_group);
        acpi_set_vec_parent(acpi_eiointc->node, priv->eiointc_domain, msi_group);
-       acpi_cascade_irqdomain_init();
+       ret = acpi_cascade_irqdomain_init();
 
-       return 0;
+       return ret;
 
 out_free_handle:
        irq_domain_free_fwnode(priv->domain_handle);
index 9d2250e2775817b5cbf2c8a3dbfacf7b6d556e13..679e2b68e6e9d77d08bcb5e6d753fa8957116692 100644 (file)
@@ -328,9 +328,8 @@ int find_pch_pic(u32 gsi)
        return -1;
 }
 
-static int __init
-pch_lpc_parse_madt(union acpi_subtable_headers *header,
-                      const unsigned long end)
+static int __init pch_lpc_parse_madt(union acpi_subtable_headers *header,
+                                       const unsigned long end)
 {
        struct acpi_madt_lpc_pic *pchlpc_entry = (struct acpi_madt_lpc_pic *)header;
 
@@ -339,8 +338,12 @@ pch_lpc_parse_madt(union acpi_subtable_headers *header,
 
 static int __init acpi_cascade_irqdomain_init(void)
 {
-       acpi_table_parse_madt(ACPI_MADT_TYPE_LPC_PIC,
-                             pch_lpc_parse_madt, 0);
+       int r;
+
+       r = acpi_table_parse_madt(ACPI_MADT_TYPE_LPC_PIC, pch_lpc_parse_madt, 0);
+       if (r < 0)
+               return r;
+
        return 0;
 }
 
@@ -370,7 +373,7 @@ int __init pch_pic_acpi_init(struct irq_domain *parent,
        }
 
        if (acpi_pchpic->id == 0)
-               acpi_cascade_irqdomain_init();
+               ret = acpi_cascade_irqdomain_init();
 
        return ret;
 }