[PATCH 4/4] irqchip: gic: Perform the gic_secondary_init() call via CPU notifier

Catalin Marinas catalin.marinas at arm.com
Fri Jan 25 13:12:20 EST 2013


On Fri, Jan 25, 2013 at 04:16:18PM +0000, Dinh Nguyen wrote:
> Hi Catalin,
> 
> On Wed, 2013-01-23 at 17:59 +0000, Catalin Marinas wrote:
> > All the calls to gic_secondary_init() pass 0 as the first argument.
> > Since this function is called on each CPU when starting, it can be done
> > in a platform-independent way via a CPU notifier registered by the GIC
> > code.
> > 
> > Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>
> > Cc: Russell King <linux at arm.linux.org.uk>
> > Cc: Thomas Gleixner <tglx at linutronix.de>
> > Cc: Kukjin Kim <kgene.kim at samsung.com>
> > Cc: Rob Herring <rob.herring at calxeda.com>
> > Cc: Sascha Hauer <kernel at pengutronix.de>
> > Cc: David Brown <davidb at codeaurora.org>
> > Cc: Daniel Walker <dwalker at fifo99.com>
> > Cc: Bryan Huntsman <bryanh at codeaurora.org>
> > Cc: Tony Lindgren <tony at atomide.com>
> > Cc: Simon Horman <horms at verge.net.au>
> > Cc: Magnus Damm <magnus.damm at gmail.com>
> > Cc: Dinh Nguyen <dinguyen at altera.com>
> > Cc: Viresh Kumar <viresh.linux at gmail.com>
> > Cc: Shiraz Hashim <shiraz.hashim at st.com>
> > Cc: Stephen Warren <swarren at wwwdotorg.org>
> > Cc: Srinidhi Kasagar <srinidhi.kasagar at stericsson.com>
> > Cc: Linus Walleij <linus.walleij at linaro.org>
> > ---
> > 
> > Randomly chosen CPU notifier priority. I can add a definition somewhere
> > though they don't seem to be used much and cause conflicts.
> > 
> >  arch/arm/mach-exynos/platsmp.c       |  8 --------
> >  arch/arm/mach-highbank/platsmp.c     |  7 -------
> >  arch/arm/mach-imx/platsmp.c          | 12 ------------
> >  arch/arm/mach-msm/platsmp.c          |  8 --------
> >  arch/arm/mach-omap2/omap-smp.c       |  7 -------
> >  arch/arm/mach-shmobile/smp-emev2.c   |  7 -------
> >  arch/arm/mach-shmobile/smp-r8a7779.c |  7 -------
> >  arch/arm/mach-shmobile/smp-sh73a0.c  |  7 -------
> >  arch/arm/mach-socfpga/platsmp.c      | 12 ------------
> 
> For socfpga, I get this error when I build for sofpga_defconfig:
> 
> drivers/gpio/gpio-pl061.c: In function ‘pl061_irq_handler’:
> drivers/gpio/gpio-pl061.c:183:2: error: implicit declaration of function
> ‘chained_irq_enter’ [-Werror=implicit-function-declaration]
> drivers/gpio/gpio-pl061.c:192:2: error: implicit declaration of function
> ‘chained_irq_exit’ [-Werror=implicit-function-declaration]

Ah, I only grep'ed arch/arm for chained_irq_enter() use. The simplest
for arch/arm is to actually include chained_irq.h into asm/mach/irq.h
since the latter is already included. For code shared with arm64 I'll
just include chained_irq.h explicitly.

Thanks.

-- 
Catalin



More information about the linux-arm-kernel mailing list