aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/irqchip/irq-versatile-fpga.c
diff options
context:
space:
mode:
authorJon Hunter <jonathanh@nvidia.com>2016-06-07 16:12:30 +0100
committerMarc Zyngier <marc.zyngier@arm.com>2016-06-13 11:53:51 +0100
commitd6ce564cea0c9f8fe7e1b400026482f4e61d38ad (patch)
tree4bb9df22dfc11869a7b4796ecdfa27f41f4442e3 /drivers/irqchip/irq-versatile-fpga.c
parentgenirq: Add runtime power management support for IRQ chips (diff)
downloadlinux-dev-d6ce564cea0c9f8fe7e1b400026482f4e61d38ad.tar.xz
linux-dev-d6ce564cea0c9f8fe7e1b400026482f4e61d38ad.zip
irqchip/gic: Isolate early GIC initialisation code
To re-use the code that initialises the GIC (found in __gic_init_bases()), from within a platform driver, it is necessary to move the code from the __init section so that it is always present and not removed. Unfortunately, it is not possible to simply drop the __init from the function declaration for __gic_init_bases() because it contains calls to set_smp_cross_call() and set_handle_irq() which are both located in the __init section. Fortunately, these calls are only required for the root controller and because the initial platform driver will only support non-root controllers that can be initialised later in the boot process, we can move these calls to another function. Move the bulk of the code from __gic_init_bases() to a new function called gic_init_bases() which is not located in the __init section and can be used by the platform driver. Update __gic_init_bases() to call gic_init_bases() and if necessary, set_smp_cross_call() and set_handle_irq(). Signed-off-by: Jon Hunter <jonathanh@nvidia.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'drivers/irqchip/irq-versatile-fpga.c')
0 files changed, 0 insertions, 0 deletions