firmware: arm_sdei: Avoid nested statements in sdei_init()

In sdei_init(), the nested statements can be avoided by bailing
on error from platform_driver_register() or absent ACPI SDEI table.
With it, the code looks a bit more readable.

Signed-off-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: James Morse <james.morse@arm.com>
Link: https://lore.kernel.org/r/20200922130423.10173-5-gshan@redhat.com
Signed-off-by: Will Deacon <will@kernel.org>
This commit is contained in:
Gavin Shan 2020-09-22 23:04:14 +10:00 committed by Will Deacon
parent 663c0e89c8
commit 10fd7c42b7

View File

@ -1081,17 +1081,18 @@ static bool __init sdei_present_acpi(void)
static int __init sdei_init(void)
{
int ret = platform_driver_register(&sdei_driver);
struct platform_device *pdev;
int ret;
if (!ret && sdei_present_acpi()) {
struct platform_device *pdev;
ret = platform_driver_register(&sdei_driver);
if (ret || !sdei_present_acpi())
return ret;
pdev = platform_device_register_simple(sdei_driver.driver.name,
0, NULL, 0);
if (IS_ERR(pdev))
pr_info("Failed to register ACPI:SDEI platform device %ld\n",
PTR_ERR(pdev));
}
pdev = platform_device_register_simple(sdei_driver.driver.name,
0, NULL, 0);
if (IS_ERR(pdev))
pr_info("Failed to register ACPI:SDEI platform device %ld\n",
PTR_ERR(pdev));
return ret;
}