Skip to content

Commit 3d12938

Browse files
chenhuacaiMarc Zyngier
authored andcommitted
irqchip/loongarch: Adjust acpi_cascade_irqdomain_init() and sub-routines
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
1 parent c7c75e3 commit 3d12938

3 files changed

Lines changed: 44 additions & 31 deletions

File tree

drivers/irqchip/irq-loongarch-cpu.c

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -92,18 +92,16 @@ static const struct irq_domain_ops loongarch_cpu_intc_irq_domain_ops = {
9292
.xlate = irq_domain_xlate_onecell,
9393
};
9494

95-
static int __init
96-
liointc_parse_madt(union acpi_subtable_headers *header,
97-
const unsigned long end)
95+
static int __init liointc_parse_madt(union acpi_subtable_headers *header,
96+
const unsigned long end)
9897
{
9998
struct acpi_madt_lio_pic *liointc_entry = (struct acpi_madt_lio_pic *)header;
10099

101100
return liointc_acpi_init(irq_domain, liointc_entry);
102101
}
103102

104-
static int __init
105-
eiointc_parse_madt(union acpi_subtable_headers *header,
106-
const unsigned long end)
103+
static int __init eiointc_parse_madt(union acpi_subtable_headers *header,
104+
const unsigned long end)
107105
{
108106
struct acpi_madt_eio_pic *eiointc_entry = (struct acpi_madt_eio_pic *)header;
109107

@@ -112,16 +110,24 @@ eiointc_parse_madt(union acpi_subtable_headers *header,
112110

113111
static int __init acpi_cascade_irqdomain_init(void)
114112
{
115-
acpi_table_parse_madt(ACPI_MADT_TYPE_LIO_PIC,
116-
liointc_parse_madt, 0);
117-
acpi_table_parse_madt(ACPI_MADT_TYPE_EIO_PIC,
118-
eiointc_parse_madt, 0);
113+
int r;
114+
115+
r = acpi_table_parse_madt(ACPI_MADT_TYPE_LIO_PIC, liointc_parse_madt, 0);
116+
if (r < 0)
117+
return r;
118+
119+
r = acpi_table_parse_madt(ACPI_MADT_TYPE_EIO_PIC, eiointc_parse_madt, 0);
120+
if (r < 0)
121+
return r;
122+
119123
return 0;
120124
}
121125

122126
static int __init cpuintc_acpi_init(union acpi_subtable_headers *header,
123127
const unsigned long end)
124128
{
129+
int ret;
130+
125131
if (irq_domain)
126132
return 0;
127133

@@ -139,9 +145,9 @@ static int __init cpuintc_acpi_init(union acpi_subtable_headers *header,
139145
set_handle_irq(&handle_cpu_irq);
140146
acpi_set_irq_model(ACPI_IRQ_MODEL_LPIC, lpic_get_gsi_domain_id);
141147
acpi_set_gsi_to_irq_fallback(lpic_gsi_to_irq);
142-
acpi_cascade_irqdomain_init();
148+
ret = acpi_cascade_irqdomain_init();
143149

144-
return 0;
150+
return ret;
145151
}
146152

147153
IRQCHIP_ACPI_DECLARE(cpuintc_v1, ACPI_MADT_TYPE_CORE_PIC,

drivers/irqchip/irq-loongson-eiointc.c

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -333,9 +333,8 @@ static struct syscore_ops eiointc_syscore_ops = {
333333
.resume = eiointc_resume,
334334
};
335335

336-
static int __init
337-
pch_pic_parse_madt(union acpi_subtable_headers *header,
338-
const unsigned long end)
336+
static int __init pch_pic_parse_madt(union acpi_subtable_headers *header,
337+
const unsigned long end)
339338
{
340339
struct acpi_madt_bio_pic *pchpic_entry = (struct acpi_madt_bio_pic *)header;
341340
unsigned int node = (pchpic_entry->address >> 44) & 0xf;
@@ -347,9 +346,8 @@ pch_pic_parse_madt(union acpi_subtable_headers *header,
347346
return -EINVAL;
348347
}
349348

350-
static int __init
351-
pch_msi_parse_madt(union acpi_subtable_headers *header,
352-
const unsigned long end)
349+
static int __init pch_msi_parse_madt(union acpi_subtable_headers *header,
350+
const unsigned long end)
353351
{
354352
struct acpi_madt_msi_pic *pchmsi_entry = (struct acpi_madt_msi_pic *)header;
355353
struct irq_domain *parent = acpi_get_vec_parent(eiointc_priv[nr_pics - 1]->node, msi_group);
@@ -362,17 +360,23 @@ pch_msi_parse_madt(union acpi_subtable_headers *header,
362360

363361
static int __init acpi_cascade_irqdomain_init(void)
364362
{
365-
acpi_table_parse_madt(ACPI_MADT_TYPE_BIO_PIC,
366-
pch_pic_parse_madt, 0);
367-
acpi_table_parse_madt(ACPI_MADT_TYPE_MSI_PIC,
368-
pch_msi_parse_madt, 1);
363+
int r;
364+
365+
r = acpi_table_parse_madt(ACPI_MADT_TYPE_BIO_PIC, pch_pic_parse_madt, 0);
366+
if (r < 0)
367+
return r;
368+
369+
r = acpi_table_parse_madt(ACPI_MADT_TYPE_MSI_PIC, pch_msi_parse_madt, 1);
370+
if (r < 0)
371+
return r;
372+
369373
return 0;
370374
}
371375

372376
int __init eiointc_acpi_init(struct irq_domain *parent,
373377
struct acpi_madt_eio_pic *acpi_eiointc)
374378
{
375-
int i, parent_irq;
379+
int i, ret, parent_irq;
376380
unsigned long node_map;
377381
struct eiointc_priv *priv;
378382

@@ -419,9 +423,9 @@ int __init eiointc_acpi_init(struct irq_domain *parent,
419423

420424
acpi_set_vec_parent(acpi_eiointc->node, priv->eiointc_domain, pch_group);
421425
acpi_set_vec_parent(acpi_eiointc->node, priv->eiointc_domain, msi_group);
422-
acpi_cascade_irqdomain_init();
426+
ret = acpi_cascade_irqdomain_init();
423427

424-
return 0;
428+
return ret;
425429

426430
out_free_handle:
427431
irq_domain_free_fwnode(priv->domain_handle);

drivers/irqchip/irq-loongson-pch-pic.c

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -378,9 +378,8 @@ int find_pch_pic(u32 gsi)
378378
return -1;
379379
}
380380

381-
static int __init
382-
pch_lpc_parse_madt(union acpi_subtable_headers *header,
383-
const unsigned long end)
381+
static int __init pch_lpc_parse_madt(union acpi_subtable_headers *header,
382+
const unsigned long end)
384383
{
385384
struct acpi_madt_lpc_pic *pchlpc_entry = (struct acpi_madt_lpc_pic *)header;
386385

@@ -389,8 +388,12 @@ pch_lpc_parse_madt(union acpi_subtable_headers *header,
389388

390389
static int __init acpi_cascade_irqdomain_init(void)
391390
{
392-
acpi_table_parse_madt(ACPI_MADT_TYPE_LPC_PIC,
393-
pch_lpc_parse_madt, 0);
391+
int r;
392+
393+
r = acpi_table_parse_madt(ACPI_MADT_TYPE_LPC_PIC, pch_lpc_parse_madt, 0);
394+
if (r < 0)
395+
return r;
396+
394397
return 0;
395398
}
396399

@@ -417,7 +420,7 @@ int __init pch_pic_acpi_init(struct irq_domain *parent,
417420
}
418421

419422
if (acpi_pchpic->id == 0)
420-
acpi_cascade_irqdomain_init();
423+
ret = acpi_cascade_irqdomain_init();
421424

422425
return ret;
423426
}

0 commit comments

Comments
 (0)