diff options
-rw-r--r-- | target/linux/ixp4xx/patches/997-fsg3_buttons.patch | 39 |
1 files changed, 23 insertions, 16 deletions
diff --git a/target/linux/ixp4xx/patches/997-fsg3_buttons.patch b/target/linux/ixp4xx/patches/997-fsg3_buttons.patch index fbdbc673f..b9f589d52 100644 --- a/target/linux/ixp4xx/patches/997-fsg3_buttons.patch +++ b/target/linux/ixp4xx/patches/997-fsg3_buttons.patch @@ -1,6 +1,12 @@ -diff -Nur linux-2.6.21.6-orig/arch/arm/mach-ixp4xx/fsg-power.c linux-2.6.21.6/arch/arm/mach-ixp4xx/fsg-power.c ---- linux-2.6.21.6-orig/arch/arm/mach-ixp4xx/fsg-power.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.21.6/arch/arm/mach-ixp4xx/fsg-power.c 2007-10-12 22:32:27.000000000 +0200 +--- + arch/arm/mach-ixp4xx/Makefile | 2 + arch/arm/mach-ixp4xx/fsg-power.c | 168 +++++++++++++++++++++++++++++++++++++++ + 2 files changed, 169 insertions(+), 1 deletion(-) + +Index: linux-2.6.21.6-armeb/arch/arm/mach-ixp4xx/fsg-power.c +=================================================================== +--- /dev/null ++++ linux-2.6.21.6-armeb/arch/arm/mach-ixp4xx/fsg-power.c @@ -0,0 +1,168 @@ +/* + * arch/arm/mach-ixp4xx/fsg-power.c @@ -62,18 +68,18 @@ diff -Nur linux-2.6.21.6-orig/arch/arm/mach-ixp4xx/fsg-power.c linux-2.6.21.6/ar +static irqreturn_t fsg_sync_button_handler(int irq, void *dev_id) +{ + int holdkey; ++ struct event_t *event; + + //check button status + gpio_line_get(FSG_SB_GPIO, &holdkey); + -+ struct event_t *event; + //create event + if ((event = (struct event_t *)kzalloc (sizeof(struct event_t), GFP_ATOMIC))) { + event->action = holdkey; + event->button_name = "sync"; -+ ++ + INIT_WORK(&event->wq, (void *)(void *)hotplug_button); -+ schedule_work(&event->wq); ++ schedule_work(&event->wq); + } + + return IRQ_HANDLED; @@ -82,18 +88,18 @@ diff -Nur linux-2.6.21.6-orig/arch/arm/mach-ixp4xx/fsg-power.c linux-2.6.21.6/ar +static irqreturn_t fsg_reset_button_handler(int irq, void *dev_id) +{ + int holdkey; ++ struct event_t *event; + + //check button status + gpio_line_get(FSG_RB_GPIO, &holdkey); + -+ struct event_t *event; + //create event + if ((event = (struct event_t *)kzalloc (sizeof(struct event_t), GFP_ATOMIC))) { + event->action = holdkey; + event->button_name = "reset"; -+ ++ + INIT_WORK(&event->wq, (void *)(void *)hotplug_button); -+ schedule_work(&event->wq); ++ schedule_work(&event->wq); + } + + return IRQ_HANDLED; @@ -102,18 +108,18 @@ diff -Nur linux-2.6.21.6-orig/arch/arm/mach-ixp4xx/fsg-power.c linux-2.6.21.6/ar +static irqreturn_t fsg_unplug_button_handler(int irq, void *dev_id) +{ + int holdkey; ++ struct event_t *event; + + //check button status + gpio_line_get(FSG_UB_GPIO, &holdkey); + -+ struct event_t *event; + //create event + if ((event = (struct event_t *)kzalloc (sizeof(struct event_t), GFP_ATOMIC))) { + event->action = holdkey; + event->button_name = "unplug"; -+ ++ + INIT_WORK(&event->wq, (void *)(void *)hotplug_button); -+ schedule_work(&event->wq); ++ schedule_work(&event->wq); + } + + return IRQ_HANDLED; @@ -122,7 +128,7 @@ diff -Nur linux-2.6.21.6-orig/arch/arm/mach-ixp4xx/fsg-power.c linux-2.6.21.6/ar +static int __init fsg_buttons_init(void) +{ + if (!(machine_is_fsg())) -+ return; ++ return 0; + + /* Configure interrupt input for SYNC button */ + set_irq_type(FSG_SB_IRQ, IRQT_BOTHEDGE); @@ -170,9 +176,10 @@ diff -Nur linux-2.6.21.6-orig/arch/arm/mach-ixp4xx/fsg-power.c linux-2.6.21.6/ar +MODULE_AUTHOR("Zintis Petersons <Zintis.Petersons@e-mail.lv>"); +MODULE_DESCRIPTION("FSG buttons driver"); +MODULE_LICENSE("GPL"); -diff -Nur linux-2.6.21.6-orig/arch/arm/mach-ixp4xx/Makefile linux-2.6.21.6/arch/arm/mach-ixp4xx/Makefile ---- linux-2.6.21.6-orig/arch/arm/mach-ixp4xx/Makefile 2007-10-12 14:34:18.000000000 +0200 -+++ linux-2.6.21.6/arch/arm/mach-ixp4xx/Makefile 2007-10-12 22:34:06.000000000 +0200 +Index: linux-2.6.21.6-armeb/arch/arm/mach-ixp4xx/Makefile +=================================================================== +--- linux-2.6.21.6-armeb.orig/arch/arm/mach-ixp4xx/Makefile ++++ linux-2.6.21.6-armeb/arch/arm/mach-ixp4xx/Makefile @@ -30,7 +30,7 @@ obj-$(CONFIG_MACH_NSLU2) += nslu2-setup.o nslu2-power.o obj-$(CONFIG_MACH_NAS100D) += nas100d-setup.o nas100d-power.o |