Skip to content

Commit

Permalink
MIPS: ath79: add a common PCI registration function
Browse files Browse the repository at this point in the history
The current code unconditionally registers the AR724X
specific PCI controller, even if the kernel is running
on a different SoC.

Add a common function for PCI controller registration,
and only register the AR724X PCI controller if the kernel
is running on an AR724X SoC.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/3488/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  • Loading branch information
Gabor Juhos authored and Ralf Baechle committed May 15, 2012
1 parent 659243c commit 6335aef
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 2 deletions.
1 change: 1 addition & 0 deletions arch/mips/ath79/mach-ubnt-xm.c
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ static void __init ubnt_xm_init(void)
ath724x_pci_add_data(ubnt_xm_pci_data, ARRAY_SIZE(ubnt_xm_pci_data));
#endif /* CONFIG_PCI */

ath79_register_pci();
}

MIPS_MACHINE(ATH79_MACH_UBNT_XM,
Expand Down
10 changes: 10 additions & 0 deletions arch/mips/ath79/pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
*/

#include <linux/pci.h>
#include <asm/mach-ath79/ath79.h>
#include <asm/mach-ath79/pci.h>
#include "pci.h"

static struct ath724x_pci_data *pci_data;
Expand Down Expand Up @@ -44,3 +46,11 @@ int pcibios_plat_dev_init(struct pci_dev *dev)

return PCIBIOS_SUCCESSFUL;
}

int __init ath79_register_pci(void)
{
if (soc_is_ar724x())
return ath724x_pcibios_init();

return -ENODEV;
}
6 changes: 6 additions & 0 deletions arch/mips/ath79/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,10 @@ struct ath724x_pci_data {

void ath724x_pci_add_data(struct ath724x_pci_data *data, int size);

#ifdef CONFIG_PCI
int ath79_register_pci(void);
#else
static inline int ath79_register_pci(void) { return 0; }
#endif

#endif /* __ASM_MACH_ATH79_PCI_ATH724X_H */
2 changes: 0 additions & 2 deletions arch/mips/pci/pci-ath724x.c
Original file line number Diff line number Diff line change
Expand Up @@ -137,5 +137,3 @@ int __init ath724x_pcibios_init(void)

return PCIBIOS_SUCCESSFUL;
}

arch_initcall(ath724x_pcibios_init);

0 comments on commit 6335aef

Please sign in to comment.