diff options
author | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
---|---|---|
committer | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
commit | 709c4d66e0b107ca606941b988bad717c0b45d9b (patch) | |
tree | 37ee08b1eb308f3b2b6426d5793545c38396b838 /packages/linux/logicpd-pxa270-2.6.19.2/pxa_keys-r5.patch | |
parent | fa6cd5a3b993f16c27de4ff82b42684516d433ba (diff) |
rename packages/ to recipes/ per earlier agreement
See links below for more details:
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816
Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Acked-by: Mike Westerhof <mwester@dls.net>
Acked-by: Philip Balister <philip@balister.org>
Acked-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Marcin Juszkiewicz <hrw@openembedded.org>
Acked-by: Koen Kooi <koen@openembedded.org>
Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'packages/linux/logicpd-pxa270-2.6.19.2/pxa_keys-r5.patch')
-rw-r--r-- | packages/linux/logicpd-pxa270-2.6.19.2/pxa_keys-r5.patch | 211 |
1 files changed, 0 insertions, 211 deletions
diff --git a/packages/linux/logicpd-pxa270-2.6.19.2/pxa_keys-r5.patch b/packages/linux/logicpd-pxa270-2.6.19.2/pxa_keys-r5.patch deleted file mode 100644 index d263786f26..0000000000 --- a/packages/linux/logicpd-pxa270-2.6.19.2/pxa_keys-r5.patch +++ /dev/null @@ -1,211 +0,0 @@ -Index: linux-2.6.15-rc1/arch/arm/mach-pxa/Makefile -=================================================================== ---- linux-2.6.15-rc1.orig/arch/arm/mach-pxa/Makefile 2005-11-19 23:13:40.000000000 +0000 -+++ linux-2.6.15-rc1/arch/arm/mach-pxa/Makefile 2005-11-19 23:13:41.000000000 +0000 -@@ -31,6 +31,7 @@ - - # Misc features - obj-$(CONFIG_PM) += pm.o sleep.o -+obj-$(CONFIG_PXA_KEYS) += pxa_keys.o - obj-$(CONFIG_PXA_SSP) += ssp.o - - ifeq ($(CONFIG_PXA27x),y) -Index: linux-2.6.15-rc1/arch/arm/mach-pxa/Kconfig -=================================================================== ---- linux-2.6.15-rc1.orig/arch/arm/mach-pxa/Kconfig 2005-11-19 23:13:40.000000000 +0000 -+++ linux-2.6.15-rc1/arch/arm/mach-pxa/Kconfig 2005-11-19 23:13:41.000000000 +0000 -@@ -112,6 +112,10 @@ - help - Select code specific to PXA27x variants - -+config PXA_KEYS -+ tristate "PXA25x/27x simple keyboard driver" -+ depends on (PXA25x || PXA27x) && INPUT -+ - config IWMMXT - bool - help -Index: linux-2.6.15-rc1/arch/arm/mach-pxa/pxa_keys.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15-rc1/arch/arm/mach-pxa/pxa_keys.c 2005-11-19 23:32:30.000000000 +0000 -@@ -0,0 +1,157 @@ -+/* -+ * Driver interface for keys on PXA25x GPIO lines -+ * -+ * Copyright 2005 Phil Blundell -+ * -+ * 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/module.h> -+#include <linux/version.h> -+ -+#include <linux/init.h> -+#include <linux/fs.h> -+#include <linux/interrupt.h> -+#include <linux/sched.h> -+#include <linux/pm.h> -+#include <linux/sysctl.h> -+#include <linux/proc_fs.h> -+#include <linux/delay.h> -+#include <linux/platform_device.h> -+#include <linux/input.h> -+ -+#include <asm/irq.h> -+#include <asm/arch/hardware.h> -+#include <asm/arch/pxa-regs.h> -+#include <asm/arch/pxa_keys.h> -+ -+static irqreturn_t -+pxa_keys_isr (int irq, void *dev_id, struct pt_regs *regs) -+{ -+ int i; -+ struct pxa_keys_platform_data *k = dev_id; -+ -+ if (k->suspended) -+ return IRQ_HANDLED; -+ -+ for (i = 0; i < k->nbuttons; i++) { -+ int gpio = k->buttons[i].gpio; -+ if (irq == IRQ_GPIO(gpio)) { -+ int state = ((GPLR(gpio) & GPIO_bit(gpio)) ? 1 : 0) -+ ^ ((k->buttons[i].flags & PXAKEY_ACTIVE_LOW) != 0); -+ input_report_key (&k->input, k->buttons[i].keycode, state); -+ if ((k->buttons[i].flags & PXAKEY_PWR_KEY) -+ && time_after(jiffies, k->suspend_jiffies + HZ)) { -+ input_event(&k->input, EV_PWR, k->buttons[i].keycode, state); -+ k->suspend_jiffies=jiffies; -+ } -+ -+ } -+ } -+ -+ return IRQ_HANDLED; -+} -+ -+#ifdef CONFIG_PM -+static int pxa_keys_suspend(struct platform_device *pdev, pm_message_t state) -+{ -+ struct pxa_keys_platform_data *k = platform_get_drvdata(pdev); -+ k->suspended = 1; -+ return 0; -+} -+ -+static int pxa_keys_resume(struct platform_device *pdev) -+{ -+ struct pxa_keys_platform_data *k = platform_get_drvdata(pdev); -+ -+ /* Upon resume, ignore the suspend key for a short while */ -+ k->suspend_jiffies=jiffies; -+ k->suspended = 0; -+ return 0; -+} -+#else -+#define pxa_keys_suspend NULL -+#define pxa_keys_resume NULL -+#endif -+ -+static int -+pxa_keys_probe (struct platform_device *pdev) -+{ -+ struct pxa_keys_platform_data *k; -+ int i; -+ -+ k = pdev->dev.platform_data; -+ platform_set_drvdata(pdev, k); -+ -+ init_input_dev (&k->input); -+ -+ k->input.evbit[0] = BIT(EV_KEY) | BIT(EV_PWR) | BIT(EV_REP); -+ for (i = 0; i < k->nbuttons; i++) { -+ int code = k->buttons[i].keycode; -+ int irq = IRQ_GPIO (k->buttons[i].gpio); -+ int result; -+ -+ set_irq_type (irq, IRQT_BOTHEDGE); -+ result = request_irq (irq, pxa_keys_isr, SA_SAMPLE_RANDOM, -+ "pxa_keys", k); -+ if (result == 0) -+ set_bit (code, k->input.keybit); -+ else -+ printk("pxa_keys: unable to claim irq %d; error %d\n", irq, result); -+ } -+ -+ k->input.name = pdev->name; -+ k->input.private = k; -+ -+ k->suspend_jiffies=jiffies; -+ k->suspended=0; -+ -+ input_register_device (&k->input); -+ -+ return 0; -+} -+ -+static int -+pxa_keys_remove (struct platform_device *pdev) -+{ -+ struct pxa_keys_platform_data *k = pdev->dev.platform_data; -+ int i; -+ -+ for (i = 0; i < k->nbuttons; i++) { -+ int irq = IRQ_GPIO (k->buttons[i].gpio); -+ free_irq (irq, k); -+ } -+ -+ input_unregister_device (&k->input); -+ -+ return 0; -+} -+ -+struct platform_driver pxa_keys_device_driver = { -+ .probe = pxa_keys_probe, -+ .remove = pxa_keys_remove, -+ .suspend = pxa_keys_suspend, -+ .resume = pxa_keys_resume, -+ .driver = { -+ .name = "pxa2xx-keys", -+ }, -+}; -+ -+static int pxa_keys_init (void) -+{ -+ return platform_driver_register(&pxa_keys_device_driver); -+} -+ -+static void pxa_keys_cleanup (void) -+{ -+ platform_driver_unregister(&pxa_keys_device_driver); -+} -+ -+module_init (pxa_keys_init); -+module_exit (pxa_keys_cleanup); -+ -+MODULE_LICENSE("GPL"); -+MODULE_AUTHOR("Phil Blundell <pb@handhelds.org>"); -+MODULE_DESCRIPTION("Keyboard driver for PXA25x/PXA27x GPIOs"); -Index: linux-2.6.15-rc1/include/asm-arm/arch-pxa/pxa_keys.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15-rc1/include/asm-arm/arch-pxa/pxa_keys.h 2005-11-19 23:13:41.000000000 +0000 -@@ -0,0 +1,17 @@ -+#include <linux/input.h> -+ -+struct pxa_keys_button { -+ int keycode; -+ int gpio; -+ unsigned long flags; -+}; -+#define PXAKEY_ACTIVE_LOW (1 << 0) /* Key is Active Low */ -+#define PXAKEY_PWR_KEY (1 << 1) /* Key is a Power Key */ -+ -+struct pxa_keys_platform_data { -+ struct pxa_keys_button *buttons; -+ int nbuttons; -+ struct input_dev input; -+ unsigned int suspended; -+ unsigned long suspend_jiffies; -+}; |