From nobody Thu Dec 18 19:06:13 2025 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 67D58145B29; Mon, 29 Jul 2024 11:50:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722253826; cv=none; b=KUXW66N+We9/D9RkjKDxsjCvoi15LM9+uZwg9JfAnup0qRO7zZzEi1kGQgr1wL05hmDBSZyrVU1lzVSZysht1MRWNERjAPWUDwcOWbfotdiPyDoS2/J+PXX47vz6tbhXqW/rKEP8rQG9BXLbozd+nOWujIQLL8euEVs6ONTn6N0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722253826; c=relaxed/simple; bh=J2Eccw4T1gag0WKFsU8SFincbHWJtR6HfzoFPg77rU4=; h=Date:From:To:Subject:Cc:In-Reply-To:References:MIME-Version: Message-ID:Content-Type; b=OqJuLg3YC4PFZU30Dywjvim2ID+SXvAWAWmlQod+taY1dNMTbEE1kflpbEzVvokec+Epc+5axwuZ4Bg2N2ofrMB635qXpTEAMqxOg4VnewyJKJrGaBPK3EJntHSVstpsN9I2DGKS/f2MZ9idyWjsA1gjCVDcqwV8u7t1ahMM5tw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=M4w12Jpc; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=bZvkKXEQ; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="M4w12Jpc"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="bZvkKXEQ" Date: Mon, 29 Jul 2024 11:50:21 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1722253822; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=P8KaXeIAygttY660e5hwdVdlxik/2CXizQ2TXIi85sw=; b=M4w12Jpc+ecb9ir9JxTd8+6TGwOC87Oqf7AEQkaYYB5KYsMLuXLoJv6iDrBTebsP+KXan9 geNd2C5QSPPI7VFZ3DogbzfoM6jQafXnzyDEAmpzNHptUTMhf0xchjcqyfUglaqlr0mE5X ZX2golW1akBntEXz34pAckInGeJQAFunZTEN2WCFfAtdoicYIwWjPrIX2al+lK+0ejPtVD W/d+7ZZlN0wUujGjCmFJNOxlC4W69JuuXQGB3mKqnlrmdxs9IHjpU9MTikd5p6TOufT7mZ WoKE5FNZLgmMpPL2fNTVjNug5/nqIfyXeyuTQwoPy19IsYqi0/whnDFfySMqAw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1722253822; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=P8KaXeIAygttY660e5hwdVdlxik/2CXizQ2TXIi85sw=; b=bZvkKXEQ8Hx0sOWpzdI9LaTAl4bdMTeJl1HXFdd28rOs4dCqAy8IYTqbtq2T8rgfI5LpO8 uNm13EJD78ItvVDg== From: "tip-bot2 for Jinjie Ruan" Sender: tip-bot2@linutronix.de Reply-to: linux-kernel@vger.kernel.org To: linux-tip-commits@vger.kernel.org Subject: [tip: irq/core] irqchip: Remove asmlinkage for handlers registered with set_handle_irq() Cc: Thomas Gleixner , Jinjie Ruan , Mark Rutland , x86@kernel.org, linux-kernel@vger.kernel.org, maz@kernel.org In-Reply-To: <20240729112606.1581732-1-ruanjinjie@huawei.com> References: <20240729112606.1581732-1-ruanjinjie@huawei.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-ID: <172225382189.2215.8398520329045355162.tip-bot2@tip-bot2> Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails Precedence: bulk Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable The following commit has been merged into the irq/core branch of tip: Commit-ID: e626fcbaa9b67e4488ea437e0e8a5657e707d5f8 Gitweb: https://git.kernel.org/tip/e626fcbaa9b67e4488ea437e0e8a5657e= 707d5f8 Author: Jinjie Ruan AuthorDate: Mon, 29 Jul 2024 19:26:06 +08:00 Committer: Thomas Gleixner CommitterDate: Mon, 29 Jul 2024 13:43:34 +02:00 irqchip: Remove asmlinkage for handlers registered with set_handle_irq() All architectures with use set_handle_irq() to set the root chip interrupt handler call that handler from C code, so there's no need for these handlers to be marked asmlinkage. Remove asmlinkage for all handlers registered with set_handle_irq(). Suggested-by: Thomas Gleixner Signed-off-by: Jinjie Ruan Signed-off-by: Thomas Gleixner Acked-by: Mark Rutland Link: https://lore.kernel.org/all/20240729112606.1581732-1-ruanjinjie@huawe= i.com --- drivers/irqchip/irq-atmel-aic.c | 3 +-- drivers/irqchip/irq-atmel-aic5.c | 3 +-- drivers/irqchip/irq-clps711x.c | 2 +- drivers/irqchip/irq-davinci-cp-intc.c | 3 +-- drivers/irqchip/irq-ftintc010.c | 2 +- drivers/irqchip/irq-gic-v3.c | 2 +- drivers/irqchip/irq-ixp4xx.c | 3 +-- drivers/irqchip/irq-omap-intc.c | 3 +-- drivers/irqchip/irq-sa11x0.c | 3 +-- drivers/irqchip/irq-versatile-fpga.c | 2 +- 10 files changed, 10 insertions(+), 16 deletions(-) diff --git a/drivers/irqchip/irq-atmel-aic.c b/drivers/irqchip/irq-atmel-ai= c.c index 4631f68..3839ad7 100644 --- a/drivers/irqchip/irq-atmel-aic.c +++ b/drivers/irqchip/irq-atmel-aic.c @@ -57,8 +57,7 @@ =20 static struct irq_domain *aic_domain; =20 -static asmlinkage void __exception_irq_entry -aic_handle(struct pt_regs *regs) +static void __exception_irq_entry aic_handle(struct pt_regs *regs) { struct irq_domain_chip_generic *dgc =3D aic_domain->gc; struct irq_chip_generic *gc =3D dgc->gc[0]; diff --git a/drivers/irqchip/irq-atmel-aic5.c b/drivers/irqchip/irq-atmel-a= ic5.c index 145535b..c0f55dc 100644 --- a/drivers/irqchip/irq-atmel-aic5.c +++ b/drivers/irqchip/irq-atmel-aic5.c @@ -67,8 +67,7 @@ =20 static struct irq_domain *aic5_domain; =20 -static asmlinkage void __exception_irq_entry -aic5_handle(struct pt_regs *regs) +static void __exception_irq_entry aic5_handle(struct pt_regs *regs) { struct irq_chip_generic *bgc =3D irq_get_domain_generic_chip(aic5_domain,= 0); u32 irqnr; diff --git a/drivers/irqchip/irq-clps711x.c b/drivers/irqchip/irq-clps711x.c index e731e07..806ebb1 100644 --- a/drivers/irqchip/irq-clps711x.c +++ b/drivers/irqchip/irq-clps711x.c @@ -69,7 +69,7 @@ static struct { struct irq_domain_ops ops; } *clps711x_intc; =20 -static asmlinkage void __exception_irq_entry clps711x_irqh(struct pt_regs = *regs) +static void __exception_irq_entry clps711x_irqh(struct pt_regs *regs) { u32 irqstat; =20 diff --git a/drivers/irqchip/irq-davinci-cp-intc.c b/drivers/irqchip/irq-da= vinci-cp-intc.c index 7482c8e..f4f8e9f 100644 --- a/drivers/irqchip/irq-davinci-cp-intc.c +++ b/drivers/irqchip/irq-davinci-cp-intc.c @@ -116,8 +116,7 @@ static struct irq_chip davinci_cp_intc_irq_chip =3D { .flags =3D IRQCHIP_SKIP_SET_WAKE, }; =20 -static asmlinkage void __exception_irq_entry -davinci_cp_intc_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry davinci_cp_intc_handle_irq(struct pt_reg= s *regs) { int gpir, irqnr, none; =20 diff --git a/drivers/irqchip/irq-ftintc010.c b/drivers/irqchip/irq-ftintc01= 0.c index 359efc1..b91c358 100644 --- a/drivers/irqchip/irq-ftintc010.c +++ b/drivers/irqchip/irq-ftintc010.c @@ -125,7 +125,7 @@ static struct irq_chip ft010_irq_chip =3D { /* Local static for the IRQ entry call */ static struct ft010_irq_data firq; =20 -static asmlinkage void __exception_irq_entry ft010_irqchip_handle_irq(stru= ct pt_regs *regs) +static void __exception_irq_entry ft010_irqchip_handle_irq(struct pt_regs = *regs) { struct ft010_irq_data *f =3D &firq; int irq; diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c index c19083b..0efa344 100644 --- a/drivers/irqchip/irq-gic-v3.c +++ b/drivers/irqchip/irq-gic-v3.c @@ -930,7 +930,7 @@ static void __gic_handle_irq_from_irqsoff(struct pt_reg= s *regs) __gic_handle_nmi(irqnr, regs); } =20 -static asmlinkage void __exception_irq_entry gic_handle_irq(struct pt_regs= *regs) +static void __exception_irq_entry gic_handle_irq(struct pt_regs *regs) { if (unlikely(gic_supports_nmi() && !interrupts_enabled(regs))) __gic_handle_irq_from_irqsoff(regs); diff --git a/drivers/irqchip/irq-ixp4xx.c b/drivers/irqchip/irq-ixp4xx.c index 5fba907..f23b02f 100644 --- a/drivers/irqchip/irq-ixp4xx.c +++ b/drivers/irqchip/irq-ixp4xx.c @@ -105,8 +105,7 @@ static void ixp4xx_irq_unmask(struct irq_data *d) } } =20 -static asmlinkage void __exception_irq_entry -ixp4xx_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry ixp4xx_handle_irq(struct pt_regs *regs) { struct ixp4xx_irq *ixi =3D &ixirq; unsigned long status; diff --git a/drivers/irqchip/irq-omap-intc.c b/drivers/irqchip/irq-omap-int= c.c index dc82162..ad84a2f 100644 --- a/drivers/irqchip/irq-omap-intc.c +++ b/drivers/irqchip/irq-omap-intc.c @@ -325,8 +325,7 @@ static int __init omap_init_irq(u32 base, struct device= _node *node) return ret; } =20 -static asmlinkage void __exception_irq_entry -omap_intc_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry omap_intc_handle_irq(struct pt_regs *reg= s) { extern unsigned long irq_err_count; u32 irqnr; diff --git a/drivers/irqchip/irq-sa11x0.c b/drivers/irqchip/irq-sa11x0.c index 31c202a..9d0b802 100644 --- a/drivers/irqchip/irq-sa11x0.c +++ b/drivers/irqchip/irq-sa11x0.c @@ -127,8 +127,7 @@ static int __init sa1100irq_init_devicefs(void) =20 device_initcall(sa1100irq_init_devicefs); =20 -static asmlinkage void __exception_irq_entry -sa1100_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry sa1100_handle_irq(struct pt_regs *regs) { uint32_t icip, icmr, mask; =20 diff --git a/drivers/irqchip/irq-versatile-fpga.c b/drivers/irqchip/irq-ver= satile-fpga.c index 5018a06..ca471c6 100644 --- a/drivers/irqchip/irq-versatile-fpga.c +++ b/drivers/irqchip/irq-versatile-fpga.c @@ -128,7 +128,7 @@ static int handle_one_fpga(struct fpga_irq_data *f, str= uct pt_regs *regs) * Keep iterating over all registered FPGA IRQ controllers until there are * no pending interrupts. */ -static asmlinkage void __exception_irq_entry fpga_handle_irq(struct pt_reg= s *regs) +static void __exception_irq_entry fpga_handle_irq(struct pt_regs *regs) { int i, handled;