Upgrade au1000 to 2.6.23
[openwrt/svn-archive/archive.git] / target / linux / au1000 / files / arch / mips / au1000 / mtx-1 / platform.c
index e5116f08e5a0129bb07356b4ae221ec9b57f95a8..529595fcd443efbd6e42426df1f2ca8d3eef6cda 100644 (file)
 
 #include <asm/gpio.h>
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23)
+static struct resource mtx1_wdt_res[] = {
+       [0] = {
+               .start = 15,
+               .end = 15,
+               .name = "mtx1-wdt-gpio",
+               .flags = IORESOURCE_IRQ,
+       }
+};
+
+static struct platform_device mtx1_wdt = {
+       .name = "mtx1-wdt",
+       .id = 0,
+       .num_resources = ARRAY_SIZE(mtx1_wdt_res),
+       .resource = mtx1_wdt_res,
+};
+
 static struct gpio_led default_leds[] = {
-        { .name = "mtx1:green", .gpio = 211, .active_low = 1, },
-       { .name = "mtx1:red", gpio = 212, .active_low = 1, },
-}
+        { .name = "mtx1:green", .gpio = 211, },
+       { .name = "mtx1:red", .gpio = 212, },
+};
 
-static struct gpio_led_platform_data mtx1_led_data;
+static struct gpio_led_platform_data mtx1_led_data = {
+       .num_leds = ARRAY_SIZE(default_leds),
+       .leds = default_leds,
+};
 
 static struct platform_device mtx1_gpio_leds = {
         .name = "leds-gpio",
@@ -41,18 +59,16 @@ static struct platform_device mtx1_gpio_leds = {
                 .platform_data = &mtx1_led_data,
         }
 };
-#endif
+
+static struct platform_device *mtx1_devs[] = {
+       &mtx1_gpio_leds,
+       &mtx1_wdt
+};
 
 static int __init mtx1_register_devices(void)
 {
-       int res;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23)
-       mtx1_led_data.num_leds = ARRAY_SIZE(default_leds);
-        mtx1_led_data.leds = default_leds;
-       res = platform_device_register(&mtx1_gpio_leds);
-#endif
-       return res;
+       return platform_add_devices(mtx1_devs, ARRAY_SIZE(mtx1_devs));
 }
 
-arch_initall(mtx1_register_devices);
+arch_initcall(mtx1_register_devices);