ARM/Kernel: Problems with multiple VIC registration

Amit Virdi amit.virdi at st.com
Wed Feb 13 04:18:50 EST 2013


On 2/12/2013 6:41 PM, Linus Walleij wrote:
> On Tue, Feb 12, 2013 at 1:38 PM, Amit Virdi<amit.virdi at st.com>  wrote:
>> On 2/6/2013 2:45 PM, Linus Walleij wrote:
>
>>> There are several things you can do wrong. For example a common mistake
>>> is to offset the IRQs on a new platform from zero. So that the first
>>> parameter to vic_init() is zero. This is not legal because Linux IRQ 0
>>> is NO_IRQ and shall not be used. If this is your problems, IRQs shall
>>> offset from something like 64 so you can even use SPARSE_IRQ.
>>
>> Yes, I was using 0 as the first offset in IRQs and my IRQs were defined from
>> 0 to n. I changed it to 1 to n+1 and I'm now not using 0. Every problem
>> seems to have resolved now.
>
> 1 and n+1 is only going to work as long as you're defining
> NR_IRQS in the platform or in the .nr_irqs member of
> the MACHINE record.
>
> If you use device tree or SPARSE_IRQ (which, by the way,
> you should turn on right now) you will run into trouble.
>
> Bump it to 64+n.
>
> Else you will just have to fix all this when you get to
> submitting board support upstream.
>

Okay, thanks for your support!!

Regards
Amit Virdi



More information about the linux-arm-kernel mailing list