Messages in this thread | | | Date | Mon, 23 Sep 2013 14:35:11 -0400 | From | Santosh Shilimkar <> | Subject | Re: [RFC] gpio/omap: auto-setup a GPIO when used as an IRQ |
| |
Javier,
On Monday 23 September 2013 01:07 PM, Tony Lindgren wrote: > * Javier Martinez Canillas <javier.martinez@collabora.co.uk> [130923 10:09]: >> On 09/23/2013 06:45 PM, Tony Lindgren wrote: >>> >>> Hmm does this still work for legacy platform data based >>> drivers that are doing gpio_request() first? >>> >> >> Yes it still work when booting using board files. I tested on my OMAP3 board and >> it worked in both DT and legacy booting mode. > > OK great. > >>> And what's the path for clearing things for PM when free_irq() >>> gets called? It seems that this would leave the GPIO bank >>> enabled causing a PM regression? >>> >> >> Indeed, I did set bank->mod_usage |= 1 << offset so the bank is enabled if the >> device goes to suspended and then resumed but I completely forget about the >> clearing path when the IRQ is freed. >> >> Which makes me think that we should probably maintain two usage variables, one >> for GPIO and another one for IRQ and check both of them on the suspend/resume pm >> functions. > > Yes that it seems that they should be treated separately. > As discussed on IRC, the patch as such is fine after the mentioned fixup, I would like to hear back if Linus W/Grant is fine with the approach. Not sure if I missed the discussion, but the proposed patch is deviation from traditional method of doing gpio_request() first up to perform other gpio operations.
Regards, Santosh
| |