Message ID | 1486149538-20432-3-git-send-email-julien.grall@arm.com |
---|---|
State | New |
Headers | show |
Series | [Xen-devel,1/7] xen/arm: acpi: Rework acpi_boot_table_init error paths | expand |
On Fri, Feb 03, 2017 at 07:18:46PM +0000, Julien Grall wrote: > There are multiple path disable ACPI on error. Consolidate in a single > place, this will help in a follow-up patch to add more code on the error > path. > > Signed-off-by: Julien Grall <julien.grall@arm.com> > --- > xen/arch/arm/acpi/boot.c | 25 ++++++++++++++----------- > 1 file changed, 14 insertions(+), 11 deletions(-) > > diff --git a/xen/arch/arm/acpi/boot.c b/xen/arch/arm/acpi/boot.c > index c3242a0..889208a 100644 > --- a/xen/arch/arm/acpi/boot.c > +++ b/xen/arch/arm/acpi/boot.c > @@ -234,7 +234,7 @@ static int __init dt_scan_depth1_nodes(const void *fdt, int node, > */ > int __init acpi_boot_table_init(void) > { > - int error; > + int error = 0; > > /* > * Enable ACPI instead of device tree unless > @@ -245,10 +245,7 @@ int __init acpi_boot_table_init(void) > if ( param_acpi_off || ( !param_acpi_force > && device_tree_for_each_node(device_tree_flattened, > dt_scan_depth1_nodes, NULL))) > - { > - disable_acpi(); > - return 0; > - } > + goto disable; > > /* > * ACPI is disabled at this point. Enable it in order to parse > @@ -260,16 +257,22 @@ int __init acpi_boot_table_init(void) > error = acpi_table_init(); > if ( error ) > { > - disable_acpi(); > - return error; > + printk("%s: Unable to initialize table parser (%d)\n", > + __FUNCTION__, error); Please use __func__ instead. Wei.
diff --git a/xen/arch/arm/acpi/boot.c b/xen/arch/arm/acpi/boot.c index c3242a0..889208a 100644 --- a/xen/arch/arm/acpi/boot.c +++ b/xen/arch/arm/acpi/boot.c @@ -234,7 +234,7 @@ static int __init dt_scan_depth1_nodes(const void *fdt, int node, */ int __init acpi_boot_table_init(void) { - int error; + int error = 0; /* * Enable ACPI instead of device tree unless @@ -245,10 +245,7 @@ int __init acpi_boot_table_init(void) if ( param_acpi_off || ( !param_acpi_force && device_tree_for_each_node(device_tree_flattened, dt_scan_depth1_nodes, NULL))) - { - disable_acpi(); - return 0; - } + goto disable; /* * ACPI is disabled at this point. Enable it in order to parse @@ -260,16 +257,22 @@ int __init acpi_boot_table_init(void) error = acpi_table_init(); if ( error ) { - disable_acpi(); - return error; + printk("%s: Unable to initialize table parser (%d)\n", + __FUNCTION__, error); + goto disable; } - if ( acpi_table_parse(ACPI_SIG_FADT, acpi_parse_fadt) ) + error = acpi_table_parse(ACPI_SIG_FADT, acpi_parse_fadt); + if ( error ) { - /* disable ACPI if no FADT is found */ - disable_acpi(); - printk("Can't find FADT\n"); + printk("%s: FADT not found (%d)\n", __FUNCTION__, error); + goto disable; } return 0; + +disable: + disable_acpi(); + + return error; }
There are multiple path disable ACPI on error. Consolidate in a single place, this will help in a follow-up patch to add more code on the error path. Signed-off-by: Julien Grall <julien.grall@arm.com> --- xen/arch/arm/acpi/boot.c | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-)