On 7/12/23 7:22 PM, Sergey Shtylyov wrote:
> [...]
>
>>>>> Sent: 09 July 2023 00:13
>>>> ....
>>>>> Looking at arch/sh/boards/mach-r2d/irq.c, there is some IRQ translation going
>>>>> on and maybe that's the part where we need to correct the offset by 16?
>>>>
>>>> Would it be less problematic to use (say) 16 for IRQ_0
>>>> leaving IRQ_1+ as 1+ ?
>>>
>>> I don't think so.
>>>
>>>> At least that would only cause issues for code that needed
>>>> to use IRQ_0.
>>>>
>>>> (It has to be said that making IRQ 0 invalid seemed wrong
>>>> to me. x86 (IBM PC) gets away with it because IRQ 0 is
>>>> always assigned to platform specific hardware.)
>>>
>>> Not only x86, IIRC.
>>> Have you seen the commit below?
>>>
>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ce753ad1549cbe9ccaea4c06a1f5fa47432c8289
>>>
>>
>> Quoting:
>>
>> using IRQ0 is considered invalid (according to Linus) outside the arch/ code
>> ^^^^^^^^^^^^^^^^^^^^^^> The changes here were made _in_ the arch code. While there may be valid
>> arguments for doing that, quoting the above commit as reason isn't really
>> sufficient.
>
> It seems you still don't understand... The i8253 drivers using IRQ0 live in
> the arch/{mips|x86}/kernel/ code, so they're allowed to claim IRQ0 via calling
> request_irq() (MIPS still does it.
x86 too. PowerPC used to do that too, IIRC...
>> They are NOT the platform drivers we're dealing with here...
>> Guenter
MBR, Sergey