Skip to content

Commit

Permalink
powerpc/85xx: mpc85xx_ds: Move uli_init() code into its own driver file
Browse files Browse the repository at this point in the history
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
  • Loading branch information
Pali Rohár authored and Michael Ellerman committed Apr 20, 2023
1 parent aa9f3d2 commit c4f6d86
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 22 deletions.
2 changes: 2 additions & 0 deletions arch/powerpc/include/asm/ppc-pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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__ */
Expand Down
23 changes: 1 addition & 22 deletions arch/powerpc/platforms/85xx/mpc85xx_ds.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
*/
Expand All @@ -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");
Expand Down
19 changes: 19 additions & 0 deletions arch/powerpc/platforms/fsl_uli1575.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
}
}

0 comments on commit c4f6d86

Please sign in to comment.