summaryrefslogtreecommitdiffstats
path: root/drivers/bcma/main.c
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2015-01-25 11:11:14 +0100
committerKalle Valo <kvalo@codeaurora.org>2015-01-29 10:53:08 +0200
commitb504075f5903b969a54ef3a6ae994c0872edb259 (patch)
treec3026773a3f9dead1b204b0a6858394cdcd9776e /drivers/bcma/main.c
parentae8ce289e55e6f9911016f73ac85dcb2e0c0c9c1 (diff)
downloadlinux-b504075f5903b969a54ef3a6ae994c0872edb259.tar.bz2
bcma: add early_init function for PCIe core and move some fix into it
There are some PCIe core fixes that need to be applied before accessing SPROM, otherwise reading it may fail. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/bcma/main.c')
-rw-r--r--drivers/bcma/main.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/bcma/main.c b/drivers/bcma/main.c
index 73b2ee3de972..38bde6eab8a4 100644
--- a/drivers/bcma/main.c
+++ b/drivers/bcma/main.c
@@ -402,6 +402,13 @@ int bcma_bus_register(struct bcma_bus *bus)
bcma_core_chipcommon_early_init(&bus->drv_cc);
}
+ /* Early init PCIE core */
+ core = bcma_find_core(bus, BCMA_CORE_PCIE);
+ if (core) {
+ bus->drv_pci[0].core = core;
+ bcma_core_pci_early_init(&bus->drv_pci[0]);
+ }
+
/* Cores providing flash access go before SPROM init */
list_for_each_entry(core, &bus->cores, list) {
if (bcma_is_core_needed_early(core->id.id))