powerpc/85xx: mpc85xx_ds: Move uli_init() code into its own driver file
Move uli_init() function into existing driver fsl_uli1575.c file in order to share its code between more platforms and board files. Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230409000812.18904-5-pali@kernel.org
This commit is contained in:
parent
aa9f3d2d61
commit
c4f6d8665c
|
@ -59,6 +59,7 @@ void eeh_sysfs_remove_device(struct pci_dev *pdev);
|
|||
|
||||
#ifdef CONFIG_FSL_ULI1575
|
||||
int uli_exclude_device(struct pci_controller *hose, u_char bus, u_char devfn);
|
||||
void __init uli_init(void);
|
||||
#endif /* CONFIG_FSL_ULI1575 */
|
||||
|
||||
#define PCI_BUSNO(bdfn) ((bdfn >> 8) & 0xff)
|
||||
|
@ -70,6 +71,7 @@ static inline void init_pci_config_tokens(void) { }
|
|||
#if !defined(CONFIG_PCI) || !defined(CONFIG_FSL_ULI1575)
|
||||
#include <linux/pci.h>
|
||||
static inline int uli_exclude_device(struct pci_controller *hose, u_char bus, u_char devfn) { return PCIBIOS_SUCCESSFUL; }
|
||||
static inline void __init uli_init(void) {}
|
||||
#endif /* !defined(CONFIG_PCI) || !defined(CONFIG_FSL_ULI1575) */
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
|
|
@ -107,27 +107,6 @@ void __init mpc85xx_ds_pic_init(void)
|
|||
#endif /* CONFIG_PPC_I8259 */
|
||||
}
|
||||
|
||||
static void __init mpc85xx_ds_uli_init(void)
|
||||
{
|
||||
#ifdef CONFIG_PCI
|
||||
struct device_node *node;
|
||||
struct device_node *pci_with_uli;
|
||||
|
||||
/* See if we have a ULI under the primary */
|
||||
|
||||
node = of_find_node_by_name(NULL, "uli1575");
|
||||
while ((pci_with_uli = of_get_parent(node))) {
|
||||
of_node_put(node);
|
||||
node = pci_with_uli;
|
||||
|
||||
if (pci_with_uli == fsl_pci_primary) {
|
||||
ppc_md.pci_exclude_device = uli_exclude_device;
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
* Setup the architecture
|
||||
*/
|
||||
|
@ -138,7 +117,7 @@ static void __init mpc85xx_ds_setup_arch(void)
|
|||
|
||||
swiotlb_detect_4g();
|
||||
fsl_pci_assign_primary();
|
||||
mpc85xx_ds_uli_init();
|
||||
uli_init();
|
||||
mpc85xx_smp_init();
|
||||
|
||||
printk("MPC85xx DS board from Freescale Semiconductor\n");
|
||||
|
|
|
@ -358,3 +358,22 @@ int uli_exclude_device(struct pci_controller *hose, u_char bus, u_char devfn)
|
|||
|
||||
return PCIBIOS_SUCCESSFUL;
|
||||
}
|
||||
|
||||
void __init uli_init(void)
|
||||
{
|
||||
struct device_node *node;
|
||||
struct device_node *pci_with_uli;
|
||||
|
||||
/* See if we have a ULI under the primary */
|
||||
|
||||
node = of_find_node_by_name(NULL, "uli1575");
|
||||
while ((pci_with_uli = of_get_parent(node))) {
|
||||
of_node_put(node);
|
||||
node = pci_with_uli;
|
||||
|
||||
if (pci_with_uli == fsl_pci_primary) {
|
||||
ppc_md.pci_exclude_device = uli_exclude_device;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue