* [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 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 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 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).