Messages in this thread | | | Subject | Re: [PATCH 2/3] drivers/irqchip: update supports_deactivate static key to modern api | From | Marc Zyngier <> | Date | Mon, 26 Mar 2018 09:17:36 +0100 |
| |
Hi Davidlohr,
On 25/03/18 20:10, Davidlohr Bueso wrote: > Minor changes in semantics -- key init is true; replace > > static_key_slow_dec with static_branch_disable > static_key_true with static_branch_likely > > The first is because we never actually do any couterpart incs, > thus there is really no reference counting semantics going on. > Use the more proper static_branch_disable() construct. > > Also added a '_key' suffix to supports_deactivate, for better > self documentation. > > Cc: Thomas Gleixner <tglx@linutronix.de> > Cc: Jason Cooper <jason@lakedaemon.net> > Cc: Marc Zyngier <marc.zyngier@arm.com> > Signed-off-by: Davidlohr Bueso <dbueso@suse.de> > --- > drivers/irqchip/irq-gic-v3.c | 20 ++++++++++---------- > drivers/irqchip/irq-gic.c | 22 +++++++++++----------- > 2 files changed, 21 insertions(+), 21 deletions(-) > > diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c > index 56c8de84a72b..f32b1814278b 100644 > --- a/drivers/irqchip/irq-gic-v3.c > +++ b/drivers/irqchip/irq-gic-v3.c > @@ -61,7 +61,7 @@ struct gic_chip_data { > }; > > static struct gic_chip_data gic_data __read_mostly; > -static struct static_key supports_deactivate = STATIC_KEY_INIT_TRUE; > +DEFINE_STATIC_KEY_TRUE(supports_deactivate_key);
When you combine this...
[...]
> diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c > index ac2e62d613d1..9b7630cee56c 100644 > --- a/drivers/irqchip/irq-gic.c > +++ b/drivers/irqchip/irq-gic.c > @@ -121,7 +121,7 @@ static DEFINE_RAW_SPINLOCK(cpu_map_lock); > #define NR_GIC_CPU_IF 8 > static u8 gic_cpu_map[NR_GIC_CPU_IF] __read_mostly; > > -static struct static_key supports_deactivate = STATIC_KEY_INIT_TRUE; > +DEFINE_STATIC_KEY_TRUE(supports_deactivate_key);
...with that, bad things happen:
drivers/irqchip/irq-gic-v3.o:(.data+0x278): multiple definition of `supports_deactivate_key' drivers/irqchip/irq-gic.o:(.data+0x18): first defined here Makefile:1032: recipe for target 'vmlinux' failed make: *** [vmlinux] Error 1
Thanks,
M. -- Jazz is not dead. It just smells funny...
| |