lua: Fixed some cross-platform issues for PPC (and probably other architectures)
[openwrt.git] / target / linux / rdc / files / arch / i386 / mach-rdc / platform.c
index 78f1d0b..31af6fc 100644 (file)
 #include <linux/device.h>
 #include <linux/platform_device.h>
 #include <linux/version.h>
 #include <linux/device.h>
 #include <linux/platform_device.h>
 #include <linux/version.h>
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23)
 #include <linux/leds.h>
 #include <linux/leds.h>
-#endif
+#include <linux/gpio_keys.h>
+#include <linux/input.h>
 
 #include <asm/gpio.h>
 
 
 #include <asm/gpio.h>
 
-#define PFX "rdc321x: "
-
 /* Flash */
 static struct resource rdc_flash_resource[] = {
        [0] = {
 /* Flash */
 static struct resource rdc_flash_resource[] = {
        [0] = {
@@ -54,9 +52,8 @@ static struct platform_device rdc_flash_device = {
 };
 
 /* LEDS */
 };
 
 /* LEDS */
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23)
 static struct gpio_led default_leds[] = {
 static struct gpio_led default_leds[] = {
-        { .name = "rdc:dmz", .gpio = 1, .active_low = 1, },
+        { .name = "rdc321x:dmz", .gpio = 1, },
 };
 
 static struct gpio_led_platform_data rdc321x_led_data = {
 };
 
 static struct gpio_led_platform_data rdc321x_led_data = {
@@ -71,13 +68,6 @@ static struct platform_device rdc321x_leds = {
                .platform_data = &rdc321x_led_data,
        }
 };
                .platform_data = &rdc321x_led_data,
        }
 };
-#else
-static struct platform_device rdc321x_leds = {
-       .name "rdc321x-leds",
-       .id = -1,
-       .num_resources = 0,
-};
-#endif
 
 /* Watchdog */
 static struct platform_device rdc321x_wdt = {
 
 /* Watchdog */
 static struct platform_device rdc321x_wdt = {
@@ -86,10 +76,34 @@ static struct platform_device rdc321x_wdt = {
        .num_resources = 0,
 };
 
        .num_resources = 0,
 };
 
+/* Button */
+static struct gpio_keys_button rdc321x_gpio_btn[] = {
+       {
+               .gpio = 0,
+               .code = BTN_0,
+               .desc = "Reset",
+               .active_low = 1,
+       }
+};
+
+static struct gpio_keys_platform_data rdc321x_gpio_btn_data = {
+       .buttons = rdc321x_gpio_btn,
+       .nbuttons = ARRAY_SIZE(rdc321x_gpio_btn),
+};
+
+static struct platform_device rdc321x_button = {
+       .name = "gpio-keys",
+       .id = -1,
+       .dev = {
+               .platform_data = &rdc321x_gpio_btn_data,
+       }
+};
+
 static struct platform_device *rdc321x_devs[] = {
        &rdc_flash_device,
        &rdc321x_leds,
 static struct platform_device *rdc321x_devs[] = {
        &rdc_flash_device,
        &rdc321x_leds,
-       &rdc321x_wdt
+       &rdc321x_wdt,
+       &rdc321x_button
 };
 
 static int __init rdc_board_setup(void)
 };
 
 static int __init rdc_board_setup(void)
This page took 0.02415 seconds and 4 git commands to generate.