[POWERPC] Fixup mp5200 drivers to match device tree changes
[firefly-linux-kernel-4.4.55.git] / arch / powerpc / platforms / 52xx / lite5200.c
index a375c15b4315b502517a9d65510fc5eeb509bc84..cc3b40de21ddf8ef3351694d593568be95601b2a 100644 (file)
@@ -40,8 +40,6 @@
 #include <asm/prom.h>
 #include <asm/udbg.h>
 #include <sysdev/fsl_soc.h>
-#include <asm/qe.h>
-#include <asm/qe_ic.h>
 #include <asm/of_platform.h>
 
 #include <asm/mpc52xx.h>
  */
 
 static void __init
-lite52xx_setup_cpu(void)
+lite5200_setup_cpu(void)
 {
        struct mpc52xx_gpio __iomem *gpio;
        u32 port_config;
 
        /* Map zones */
-       gpio = mpc52xx_find_and_map("mpc52xx-gpio");
+       gpio = mpc52xx_find_and_map("mpc5200-gpio");
        if (!gpio) {
                printk(KERN_ERR __FILE__ ": "
                        "Error while mapping GPIO register for port config. "
@@ -87,12 +85,12 @@ error:
        iounmap(gpio);
 }
 
-static void __init lite52xx_setup_arch(void)
+static void __init lite5200_setup_arch(void)
 {
        struct device_node *np;
 
        if (ppc_md.progress)
-               ppc_md.progress("lite52xx_setup_arch()", 0);
+               ppc_md.progress("lite5200_setup_arch()", 0);
 
        np = of_find_node_by_type(NULL, "cpu");
        if (np) {
@@ -107,7 +105,13 @@ static void __init lite52xx_setup_arch(void)
 
        /* CPU & Port mux setup */
        mpc52xx_setup_cpu();    /* Generic */
-       lite52xx_setup_cpu();   /* Platorm specific */
+       lite5200_setup_cpu();   /* Platorm specific */
+
+#ifdef CONFIG_PCI
+       np = of_find_node_by_type(np, "pci");
+       if (np)
+               mpc52xx_add_bridge(np);
+#endif
 
 #ifdef CONFIG_BLK_DEV_INITRD
        if (initrd_start)
@@ -122,7 +126,7 @@ static void __init lite52xx_setup_arch(void)
 
 }
 
-void lite52xx_show_cpuinfo(struct seq_file *m)
+void lite5200_show_cpuinfo(struct seq_file *m)
 {
        struct device_node* np = of_find_all_nodes(NULL);
        const char *model = NULL;
@@ -139,24 +143,26 @@ void lite52xx_show_cpuinfo(struct seq_file *m)
 /*
  * Called very early, MMU is off, device-tree isn't unflattened
  */
-static int __init lite52xx_probe(void)
+static int __init lite5200_probe(void)
 {
        unsigned long node = of_get_flat_dt_root();
        const char *model = of_get_flat_dt_prop(node, "model", NULL);
 
-       if (!of_flat_dt_is_compatible(node, "lite52xx"))
+       if (!of_flat_dt_is_compatible(node, "fsl,lite5200") &&
+           !of_flat_dt_is_compatible(node, "fsl,lite5200b"))
                return 0;
-       pr_debug("%s board w/ mpc52xx found\n", model ? model : "unknown");
+       pr_debug("%s board found\n", model ? model : "unknown");
 
        return 1;
 }
 
-define_machine(lite52xx) {
-       .name           = "lite52xx",
-       .probe          = lite52xx_probe,
-       .setup_arch     = lite52xx_setup_arch,
+define_machine(lite5200) {
+       .name           = "lite5200",
+       .probe          = lite5200_probe,
+       .setup_arch     = lite5200_setup_arch,
+       .init           = mpc52xx_declare_of_platform_devices,
        .init_IRQ       = mpc52xx_init_irq,
        .get_irq        = mpc52xx_get_irq,
-       .show_cpuinfo   = lite52xx_show_cpuinfo,
+       .show_cpuinfo   = lite5200_show_cpuinfo,
        .calibrate_decr = generic_calibrate_decr,
 };