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:
Pali Rohár 2023-04-09 02:08:08 +02:00 committed by Michael Ellerman
parent aa9f3d2d61
commit c4f6d8665c
3 changed files with 22 additions and 22 deletions

View File

@ -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__ */

View File

@ -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");

View File

@ -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;
}
}
}