[POWERPC] 85xx: Cleaning up machine probing
authorKumar Gala <galak@kernel.crashing.org>
Sat, 17 Feb 2007 22:19:34 +0000 (16:19 -0600)
committerKumar Gala <galak@kernel.crashing.org>
Sat, 17 Feb 2007 22:19:34 +0000 (16:19 -0600)
Cleaned up the probing functionality to be more consistent across all 85xx
boards and actually check to see if we should be running on a given board.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
arch/powerpc/platforms/85xx/mpc8568_mds.c
arch/powerpc/platforms/85xx/mpc85xx_ads.c
arch/powerpc/platforms/85xx/mpc85xx_cds.c

index 324138a206a49d39296384c82673cd098beb512e..0ba22a42f8df072e1737a86dfec8623dc370dfd1 100644 (file)
@@ -74,7 +74,6 @@ static void __init mpc8568_mds_setup_arch(void)
        struct device_node *np;
        static u8 *bcsr_regs = NULL;
 
-
        if (ppc_md.progress)
                ppc_md.progress("mpc8568_mds_setup_arch()", 0);
 
@@ -206,7 +205,6 @@ static void __init mpc8568_mds_pic_init(void)
 
        mpic_init(mpic);
 
-
 #ifdef CONFIG_QUICC_ENGINE
        np = of_find_node_by_type(NULL, "qeic");
        if (!np)
@@ -217,24 +215,15 @@ static void __init mpc8568_mds_pic_init(void)
 #endif                         /* CONFIG_QUICC_ENGINE */
 }
 
-
 static int __init mpc8568_mds_probe(void)
 {
-       char *model = of_get_flat_dt_prop(of_get_flat_dt_root(),
-                                         "model", NULL);
-       if (model == NULL)
-               return 0;
-       if (strcmp(model, "MPC8568EMDS"))
-               return 0;
-
-       DBG("MPC8568EMDS found\n");
+        unsigned long root = of_get_flat_dt_root();
 
-       return 1;
+        return of_flat_dt_is_compatible(root, "MPC85xxMDS");
 }
 
-
 define_machine(mpc8568_mds) {
-       .name           = "MPC8568E MDS",
+       .name           = "MPC85xx MDS",
        .probe          = mpc8568_mds_probe,
        .setup_arch     = mpc8568_mds_setup_arch,
        .init_IRQ       = mpc8568_mds_pic_init,
index 741bcea8f991783a95ff40b44d5001dd6b14d53d..8ed034aeca5f139acfac1875e6a3a19058b4c8e6 100644 (file)
@@ -272,10 +272,9 @@ static void mpc85xx_ads_show_cpuinfo(struct seq_file *m)
  */
 static int __init mpc85xx_ads_probe(void)
 {
-       /* We always match for now, eventually we should look at the flat
-          dev tree to ensure this is the board we are suppose to run on
-       */
-       return 1;
+        unsigned long root = of_get_flat_dt_root();
+
+        return of_flat_dt_is_compatible(root, "MPC85xxADS");
 }
 
 define_machine(mpc85xx_ads) {
index bf6c60455a895237955cabd29e701df58e371057..4232686be441b4e534777c658e2f352223546114 100644 (file)
@@ -291,11 +291,9 @@ static void mpc85xx_cds_show_cpuinfo(struct seq_file *m)
  */
 static int __init mpc85xx_cds_probe(void)
 {
-       /* We always match for now, eventually we should look at
-        * the flat dev tree to ensure this is the board we are
-        * supposed to run on
-        */
-       return 1;
+        unsigned long root = of_get_flat_dt_root();
+
+        return of_flat_dt_is_compatible(root, "MPC85xxCDS");
 }
 
 define_machine(mpc85xx_cds) {