From: David Brownell <david-b@pacbell.net>
To: me@felipebalbi.com
Cc: Felipe Balbi <felipe.balbi@nokia.com>,
linux-omap@vger.kernel.org, Tony Lindgren <tony@atomide.com>,
Jean Delvare <khali@linux-fr.org>
Subject: Re: [PATCH 11/9] move twl4030-gpio to drivers/gpio
Date: Sat, 27 Sep 2008 16:45:20 -0700 [thread overview]
Message-ID: <200809271645.20782.david-b@pacbell.net> (raw)
In-Reply-To: <20080927230902.GD8468@frodo>
On Saturday 27 September 2008, Felipe Balbi wrote:
> We need something like the patch below (I can't find a substitute
> to twl4030_set_gpio_edge_ctrl and twl4030_set_gpio_debounce):
Something like that, yes. I have other patches queued up though.
And meanwhile, your build seems goofed ... fix that first.
For the moment I'm waiting until HSMMC works again in the OMAP
tree before I submit patches for any of those issues ... and
some of them imply updates from upstream. Like these two:
http://marc.info/?l=linux-kernel&m=122239480403730&w=2
http://marc.info/?l=linux-kernel&m=122239472903349&w=2
For the "edge control" thing, I have a patch pushing that into
the standard IRQF_TRIGGER_{RISING,FALLING} and set_irq_type()
calls ... there was never a need for a twl-specific call here.
For debouncing, see this LKML RFC:
http://marc.info/?l=linux-kernel&m=122228602206108&w=2
I have a twl4030 patch using that mechanism, and that patch
covers four processor families. (OMAP2, OMAP3, AT91, AVR32.)
The OMAP1 MPUIO lines have debouncing too, but it's ganged
(all sixteen MPUIO lines get debounced, or none do). I know
of a few more chips with built-in debouncing... so the RFC is
IMO more "are there blocking problems doing it this way" than
"should it be done at all".
- Dave
> ==== patch 1 (desired) ====
>
> diff --git a/arch/arm/mach-omap2/hsmmc.c b/arch/arm/mach-omap2/hsmmc.c
> index 32b517b..3ca43aa 100644
> --- a/arch/arm/mach-omap2/hsmmc.c
> +++ b/arch/arm/mach-omap2/hsmmc.c
> @@ -16,6 +16,7 @@
> #include <linux/interrupt.h>
> #include <linux/delay.h>
> #include <linux/i2c/twl4030.h>
> +#include <linux/gpio.h>
> #include <mach/hardware.h>
> #include <mach/mmc.h>
> #include <mach/board.h>
> @@ -48,7 +49,7 @@
>
> static int hsmmc_card_detect(int irq)
> {
> - return twl4030_get_gpio_datain(irq - TWL4030_GPIO_IRQ_BASE);
> + return gpio_get_value(irq - TWL4030_GPIO_IRQ_BASE);
That's a non-portable version of irq_to_gpio() ... and one
which should use gpio_get_value_cansleep(). My patches use
a simpler scheme, which among other things lets other GPIOs
be used for card detect.
(I understand that not all OMAP3 customers want to use twl4030
for their power management ... and in any case, having this kind
of needless dependency between drivers is a Bad Thing.)
> }
>
> /*
> @@ -61,7 +62,7 @@ static int hsmmc_late_init(struct device *dev)
> /*
> * Configure TWL4030 GPIO parameters for MMC hotplug irq
> */
> - ret = twl4030_request_gpio(MMC1_CD_IRQ);
> + ret = gpio_request(MMC1_CD_IRQ, "mmc_card_detect");
Another inappropriate dependency, removed in my patches.
Note also that the TWL call currently does stuff gpio_request()
can't ... so this would be incorrect right now. (It's the right
direction obviously, but fixing that needs my other patches.)
> if (ret)
> goto err;
>
> @@ -88,11 +89,7 @@ err:
>
> static void hsmmc_cleanup(struct device *dev)
> {
> - int ret = 0;
> -
> - ret = twl4030_free_gpio(MMC1_CD_IRQ);
> - if (ret)
> - dev_err(dev, "Failed to configure TWL4030 GPIO IRQ\n");
> + gpio_free(MMC1_CD_IRQ);
(That's the same inappropriate dependency.)
> }
>
> #ifdef CONFIG_PM
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2008-09-27 23:46 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-26 11:19 [PATCH 0/9] twl4030 updates Felipe Balbi
2008-09-26 11:19 ` [PATCH 1/9] twl4030: fix potential null pointer dereference Felipe Balbi
2008-09-26 11:19 ` [PATCH 2/9] twl4030-gpio: Remove default pullup enable/disable of GPIO Felipe Balbi
2008-09-26 11:19 ` [PATCH 3/9] i2c: clean add_children a bit Felipe Balbi
2008-09-26 11:19 ` [PATCH 4/9] i2c: move twl4030_keypad to new style registration Felipe Balbi
2008-09-26 11:19 ` [PATCH 5/9] i2c: move twl4030-usb to platform_device Felipe Balbi
2008-09-26 11:19 ` [PATCH 6/9] i2c: twl4030-usb: add 'vbus' sysfs file Felipe Balbi
2008-09-26 11:19 ` [PATCH 7/9] twl4030 gpio platform data Felipe Balbi
2008-09-26 11:19 ` [PATCH 8/9] twl4030 uses gpiolib Felipe Balbi
2008-09-26 11:19 ` [PATCH 9/9] i2c: move twl4030-madc to new registration style Felipe Balbi
2008-09-26 17:09 ` David Brownell
2008-09-26 17:46 ` Felipe Balbi
2008-09-27 7:37 ` Mikko Ylinen
2008-09-27 15:04 ` David Brownell
2008-09-27 15:40 ` Steve Sakoman
2008-09-27 17:17 ` David Brownell
2008-10-01 14:20 ` Mikko Ylinen
2008-10-01 16:13 ` David Brownell
2008-09-26 19:50 ` David Brownell
2008-09-26 20:01 ` Steve Sakoman
2008-09-26 17:10 ` [PATCH 8/9] twl4030 uses gpiolib David Brownell
2008-09-26 17:47 ` Felipe Balbi
2008-09-26 18:57 ` David Brownell
2008-09-28 1:01 ` [PATCH 5/9] i2c: move twl4030-usb to platform_device David Brownell
2008-09-28 3:03 ` Felipe Balbi
2008-09-26 17:12 ` [PATCH 0/9] twl4030 updates David Brownell
2008-09-26 17:50 ` Felipe Balbi
2008-09-26 18:55 ` David Brownell
2008-09-26 19:00 ` David Brownell
2008-09-26 19:10 ` Steve Sakoman
2008-09-26 19:23 ` Felipe Balbi
2008-09-26 19:45 ` David Brownell
2008-09-27 19:14 ` David Brownell
2008-09-27 21:17 ` Felipe Balbi
2008-09-27 21:45 ` David Brownell
2008-09-27 21:46 ` Felipe Balbi
2008-09-27 21:41 ` [PATCH 11/9] move twl4030-gpio to drivers/gpio David Brownell
2008-09-27 22:29 ` Felipe Balbi
2008-09-27 23:09 ` Felipe Balbi
2008-09-27 23:45 ` David Brownell [this message]
2008-09-28 3:14 ` Felipe Balbi
2008-09-28 5:16 ` David Brownell
2008-10-01 13:46 ` Felipe Contreras
2008-10-01 13:52 ` Felipe Balbi
2008-10-01 15:58 ` David Brownell
2008-10-01 16:05 ` Jean Delvare
2008-10-01 16:32 ` David Brownell
2008-09-27 23:29 ` David Brownell
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=200809271645.20782.david-b@pacbell.net \
--to=david-b@pacbell.net \
--cc=felipe.balbi@nokia.com \
--cc=khali@linux-fr.org \
--cc=linux-omap@vger.kernel.org \
--cc=me@felipebalbi.com \
--cc=tony@atomide.com \
/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