aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/bus
diff options
context:
space:
mode:
authorFlorian Fainelli <f.fainelli@gmail.com>2014-11-20 13:14:46 -0500
committerArnd Bergmann <arnd@arndb.de>2014-11-21 06:32:43 -0500
commit2e8a29a1c9aaa41f72a71bb81c3df66da8156c1e (patch)
tree05dcac949ede6d728abe7f88c25edef2d5088a7d /drivers/bus
parenta850c427029e5b9953fe4d4fe4fef10a61ee165a (diff)
bus: brcmstb_gisb: resolve section mismatch
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>
Diffstat (limited to 'drivers/bus')
-rw-r--r--drivers/bus/brcmstb_gisb.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/bus/brcmstb_gisb.c b/drivers/bus/brcmstb_gisb.c
index f2cd6a2d40b4..b801234dfc0d 100644
--- a/drivers/bus/brcmstb_gisb.c
+++ b/drivers/bus/brcmstb_gisb.c
@@ -192,7 +192,7 @@ static struct attribute_group gisb_arb_sysfs_attr_group = {
192 .attrs = gisb_arb_sysfs_attrs, 192 .attrs = gisb_arb_sysfs_attrs,
193}; 193};
194 194
195static int brcmstb_gisb_arb_probe(struct platform_device *pdev) 195static int __init brcmstb_gisb_arb_probe(struct platform_device *pdev)
196{ 196{
197 struct device_node *dn = pdev->dev.of_node; 197 struct device_node *dn = pdev->dev.of_node;
198 struct brcmstb_gisb_arb_device *gdev; 198 struct brcmstb_gisb_arb_device *gdev;
@@ -273,7 +273,6 @@ static const struct of_device_id brcmstb_gisb_arb_of_match[] = {
273}; 273};
274 274
275static struct platform_driver brcmstb_gisb_arb_driver = { 275static struct platform_driver brcmstb_gisb_arb_driver = {
276 .probe = brcmstb_gisb_arb_probe,
277 .driver = { 276 .driver = {
278 .name = "brcm-gisb-arb", 277 .name = "brcm-gisb-arb",
279 .owner = THIS_MODULE, 278 .owner = THIS_MODULE,
@@ -283,7 +282,8 @@ static struct platform_driver brcmstb_gisb_arb_driver = {
283 282
284static int __init brcm_gisb_driver_init(void) 283static int __init brcm_gisb_driver_init(void)
285{ 284{
286 return platform_driver_register(&brcmstb_gisb_arb_driver); 285 return platform_driver_probe(&brcmstb_gisb_arb_driver,
286 brcmstb_gisb_arb_probe);
287} 287}
288 288
289module_init(brcm_gisb_driver_init); 289module_init(brcm_gisb_driver_init);