diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
index eecec71faa11..149e3c6b3618 100644
--- a/drivers/irqchip/irq-gic-v3.c
+++ b/drivers/irqchip/irq-gic-v3.c
@@ -139,11 +139,11 @@ static u64 gic_read_iar_cavium_thunderx(void)
 	return irqstat;
 }
 
-static struct static_key is_cavium_thunderx = STATIC_KEY_INIT_FALSE;
+static DEFINE_STATIC_KEY_FALSE(is_cavium_thunderx);
 
 static u64 __maybe_unused gic_read_iar(void)
 {
-	if (static_key_false(&is_cavium_thunderx))
+	if (static_branch_unlikely(&is_cavium_thunderx))
 		return gic_read_iar_cavium_thunderx();
 	else
 		return gic_read_iar_common();
@@ -871,7 +871,7 @@ static const struct irq_domain_ops gic_irq_domain_ops = {
 static void gicv3_enable_quirks(void)
 {
 	if (cpus_have_cap(ARM64_WORKAROUND_CAVIUM_23154))
-		static_key_slow_inc(&is_cavium_thunderx);
+		static_branch_enable(&is_cavium_thunderx);
 }
 
 static int __init gic_of_init(struct device_node *node, struct device_node *parent)