From: Jonathan McDowell <noodles@earth.li>
To: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Cc: linux-omap@vger.kernel.org, linux-input@vger.kernel.org
Subject: Re: [RFC][PATCH] Add support for hook switch on ams-delta
Date: Tue, 2 Jun 2009 23:04:33 +0100 [thread overview]
Message-ID: <20090602220433.GD31770@earth.li> (raw)
In-Reply-To: <200905262057.21890.jkrzyszt@tis.icnet.pl>
On Tue, May 26, 2009 at 08:57:20PM +0200, Janusz Krzysztofik wrote:
> This trivial patch adds gpio-keys compatible platform device definition to
> ams-delta board, that supports hook switch found on this videophone. It is
> derived from similiar definitions found in other boards code. The patch is
> based on linux-2.6.30-rc5. Any comments are welcome.
I'm obviously too late as I've seen the "Applied" mail, but some
comments:
* I don't think SW_HEADPHONE_INSERT is appropriate. input guys, is it
not reasonable to have SW_PHONE_HOOK or similar? I can't find anything
else in tree I know to be a VOIP phone that has the concept of a hook
switch except perhaps the TuxScreen and it doesn't have anything set
up that I could find. I think you're correct that EV_SW is
appropriate; it may remain in the off-hook state for some time and
AFAICT the gpio-key driver would produce a repeating key press if you
used EV_KEY.
* We assume the bootloader does the appropriate GPIO pin setup for us,
so I don't think your omap_cfg_reg is required but it doesn't hurt in
the unlikely event we ever replace the Amstrad PBL.
* The commented out code to include the GPIO status in sysfs shouldn't
be included. Does the input layer not provide a way to obtain the
state of the switch?
> diff -Npru a/arch/arm/mach-omap1/board-ams-delta.c b/arch/arm/mach-omap1/board-ams-delta.c
> --- a/arch/arm/mach-omap1/board-ams-delta.c 2009-05-17 17:58:18.000000000 +0200
> +++ b/arch/arm/mach-omap1/board-ams-delta.c 2009-05-17 16:22:59.000000000 +0200
> @@ -15,6 +15,7 @@
> #include <linux/kernel.h>
> #include <linux/init.h>
> #include <linux/input.h>
> +#include <linux/gpio_keys.h>
> #include <linux/platform_device.h>
>
> #include <mach/hardware.h>
> @@ -213,10 +214,35 @@ static struct platform_device ams_delta_
> .id = -1
> };
>
> +static struct gpio_keys_button ams_delta_gpio_keys_buttons[] = {
> + [0] = {
> + .desc = "hook_switch",
> + .type = EV_SW, /* or EV_KEY ? */
> + .code = SW_HEADPHONE_INSERT, /* or a new one ? */
> + .active_low = 1,
> + .gpio = AMS_DELTA_GPIO_PIN_HOOK_SWITCH,
> + .debounce_interval = 10,
> + },
> +};
> +
> +static struct gpio_keys_platform_data ams_delta_gpio_keys = {
> + .buttons = ams_delta_gpio_keys_buttons,
> + .nbuttons = ARRAY_SIZE(ams_delta_gpio_keys_buttons),
> +};
> +
> +static struct platform_device ams_delta_gpio_keys_device = {
> + .name = "gpio-keys",
> + .id = -1,
> + .dev = {
> + .platform_data = &ams_delta_gpio_keys,
> + },
> +};
> +
> static struct platform_device *ams_delta_devices[] __initdata = {
> &ams_delta_kp_device,
> &ams_delta_lcd_device,
> &ams_delta_led_device,
> + &ams_delta_gpio_keys_device,
> };
>
> static void __init ams_delta_init(void)
> @@ -233,6 +259,13 @@ static void __init ams_delta_init_irq(vo
>
> omap_usb_init(&ams_delta_usb_config);
> platform_add_devices(ams_delta_devices, ARRAY_SIZE(ams_delta_devices));
> +
> + omap_cfg_reg(P20_1610_GPIO4); /* is this required? */
> +
> + /* The hook switch state could be exposed over sysfs with gpio_export().
> + * This should be done after the gpio-keys driver calls gpio_request(),
> + * but I don't know how to do this from outside of the driver. */
> + /* gpio_export(AMS_DELTA_GPIO_PIN_HOOK_SWITCH, 0); */
> }
>
> static void __init ams_delta_map_io(void)
J.
--
Revd. Jonathan McDowell, ULC | I don't sleep, I dream.
next prev parent reply other threads:[~2009-06-02 22:38 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-26 18:57 [RFC][PATCH] Add support for hook switch on ams-delta Janusz Krzysztofik
2009-06-02 18:22 ` [APPLIED] " Tony Lindgren
2009-06-02 18:27 ` Tony Lindgren
2009-06-03 8:00 ` Janusz Krzysztofik
2009-06-03 16:36 ` Tony Lindgren
2009-06-03 18:10 ` Janusz Krzysztofik
2009-06-24 14:05 ` Janusz Krzysztofik
2009-06-24 14:36 ` Tony Lindgren
2009-06-02 22:04 ` Jonathan McDowell [this message]
2009-06-03 9:03 ` Janusz Krzysztofik
2009-06-04 18:18 ` Jonathan McDowell
2009-06-04 22:07 ` Janusz Krzysztofik
2010-03-29 13:46 ` Mark Brown
2010-03-29 13:48 ` Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090602220433.GD31770@earth.li \
--to=noodles@earth.li \
--cc=jkrzyszt@tis.icnet.pl \
--cc=linux-input@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.