Commit 7d8ae6e0 authored by Pali Rohár's avatar Pali Rohár Committed by Michael Ellerman

powerpc/85xx: p2020: Unify .setup_arch and .init_IRQ callbacks

Make just one .setup_arch and one .init_IRQ callback implementation for all
P2020 board code. This deduplicate repeated and same code.
Signed-off-by: default avatarPali Rohár <pali@kernel.org>
Signed-off-by: default avatarChristophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20230408140122.25293-11-pali@kernel.org
parent 92189c90
...@@ -21,9 +21,4 @@ void __init mpc85xx_8259_init(void); ...@@ -21,9 +21,4 @@ void __init mpc85xx_8259_init(void);
static inline void __init mpc85xx_8259_init(void) {} static inline void __init mpc85xx_8259_init(void) {}
#endif #endif
void __init mpc85xx_ds_pic_init(void);
void __init mpc85xx_ds_setup_arch(void);
void __init mpc85xx_rdb_setup_arch(void);
void __init mpc85xx_rdb_pic_init(void);
#endif #endif
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
#include "mpc85xx.h" #include "mpc85xx.h"
void __init mpc85xx_ds_pic_init(void) static void __init mpc85xx_ds_pic_init(void)
{ {
struct mpic *mpic; struct mpic *mpic;
int flags = MPIC_BIG_ENDIAN | MPIC_SINGLE_DEST_CPU; int flags = MPIC_BIG_ENDIAN | MPIC_SINGLE_DEST_CPU;
...@@ -55,7 +55,7 @@ void __init mpc85xx_ds_pic_init(void) ...@@ -55,7 +55,7 @@ void __init mpc85xx_ds_pic_init(void)
/* /*
* Setup the architecture * Setup the architecture
*/ */
void __init mpc85xx_ds_setup_arch(void) static void __init mpc85xx_ds_setup_arch(void)
{ {
if (ppc_md.progress) if (ppc_md.progress)
ppc_md.progress("mpc85xx_ds_setup_arch()", 0); ppc_md.progress("mpc85xx_ds_setup_arch()", 0);
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
#include "mpc85xx.h" #include "mpc85xx.h"
void __init mpc85xx_rdb_pic_init(void) static void __init mpc85xx_rdb_pic_init(void)
{ {
struct mpic *mpic; struct mpic *mpic;
int flags = MPIC_BIG_ENDIAN | MPIC_SINGLE_DEST_CPU; int flags = MPIC_BIG_ENDIAN | MPIC_SINGLE_DEST_CPU;
...@@ -48,7 +48,7 @@ void __init mpc85xx_rdb_pic_init(void) ...@@ -48,7 +48,7 @@ void __init mpc85xx_rdb_pic_init(void)
/* /*
* Setup the architecture * Setup the architecture
*/ */
void __init mpc85xx_rdb_setup_arch(void) static void __init mpc85xx_rdb_setup_arch(void)
{ {
if (ppc_md.progress) if (ppc_md.progress)
ppc_md.progress("mpc85xx_rdb_setup_arch()", 0); ppc_md.progress("mpc85xx_rdb_setup_arch()", 0);
......
...@@ -21,6 +21,32 @@ ...@@ -21,6 +21,32 @@
#include "smp.h" #include "smp.h"
#include "mpc85xx.h" #include "mpc85xx.h"
static void __init p2020_pic_init(void)
{
struct mpic *mpic;
int flags = MPIC_BIG_ENDIAN | MPIC_SINGLE_DEST_CPU;
mpic = mpic_alloc(NULL, 0, flags, 0, 256, " OpenPIC ");
if (WARN_ON(!mpic))
return;
mpic_init(mpic);
mpc85xx_8259_init();
}
/*
* Setup the architecture
*/
static void __init p2020_setup_arch(void)
{
swiotlb_detect_4g();
fsl_pci_assign_primary();
uli_init();
mpc85xx_smp_init();
mpc85xx_qe_par_io_init();
}
#ifdef CONFIG_MPC85xx_DS #ifdef CONFIG_MPC85xx_DS
machine_arch_initcall(p2020_ds, mpc85xx_common_publish_devices); machine_arch_initcall(p2020_ds, mpc85xx_common_publish_devices);
#endif /* CONFIG_MPC85xx_DS */ #endif /* CONFIG_MPC85xx_DS */
...@@ -34,8 +60,8 @@ machine_arch_initcall(p2020_rdb_pc, mpc85xx_common_publish_devices); ...@@ -34,8 +60,8 @@ machine_arch_initcall(p2020_rdb_pc, mpc85xx_common_publish_devices);
define_machine(p2020_ds) { define_machine(p2020_ds) {
.name = "P2020 DS", .name = "P2020 DS",
.compatible = "fsl,P2020DS", .compatible = "fsl,P2020DS",
.setup_arch = mpc85xx_ds_setup_arch, .setup_arch = p2020_setup_arch,
.init_IRQ = mpc85xx_ds_pic_init, .init_IRQ = p2020_pic_init,
#ifdef CONFIG_PCI #ifdef CONFIG_PCI
.pcibios_fixup_bus = fsl_pcibios_fixup_bus, .pcibios_fixup_bus = fsl_pcibios_fixup_bus,
.pcibios_fixup_phb = fsl_pcibios_fixup_phb, .pcibios_fixup_phb = fsl_pcibios_fixup_phb,
...@@ -49,8 +75,8 @@ define_machine(p2020_ds) { ...@@ -49,8 +75,8 @@ define_machine(p2020_ds) {
define_machine(p2020_rdb) { define_machine(p2020_rdb) {
.name = "P2020 RDB", .name = "P2020 RDB",
.compatible = "fsl,P2020RDB", .compatible = "fsl,P2020RDB",
.setup_arch = mpc85xx_rdb_setup_arch, .setup_arch = p2020_setup_arch,
.init_IRQ = mpc85xx_rdb_pic_init, .init_IRQ = p2020_pic_init,
#ifdef CONFIG_PCI #ifdef CONFIG_PCI
.pcibios_fixup_bus = fsl_pcibios_fixup_bus, .pcibios_fixup_bus = fsl_pcibios_fixup_bus,
.pcibios_fixup_phb = fsl_pcibios_fixup_phb, .pcibios_fixup_phb = fsl_pcibios_fixup_phb,
...@@ -62,8 +88,8 @@ define_machine(p2020_rdb) { ...@@ -62,8 +88,8 @@ define_machine(p2020_rdb) {
define_machine(p2020_rdb_pc) { define_machine(p2020_rdb_pc) {
.name = "P2020RDB-PC", .name = "P2020RDB-PC",
.compatible = "fsl,P2020RDB-PC", .compatible = "fsl,P2020RDB-PC",
.setup_arch = mpc85xx_rdb_setup_arch, .setup_arch = p2020_setup_arch,
.init_IRQ = mpc85xx_rdb_pic_init, .init_IRQ = p2020_pic_init,
#ifdef CONFIG_PCI #ifdef CONFIG_PCI
.pcibios_fixup_bus = fsl_pcibios_fixup_bus, .pcibios_fixup_bus = fsl_pcibios_fixup_bus,
.pcibios_fixup_phb = fsl_pcibios_fixup_phb, .pcibios_fixup_phb = fsl_pcibios_fixup_phb,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment