Commit 336c3c2e authored by Kumar Gala's avatar Kumar Gala

[POWERPC] 83xx: Cleaning up machine probing and board initcalls

Cleaned up the probing functionality to be more consistent across all 83xx
boards and added machine_is() protection around board initcalls to ensure they
only do something if we are actually running on that board.

Additionally, removed some dead code on mpc832x_mds.
Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
parent 6624b35d
...@@ -74,16 +74,9 @@ void __init mpc8313_rdb_init_IRQ(void) ...@@ -74,16 +74,9 @@ void __init mpc8313_rdb_init_IRQ(void)
*/ */
static int __init mpc8313_rdb_probe(void) static int __init mpc8313_rdb_probe(void)
{ {
char *model = of_get_flat_dt_prop(of_get_flat_dt_root(), unsigned long root = of_get_flat_dt_root();
"model", NULL);
if (model == NULL)
return 0;
if (strcmp(model, "MPC8313ERDB"))
return 0;
DBG("MPC8313 RDB found\n"); return of_flat_dt_is_compatible(root, "MPC8313ERDB");
return 1;
} }
define_machine(mpc8313_rdb) { define_machine(mpc8313_rdb) {
......
...@@ -57,11 +57,6 @@ unsigned long isa_mem_base = 0; ...@@ -57,11 +57,6 @@ unsigned long isa_mem_base = 0;
static u8 *bcsr_regs = NULL; static u8 *bcsr_regs = NULL;
u8 *get_bcsr(void)
{
return bcsr_regs;
}
/* ************************************************************************ /* ************************************************************************
* *
* Setup the architecture * Setup the architecture
...@@ -140,6 +135,9 @@ static int __init mpc832x_declare_of_platform_devices(void) ...@@ -140,6 +135,9 @@ static int __init mpc832x_declare_of_platform_devices(void)
{ {
struct device_node *np; struct device_node *np;
if (!machine_is(mpc832x_mds))
return 0;
for (np = NULL; (np = of_find_compatible_node(np, "network", for (np = NULL; (np = of_find_compatible_node(np, "network",
"ucc_geth")) != NULL;) { "ucc_geth")) != NULL;) {
int ucc_num; int ucc_num;
...@@ -189,6 +187,9 @@ static int __init mpc832x_rtc_hookup(void) ...@@ -189,6 +187,9 @@ static int __init mpc832x_rtc_hookup(void)
{ {
struct timespec tv; struct timespec tv;
if (!machine_is(mpc832x_mds))
return 0;
ppc_md.get_rtc_time = ds1374_get_rtc_time; ppc_md.get_rtc_time = ds1374_get_rtc_time;
ppc_md.set_rtc_time = ds1374_set_rtc_time; ppc_md.set_rtc_time = ds1374_set_rtc_time;
...@@ -207,17 +208,9 @@ late_initcall(mpc832x_rtc_hookup); ...@@ -207,17 +208,9 @@ late_initcall(mpc832x_rtc_hookup);
*/ */
static int __init mpc832x_sys_probe(void) static int __init mpc832x_sys_probe(void)
{ {
char *model = of_get_flat_dt_prop(of_get_flat_dt_root(), unsigned long root = of_get_flat_dt_root();
"model", NULL);
if (model == NULL)
return 0;
if (strcmp(model, "MPC8323EMDS"))
return 0;
DBG("%s found\n", model);
return 1; return of_flat_dt_is_compatible(root, "MPC832xMDS");
} }
define_machine(mpc832x_mds) { define_machine(mpc832x_mds) {
......
...@@ -100,10 +100,9 @@ static void __init mpc834x_itx_init_IRQ(void) ...@@ -100,10 +100,9 @@ static void __init mpc834x_itx_init_IRQ(void)
*/ */
static int __init mpc834x_itx_probe(void) static int __init mpc834x_itx_probe(void)
{ {
/* We always match for now, eventually we should look at the flat unsigned long root = of_get_flat_dt_root();
dev tree to ensure this is the board we are suppose to run on
*/ return of_flat_dt_is_compatible(root, "MPC834xMITX");
return 1;
} }
define_machine(mpc834x_itx) { define_machine(mpc834x_itx) {
......
...@@ -176,6 +176,9 @@ static int __init mpc834x_rtc_hookup(void) ...@@ -176,6 +176,9 @@ static int __init mpc834x_rtc_hookup(void)
{ {
struct timespec tv; struct timespec tv;
if (!machine_is(mpc834x_mds))
return 0;
ppc_md.get_rtc_time = ds1374_get_rtc_time; ppc_md.get_rtc_time = ds1374_get_rtc_time;
ppc_md.set_rtc_time = ds1374_set_rtc_time; ppc_md.set_rtc_time = ds1374_set_rtc_time;
...@@ -194,10 +197,9 @@ late_initcall(mpc834x_rtc_hookup); ...@@ -194,10 +197,9 @@ late_initcall(mpc834x_rtc_hookup);
*/ */
static int __init mpc834x_mds_probe(void) static int __init mpc834x_mds_probe(void)
{ {
/* We always match for now, eventually we should look at the flat unsigned long root = of_get_flat_dt_root();
dev tree to ensure this is the board we are suppose to run on
*/ return of_flat_dt_is_compatible(root, "MPC834xMDS");
return 1;
} }
define_machine(mpc834x_mds) { define_machine(mpc834x_mds) {
......
...@@ -145,6 +145,9 @@ static int __init mpc8360_declare_of_platform_devices(void) ...@@ -145,6 +145,9 @@ static int __init mpc8360_declare_of_platform_devices(void)
{ {
struct device_node *np; struct device_node *np;
if (!machine_is(mpc8360_sys))
return 0;
for (np = NULL; (np = of_find_compatible_node(np, "network", for (np = NULL; (np = of_find_compatible_node(np, "network",
"ucc_geth")) != NULL;) { "ucc_geth")) != NULL;) {
int ucc_num; int ucc_num;
...@@ -194,6 +197,9 @@ static int __init mpc8360_rtc_hookup(void) ...@@ -194,6 +197,9 @@ static int __init mpc8360_rtc_hookup(void)
{ {
struct timespec tv; struct timespec tv;
if (!machine_is(mpc8360_sys))
return 0;
ppc_md.get_rtc_time = ds1374_get_rtc_time; ppc_md.get_rtc_time = ds1374_get_rtc_time;
ppc_md.set_rtc_time = ds1374_set_rtc_time; ppc_md.set_rtc_time = ds1374_set_rtc_time;
...@@ -212,16 +218,9 @@ late_initcall(mpc8360_rtc_hookup); ...@@ -212,16 +218,9 @@ late_initcall(mpc8360_rtc_hookup);
*/ */
static int __init mpc8360_sys_probe(void) static int __init mpc8360_sys_probe(void)
{ {
char *model = of_get_flat_dt_prop(of_get_flat_dt_root(), unsigned long root = of_get_flat_dt_root();
"model", NULL);
if (model == NULL)
return 0;
if (strcmp(model, "MPC8360EPB"))
return 0;
DBG("MPC8360EMDS-PB found\n");
return 1; return of_flat_dt_is_compatible(root, "MPC836xMDS");
} }
define_machine(mpc8360_sys) { define_machine(mpc8360_sys) {
......
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