firmware: arm_sdei: Fix DT platform device creation
authorJames Morse <[email protected]>
Fri, 21 Dec 2018 19:25:19 +0000 (19:25 +0000)
committerWill Deacon <[email protected]>
Thu, 3 Jan 2019 18:03:54 +0000 (18:03 +0000)
It turns out the dt-probing part of this wasn't tested properly after it
was merged. commit 3aa0582fdb82 ("of: platform: populate /firmware/ node
from of_platform_default_populate_init()") changed the core-code to
generate the platform devices, meaning the driver's attempt fails, and it
bails out.

Fix this by removing the manual platform-device creation for DT systems,
core code has always done this for us.

CC: Nicolas Saenz Julienne <[email protected]>
Signed-off-by: James Morse <[email protected]>
Signed-off-by: Will Deacon <[email protected]>
drivers/firmware/arm_sdei.c

index dffb47c6b48011034e9dffd188b585213f88cb8b..c64c7da738297453ee05f173c1a6c0d4c0fadbe9 100644 (file)
@@ -1009,7 +1009,6 @@ static struct platform_driver sdei_driver = {
 
 static bool __init sdei_present_dt(void)
 {
-       struct platform_device *pdev;
        struct device_node *np, *fw_np;
 
        fw_np = of_find_node_by_name(NULL, "firmware");
@@ -1019,11 +1018,7 @@ static bool __init sdei_present_dt(void)
        np = of_find_matching_node(fw_np, sdei_of_match);
        if (!np)
                return false;
-
-       pdev = of_platform_device_create(np, sdei_driver.driver.name, NULL);
        of_node_put(np);
-       if (!pdev)
-               return false;
 
        return true;
 }