summaryrefslogtreecommitdiff
path: root/arch/sh/kernel/cpu/sh2a/setup-sh7264.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2014-04-23 15:15:21 +0400
committerSimon Horman <horms+renesas@verge.net.au>2014-05-11 14:35:28 +0400
commit5204601c0877b3ffc90e417bf30fccc9bdf47962 (patch)
treec1125e8cd65378b5e7ec1b3d8b827b0723080125 /arch/sh/kernel/cpu/sh2a/setup-sh7264.c
parente4ae34e285b1c102686cb1c2a39ef93f930bf8f4 (diff)
downloadlinux-5204601c0877b3ffc90e417bf30fccc9bdf47962.tar.xz
sh: Switch to new style MTU2 device
The MTU2 (Multi-Function Timer Pulse Unit 2) driver implements a new style of platform data that handles the timer as a single device with multiple channel. Switch from the old-style platform data to the new-style platform data. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Tested-by: Wolfram Sang <wsa@sang-engineering.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'arch/sh/kernel/cpu/sh2a/setup-sh7264.c')
-rw-r--r--arch/sh/kernel/cpu/sh2a/setup-sh7264.c71
1 files changed, 11 insertions, 60 deletions
diff --git a/arch/sh/kernel/cpu/sh2a/setup-sh7264.c b/arch/sh/kernel/cpu/sh2a/setup-sh7264.c
index e95250e82752..608146455562 100644
--- a/arch/sh/kernel/cpu/sh2a/setup-sh7264.c
+++ b/arch/sh/kernel/cpu/sh2a/setup-sh7264.c
@@ -453,64 +453,17 @@ static struct platform_device cmt_device = {
.num_resources = ARRAY_SIZE(cmt_resources),
};
-static struct sh_timer_config mtu2_0_platform_data = {
- .name = "MTU2_0",
- .channel_offset = -0x80,
- .timer_bit = 0,
- .clockevent_rating = 200,
+static struct resource mtu2_resources[] = {
+ DEFINE_RES_MEM(0xfffe4000, 0x400),
+ DEFINE_RES_IRQ_NAMED(179, "tgi0a"),
+ DEFINE_RES_IRQ_NAMED(186, "tgi1a"),
};
-static struct resource mtu2_0_resources[] = {
- [0] = {
- .name = "MTU2_0",
- .start = 0xfffe4300,
- .end = 0xfffe4326,
- .flags = IORESOURCE_MEM,
- },
- [1] = {
- .start = 179,
- .flags = IORESOURCE_IRQ,
- },
-};
-
-static struct platform_device mtu2_0_device = {
- .name = "sh_mtu2",
- .id = 0,
- .dev = {
- .platform_data = &mtu2_0_platform_data,
- },
- .resource = mtu2_0_resources,
- .num_resources = ARRAY_SIZE(mtu2_0_resources),
-};
-
-static struct sh_timer_config mtu2_1_platform_data = {
- .name = "MTU2_1",
- .channel_offset = -0x100,
- .timer_bit = 1,
- .clockevent_rating = 200,
-};
-
-static struct resource mtu2_1_resources[] = {
- [0] = {
- .name = "MTU2_1",
- .start = 0xfffe4380,
- .end = 0xfffe4390,
- .flags = IORESOURCE_MEM,
- },
- [1] = {
- .start = 186,
- .flags = IORESOURCE_IRQ,
- },
-};
-
-static struct platform_device mtu2_1_device = {
- .name = "sh_mtu2",
- .id = 1,
- .dev = {
- .platform_data = &mtu2_1_platform_data,
- },
- .resource = mtu2_1_resources,
- .num_resources = ARRAY_SIZE(mtu2_1_resources),
+static struct platform_device mtu2_device = {
+ .name = "sh-mtu2",
+ .id = -1,
+ .resource = mtu2_resources,
+ .num_resources = ARRAY_SIZE(mtu2_resources),
};
static struct resource rtc_resources[] = {
@@ -580,8 +533,7 @@ static struct platform_device *sh7264_devices[] __initdata = {
&scif6_device,
&scif7_device,
&cmt_device,
- &mtu2_0_device,
- &mtu2_1_device,
+ &mtu2_device,
&rtc_device,
&r8a66597_usb_host_device,
};
@@ -608,8 +560,7 @@ static struct platform_device *sh7264_early_devices[] __initdata = {
&scif6_device,
&scif7_device,
&cmt_device,
- &mtu2_0_device,
- &mtu2_1_device,
+ &mtu2_device,
};
void __init plat_early_device_setup(void)