]> git.itanic.dy.fi Git - linux-stable/commitdiff
powerpc/85xx: mpc85xx_ds: Move uli_init() code into its own driver file
authorPali Rohár <pali@kernel.org>
Sun, 9 Apr 2023 00:08:08 +0000 (02:08 +0200)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 20 Apr 2023 00:20:50 +0000 (10:20 +1000)
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
arch/powerpc/include/asm/ppc-pci.h
arch/powerpc/platforms/85xx/mpc85xx_ds.c
arch/powerpc/platforms/fsl_uli1575.c

index a8db969dd595ce201c9fa9a3ad7805b1611d3ce9..0e393aeed912ddc917363344b08bc4b8f5e01841 100644 (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__ */
index 581b5f0ef3be2d411f26d0f39a460eb6dfcf1049..c474da3eeea8caf1b88595d624fcb2f6bdb92861 100644 (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");
index 1350db0b935dd9216aeedd3e19a069ba0253ad10..b073db9d7c7951c594abe8bcf5dee01a11146705 100644 (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;
+               }
+       }
+}