On Mon, 06 May 2013 14:30:27 -0000, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote: > Provide infrastructure for irq chip implementations which work on > linear irq domains. > > - Interface to allocate multiple generic chips which are associated to > the irq domain. > > - Interface to get the generic chip pointer for a particular hardware > interrupt in the domain. > > - irq domain mapping function to install the chip for a particular > interrupt. > > Note: This lacks a removal function for now, but this is a draft patch > the ARM folks to work on. > > [ Sebastian Hesselbarth: Mask cache and pointer math fixups ] > > Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Hi Thomas, Acked-by: Grant Likely <grant.likely@xxxxxxxxxx> But I have some comments below... > --- > include/linux/irq.h | 30 +++++++ > include/linux/irqdomain.h | 12 ++ > kernel/irq/generic-chip.c | 187 ++++++++++++++++++++++++++++++++++++++++++++-- > kernel/irq/irqdomain.c | 6 - > 4 files changed, 223 insertions(+), 12 deletions(-) > > Index: linux-2.6/include/linux/irq.h > =================================================================== > --- linux-2.6.orig/include/linux/irq.h > +++ linux-2.6/include/linux/irq.h > @@ -678,6 +678,8 @@ struct irq_chip_type { > * @wake_active: Interrupt is marked as an wakeup from suspend source > * @num_ct: Number of available irq_chip_type instances (usually 1) > * @private: Private data for non generic chip callbacks > + * @installed: bitfield to denote installed interrupts > + * @domain: irq domain pointer > * @list: List head for keeping track of instances > * @chip_types: Array of interrupt irq_chip_types > * > @@ -699,6 +701,8 @@ struct irq_chip_generic { > u32 wake_active; > unsigned int num_ct; > void *private; > + unsigned long installed; This is probably something that the irqdomain should be keeping track of internally, but that's an issue for a separate patch series. [...] > +struct irq_domain_ops irq_generic_chip_ops = { > + .map = irq_map_generic_chip, > + .xlate = irq_domain_xlate_onecell, As discussed on IRC, should use onetwocell here for greater compatibility with existing bindings. Cheers, g. -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html