summaryrefslogtreecommitdiff
path: root/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-leds.diff
diff options
context:
space:
mode:
Diffstat (limited to 'packages/linux/linux-2.6.22.6/ts72xx/ep93xx-leds.diff')
-rw-r--r--packages/linux/linux-2.6.22.6/ts72xx/ep93xx-leds.diff181
1 files changed, 0 insertions, 181 deletions
diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-leds.diff b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-leds.diff
deleted file mode 100644
index 0d11311d10..0000000000
--- a/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-leds.diff
+++ /dev/null
@@ -1,181 +0,0 @@
-
-EP93xx leds driver
-
-Signed-off-by: Petr Stetiar <ynezz@true.cz>
-
-Index: linux-2.6.22/arch/arm/mach-ep93xx/core.c
-===================================================================
---- linux-2.6.22.orig/arch/arm/mach-ep93xx/core.c
-+++ linux-2.6.22/arch/arm/mach-ep93xx/core.c
-@@ -555,6 +555,12 @@ void eeclk_eedat_release(void)
- }
-
-
-+static struct platform_device ep93xx_led_device = {
-+ .name = "ep93xx-led",
-+ .id = -1,
-+};
-+
-+
- void __init ep93xx_init_devices(void)
- {
- unsigned int v;
-@@ -583,4 +589,5 @@ void __init ep93xx_init_devices(void)
- platform_device_register(&ep93xx_rtc_device);
- platform_device_register(&ep93xx_ohci_device);
- platform_device_register(&ep93xx_i2c_device);
-+ platform_device_register(&ep93xx_led_device);
- }
-Index: linux-2.6.22/drivers/leds/Kconfig
-===================================================================
---- linux-2.6.22.orig/drivers/leds/Kconfig
-+++ linux-2.6.22/drivers/leds/Kconfig
-@@ -95,6 +95,12 @@ config LEDS_COBALT
- help
- This option enables support for the front LED on Cobalt Server
-
-+config LEDS_EP93XX
-+ tristate "LED Support for Cirrus Logic EP93xx"
-+ depends on LEDS_CLASS && ARCH_EP93XX
-+ help
-+ This option enables support for the Cirrus Logic EP93xx based boards.
-+
- comment "LED Triggers"
-
- config LEDS_TRIGGERS
-Index: linux-2.6.22/drivers/leds/Makefile
-===================================================================
---- linux-2.6.22.orig/drivers/leds/Makefile
-+++ linux-2.6.22/drivers/leds/Makefile
-@@ -16,6 +16,7 @@ obj-$(CONFIG_LEDS_NET48XX) += leds-net4
- obj-$(CONFIG_LEDS_WRAP) += leds-wrap.o
- obj-$(CONFIG_LEDS_H1940) += leds-h1940.o
- obj-$(CONFIG_LEDS_COBALT) += leds-cobalt.o
-+obj-$(CONFIG_LEDS_EP93XX) += leds-ep93xx.o
-
- # LED Triggers
- obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
-Index: linux-2.6.22/drivers/leds/leds-ep93xx.c
-===================================================================
---- /dev/null
-+++ linux-2.6.22/drivers/leds/leds-ep93xx.c
-@@ -0,0 +1,119 @@
-+/*
-+ * LEDs driver for Cirrus Logic EP93xx
-+ *
-+ * Author: Petr Stetiar <ynezz@true.cz>
-+ *
-+ * Based on leds-corgi.c by Richard Purdie
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ */
-+
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/platform_device.h>
-+#include <linux/leds.h>
-+#include <asm/mach-types.h>
-+#include <asm/arch/hardware.h>
-+#include <asm/arch/gpio.h>
-+
-+static void ep93xx_green_led_set(struct led_classdev *led_cdev, enum led_brightness value)
-+{
-+ if (value)
-+ gpio_line_set(EP93XX_GPIO_LINE_GRLED, EP93XX_GPIO_HIGH);
-+ else
-+ gpio_line_set(EP93XX_GPIO_LINE_GRLED, EP93XX_GPIO_LOW);
-+}
-+
-+static void ep93xx_red_led_set(struct led_classdev *led_cdev, enum led_brightness value)
-+{
-+ if (value)
-+ gpio_line_set(EP93XX_GPIO_LINE_RDLED, EP93XX_GPIO_HIGH);
-+ else
-+ gpio_line_set(EP93XX_GPIO_LINE_RDLED, EP93XX_GPIO_LOW);
-+}
-+
-+
-+static struct led_classdev ep93xx_green_led = {
-+ .name = "ep93xx:green",
-+ .default_trigger = "none",
-+ .brightness_set = ep93xx_green_led_set,
-+};
-+
-+static struct led_classdev ep93xx_red_led = {
-+ .name = "ep93xx:red",
-+ .default_trigger = "heartbeat",
-+ .brightness_set = ep93xx_red_led_set,
-+};
-+
-+#ifdef CONFIG_PM
-+static int ep93xx_led_suspend(struct platform_device *dev, pm_message_t state)
-+{
-+ led_classdev_suspend(&ep93xx_green_led);
-+ led_classdev_suspend(&ep93xx_red_led);
-+ return 0;
-+}
-+
-+static int ep93xx_led_resume(struct platform_device *dev)
-+{
-+ led_classdev_resume(&ep93xx_red_led);
-+ led_classdev_resume(&ep93xx_green_led);
-+ return 0;
-+}
-+#endif
-+
-+static int ep93xx_led_probe(struct platform_device *pdev)
-+{
-+ int ret;
-+
-+ gpio_line_config(EP93XX_GPIO_LINE_GRLED, GPIO_OUT);
-+ gpio_line_config(EP93XX_GPIO_LINE_RDLED, GPIO_OUT);
-+
-+ ret = led_classdev_register(&pdev->dev, &ep93xx_green_led);
-+ if (ret < 0)
-+ return ret;
-+
-+ ret = led_classdev_register(&pdev->dev, &ep93xx_red_led);
-+ if (ret < 0)
-+ led_classdev_unregister(&ep93xx_green_led);
-+
-+ return ret;
-+}
-+
-+static int ep93xx_led_remove(struct platform_device *pdev)
-+{
-+ led_classdev_unregister(&ep93xx_green_led);
-+ led_classdev_unregister(&ep93xx_red_led);
-+ return 0;
-+}
-+
-+static struct platform_driver ep93xx_led_driver = {
-+ .probe = ep93xx_led_probe,
-+ .remove = ep93xx_led_remove,
-+#ifdef CONFIG_PM
-+ .suspend = ep93xx_led_suspend,
-+ .resume = ep93xx_led_resume,
-+#endif
-+ .driver = {
-+ .name = "ep93xx-led",
-+ },
-+};
-+
-+static int __init ep93xx_led_init(void)
-+{
-+ return platform_driver_register(&ep93xx_led_driver);
-+}
-+
-+static void __exit ep93xx_led_exit(void)
-+{
-+ platform_driver_unregister(&ep93xx_led_driver);
-+}
-+
-+module_init(ep93xx_led_init);
-+module_exit(ep93xx_led_exit);
-+
-+MODULE_AUTHOR("Petr Stetiar <ynezz@true.cz>");
-+MODULE_DESCRIPTION("Cirrus Logic EP93xx LED driver");
-+MODULE_LICENSE("GPL");