summaryrefslogtreecommitdiffstats
path: root/drivers/soc/bcm/brcmstb
diff options
context:
space:
mode:
authorFlorian Fainelli <f.fainelli@gmail.com>2017-04-11 17:26:11 -0700
committerFlorian Fainelli <f.fainelli@gmail.com>2017-12-20 17:37:44 -0800
commitf780429adfbc222a4d8a227a2a550ba627c7338b (patch)
tree64baf38aced22943fa555cc1506886d919decbc6 /drivers/soc/bcm/brcmstb
parent5d4567ec3bacf058cdf8e67695759e0d137cf095 (diff)
downloadlinux-f780429adfbc222a4d8a227a2a550ba627c7338b.tar.bz2
soc: brcmstb: biuctrl: Move to early_initcall
Being called during early_initcall() is early enough that it occurs before SMP initialization, which is all we care about for the Bus Interface Unit configuration. This solves lack of BIU initialization on ARM64 platforms where we do not have an anchor where to put the BIU initialization (since there are no machine descriptors). Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Diffstat (limited to 'drivers/soc/bcm/brcmstb')
-rw-r--r--drivers/soc/bcm/brcmstb/biuctrl.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/soc/bcm/brcmstb/biuctrl.c b/drivers/soc/bcm/brcmstb/biuctrl.c
index dd45bbfe64dd..2b23ae7b5e9b 100644
--- a/drivers/soc/bcm/brcmstb/biuctrl.c
+++ b/drivers/soc/bcm/brcmstb/biuctrl.c
@@ -240,7 +240,7 @@ static struct syscore_ops brcmstb_cpu_credit_syscore_ops = {
#endif
-void __init brcmstb_biuctrl_init(void)
+static int __init brcmstb_biuctrl_init(void)
{
int ret;
@@ -249,11 +249,13 @@ void __init brcmstb_biuctrl_init(void)
ret = mcp_write_pairing_set();
if (ret) {
pr_err("MCP: Unable to disable write pairing!\n");
- return;
+ return ret;
}
mcp_b53_set();
#ifdef CONFIG_PM_SLEEP
register_syscore_ops(&brcmstb_cpu_credit_syscore_ops);
#endif
+ return 0;
}
+early_initcall(brcmstb_biuctrl_init);