Skip to contentSkip to conversation

bus: brcmstb_gisb: resolve section mismatch

PATCH New Florian Fainelli 2 participants 2 messages Nov 20, 2014 – Nov 21, 2014 Broadcom BCM7XXX Arm architecture

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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")

---
Arnd, Olof,

This patch resolves a section mismatch found in the arm-soc tree in the next/soc branch which merged my two previous GISB patches.

Thanks!

 drivers/bus/brcmstb_gisb.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
drivers/bus/brcmstb_gisb.c +3 -3
index e7ccd21..27c319d 100644
@@ -188,7 +188,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;
@@ -305,7 +305,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,
@@ -316,7 +315,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);
Signature · 1 line
1.7.1
#1 lore raw

PATCH 1/1 bus: brcmstb_gisb: resolve section mismatch

Quoted 10 lines · On Thursday 20 November 2014 10:14:46 Florian Fainelli wrote:

_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.

Quoted 8 lines
Fixes f1bee783dd37 ("bus: brcmstb_gisb: register the fault code hook")

---
Arnd, Olof,

This patch resolves a section mismatch found in the arm-soc tree in the next/soc branch which merged my two previous GISB patches.

Applied to next/drivers, thanks a lot!

Arnd