MIPS: SEAD3: Combine all platform device registrations in one file.
authorRalf Baechle <ralf@linux-mips.org>
Thu, 2 Apr 2015 15:07:26 +0000 (17:07 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 2 Apr 2015 15:07:26 +0000 (17:07 +0200)
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/mti-sead3/Makefile
arch/mips/mti-sead3/sead3-ehci.c [deleted file]
arch/mips/mti-sead3/sead3-leds.c [deleted file]
arch/mips/mti-sead3/sead3-mtd.c [deleted file]
arch/mips/mti-sead3/sead3-net.c [deleted file]
arch/mips/mti-sead3/sead3-platform.c

index 37f95f2ac997a7b1ac744be7579e7f9c4660c25d..ecd71db6258b350fb74eb6397c432f8e48e879fa 100644 (file)
@@ -8,12 +8,11 @@
 # Copyright (C) 2012 MIPS Technoligies, Inc.  All rights reserved.
 # Steven J. Hill <sjhill@mips.com>
 #
-obj-y                          := sead3-lcd.o sead3-display.o sead3-ehci.o \
-                                  sead3-init.o sead3-int.o sead3-mtd.o \
-                                  sead3-net.o sead3-platform.o sead3-reset.o \
+obj-y                          := sead3-lcd.o sead3-display.o sead3-init.o \
+                                  sead3-int.o sead3-platform.o sead3-reset.o \
                                   sead3-setup.o sead3-time.o
 
-obj-y                          += leds-sead3.o sead3-leds.o
+obj-y                          += leds-sead3.o
 
 obj-$(CONFIG_EARLY_PRINTK)     += sead3-console.o
 
diff --git a/arch/mips/mti-sead3/sead3-ehci.c b/arch/mips/mti-sead3/sead3-ehci.c
deleted file mode 100644 (file)
index e2b094a..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (C) 2012 MIPS Technologies, Inc.  All rights reserved.
- */
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/dma-mapping.h>
-#include <linux/platform_device.h>
-#include <linux/irqchip/mips-gic.h>
-
-#include <asm/mips-boards/sead3int.h>
-
-static struct resource ehci_resources[] = {
-       {
-               .start                  = 0x1b200000,
-               .end                    = 0x1b200fff,
-               .flags                  = IORESOURCE_MEM
-       },
-       {
-               .flags                  = IORESOURCE_IRQ
-       }
-};
-
-static u64 sead3_usbdev_dma_mask = DMA_BIT_MASK(32);
-
-static struct platform_device ehci_device = {
-       .name           = "sead3-ehci",
-       .id             = 0,
-       .dev            = {
-               .dma_mask               = &sead3_usbdev_dma_mask,
-               .coherent_dma_mask      = DMA_BIT_MASK(32)
-       },
-       .num_resources  = ARRAY_SIZE(ehci_resources),
-       .resource       = ehci_resources
-};
-
-static int __init ehci_init(void)
-{
-       if (gic_present)
-               ehci_resources[1].start = MIPS_GIC_IRQ_BASE + GIC_INT_EHCI;
-       else
-               ehci_resources[1].start = MIPS_CPU_IRQ_BASE + CPU_INT_EHCI;
-       return platform_device_register(&ehci_device);
-}
-
-device_initcall(ehci_init);
diff --git a/arch/mips/mti-sead3/sead3-leds.c b/arch/mips/mti-sead3/sead3-leds.c
deleted file mode 100644 (file)
index c6fa3e4..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (C) 2012 MIPS Technologies, Inc.  All rights reserved.
- */
-#include <linux/init.h>
-#include <linux/leds.h>
-#include <linux/platform_device.h>
-
-#define LEDFLAGS(bits, shift)          \
-       ((bits << 8) | (shift << 8))
-
-#define LEDBITS(id, shift, bits)       \
-       .name = id #shift,              \
-       .flags = LEDFLAGS(bits, shift)
-
-struct led_info led_data_info[] = {
-       { LEDBITS("bit", 0, 1) },
-       { LEDBITS("bit", 1, 1) },
-       { LEDBITS("bit", 2, 1) },
-       { LEDBITS("bit", 3, 1) },
-       { LEDBITS("bit", 4, 1) },
-       { LEDBITS("bit", 5, 1) },
-       { LEDBITS("bit", 6, 1) },
-       { LEDBITS("bit", 7, 1) },
-       { LEDBITS("all", 0, 8) },
-};
-
-static struct led_platform_data led_data = {
-       .num_leds       = ARRAY_SIZE(led_data_info),
-       .leds           = led_data_info
-};
-
-static struct resource pled_resources[] = {
-       {
-               .start  = 0x1f000210,
-               .end    = 0x1f000217,
-               .flags  = IORESOURCE_MEM
-       }
-};
-
-static struct platform_device pled_device = {
-       .name                   = "sead3::pled",
-       .id                     = 0,
-       .dev                    = {
-               .platform_data  = &led_data,
-       },
-       .num_resources          = ARRAY_SIZE(pled_resources),
-       .resource               = pled_resources
-};
-
-
-static struct resource fled_resources[] = {
-       {
-               .start                  = 0x1f000218,
-               .end                    = 0x1f00021f,
-               .flags                  = IORESOURCE_MEM
-       }
-};
-
-static struct platform_device fled_device = {
-       .name                   = "sead3::fled",
-       .id                     = 0,
-       .dev                    = {
-               .platform_data  = &led_data,
-       },
-       .num_resources          = ARRAY_SIZE(fled_resources),
-       .resource               = fled_resources
-};
-
-static struct platform_device sead3_led_device = {
-        .name   = "sead3-led",
-        .id     = -1,
-};
-
-struct platform_device *sead3_led_devices[] = {
-       &pled_device,
-       &fled_device,
-       &sead3_led_device,
-};
-
-static int __init sead3_led_init(void)
-{
-       return platform_add_devices(sead3_led_devices, ARRAY_SIZE(sead3_led_devices));
-}
-
-device_initcall(sead3_led_init);
diff --git a/arch/mips/mti-sead3/sead3-mtd.c b/arch/mips/mti-sead3/sead3-mtd.c
deleted file mode 100644 (file)
index f9c890d..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (C) 2012 MIPS Technologies, Inc.  All rights reserved.
- */
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/mtd/physmap.h>
-
-static struct mtd_partition sead3_mtd_partitions[] = {
-       {
-               .name =         "User FS",
-               .offset =       0x00000000,
-               .size =         0x01fc0000,
-       }, {
-               .name =         "Board Config",
-               .offset =       0x01fc0000,
-               .size =         0x00040000,
-               .mask_flags =   MTD_WRITEABLE
-       },
-};
-
-static struct physmap_flash_data sead3_flash_data = {
-       .width          = 4,
-       .nr_parts       = ARRAY_SIZE(sead3_mtd_partitions),
-       .parts          = sead3_mtd_partitions
-};
-
-static struct resource sead3_flash_resource = {
-       .start          = 0x1c000000,
-       .end            = 0x1dffffff,
-       .flags          = IORESOURCE_MEM
-};
-
-static struct platform_device sead3_flash = {
-       .name           = "physmap-flash",
-       .id             = 0,
-       .dev            = {
-               .platform_data  = &sead3_flash_data,
-       },
-       .num_resources  = 1,
-       .resource       = &sead3_flash_resource,
-};
-
-static int __init sead3_mtd_init(void)
-{
-       platform_device_register(&sead3_flash);
-
-       return 0;
-}
-device_initcall(sead3_mtd_init);
diff --git a/arch/mips/mti-sead3/sead3-net.c b/arch/mips/mti-sead3/sead3-net.c
deleted file mode 100644 (file)
index 16895f8..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (C) 2012 MIPS Technologies, Inc.  All rights reserved.
- */
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/irqchip/mips-gic.h>
-#include <linux/platform_device.h>
-#include <linux/smsc911x.h>
-
-#include <asm/mips-boards/sead3int.h>
-
-static struct smsc911x_platform_config sead3_smsc911x_data = {
-       .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
-       .irq_type = SMSC911X_IRQ_TYPE_PUSH_PULL,
-       .flags  = SMSC911X_USE_32BIT | SMSC911X_SAVE_MAC_ADDRESS,
-       .phy_interface = PHY_INTERFACE_MODE_MII,
-};
-
-struct resource sead3_net_resources[] = {
-       {
-               .start                  = 0x1f010000,
-               .end                    = 0x1f01ffff,
-               .flags                  = IORESOURCE_MEM
-       },
-       {
-               .flags                  = IORESOURCE_IRQ
-       }
-};
-
-static struct platform_device sead3_net_device = {
-       .name                   = "smsc911x",
-       .id                     = 0,
-       .dev                    = {
-               .platform_data  = &sead3_smsc911x_data,
-       },
-       .num_resources          = ARRAY_SIZE(sead3_net_resources),
-       .resource               = sead3_net_resources
-};
-
-static int __init sead3_net_init(void)
-{
-       if (gic_present)
-               sead3_net_resources[1].start = MIPS_GIC_IRQ_BASE + GIC_INT_NET;
-       else
-               sead3_net_resources[1].start = MIPS_CPU_IRQ_BASE + CPU_INT_NET;
-       return platform_device_register(&sead3_net_device);
-}
-
-device_initcall(sead3_net_init);
index a38325474a0745b32afd1c8daa3bba60130ed848..73b73efbfb05862a2e2fa1074b0426f05a640d39 100644 (file)
@@ -5,9 +5,15 @@
  *
  * Copyright (C) 2012 MIPS Technologies, Inc.  All rights reserved.
  */
+#include <linux/dma-mapping.h>
 #include <linux/init.h>
+#include <linux/irq.h>
 #include <linux/irqchip/mips-gic.h>
+#include <linux/leds.h>
+#include <linux/mtd/physmap.h>
+#include <linux/platform_device.h>
 #include <linux/serial_8250.h>
+#include <linux/smsc911x.h>
 
 #include <asm/mips-boards/sead3int.h>
 
@@ -35,16 +41,183 @@ static struct platform_device uart8250_device = {
        },
 };
 
-static int __init uart8250_init(void)
+static struct smsc911x_platform_config sead3_smsc911x_data = {
+       .irq_polarity   = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
+       .irq_type       = SMSC911X_IRQ_TYPE_PUSH_PULL,
+       .flags          = SMSC911X_USE_32BIT | SMSC911X_SAVE_MAC_ADDRESS,
+       .phy_interface  = PHY_INTERFACE_MODE_MII,
+};
+
+static struct resource sead3_net_resources[] = {
+       {
+               .start                  = 0x1f010000,
+               .end                    = 0x1f01ffff,
+               .flags                  = IORESOURCE_MEM
+       }, {
+               .flags                  = IORESOURCE_IRQ
+       }
+};
+
+static struct platform_device sead3_net_device = {
+       .name                   = "smsc911x",
+       .id                     = 0,
+       .dev                    = {
+               .platform_data  = &sead3_smsc911x_data,
+       },
+       .num_resources          = ARRAY_SIZE(sead3_net_resources),
+       .resource               = sead3_net_resources
+};
+
+static struct mtd_partition sead3_mtd_partitions[] = {
+       {
+               .name =         "User FS",
+               .offset =       0x00000000,
+               .size =         0x01fc0000,
+       }, {
+               .name =         "Board Config",
+               .offset =       0x01fc0000,
+               .size =         0x00040000,
+               .mask_flags =   MTD_WRITEABLE
+       },
+};
+
+static struct physmap_flash_data sead3_flash_data = {
+       .width          = 4,
+       .nr_parts       = ARRAY_SIZE(sead3_mtd_partitions),
+       .parts          = sead3_mtd_partitions
+};
+
+static struct resource sead3_flash_resource = {
+       .start          = 0x1c000000,
+       .end            = 0x1dffffff,
+       .flags          = IORESOURCE_MEM
+};
+
+static struct platform_device sead3_flash = {
+       .name           = "physmap-flash",
+       .id             = 0,
+       .dev            = {
+               .platform_data  = &sead3_flash_data,
+       },
+       .num_resources  = 1,
+       .resource       = &sead3_flash_resource,
+};
+
+#define LEDFLAGS(bits, shift)          \
+       ((bits << 8) | (shift << 8))
+
+#define LEDBITS(id, shift, bits)       \
+       .name = id #shift,              \
+       .flags = LEDFLAGS(bits, shift)
+
+static struct led_info led_data_info[] = {
+       { LEDBITS("bit", 0, 1) },
+       { LEDBITS("bit", 1, 1) },
+       { LEDBITS("bit", 2, 1) },
+       { LEDBITS("bit", 3, 1) },
+       { LEDBITS("bit", 4, 1) },
+       { LEDBITS("bit", 5, 1) },
+       { LEDBITS("bit", 6, 1) },
+       { LEDBITS("bit", 7, 1) },
+       { LEDBITS("all", 0, 8) },
+};
+
+static struct led_platform_data led_data = {
+       .num_leds       = ARRAY_SIZE(led_data_info),
+       .leds           = led_data_info
+};
+
+static struct resource pled_resources[] = {
+       {
+               .start  = 0x1f000210,
+               .end    = 0x1f000217,
+               .flags  = IORESOURCE_MEM
+       }
+};
+
+static struct platform_device pled_device = {
+       .name                   = "sead3::pled",
+       .id                     = 0,
+       .dev                    = {
+               .platform_data  = &led_data,
+       },
+       .num_resources          = ARRAY_SIZE(pled_resources),
+       .resource               = pled_resources
+};
+
+
+static struct resource fled_resources[] = {
+       {
+               .start                  = 0x1f000218,
+               .end                    = 0x1f00021f,
+               .flags                  = IORESOURCE_MEM
+       }
+};
+
+static struct platform_device fled_device = {
+       .name                   = "sead3::fled",
+       .id                     = 0,
+       .dev                    = {
+               .platform_data  = &led_data,
+       },
+       .num_resources          = ARRAY_SIZE(fled_resources),
+       .resource               = fled_resources
+};
+
+static struct platform_device sead3_led_device = {
+        .name   = "sead3-led",
+        .id     = -1,
+};
+
+static struct resource ehci_resources[] = {
+       {
+               .start                  = 0x1b200000,
+               .end                    = 0x1b200fff,
+               .flags                  = IORESOURCE_MEM
+       }, {
+               .flags                  = IORESOURCE_IRQ
+       }
+};
+
+static u64 sead3_usbdev_dma_mask = DMA_BIT_MASK(32);
+
+static struct platform_device ehci_device = {
+       .name           = "sead3-ehci",
+       .id             = 0,
+       .dev            = {
+               .dma_mask               = &sead3_usbdev_dma_mask,
+               .coherent_dma_mask      = DMA_BIT_MASK(32)
+       },
+       .num_resources  = ARRAY_SIZE(ehci_resources),
+       .resource       = ehci_resources
+};
+
+static struct platform_device *sead3_platform_devices[] __initdata = {
+       &uart8250_device,
+       &sead3_flash,
+       &pled_device,
+       &fled_device,
+       &sead3_led_device,
+       &ehci_device,
+       &sead3_net_device,
+};
+
+static int __init sead3_platforms_device_init(void)
 {
        if (gic_present) {
                uart8250_data[0].irq = MIPS_GIC_IRQ_BASE + GIC_INT_UART0;
                uart8250_data[1].irq = MIPS_GIC_IRQ_BASE + GIC_INT_UART1;
+               ehci_resources[1].start = MIPS_GIC_IRQ_BASE + GIC_INT_EHCI;
+               sead3_net_resources[1].start = MIPS_GIC_IRQ_BASE + GIC_INT_NET;
        } else {
                uart8250_data[0].irq = MIPS_CPU_IRQ_BASE + CPU_INT_UART0;
                uart8250_data[1].irq = MIPS_CPU_IRQ_BASE + CPU_INT_UART1;
+               ehci_resources[1].start = MIPS_CPU_IRQ_BASE + CPU_INT_EHCI;
+               sead3_net_resources[1].start = MIPS_CPU_IRQ_BASE + CPU_INT_NET;
        }
-       return platform_device_register(&uart8250_device);
+
+       return platform_add_devices(sead3_platform_devices,
+                                   ARRAY_SIZE(sead3_platform_devices));
 }
 
-device_initcall(uart8250_init);
+device_initcall(sead3_platforms_device_init);