lkml.org 
[lkml]   [2014]   [Apr]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH 2/2] pinctrl: sirf: switch driver to use gpiolib irqchip helpers
2014-04-10 11:48 GMT+08:00 Barry Song <baohua@kernel.org>:
> 2014-04-08 20:27 GMT+08:00 Linus Walleij <linus.walleij@linaro.org>:
>> This switches the Sirf pinctrl driver over to using the gpiolib
>> irqchip helpers simplifying some of the code.
>>
>> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
>> ---
>> This really needs testing on real hardware before I dare to
>> merge it, but the driver seems simple and straight-forward to
>> convert.
>
> Linus, this broke the irq/gpio mapping. for example:
>
> without this:
> # cat /proc/interrupts
> CPU0
> 16: 181 irq_sirfsoc 0 sirfsoc_timer0
> ...
> 62: 0 sirf-gpio-irq 45 extcon-gpio
> ...
>
> with this:
> # cat /proc/interrupts
> CPU0
> 16: 944 irq_sirfsoc 0 sirfsoc_timer0
> ...
> 105: 0 sirf-gpio-irq 13 extcon-gpio
> ...
>
> i will do a debug to find why. any idea from you?

hi linus, after reading the source codes of GPIOLIB_IRQCHIP, i think
the new irq number after applying your patch should not be a problem.
the reason is that you create irq mapping earlier in
gpiochip_irqchip_add(), but the old codes did it later on demand in
sirfsoc_gpio_to_irq().

the real problem here is that we have several gpio banks, but there is
only one device node, so i think this should be not good and will make
the gpiochip_irq_reqres(), gpiochip_irq_relres() fail since
sub-devices can only point its interrupt parent to the only gpio node,
this makes hwirq bigger than the size of the gpio bank.

so will you wait for me to send a patch to merge all banks into one
gpio_chip just as i have done by commit
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=8daeffb058f78deb0b0ef2cb67ef741c38788bf9
to merge irq_domain?

then i think your patch will work. thank you!

-barry


\
 
 \ /
  Last update: 2014-04-10 22:01    [W:0.080 / U:0.584 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site