aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2008-12-01 03:16:08 -0500
committerRalf Baechle <ralf@linux-mips.org>2008-12-04 12:47:28 -0500
commit566a3b95579c123f7711e2f98d078f370746046b (patch)
tree408b31b8000b9862d5ea4aa78870f46d51809865
parent3e27cce60e434fc393fb261fb3ca455ba80a0b8b (diff)
MIPS: Malta: Consolidate platform device code.
After adding the RTC platform device to malta-platform.c malta-mtd.c should get unified with the rest of the platform device code.
-rw-r--r--arch/mips/mti-malta/Makefile5
-rw-r--r--arch/mips/mti-malta/malta-mtd.c63
-rw-r--r--arch/mips/mti-malta/malta-platform.c51
3 files changed, 50 insertions, 69 deletions
diff --git a/arch/mips/mti-malta/Makefile b/arch/mips/mti-malta/Makefile
index cef2db8d2225..32e847808df1 100644
--- a/arch/mips/mti-malta/Makefile
+++ b/arch/mips/mti-malta/Makefile
@@ -7,9 +7,8 @@
7# 7#
8obj-y := malta-amon.o malta-cmdline.o \ 8obj-y := malta-amon.o malta-cmdline.o \
9 malta-display.o malta-init.o malta-int.o \ 9 malta-display.o malta-init.o malta-int.o \
10 malta-memory.o malta-mtd.o \ 10 malta-memory.o malta-platform.o \
11 malta-platform.o malta-reset.o \ 11 malta-reset.o malta-setup.o malta-time.o
12 malta-setup.o malta-time.o
13 12
14obj-$(CONFIG_EARLY_PRINTK) += malta-console.o 13obj-$(CONFIG_EARLY_PRINTK) += malta-console.o
15obj-$(CONFIG_PCI) += malta-pci.o 14obj-$(CONFIG_PCI) += malta-pci.o
diff --git a/arch/mips/mti-malta/malta-mtd.c b/arch/mips/mti-malta/malta-mtd.c
deleted file mode 100644
index 8ad9bdf25dce..000000000000
--- a/arch/mips/mti-malta/malta-mtd.c
+++ /dev/null
@@ -1,63 +0,0 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2006 MIPS Technologies, Inc.
7 * written by Ralf Baechle <ralf@linux-mips.org>
8 */
9
10#include <linux/init.h>
11#include <linux/platform_device.h>
12#include <linux/mtd/partitions.h>
13#include <linux/mtd/physmap.h>
14#include <mtd/mtd-abi.h>
15
16static struct mtd_partition malta_mtd_partitions[] = {
17 {
18 .name = "YAMON",
19 .offset = 0x0,
20 .size = 0x100000,
21 .mask_flags = MTD_WRITEABLE
22 }, {
23 .name = "User FS",
24 .offset = 0x100000,
25 .size = 0x2e0000
26 }, {
27 .name = "Board Config",
28 .offset = 0x3e0000,
29 .size = 0x020000,
30 .mask_flags = MTD_WRITEABLE
31 }
32};
33
34static struct physmap_flash_data malta_flash_data = {
35 .width = 4,
36 .nr_parts = ARRAY_SIZE(malta_mtd_partitions),
37 .parts = malta_mtd_partitions
38};
39
40static struct resource malta_flash_resource = {
41 .start = 0x1e000000,
42 .end = 0x1e3fffff,
43 .flags = IORESOURCE_MEM
44};
45
46static struct platform_device malta_flash = {
47 .name = "physmap-flash",
48 .id = 0,
49 .dev = {
50 .platform_data = &malta_flash_data,
51 },
52 .num_resources = 1,
53 .resource = &malta_flash_resource,
54};
55
56static int __init malta_mtd_init(void)
57{
58 platform_device_register(&malta_flash);
59
60 return 0;
61}
62
63module_init(malta_mtd_init)
diff --git a/arch/mips/mti-malta/malta-platform.c b/arch/mips/mti-malta/malta-platform.c
index 6a476f7733b3..72e32a7715be 100644
--- a/arch/mips/mti-malta/malta-platform.c
+++ b/arch/mips/mti-malta/malta-platform.c
@@ -3,8 +3,9 @@
3 * License. See the file "COPYING" in the main directory of this archive 3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details. 4 * for more details.
5 * 5 *
6 * Copyright (C) 2007 MIPS Technologies, Inc. 6 * Copyright (C) 2006, 07 MIPS Technologies, Inc.
7 * written by Ralf Baechle (ralf@linux-mips.org) 7 * written by Ralf Baechle (ralf@linux-mips.org)
8 * written by Ralf Baechle <ralf@linux-mips.org>
8 * 9 *
9 * Copyright (C) 2008 Wind River Systems, Inc. 10 * Copyright (C) 2008 Wind River Systems, Inc.
10 * updated by Tiejun Chen <tiejun.chen@windriver.com> 11 * updated by Tiejun Chen <tiejun.chen@windriver.com>
@@ -20,11 +21,14 @@
20 * 21 *
21 * 2. Register RTC-CMOS platform device on Malta. 22 * 2. Register RTC-CMOS platform device on Malta.
22 */ 23 */
23#include <linux/module.h>
24#include <linux/init.h> 24#include <linux/init.h>
25#include <linux/serial_8250.h> 25#include <linux/serial_8250.h>
26#include <linux/mc146818rtc.h> 26#include <linux/mc146818rtc.h>
27#include <linux/module.h>
28#include <linux/mtd/partitions.h>
29#include <linux/mtd/physmap.h>
27#include <linux/platform_device.h> 30#include <linux/platform_device.h>
31#include <mtd/mtd-abi.h>
28 32
29#define SMC_PORT(base, int) \ 33#define SMC_PORT(base, int) \
30{ \ 34{ \
@@ -54,7 +58,7 @@ static struct plat_serial8250_port uart8250_data[] = {
54 58
55static struct platform_device malta_uart8250_device = { 59static struct platform_device malta_uart8250_device = {
56 .name = "serial8250", 60 .name = "serial8250",
57 .id = PLAT8250_DEV_PLATFORM2, 61 .id = PLAT8250_DEV_PLATFORM,
58 .dev = { 62 .dev = {
59 .platform_data = uart8250_data, 63 .platform_data = uart8250_data,
60 }, 64 },
@@ -79,9 +83,50 @@ static struct platform_device malta_rtc_device = {
79 .num_resources = ARRAY_SIZE(malta_rtc_resources), 83 .num_resources = ARRAY_SIZE(malta_rtc_resources),
80}; 84};
81 85
86static struct mtd_partition malta_mtd_partitions[] = {
87 {
88 .name = "YAMON",
89 .offset = 0x0,
90 .size = 0x100000,
91 .mask_flags = MTD_WRITEABLE
92 }, {
93 .name = "User FS",
94 .offset = 0x100000,
95 .size = 0x2e0000
96 }, {
97 .name = "Board Config",
98 .offset = 0x3e0000,
99 .size = 0x020000,
100 .mask_flags = MTD_WRITEABLE
101 }
102};
103
104static struct physmap_flash_data malta_flash_data = {
105 .width = 4,
106 .nr_parts = ARRAY_SIZE(malta_mtd_partitions),
107 .parts = malta_mtd_partitions
108};
109
110static struct resource malta_flash_resource = {
111 .start = 0x1e000000,
112 .end = 0x1e3fffff,
113 .flags = IORESOURCE_MEM
114};
115
116static struct platform_device malta_flash_device = {
117 .name = "physmap-flash",
118 .id = 0,
119 .dev = {
120 .platform_data = &malta_flash_data,
121 },
122 .num_resources = 1,
123 .resource = &malta_flash_resource,
124};
125
82static struct platform_device *malta_devices[] __initdata = { 126static struct platform_device *malta_devices[] __initdata = {
83 &malta_uart8250_device, 127 &malta_uart8250_device,
84 &malta_rtc_device, 128 &malta_rtc_device,
129 &malta_flash_device,
85}; 130};
86 131
87static int __init malta_add_devices(void) 132static int __init malta_add_devices(void)