Commit 2e8a29a1 authored by Florian Fainelli's avatar Florian Fainelli Committed by Arnd Bergmann

bus: brcmstb_gisb: resolve section mismatch

Commit f1bee783 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: f1bee783 ("bus: brcmstb_gisb: register the fault code hook")
Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent a850c427
...@@ -192,7 +192,7 @@ static struct attribute_group gisb_arb_sysfs_attr_group = { ...@@ -192,7 +192,7 @@ static struct attribute_group gisb_arb_sysfs_attr_group = {
.attrs = gisb_arb_sysfs_attrs, .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 device_node *dn = pdev->dev.of_node;
struct brcmstb_gisb_arb_device *gdev; struct brcmstb_gisb_arb_device *gdev;
...@@ -273,7 +273,6 @@ static const struct of_device_id brcmstb_gisb_arb_of_match[] = { ...@@ -273,7 +273,6 @@ static const struct of_device_id brcmstb_gisb_arb_of_match[] = {
}; };
static struct platform_driver brcmstb_gisb_arb_driver = { static struct platform_driver brcmstb_gisb_arb_driver = {
.probe = brcmstb_gisb_arb_probe,
.driver = { .driver = {
.name = "brcm-gisb-arb", .name = "brcm-gisb-arb",
.owner = THIS_MODULE, .owner = THIS_MODULE,
...@@ -283,7 +282,8 @@ static struct platform_driver brcmstb_gisb_arb_driver = { ...@@ -283,7 +282,8 @@ static struct platform_driver brcmstb_gisb_arb_driver = {
static int __init brcm_gisb_driver_init(void) 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); module_init(brcm_gisb_driver_init);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment