• Santosh Shilimkar's avatar
    ARM: 6777/1: gic: Add hooks for architecture specific extensions · d7ed36a4
    Santosh Shilimkar authored
    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.
    
    Cc: Russell King <rmk+kernel@arm.linux.org.uk>
    Signed-off-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
    Acked-by: default avatarColin Cross <ccross@android.com>
    Tested-by: default avatarColin Cross <ccross@android.com>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    d7ed36a4
gic.c 9.6 KB