On Mon, Jan 24, 2011 at 12:51 AM, Santosh Shilimkar <santosh.shilimkar@xxxxxx> wrote: > Few architectures combine the GIC with an external interrupt controller. > On such systems it may be necessary to update both the GIC registers > and the external controller's registers to control IRQ behavior. > > This can be addressed in couple of possible methods. > 1. Export common GIC routines along with 'struct irq_chip gic_chip' > and allow architectures to have custom function by override. > > 2. Provide architecture specific function pointer hooks > within GIC library and leave platforms to add the necessary > code as part of these hooks. > > First one might be non-intrusive but have few shortcomings like arch needs > to have there own custom gic library. Locks used should be common since it > caters to same IRQs etc. Maintenance point of view also it leads to > multiple file fixes. > > The second probably is cleaner and portable. It ensures that all the > common GIC infrastructure is not touched and also provides archs to > address their specific issue. This method would work for most of Tegra's needs, although we would need gic_set_type and gic_ack_irq to have arch extensions as well. However, it does not allow for irq_retrigger, which can be implemented on Tegra. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html