]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
bus: brcmstb_gisb: resolve section mismatch
authorFlorian Fainelli <f.fainelli@gmail.com>
Thu, 20 Nov 2014 18:14:46 +0000 (10:14 -0800)
committerArnd Bergmann <arnd@arndb.de>
Fri, 21 Nov 2014 11:32:43 +0000 (12:32 +0100)
Commit f1bee783dd37 moved the call to hook_fault_code in
brcmstb_gisb_arb_probe() which now calls a function annotated with __init, so
this one must also be annotated with __init.

In order to avoid introducing another section mismatch, call
platform_driver_probe() manually and remove the .probe assignment from
brcmstb_gisb_arb_driver, this is very similar to what
drivers/pci/host/pci-imx6.c does since we basically have the same constraints
here.

Fixes: f1bee783dd37 ("bus: brcmstb_gisb: register the fault code hook")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
drivers/bus/brcmstb_gisb.c

index f2cd6a2d40b4e5fa1c40b7d1da99d204fafb080d..b801234dfc0d2e0496fd677875152577dacd00df 100644 (file)
@@ -192,7 +192,7 @@ static struct attribute_group gisb_arb_sysfs_attr_group = {
        .attrs = gisb_arb_sysfs_attrs,
 };
 
-static int brcmstb_gisb_arb_probe(struct platform_device *pdev)
+static int __init brcmstb_gisb_arb_probe(struct platform_device *pdev)
 {
        struct device_node *dn = pdev->dev.of_node;
        struct brcmstb_gisb_arb_device *gdev;
@@ -273,7 +273,6 @@ static const struct of_device_id brcmstb_gisb_arb_of_match[] = {
 };
 
 static struct platform_driver brcmstb_gisb_arb_driver = {
-       .probe  = brcmstb_gisb_arb_probe,
        .driver = {
                .name   = "brcm-gisb-arb",
                .owner  = THIS_MODULE,
@@ -283,7 +282,8 @@ static struct platform_driver brcmstb_gisb_arb_driver = {
 
 static int __init brcm_gisb_driver_init(void)
 {
-       return platform_driver_register(&brcmstb_gisb_arb_driver);
+       return platform_driver_probe(&brcmstb_gisb_arb_driver,
+                                    brcmstb_gisb_arb_probe);
 }
 
 module_init(brcm_gisb_driver_init);