diff options
author | Florian Fainelli <f.fainelli@gmail.com> | 2014-11-20 13:14:46 -0500 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2014-11-21 06:32:43 -0500 |
commit | 2e8a29a1c9aaa41f72a71bb81c3df66da8156c1e (patch) | |
tree | 05dcac949ede6d728abe7f88c25edef2d5088a7d /drivers/bus | |
parent | a850c427029e5b9953fe4d4fe4fef10a61ee165a (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.c | 6 |
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 | ||
195 | static int brcmstb_gisb_arb_probe(struct platform_device *pdev) | 195 | static 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 | ||
275 | static struct platform_driver brcmstb_gisb_arb_driver = { | 275 | static 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 | ||
284 | static int __init brcm_gisb_driver_init(void) | 283 | static 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 | ||
289 | module_init(brcm_gisb_driver_init); | 289 | module_init(brcm_gisb_driver_init); |