Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

authored by

Huacai Chen and committed by
Marc Zyngier
3d12938d c7c75e32

+44 -31
+18 -12
drivers/irqchip/irq-loongarch-cpu.c
··· 92 92 .xlate = irq_domain_xlate_onecell, 93 93 }; 94 94 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) 98 97 { 99 98 struct acpi_madt_lio_pic *liointc_entry = (struct acpi_madt_lio_pic *)header; 100 99 101 100 return liointc_acpi_init(irq_domain, liointc_entry); 102 101 } 103 102 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) 107 105 { 108 106 struct acpi_madt_eio_pic *eiointc_entry = (struct acpi_madt_eio_pic *)header; 109 107 ··· 110 112 111 113 static int __init acpi_cascade_irqdomain_init(void) 112 114 { 113 - acpi_table_parse_madt(ACPI_MADT_TYPE_LIO_PIC, 114 - liointc_parse_madt, 0); 115 - acpi_table_parse_madt(ACPI_MADT_TYPE_EIO_PIC, 116 - eiointc_parse_madt, 0); 115 + int r; 116 + 117 + r = acpi_table_parse_madt(ACPI_MADT_TYPE_LIO_PIC, liointc_parse_madt, 0); 118 + if (r < 0) 119 + return r; 120 + 121 + r = acpi_table_parse_madt(ACPI_MADT_TYPE_EIO_PIC, eiointc_parse_madt, 0); 122 + if (r < 0) 123 + return r; 124 + 117 125 return 0; 118 126 } 119 127 120 128 static int __init cpuintc_acpi_init(union acpi_subtable_headers *header, 121 129 const unsigned long end) 122 130 { 131 + int ret; 132 + 123 133 if (irq_domain) 124 134 return 0; 125 135 ··· 145 139 set_handle_irq(&handle_cpu_irq); 146 140 acpi_set_irq_model(ACPI_IRQ_MODEL_LPIC, lpic_get_gsi_domain_id); 147 141 acpi_set_gsi_to_irq_fallback(lpic_gsi_to_irq); 148 - acpi_cascade_irqdomain_init(); 142 + ret = acpi_cascade_irqdomain_init(); 149 143 150 - return 0; 144 + return ret; 151 145 } 152 146 153 147 IRQCHIP_ACPI_DECLARE(cpuintc_v1, ACPI_MADT_TYPE_CORE_PIC,
+17 -13
drivers/irqchip/irq-loongson-eiointc.c
··· 333 333 .resume = eiointc_resume, 334 334 }; 335 335 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) 339 338 { 340 339 struct acpi_madt_bio_pic *pchpic_entry = (struct acpi_madt_bio_pic *)header; 341 340 unsigned int node = (pchpic_entry->address >> 44) & 0xf; ··· 346 347 return -EINVAL; 347 348 } 348 349 349 - static int __init 350 - pch_msi_parse_madt(union acpi_subtable_headers *header, 351 - const unsigned long end) 350 + static int __init pch_msi_parse_madt(union acpi_subtable_headers *header, 351 + const unsigned long end) 352 352 { 353 353 struct acpi_madt_msi_pic *pchmsi_entry = (struct acpi_madt_msi_pic *)header; 354 354 struct irq_domain *parent = acpi_get_vec_parent(eiointc_priv[nr_pics - 1]->node, msi_group); ··· 360 362 361 363 static int __init acpi_cascade_irqdomain_init(void) 362 364 { 363 - acpi_table_parse_madt(ACPI_MADT_TYPE_BIO_PIC, 364 - pch_pic_parse_madt, 0); 365 - acpi_table_parse_madt(ACPI_MADT_TYPE_MSI_PIC, 366 - pch_msi_parse_madt, 1); 365 + int r; 366 + 367 + r = acpi_table_parse_madt(ACPI_MADT_TYPE_BIO_PIC, pch_pic_parse_madt, 0); 368 + if (r < 0) 369 + return r; 370 + 371 + r = acpi_table_parse_madt(ACPI_MADT_TYPE_MSI_PIC, pch_msi_parse_madt, 1); 372 + if (r < 0) 373 + return r; 374 + 367 375 return 0; 368 376 } 369 377 370 378 int __init eiointc_acpi_init(struct irq_domain *parent, 371 379 struct acpi_madt_eio_pic *acpi_eiointc) 372 380 { 373 - int i, parent_irq; 381 + int i, ret, parent_irq; 374 382 unsigned long node_map; 375 383 struct eiointc_priv *priv; 376 384 ··· 423 419 424 420 acpi_set_vec_parent(acpi_eiointc->node, priv->eiointc_domain, pch_group); 425 421 acpi_set_vec_parent(acpi_eiointc->node, priv->eiointc_domain, msi_group); 426 - acpi_cascade_irqdomain_init(); 422 + ret = acpi_cascade_irqdomain_init(); 427 423 428 - return 0; 424 + return ret; 429 425 430 426 out_free_handle: 431 427 irq_domain_free_fwnode(priv->domain_handle);
+9 -6
drivers/irqchip/irq-loongson-pch-pic.c
··· 378 378 return -1; 379 379 } 380 380 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) 384 383 { 385 384 struct acpi_madt_lpc_pic *pchlpc_entry = (struct acpi_madt_lpc_pic *)header; 386 385 ··· 388 389 389 390 static int __init acpi_cascade_irqdomain_init(void) 390 391 { 391 - acpi_table_parse_madt(ACPI_MADT_TYPE_LPC_PIC, 392 - pch_lpc_parse_madt, 0); 392 + int r; 393 + 394 + r = acpi_table_parse_madt(ACPI_MADT_TYPE_LPC_PIC, pch_lpc_parse_madt, 0); 395 + if (r < 0) 396 + return r; 397 + 393 398 return 0; 394 399 } 395 400 ··· 420 417 } 421 418 422 419 if (acpi_pchpic->id == 0) 423 - acpi_cascade_irqdomain_init(); 420 + ret = acpi_cascade_irqdomain_init(); 424 421 425 422 return ret; 426 423 }