From: Finn Thain <fthain@linux-m68k.org>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: linux-m68k@lists.linux-m68k.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] m68k: mac: Remove forward declaration for mac_nmi_handler()
Date: Thu, 7 Jul 2022 12:11:33 +1000 (AEST) [thread overview]
Message-ID: <181e93f-9830-75db-a088-6cbff0de27da@linux-m68k.org> (raw)
In-Reply-To: <fa48394ecba7c29a2da354d13c1017b37237f25b.1657114783.git.geert@linux-m68k.org>
On Wed, 6 Jul 2022, Geert Uytterhoeven wrote:
> Move mac_nmi_handler() before its caller, so its forward declaration can
> be dropped. While at it, make the function static, and absorb the
> variable in_nmi, which is only used inside the function.
>
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Finn Thain <fthain@linux-m68k.org>
BTW, this code needs the race condition fixed but I think that would
require CONFIG_ADVANCED && CONFIG_RMW_INSNS, and arch/m68k/Kconfig.cpu
advises against it. There is some discussion of Amiga and Atari in
relation to RMW and it's claimed "it is also said to destabilize other
machines" which may be true but doesn't help much.
> ---
> To be queued in the m68k tree for v5.20.
>
> arch/m68k/mac/macints.c | 32 +++++++++++++++-----------------
> 1 file changed, 15 insertions(+), 17 deletions(-)
>
> diff --git a/arch/m68k/mac/macints.c b/arch/m68k/mac/macints.c
> index e3575388cd05a8cc..883e48230f87a187 100644
> --- a/arch/m68k/mac/macints.c
> +++ b/arch/m68k/mac/macints.c
> @@ -129,8 +129,6 @@
>
> extern void show_registers(struct pt_regs *);
>
> -irqreturn_t mac_nmi_handler(int, void *);
> -
> static unsigned int mac_irq_startup(struct irq_data *);
> static void mac_irq_shutdown(struct irq_data *);
>
> @@ -142,6 +140,21 @@ static struct irq_chip mac_irq_chip = {
> .irq_shutdown = mac_irq_shutdown,
> };
>
> +static irqreturn_t mac_nmi_handler(int irq, void *dev_id)
> +{
> + static volatile int in_nmi;
> +
> + if (in_nmi)
> + return IRQ_HANDLED;
> + in_nmi = 1;
> +
> + pr_info("Non-Maskable Interrupt\n");
> + show_registers(get_irq_regs());
> +
> + in_nmi = 0;
> + return IRQ_HANDLED;
> +}
> +
> void __init mac_init_IRQ(void)
> {
> m68k_setup_irq_controller(&mac_irq_chip, handle_simple_irq, IRQ_USER,
> @@ -254,18 +267,3 @@ static void mac_irq_shutdown(struct irq_data *data)
> else
> mac_irq_disable(data);
> }
> -
> -static volatile int in_nmi;
> -
> -irqreturn_t mac_nmi_handler(int irq, void *dev_id)
> -{
> - if (in_nmi)
> - return IRQ_HANDLED;
> - in_nmi = 1;
> -
> - pr_info("Non-Maskable Interrupt\n");
> - show_registers(get_irq_regs());
> -
> - in_nmi = 0;
> - return IRQ_HANDLED;
> -}
>
prev parent reply other threads:[~2022-07-07 2:11 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-06 13:48 Geert Uytterhoeven
2022-07-07 2:11 ` Finn Thain [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=181e93f-9830-75db-a088-6cbff0de27da@linux-m68k.org \
--to=fthain@linux-m68k.org \
--cc=geert@linux-m68k.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@lists.linux-m68k.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®