* [RFC PATCH 0/1] new keycodes @ 2009-10-22 9:32 Jani Nikula 2009-10-22 9:32 ` [RFC PATCH 1/1] Input: add new keycodes useful in mobile devices Jani Nikula 0 siblings, 1 reply; 16+ messages in thread From: Jani Nikula @ 2009-10-22 9:32 UTC (permalink / raw) To: dmitry.torokhov; +Cc: linux-input, ext-jani.1.nikula Hi Dmitry - Here's a proposal for a few new keycodes. Do you prefer to have such additions in a patch set that actually uses them, instead of preparing for the future like this? Basically I'd just like to have some confirmation that you're not opposed to these before I do something that relies on them. BR, Jani. Jani Nikula (1): Input: add new keycodes useful in mobile devices include/linux/input.h | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) ^ permalink raw reply [flat|nested] 16+ messages in thread
* [RFC PATCH 1/1] Input: add new keycodes useful in mobile devices 2009-10-22 9:32 [RFC PATCH 0/1] new keycodes Jani Nikula @ 2009-10-22 9:32 ` Jani Nikula 2009-10-23 7:13 ` Dmitry Torokhov 0 siblings, 1 reply; 16+ messages in thread From: Jani Nikula @ 2009-10-22 9:32 UTC (permalink / raw) To: dmitry.torokhov; +Cc: linux-input, ext-jani.1.nikula From: Jani Nikula <ext-jani.1.nikula@nokia.com> Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> --- include/linux/input.h | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/include/linux/input.h b/include/linux/input.h index 0ccfc30..3c246b1 100644 --- a/include/linux/input.h +++ b/include/linux/input.h @@ -595,6 +595,8 @@ struct input_absinfo { #define KEY_NUMERIC_STAR 0x20a #define KEY_NUMERIC_POUND 0x20b +#define KEY_CAMERA_FOCUS 0x210 + /* We avoid low common keys in module aliases so they don't get huge. */ #define KEY_MIN_INTERESTING KEY_MUTE #define KEY_MAX 0x2ff @@ -677,6 +679,9 @@ struct input_absinfo { #define SW_LINEOUT_INSERT 0x06 /* set = inserted */ #define SW_JACK_PHYSICAL_INSERT 0x07 /* set = mechanical switch set */ #define SW_VIDEOOUT_INSERT 0x08 /* set = inserted */ +#define SW_CAMERA_LENSE_COVER 0x09 /* set = lense covered */ +#define SW_KEYPAD_SLIDE 0x0a /* set = keypad slide out */ +#define SW_PROXIMITY 0x0b /* set = proximity sensor covered */ #define SW_MAX 0x0f #define SW_CNT (SW_MAX+1) -- 1.6.3.2 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [RFC PATCH 1/1] Input: add new keycodes useful in mobile devices 2009-10-22 9:32 ` [RFC PATCH 1/1] Input: add new keycodes useful in mobile devices Jani Nikula @ 2009-10-23 7:13 ` Dmitry Torokhov 2009-10-26 14:43 ` Jani Nikula 0 siblings, 1 reply; 16+ messages in thread From: Dmitry Torokhov @ 2009-10-23 7:13 UTC (permalink / raw) To: Jani Nikula; +Cc: linux-input Hi Jani, On Thu, Oct 22, 2009 at 12:32:20PM +0300, Jani Nikula wrote: > From: Jani Nikula <ext-jani.1.nikula@nokia.com> > > Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> > --- > include/linux/input.h | 5 +++++ > 1 files changed, 5 insertions(+), 0 deletions(-) > > diff --git a/include/linux/input.h b/include/linux/input.h > index 0ccfc30..3c246b1 100644 > --- a/include/linux/input.h > +++ b/include/linux/input.h > @@ -595,6 +595,8 @@ struct input_absinfo { > #define KEY_NUMERIC_STAR 0x20a > #define KEY_NUMERIC_POUND 0x20b > > +#define KEY_CAMERA_FOCUS 0x210 I believe that this has already been discussed and I am OK with adding such keycode, as long and there are in-kernel users. > + > /* We avoid low common keys in module aliases so they don't get huge. */ > #define KEY_MIN_INTERESTING KEY_MUTE > #define KEY_MAX 0x2ff > @@ -677,6 +679,9 @@ struct input_absinfo { > #define SW_LINEOUT_INSERT 0x06 /* set = inserted */ > #define SW_JACK_PHYSICAL_INSERT 0x07 /* set = mechanical switch set */ > #define SW_VIDEOOUT_INSERT 0x08 /* set = inserted */ > +#define SW_CAMERA_LENSE_COVER 0x09 /* set = lense covered */ > +#define SW_KEYPAD_SLIDE 0x0a /* set = keypad slide out */ > +#define SW_PROXIMITY 0x0b /* set = proximity sensor covered */ Don't quite like the name for this one, any alternatives? > #define SW_MAX 0x0f > #define SW_CNT (SW_MAX+1) > Thanks. -- Dmitry ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [RFC PATCH 1/1] Input: add new keycodes useful in mobile devices 2009-10-23 7:13 ` Dmitry Torokhov @ 2009-10-26 14:43 ` Jani Nikula 2009-10-27 16:20 ` Dmitry Torokhov 0 siblings, 1 reply; 16+ messages in thread From: Jani Nikula @ 2009-10-26 14:43 UTC (permalink / raw) To: ext Dmitry Torokhov; +Cc: linux-input@vger.kernel.org Hi Dmitry - On Fri, 2009-10-23 at 09:13 +0200, ext Dmitry Torokhov wrote: > Hi Jani, > > On Thu, Oct 22, 2009 at 12:32:20PM +0300, Jani Nikula wrote: > > +#define SW_PROXIMITY 0x0b /* set = proximity sensor covered */ > > Don't quite like the name for this one, any alternatives? SW_PROXIMITY is admittedly pretty vague, but I don't quite know how specific you'd like it to be. The main idea is to indicate that the device is covered, for example because it's in your pocket or near your ear, so the UI should probably adapt to the situation (for example disable touchscreen and display on some devices). Someone might also use it as a "button" you don't have to touch. How about one of these? SW_FRONT_COVERED SW_FRONT_PROXIMITY SW_DISPLAY_COVERED SW_DISPLAY_PROXIMITY SW_EARPIECE_MODE (too specific IMHO) BR, Jani. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [RFC PATCH 1/1] Input: add new keycodes useful in mobile devices 2009-10-26 14:43 ` Jani Nikula @ 2009-10-27 16:20 ` Dmitry Torokhov 2009-10-30 13:38 ` [PATCH 0/3] new input keycodes, gpio-keys for RX-51 Jani Nikula 0 siblings, 1 reply; 16+ messages in thread From: Dmitry Torokhov @ 2009-10-27 16:20 UTC (permalink / raw) To: Jani Nikula; +Cc: linux-input@vger.kernel.org On Mon, Oct 26, 2009 at 04:43:35PM +0200, Jani Nikula wrote: > Hi Dmitry - > > On Fri, 2009-10-23 at 09:13 +0200, ext Dmitry Torokhov wrote: > > Hi Jani, > > > > On Thu, Oct 22, 2009 at 12:32:20PM +0300, Jani Nikula wrote: > > > > +#define SW_PROXIMITY 0x0b /* set = proximity sensor covered */ > > > > Don't quite like the name for this one, any alternatives? > > SW_PROXIMITY is admittedly pretty vague, but I don't quite know how > specific you'd like it to be. The main idea is to indicate that the > device is covered, for example because it's in your pocket or near your > ear, so the UI should probably adapt to the situation (for example > disable touchscreen and display on some devices). Someone might also use > it as a "button" you don't have to touch. > > How about one of these? > > SW_FRONT_COVERED > SW_FRONT_PROXIMITY > SW_DISPLAY_COVERED > SW_DISPLAY_PROXIMITY > SW_EARPIECE_MODE (too specific IMHO) > Actually I like the "earpiece mode" because it describes the intended use. Another option I think would be SW_HOLSTER_MODE. Proximity made me think alll kinds of things but not the "phone in a pocket" scenario... -- Dmitry ^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 0/3] new input keycodes, gpio-keys for RX-51 2009-10-27 16:20 ` Dmitry Torokhov @ 2009-10-30 13:38 ` Jani Nikula 2009-10-30 13:38 ` [PATCH 1/3] Input: add new keycodes useful in mobile devices Jani Nikula 2009-11-04 15:13 ` [PATCH v2 0/2] new input keycodes, gpio-keys for RX-51 Jani Nikula 0 siblings, 2 replies; 16+ messages in thread From: Jani Nikula @ 2009-10-30 13:38 UTC (permalink / raw) To: tony, dmitry.torokhov; +Cc: linux-omap, linux-input, ext-jani.1.nikula Hi Dmitry and Tony - These patches expose some RX-51 input GPIO lines to user space through gpio-keys, and introduce a few new relevant keycodes. Dmitry, I hope you don't think I'm being too stubborn, but I'd prefer SW_FRONT_PROXIMITY over SW_EARPIECE_MODE. IMHO front proximity activation describes better what has actually occured; earpiece mode is just one use case for that. The front proximity sensor can be activated by for example shoving the device in pocket or placing it upside down on a surface (an actual use case with accelerometer) in addition to holding the device against your ear. And I know of at least one game that uses the said proximity sensor as fire button. Anyway, in the end it's your call, and I can change it if necessary. These have been tested with RX-51, vanilla linux-omap, minimal console and evtest. BR, Jani. Jani Nikula (3): Input: add new keycodes useful in mobile devices ARM OMAP3: RX-51 board: add initialization of gpio keys ARM OMAP3: rx51_defconfig: enable support for gpio keys arch/arm/configs/rx51_defconfig | 2 +- arch/arm/mach-omap2/board-rx51.c | 84 ++++++++++++++++++++++++++++++++++++++ include/linux/input.h | 5 ++ 3 files changed, 90 insertions(+), 1 deletions(-) ^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 1/3] Input: add new keycodes useful in mobile devices 2009-10-30 13:38 ` [PATCH 0/3] new input keycodes, gpio-keys for RX-51 Jani Nikula @ 2009-10-30 13:38 ` Jani Nikula 2009-10-30 13:38 ` [PATCH 2/3] ARM OMAP3: RX-51 board: add initialization of gpio keys Jani Nikula 2009-10-30 21:41 ` [PATCH 1/3] Input: add new keycodes useful in mobile devices James Mastros 2009-11-04 15:13 ` [PATCH v2 0/2] new input keycodes, gpio-keys for RX-51 Jani Nikula 1 sibling, 2 replies; 16+ messages in thread From: Jani Nikula @ 2009-10-30 13:38 UTC (permalink / raw) To: tony, dmitry.torokhov; +Cc: linux-omap, linux-input, ext-jani.1.nikula From: Jani Nikula <ext-jani.1.nikula@nokia.com> Add new codes for camera focus key, and camera lense cover, keypad slide, front proximity switches. Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> --- include/linux/input.h | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/include/linux/input.h b/include/linux/input.h index 0ccfc30..c90a177 100644 --- a/include/linux/input.h +++ b/include/linux/input.h @@ -595,6 +595,8 @@ struct input_absinfo { #define KEY_NUMERIC_STAR 0x20a #define KEY_NUMERIC_POUND 0x20b +#define KEY_CAMERA_FOCUS 0x210 + /* We avoid low common keys in module aliases so they don't get huge. */ #define KEY_MIN_INTERESTING KEY_MUTE #define KEY_MAX 0x2ff @@ -677,6 +679,9 @@ struct input_absinfo { #define SW_LINEOUT_INSERT 0x06 /* set = inserted */ #define SW_JACK_PHYSICAL_INSERT 0x07 /* set = mechanical switch set */ #define SW_VIDEOOUT_INSERT 0x08 /* set = inserted */ +#define SW_CAMERA_LENSE_COVER 0x09 /* set = lense covered */ +#define SW_KEYPAD_SLIDE 0x0a /* set = keypad slide out */ +#define SW_FRONT_PROXIMITY 0x0b /* set = front proximity active */ #define SW_MAX 0x0f #define SW_CNT (SW_MAX+1) -- 1.6.5.2 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 2/3] ARM OMAP3: RX-51 board: add initialization of gpio keys 2009-10-30 13:38 ` [PATCH 1/3] Input: add new keycodes useful in mobile devices Jani Nikula @ 2009-10-30 13:38 ` Jani Nikula 2009-10-30 13:38 ` [PATCH 3/3] ARM OMAP3: rx51_defconfig: enable support for " Jani Nikula 2009-10-30 17:43 ` [PATCH 2/3] ARM OMAP3: RX-51 board: add initialization of " Tony Lindgren 2009-10-30 21:41 ` [PATCH 1/3] Input: add new keycodes useful in mobile devices James Mastros 1 sibling, 2 replies; 16+ messages in thread From: Jani Nikula @ 2009-10-30 13:38 UTC (permalink / raw) To: tony, dmitry.torokhov; +Cc: linux-omap, linux-input, ext-jani.1.nikula From: Jani Nikula <ext-jani.1.nikula@nokia.com> Initialize some of the RX-51 input GPIO lines as gpio keys. Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> --- arch/arm/mach-omap2/board-rx51.c | 84 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 84 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-omap2/board-rx51.c b/arch/arm/mach-omap2/board-rx51.c index f1e7e5b..fe47790 100644 --- a/arch/arm/mach-omap2/board-rx51.c +++ b/arch/arm/mach-omap2/board-rx51.c @@ -16,6 +16,8 @@ #include <linux/clk.h> #include <linux/io.h> #include <linux/gpio.h> +#include <linux/input.h> +#include <linux/gpio_keys.h> #include <mach/hardware.h> #include <asm/mach-types.h> @@ -30,6 +32,86 @@ #include <plat/gpmc.h> #include <plat/usb.h> +#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) + +#define RX51_GPIO_CAMERA_LENSE_COVER 110 +#define RX51_GPIO_CAMERA_FOCUS 68 +#define RX51_GPIO_CAMERA_CAPTURE 69 +#define RX51_GPIO_KEYPAD_SLIDE 71 +#define RX51_GPIO_LOCK_BUTTON 113 +#define RX51_GPIO_PROXIMITY 89 + +#define RX51_GPIO_DEBOUNCE_TIMEOUT 10 + +static struct gpio_keys_button rx51_gpio_keys[] = { + { + .desc = "Camera Lense Cover", + .type = EV_SW, + .code = SW_CAMERA_LENSE_COVER, + .gpio = RX51_GPIO_CAMERA_LENSE_COVER, + .active_low = 1, + .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT, + }, { + .desc = "Camera Focus", + .type = EV_KEY, + .code = KEY_CAMERA_FOCUS, + .gpio = RX51_GPIO_CAMERA_FOCUS, + .active_low = 1, + .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT, + }, { + .desc = "Camera Capture", + .type = EV_KEY, + .code = KEY_CAMERA, + .gpio = RX51_GPIO_CAMERA_CAPTURE, + .active_low = 1, + .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT, + }, { + .desc = "Lock Button", + .type = EV_KEY, + .code = KEY_SCREENLOCK, + .gpio = RX51_GPIO_LOCK_BUTTON, + .active_low = 1, + .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT, + }, { + .desc = "Keypad Slide", + .type = EV_SW, + .code = SW_KEYPAD_SLIDE, + .gpio = RX51_GPIO_KEYPAD_SLIDE, + .active_low = 1, + .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT, + }, { + .desc = "Proximity Sensor", + .type = EV_SW, + .code = SW_FRONT_PROXIMITY, + .gpio = RX51_GPIO_PROXIMITY, + .active_low = 0, + .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT, + } +}; + +static struct gpio_keys_platform_data rx51_gpio_keys_data = { + .buttons = rx51_gpio_keys, + .nbuttons = ARRAY_SIZE(rx51_gpio_keys), +}; + +static struct platform_device rx51_gpio_keys_device = { + .name = "gpio-keys", + .id = -1, + .dev = { + .platform_data = &rx51_gpio_keys_data, + }, +}; + +static void __init rx51_add_gpio_keys(void) +{ + platform_device_register(&rx51_gpio_keys_device); +} +#else +static void __init rx51_add_gpio_keys(void) +{ +} +#endif + static struct omap_lcd_config rx51_lcd_config = { .ctrl_name = "internal", }; @@ -73,6 +155,8 @@ static void __init rx51_init(void) /* Ensure SDRC pins are mux'd for self-refresh */ omap_cfg_reg(H16_34XX_SDRC_CKE0); omap_cfg_reg(H17_34XX_SDRC_CKE1); + + rx51_add_gpio_keys(); } static void __init rx51_map_io(void) -- 1.6.5.2 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 3/3] ARM OMAP3: rx51_defconfig: enable support for gpio keys 2009-10-30 13:38 ` [PATCH 2/3] ARM OMAP3: RX-51 board: add initialization of gpio keys Jani Nikula @ 2009-10-30 13:38 ` Jani Nikula 2009-10-30 17:44 ` Tony Lindgren 2009-10-30 17:43 ` [PATCH 2/3] ARM OMAP3: RX-51 board: add initialization of " Tony Lindgren 1 sibling, 1 reply; 16+ messages in thread From: Jani Nikula @ 2009-10-30 13:38 UTC (permalink / raw) To: tony, dmitry.torokhov; +Cc: linux-omap, linux-input, ext-jani.1.nikula From: Jani Nikula <ext-jani.1.nikula@nokia.com> Compile gpio_keys driver a module. Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> --- arch/arm/configs/rx51_defconfig | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/arm/configs/rx51_defconfig b/arch/arm/configs/rx51_defconfig index e7e3133..1559734 100644 --- a/arch/arm/configs/rx51_defconfig +++ b/arch/arm/configs/rx51_defconfig @@ -784,7 +784,7 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set -# CONFIG_KEYBOARD_GPIO is not set +CONFIG_KEYBOARD_GPIO=m # CONFIG_INPUT_MOUSE is not set # CONFIG_INPUT_JOYSTICK is not set # CONFIG_INPUT_TABLET is not set -- 1.6.5.2 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH 3/3] ARM OMAP3: rx51_defconfig: enable support for gpio keys 2009-10-30 13:38 ` [PATCH 3/3] ARM OMAP3: rx51_defconfig: enable support for " Jani Nikula @ 2009-10-30 17:44 ` Tony Lindgren 0 siblings, 0 replies; 16+ messages in thread From: Tony Lindgren @ 2009-10-30 17:44 UTC (permalink / raw) To: Jani Nikula; +Cc: dmitry.torokhov, linux-omap, linux-input * Jani Nikula <ext-jani.1.nikula@nokia.com> [091030 06:38]: > From: Jani Nikula <ext-jani.1.nikula@nokia.com> > > Compile gpio_keys driver a module. > > Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> This patch could be merged into 2/3. Acked-by: Tony Lindgren <tony@atomide.com> > --- > arch/arm/configs/rx51_defconfig | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/arch/arm/configs/rx51_defconfig b/arch/arm/configs/rx51_defconfig > index e7e3133..1559734 100644 > --- a/arch/arm/configs/rx51_defconfig > +++ b/arch/arm/configs/rx51_defconfig > @@ -784,7 +784,7 @@ CONFIG_INPUT_KEYBOARD=y > # CONFIG_KEYBOARD_XTKBD is not set > # CONFIG_KEYBOARD_NEWTON is not set > # CONFIG_KEYBOARD_STOWAWAY is not set > -# CONFIG_KEYBOARD_GPIO is not set > +CONFIG_KEYBOARD_GPIO=m > # CONFIG_INPUT_MOUSE is not set > # CONFIG_INPUT_JOYSTICK is not set > # CONFIG_INPUT_TABLET is not set > -- > 1.6.5.2 > ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/3] ARM OMAP3: RX-51 board: add initialization of gpio keys 2009-10-30 13:38 ` [PATCH 2/3] ARM OMAP3: RX-51 board: add initialization of gpio keys Jani Nikula 2009-10-30 13:38 ` [PATCH 3/3] ARM OMAP3: rx51_defconfig: enable support for " Jani Nikula @ 2009-10-30 17:43 ` Tony Lindgren 1 sibling, 0 replies; 16+ messages in thread From: Tony Lindgren @ 2009-10-30 17:43 UTC (permalink / raw) To: Jani Nikula; +Cc: dmitry.torokhov, linux-omap, linux-input * Jani Nikula <ext-jani.1.nikula@nokia.com> [091030 06:38]: > From: Jani Nikula <ext-jani.1.nikula@nokia.com> > > Initialize some of the RX-51 input GPIO lines as gpio keys. > > Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> To me this looks like a nice way to deal with all the board specific gpio buttons. It also looks safe to merge via Dmitry once he's happy with it. Hmm, should it be in board-rx51-peripherals.c instead? Up to Jani to decide, just a thought. Acked-by: Tony Lindgren <tony@atomide.com> > arch/arm/mach-omap2/board-rx51.c | 84 ++++++++++++++++++++++++++++++++++++++ > 1 files changed, 84 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/mach-omap2/board-rx51.c b/arch/arm/mach-omap2/board-rx51.c > index f1e7e5b..fe47790 100644 > --- a/arch/arm/mach-omap2/board-rx51.c > +++ b/arch/arm/mach-omap2/board-rx51.c > @@ -16,6 +16,8 @@ > #include <linux/clk.h> > #include <linux/io.h> > #include <linux/gpio.h> > +#include <linux/input.h> > +#include <linux/gpio_keys.h> > > #include <mach/hardware.h> > #include <asm/mach-types.h> > @@ -30,6 +32,86 @@ > #include <plat/gpmc.h> > #include <plat/usb.h> > > +#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) > + > +#define RX51_GPIO_CAMERA_LENSE_COVER 110 > +#define RX51_GPIO_CAMERA_FOCUS 68 > +#define RX51_GPIO_CAMERA_CAPTURE 69 > +#define RX51_GPIO_KEYPAD_SLIDE 71 > +#define RX51_GPIO_LOCK_BUTTON 113 > +#define RX51_GPIO_PROXIMITY 89 > + > +#define RX51_GPIO_DEBOUNCE_TIMEOUT 10 > + > +static struct gpio_keys_button rx51_gpio_keys[] = { > + { > + .desc = "Camera Lense Cover", > + .type = EV_SW, > + .code = SW_CAMERA_LENSE_COVER, > + .gpio = RX51_GPIO_CAMERA_LENSE_COVER, > + .active_low = 1, > + .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT, > + }, { > + .desc = "Camera Focus", > + .type = EV_KEY, > + .code = KEY_CAMERA_FOCUS, > + .gpio = RX51_GPIO_CAMERA_FOCUS, > + .active_low = 1, > + .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT, > + }, { > + .desc = "Camera Capture", > + .type = EV_KEY, > + .code = KEY_CAMERA, > + .gpio = RX51_GPIO_CAMERA_CAPTURE, > + .active_low = 1, > + .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT, > + }, { > + .desc = "Lock Button", > + .type = EV_KEY, > + .code = KEY_SCREENLOCK, > + .gpio = RX51_GPIO_LOCK_BUTTON, > + .active_low = 1, > + .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT, > + }, { > + .desc = "Keypad Slide", > + .type = EV_SW, > + .code = SW_KEYPAD_SLIDE, > + .gpio = RX51_GPIO_KEYPAD_SLIDE, > + .active_low = 1, > + .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT, > + }, { > + .desc = "Proximity Sensor", > + .type = EV_SW, > + .code = SW_FRONT_PROXIMITY, > + .gpio = RX51_GPIO_PROXIMITY, > + .active_low = 0, > + .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT, > + } > +}; > + > +static struct gpio_keys_platform_data rx51_gpio_keys_data = { > + .buttons = rx51_gpio_keys, > + .nbuttons = ARRAY_SIZE(rx51_gpio_keys), > +}; > + > +static struct platform_device rx51_gpio_keys_device = { > + .name = "gpio-keys", > + .id = -1, > + .dev = { > + .platform_data = &rx51_gpio_keys_data, > + }, > +}; > + > +static void __init rx51_add_gpio_keys(void) > +{ > + platform_device_register(&rx51_gpio_keys_device); > +} > +#else > +static void __init rx51_add_gpio_keys(void) > +{ > +} > +#endif > + > static struct omap_lcd_config rx51_lcd_config = { > .ctrl_name = "internal", > }; > @@ -73,6 +155,8 @@ static void __init rx51_init(void) > /* Ensure SDRC pins are mux'd for self-refresh */ > omap_cfg_reg(H16_34XX_SDRC_CKE0); > omap_cfg_reg(H17_34XX_SDRC_CKE1); > + > + rx51_add_gpio_keys(); > } > > static void __init rx51_map_io(void) > -- > 1.6.5.2 > ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/3] Input: add new keycodes useful in mobile devices 2009-10-30 13:38 ` [PATCH 1/3] Input: add new keycodes useful in mobile devices Jani Nikula 2009-10-30 13:38 ` [PATCH 2/3] ARM OMAP3: RX-51 board: add initialization of gpio keys Jani Nikula @ 2009-10-30 21:41 ` James Mastros 1 sibling, 0 replies; 16+ messages in thread From: James Mastros @ 2009-10-30 21:41 UTC (permalink / raw) To: Jani Nikula; +Cc: tony, dmitry.torokhov, linux-omap, linux-input > +#define SW_CAMERA_LENSE_COVER 0x09 /* set = lense covered */ The correct spelling is "lens", no trailing "e". (If it were a comment, I wouldn't care, but in a constant it's far more important. -=- James Mastros -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH v2 0/2] new input keycodes, gpio-keys for RX-51 2009-10-30 13:38 ` [PATCH 0/3] new input keycodes, gpio-keys for RX-51 Jani Nikula 2009-10-30 13:38 ` [PATCH 1/3] Input: add new keycodes useful in mobile devices Jani Nikula @ 2009-11-04 15:13 ` Jani Nikula 2009-11-04 15:13 ` [PATCH v2 1/2] Input: add new keycodes useful in mobile devices Jani Nikula 2009-11-06 7:40 ` [PATCH v2 0/2] new input keycodes, gpio-keys for RX-51 Dmitry Torokhov 1 sibling, 2 replies; 16+ messages in thread From: Jani Nikula @ 2009-11-04 15:13 UTC (permalink / raw) To: tony, dmitry.torokhov; +Cc: james, linux-omap, linux-input, ext-jani.1.nikula Hi Dmitry and Tony - These patches expose some RX-51 input GPIO lines to user space through gpio-keys, and introduce a few new relevant keycodes. Second round. BR, Jani. Changes in v2: * SW_CAMERA_LENS_COVER typo fixed (thanks to James Mastros). * Use board-rx51-peripherals.c instead of board-rx51.c as suggested by Tony. * Merge rx51_defconfig change into patch 2/2 as suggested by Tony. Jani Nikula (2): Input: add new keycodes useful in mobile devices ARM OMAP3: RX-51 board: add initialization of gpio keys arch/arm/configs/rx51_defconfig | 2 +- arch/arm/mach-omap2/board-rx51-peripherals.c | 82 ++++++++++++++++++++++++++ include/linux/input.h | 5 ++ 3 files changed, 88 insertions(+), 1 deletions(-) ^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH v2 1/2] Input: add new keycodes useful in mobile devices 2009-11-04 15:13 ` [PATCH v2 0/2] new input keycodes, gpio-keys for RX-51 Jani Nikula @ 2009-11-04 15:13 ` Jani Nikula 2009-11-04 15:13 ` [PATCH v2 2/2] ARM OMAP3: RX-51 board: add initialization of gpio keys Jani Nikula 2009-11-06 7:40 ` [PATCH v2 0/2] new input keycodes, gpio-keys for RX-51 Dmitry Torokhov 1 sibling, 1 reply; 16+ messages in thread From: Jani Nikula @ 2009-11-04 15:13 UTC (permalink / raw) To: tony, dmitry.torokhov; +Cc: james, linux-omap, linux-input, ext-jani.1.nikula From: Jani Nikula <ext-jani.1.nikula@nokia.com> Add new codes for camera focus key, and camera lens cover, keypad slide, front proximity switches. Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> --- include/linux/input.h | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/include/linux/input.h b/include/linux/input.h index 0ccfc30..0e25401 100644 --- a/include/linux/input.h +++ b/include/linux/input.h @@ -595,6 +595,8 @@ struct input_absinfo { #define KEY_NUMERIC_STAR 0x20a #define KEY_NUMERIC_POUND 0x20b +#define KEY_CAMERA_FOCUS 0x210 + /* We avoid low common keys in module aliases so they don't get huge. */ #define KEY_MIN_INTERESTING KEY_MUTE #define KEY_MAX 0x2ff @@ -677,6 +679,9 @@ struct input_absinfo { #define SW_LINEOUT_INSERT 0x06 /* set = inserted */ #define SW_JACK_PHYSICAL_INSERT 0x07 /* set = mechanical switch set */ #define SW_VIDEOOUT_INSERT 0x08 /* set = inserted */ +#define SW_CAMERA_LENS_COVER 0x09 /* set = lens covered */ +#define SW_KEYPAD_SLIDE 0x0a /* set = keypad slide out */ +#define SW_FRONT_PROXIMITY 0x0b /* set = front proximity active */ #define SW_MAX 0x0f #define SW_CNT (SW_MAX+1) -- 1.6.5.2 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH v2 2/2] ARM OMAP3: RX-51 board: add initialization of gpio keys 2009-11-04 15:13 ` [PATCH v2 1/2] Input: add new keycodes useful in mobile devices Jani Nikula @ 2009-11-04 15:13 ` Jani Nikula 0 siblings, 0 replies; 16+ messages in thread From: Jani Nikula @ 2009-11-04 15:13 UTC (permalink / raw) To: tony, dmitry.torokhov; +Cc: james, linux-omap, linux-input, ext-jani.1.nikula From: Jani Nikula <ext-jani.1.nikula@nokia.com> Initialize some of the RX-51 input GPIO lines as gpio keys. Enable gpio keys as a module in rx51_defconfig. Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> --- arch/arm/configs/rx51_defconfig | 2 +- arch/arm/mach-omap2/board-rx51-peripherals.c | 82 ++++++++++++++++++++++++++ 2 files changed, 83 insertions(+), 1 deletions(-) diff --git a/arch/arm/configs/rx51_defconfig b/arch/arm/configs/rx51_defconfig index e7e3133..1559734 100644 --- a/arch/arm/configs/rx51_defconfig +++ b/arch/arm/configs/rx51_defconfig @@ -784,7 +784,7 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set -# CONFIG_KEYBOARD_GPIO is not set +CONFIG_KEYBOARD_GPIO=m # CONFIG_INPUT_MOUSE is not set # CONFIG_INPUT_JOYSTICK is not set # CONFIG_INPUT_TABLET is not set diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c index cf4583a..fb5988c 100644 --- a/arch/arm/mach-omap2/board-rx51-peripherals.c +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c @@ -20,6 +20,7 @@ #include <linux/delay.h> #include <linux/regulator/machine.h> #include <linux/gpio.h> +#include <linux/gpio_keys.h> #include <linux/mmc/host.h> #include <plat/mcspi.h> @@ -36,6 +37,86 @@ #define SYSTEM_REV_B_USES_VAUX3 0x1699 #define SYSTEM_REV_S_USES_VAUX3 0x8 +#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) + +#define RX51_GPIO_CAMERA_LENS_COVER 110 +#define RX51_GPIO_CAMERA_FOCUS 68 +#define RX51_GPIO_CAMERA_CAPTURE 69 +#define RX51_GPIO_KEYPAD_SLIDE 71 +#define RX51_GPIO_LOCK_BUTTON 113 +#define RX51_GPIO_PROXIMITY 89 + +#define RX51_GPIO_DEBOUNCE_TIMEOUT 10 + +static struct gpio_keys_button rx51_gpio_keys[] = { + { + .desc = "Camera Lens Cover", + .type = EV_SW, + .code = SW_CAMERA_LENS_COVER, + .gpio = RX51_GPIO_CAMERA_LENS_COVER, + .active_low = 1, + .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT, + }, { + .desc = "Camera Focus", + .type = EV_KEY, + .code = KEY_CAMERA_FOCUS, + .gpio = RX51_GPIO_CAMERA_FOCUS, + .active_low = 1, + .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT, + }, { + .desc = "Camera Capture", + .type = EV_KEY, + .code = KEY_CAMERA, + .gpio = RX51_GPIO_CAMERA_CAPTURE, + .active_low = 1, + .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT, + }, { + .desc = "Lock Button", + .type = EV_KEY, + .code = KEY_SCREENLOCK, + .gpio = RX51_GPIO_LOCK_BUTTON, + .active_low = 1, + .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT, + }, { + .desc = "Keypad Slide", + .type = EV_SW, + .code = SW_KEYPAD_SLIDE, + .gpio = RX51_GPIO_KEYPAD_SLIDE, + .active_low = 1, + .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT, + }, { + .desc = "Proximity Sensor", + .type = EV_SW, + .code = SW_FRONT_PROXIMITY, + .gpio = RX51_GPIO_PROXIMITY, + .active_low = 0, + .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT, + } +}; + +static struct gpio_keys_platform_data rx51_gpio_keys_data = { + .buttons = rx51_gpio_keys, + .nbuttons = ARRAY_SIZE(rx51_gpio_keys), +}; + +static struct platform_device rx51_gpio_keys_device = { + .name = "gpio-keys", + .id = -1, + .dev = { + .platform_data = &rx51_gpio_keys_data, + }, +}; + +static void __init rx51_add_gpio_keys(void) +{ + platform_device_register(&rx51_gpio_keys_device); +} +#else +static void __init rx51_add_gpio_keys(void) +{ +} +#endif /* CONFIG_KEYBOARD_GPIO || CONFIG_KEYBOARD_GPIO_MODULE */ + static int board_keymap[] = { KEY(0, 0, KEY_Q), KEY(0, 1, KEY_O), @@ -541,5 +622,6 @@ void __init rx51_peripherals_init(void) rx51_i2c_init(); board_onenand_init(); board_smc91x_init(); + rx51_add_gpio_keys(); } -- 1.6.5.2 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH v2 0/2] new input keycodes, gpio-keys for RX-51 2009-11-04 15:13 ` [PATCH v2 0/2] new input keycodes, gpio-keys for RX-51 Jani Nikula 2009-11-04 15:13 ` [PATCH v2 1/2] Input: add new keycodes useful in mobile devices Jani Nikula @ 2009-11-06 7:40 ` Dmitry Torokhov 1 sibling, 0 replies; 16+ messages in thread From: Dmitry Torokhov @ 2009-11-06 7:40 UTC (permalink / raw) To: Jani Nikula; +Cc: tony, james, linux-omap, linux-input Hi Jani, On Wed, Nov 04, 2009 at 05:13:56PM +0200, Jani Nikula wrote: > Hi Dmitry and Tony - > > These patches expose some RX-51 input GPIO lines to user space through > gpio-keys, and introduce a few new relevant keycodes. Second round. > Applied to next branch, thank you. -- Dmitry ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2009-11-06 7:40 UTC | newest] Thread overview: 16+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-10-22 9:32 [RFC PATCH 0/1] new keycodes Jani Nikula 2009-10-22 9:32 ` [RFC PATCH 1/1] Input: add new keycodes useful in mobile devices Jani Nikula 2009-10-23 7:13 ` Dmitry Torokhov 2009-10-26 14:43 ` Jani Nikula 2009-10-27 16:20 ` Dmitry Torokhov 2009-10-30 13:38 ` [PATCH 0/3] new input keycodes, gpio-keys for RX-51 Jani Nikula 2009-10-30 13:38 ` [PATCH 1/3] Input: add new keycodes useful in mobile devices Jani Nikula 2009-10-30 13:38 ` [PATCH 2/3] ARM OMAP3: RX-51 board: add initialization of gpio keys Jani Nikula 2009-10-30 13:38 ` [PATCH 3/3] ARM OMAP3: rx51_defconfig: enable support for " Jani Nikula 2009-10-30 17:44 ` Tony Lindgren 2009-10-30 17:43 ` [PATCH 2/3] ARM OMAP3: RX-51 board: add initialization of " Tony Lindgren 2009-10-30 21:41 ` [PATCH 1/3] Input: add new keycodes useful in mobile devices James Mastros 2009-11-04 15:13 ` [PATCH v2 0/2] new input keycodes, gpio-keys for RX-51 Jani Nikula 2009-11-04 15:13 ` [PATCH v2 1/2] Input: add new keycodes useful in mobile devices Jani Nikula 2009-11-04 15:13 ` [PATCH v2 2/2] ARM OMAP3: RX-51 board: add initialization of gpio keys Jani Nikula 2009-11-06 7:40 ` [PATCH v2 0/2] new input keycodes, gpio-keys for RX-51 Dmitry Torokhov
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).