Re: How does kernel know the IRQ of a device loaded dynamically

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 12, 2010 at 8:36 PM, Mulyadi Santosa
<mulyadi.santosa@xxxxxxxxx> wrote:
> Hi Parmenides....
>
> On Thu, Aug 12, 2010 at 20:28, Parmenides <mobile.parmenides@xxxxxxxxx> wrote:
>> Hi,
>>
>> For some traditional devices, such as floppy, keyboard, etc, the IRQ
>> is static, and their drivers know corresponding IRQs to register their
>> ISR. While for other devices hot plugged, such as USB devices, how
>> does the PIC or APIC allocate the IRQs for their controller? And how
>> does the deriver of a such device know the the corresponding IRQ so as
>> to register its ISR into the kernel?
>
> Don't take my word for granted, this is truly a speculation:
>
> I think, let's say for USB case, IMO each USB port is already assigned
> a specific IRQ. But since we know that each USB port can be
> cascaded...for example into another 2 "port", I think here they are
> sharing IRQ.

I agree. In the system which I work the interrupt is actually assigned
to the USB host controller, which is fixed (i.e.not hotplugged). The
USB host controller and the corresponding driver will take care of
managing each USB port and its events like plugging.

>
> So, how does the kernel know which one to response or which one to
> send a command/data to? By looking at specific "flag". But AFAIK,
> still, they are sharing single interrupt line.
>
> --
> regards,
>
> Mulyadi Santosa
> Freelance Linux trainer and consultant
>
> blog: the-hydra.blogspot.com
> training: mulyaditraining.blogspot.com
>
> --
> To unsubscribe from this list: send an email with
> "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
> Please read the FAQ at http://kernelnewbies.org/FAQ
>
>

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux