QUERY: How to handle sharing of interrupt between different peripherals.

Viresh KUMAR viresh.kumar at st.com
Mon Mar 15 02:55:44 EDT 2010


On 3/15/2010 12:20 PM, jassi brar wrote:
> On Mon, Mar 15, 2010 at 3:44 PM, Viresh KUMAR <viresh.kumar at st.com> wrote:
>> On 3/15/2010 10:48 AM, jassi brar wrote:
>>> On Mon, Mar 15, 2010 at 1:37 PM, Viresh KUMAR <viresh.kumar at st.com> wrote:
>>>> In our SOC (SPEArxxx), we have few peripherals which share common interrupt
>>>> line.
>>> how about set_irq_chained_handler ?
>>
>> I think it is not for this purpose. Better to use IRQF_SHARED in normal
>> request_irq. what do you say?
> Of course, that is preferred if possible, as Ben already suggested.
> Btw, is your case not similar to having a common UART interrupt for
> Uart-Rx,Tx,Err irq ?
> 

We are now discussing two different things i suppose.
First: We have a common line for all type interrupts on UART.
This is handled well by the drivers (say - amba-pl011.c), and so we don't really 
have a issue here.

Second: Now UART, SDIO, SPI, I2S all have a common interrupt line, this is what
we need to handle. For this IRQF_SHARED is a better way.



More information about the linux-arm-kernel mailing list