public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
From: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
To: linux-omap@vger.kernel.org
Cc: e3-hacking@earth.li
Subject: Please help creating gpio-switch on ams-delta
Date: Tue, 12 May 2009 12:53:35 +0200	[thread overview]
Message-ID: <4A09552F.5090402@tis.icnet.pl> (raw)

[-- Attachment #1: Type: text/plain, Size: 1176 bytes --]

Hi,

I am playing with OMAP 5910 based Amstrad E3 videophone (ams-delta) 
machine. I am trying to expose GPIO 4, that hook switch hangs off, to 
userspace.

I can successfully access the pin by exporting it using gpiolib sysfs. I 
can check its value, following hook switch state changes. However, I 
would like the switch to generate events.

I have tried two methods: gpio-switch and gpio-keys. gpio-switch device 
is able to report the switch initial state correctly, gpio-keys device 
just initializes without errors. However, for both methods, after first 
switch change, the system stops responding, giving no error messages.

The code of goip-switch initialization sequence together with my 
platform device definition (attached) does not look any different to me 
than those for keyboard or modem (patches available from 
http://the.earth.li/pub/e3/2.6.19/), that both also use GPIO interrupts 
and do work for me.

Any hints?

Janusz

PS. This is my first post to linux-omap list, I don't know if you accept 
attachments. If not, next time I switch to a different mail user agent 
that allows me for inline file inclusion (or learn how to do it in my 
thunderbird).


[-- Attachment #2: ams-delta-gpio-switch.patch --]
[-- Type: text/x-patch, Size: 971 bytes --]

--- linux-2.6.27.22/arch/arm/mach-omap1/board-ams-delta.c.orig	2009-05-10 18:05:01.000000000 +0200
+++ linux-2.6.27.22/arch/arm/mach-omap1/board-ams-delta.c	2009-05-10 18:19:18.000000000 +0200
@@ -243,6 +243,17 @@ static struct uart_port ams_delta_modem_
 	.line		= 1
 };
 
+static struct omap_gpio_switch ams_delta_switches[] __initdata = {
+	/* Low when handset is picked up */
+	{
+		.name	= "handset",
+		.gpio	= AMS_DELTA_GPIO_PIN_HOOK_SWITCH,
+		.type	= OMAP_GPIO_SWITCH_TYPE_ACTIVITY,
+		.flags	= OMAP_GPIO_SWITCH_FLAG_INVERTED,
+		/* .notify	= ams_delta_handset_detect, */
+	},
+};
+
 static void __init ams_delta_init(void)
 {
 	printk("ams_delta_init\n\r");
@@ -259,6 +270,9 @@ static void __init ams_delta_init(void)
 
 	platform_add_devices(ams_delta_devices, ARRAY_SIZE(ams_delta_devices));
 
+	omap_register_gpio_switches(ams_delta_switches,
+			ARRAY_SIZE(ams_delta_switches));
+
 	early_serial_setup(&ams_delta_modem_port);
 
 #ifdef CONFIG_AMS_DELTA_FIQ

             reply	other threads:[~2009-05-12 10:54 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-12 10:53 Janusz Krzysztofik [this message]
2009-05-13 12:41 ` [RESOLVED] Please help creating gpio-switch on ams-delta Janusz Krzysztofik
2009-05-14 18:12 ` Tony Lindgren

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=4A09552F.5090402@tis.icnet.pl \
    --to=jkrzyszt@tis.icnet.pl \
    --cc=e3-hacking@earth.li \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox