Re: On creation of irq_desc and irq_data.

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

 



mind entropy <mindentropy <at> gmail.com> writes:

> 
> > Hi,
> >
> >   I am reading through mini2440 code. I am going through the init_irq
> > (http://lxr.free-electrons.com/source/arch/arm/mach-s3c24xx/mach-
mini2440.c#L689)
> > code. In it (http://lxr.free-electrons.com/source/arch/arm/mach-
s3c24xx/irq.c#L446)
> > there is irq_domain_add_legacy(..) which references irq_desc and
> > irq_data. I am not sure where these descriptors are created? In the
> > irq_domain_add_legacy there is a lookup for irq_data from the number.
> > Could someone tell where these descriptors are created?
> >
> > Thanks.
> 
> I think it is statically created here
> https://github.com/torvalds/linux/blob/master/kernel/irq/irqdesc.c#L243
> and the initialization happens in early_irq_init(..) here
> https://github.com/torvalds/linux/blob/master/kernel/irq/irqdesc.c#L251.
> 
> Please correct me if I am wrong.
> 
> Thanks.
> 

Within the function definition for irq_domain_add_legacy (), a pointer to 
the structure irq_data is obtained [$KERN_HOME/kernel/irq/irqdomain.c, L: 
232] by returning from function irq_get_irq_data() 
[$KERN_HOME/kernel/irq/chip.c, L: 147]. Function irq_get_irq_data() in turn 
retrieves the pointer to corresponding irq_desc structure from array of the 
same type in $KERN_HOME/kernel/irq/irqdesc.c, L: 243. So, you're correct, 
IMHO.

~Sarkar


_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies




[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