diff --git a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt288x.h b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt288x.h index 3eb036fbb..29c7a7205 100644 --- a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt288x.h +++ b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt288x.h @@ -66,4 +66,10 @@ static inline u32 rt288x_memc_rr(unsigned reg) void rt288x_gpio_init(u32 mode); +#ifdef CONFIG_PCI +int rt288x_register_pci(void); +#else +static inline int rt288x_register_pci(void) { return 0; } +#endif /* CONFIG_PCI */ + #endif /* _RT228X_H_ */ diff --git a/target/linux/ramips/files/arch/mips/pci/pci-rt288x.c b/target/linux/ramips/files/arch/mips/pci/pci-rt288x.c index 16f3bf771..f67902272 100644 --- a/target/linux/ramips/files/arch/mips/pci/pci-rt288x.c +++ b/target/linux/ramips/files/arch/mips/pci/pci-rt288x.c @@ -210,7 +210,7 @@ int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) return irq; } -static int __init rt2880_pci_init(void) +int __init rt288x_register_pci(void) { void __iomem *io_map_base; int i; @@ -248,5 +248,3 @@ int pcibios_plat_dev_init(struct pci_dev *dev) { return 0; } - -arch_initcall(rt2880_pci_init); diff --git a/target/linux/ramips/files/arch/mips/ralink/rt288x/mach-v11st-fe.c b/target/linux/ramips/files/arch/mips/ralink/rt288x/mach-v11st-fe.c index 631468086..e2511d4df 100644 --- a/target/linux/ramips/files/arch/mips/ralink/rt288x/mach-v11st-fe.c +++ b/target/linux/ramips/files/arch/mips/ralink/rt288x/mach-v11st-fe.c @@ -101,6 +101,7 @@ static void __init rt_v11st_fe_init(void) rt288x_register_ethernet(); rt288x_register_wdt(); + rt288x_register_pci(); } MIPS_MACHINE(RAMIPS_MACH_V11ST_FE, "V11ST-FE", "Ralink V11ST-FE", rt_v11st_fe_init);