There isn't a need for interrupt-lines work anymore. Support has been
merged for a similar property called interrupts-extended. However, the
gpio-as-irq problem still exists and needs to be resolved.

g.

On Thu, Nov 21, 2013 at 5:34 AM, Jean-Christophe PLAGNIOL-VILLARD
<plagn...@jcrosoft.com> wrote:
> HI Tim,
>
>         is this ok for this time
>
> Best Regards,
> J.
> On 07:07 Tue 22 Oct     , Jean-Christophe PLAGNIOL-VILLARD wrote:
>> HI,
>>
>> == Description ==
>> Fix IRQ Domain DT support issues and gpio IRQ
>>
>> Today the kernel have multiple issues arround the IRQ
>>
>> * IRQ Domain platfrom driver support
>>
>> Today if you register an irq domain via a platform driver and then use the 
>> irq
>> in DT such as this
>>
>>       eth0: ethernet at 30000000 {
>>               compatible = "micrel,ks8851-mll";
>>               reg = <0x30000000 0x1
>>                         0x30000002 0xff>;
>>               interrupt-parent = <&pioD>;
>>               interrupts = <21 IRQ_TYPE_EDGE_BOTH>;
>>               pinctrl-names = "default";
>>               pinctrl-0 = <&pinctrl_board_eth0>;
>>               status = "okay";
>>       };
>>
>> the irq in the platform resource will not be fill as the resolve is done at 
>> of_platform_populate
>> To fix this we need to resolve the irq at driver probe time.
>>
>> * Multiple interrupt-parent support
>>
>> Today if you need the irq from 2 interrupt controler it's impossible.
>> Such as a hw irq and a GPIO irq both provided via dt
>>
>> To fix this implement a new property "interrupt-lines"
>>
>> that will work in a same way as gpios by providing firt the phandle of the 
>> controller
>> and then the cell data
>>
>> interrupt-lines = <&aic 0 4 0 & pioD 21 IRQ_TYPE_EDGE_BOTH>;
>>
>> * gpio irq DT
>>
>> Today you need to use a gpio as IRQ you need to configure it and then use it
>> As a in the kernel we make the disctinction between standard IRQ and gpio 
>> IRQ.
>> This should have never been the case and need to be fix up widely.
>> By droping all the gpio_to_irq in the drivers and ONLY provide interrupts
>>
>> == Related work ==
>> http://permalink.gmane.org/gmane.linux.drivers.devicetree/36679
>>
>>
>> == Scope ==
>>
>> I think this will take about 3 to 5 month depending on the discussion on the
>> kernel mainling list with an effort of about 240 to 300 hours.
>>
>> == Contractor Candidates ==
>>
>> Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
>> == Comments ==
>>
>> By Linus Walleij
>>
>> Actually I have that problem today. An MMC card slot
>> with two IRQs for the traffic and another totally different
>> IRQ for the card insertion IRQ, sitting on a different controller,
>> and this one is not even a GPIO, so I cannot cheat and have
>> it as a GPIO that I then translate into an IRQ.
>>
>> Overall Jean-Christophe's proposal is correctly pinpointing
>> some serious unhandled corner cases we have in DT land.
>>
>>
>> Best Regards,
>> J.
_______________________________________________
Celinux-dev mailing list
Celinux-dev@lists.celinuxforum.org
https://lists.celinuxforum.org/mailman/listinfo/celinux-dev

Reply via email to