Subject: Re: External Interrupt

From: Marco Stornelli <[email-masked]>
Date: Fri, 01 Feb 2008 16:15:43 +0100

Sergei Shtylyov ha scritto:
> Marco Stornelli wrote:
>> Hi,
>>
>> I used the linux kernel 2.6.10 with a processor MPC8548E. I wrote a
>> driver for a device connected with the local bus. This device has an
>> external interrupt. In the local bus driver I have used the macro
>> MPC85xx_IRQ_EXT<X> to get the interrupt number and pass it to the
>> driver and after that register the ISR. Now with a kernel 2.6.21 this
>> macro isn't available because in the header file irq.h there is the
>> option CONFIG_PPC_MERGE that disable those options. I think this
>> problem is related to the migration of ppc code towards powerpc. I
>> know that now there is the new device tree source file where I can add
>> a device and its interrupt number  but I think in this file I should
>> describe only the platform device, and this device is not a platform
>> device.
> 
>    How comes that it's not platform device if it hangs off the local bus?

In SoC system generally the platform device are (more or less) the
microprocessor controller like i2c, pci, local bus itself and so on. I
think is like if you consider a PCI board a platform device only because
it hangs off the PCI link.

> 
>> Then, how can I get now this  value? Is there some function to
>> call? How can I perform this operation?
> 
>    Probably irq_alloc_virt()...
>