From: Oleksandr Natalenko <oleksandr@natalenko.name>
To: greybus-dev@lists.linaro.org, linux-i2c@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev,
linux-usb@vger.kernel.org, netdev@vger.kernel.org,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: "David S. Miller" <davem@davemloft.net>,
Alex Elder <elder@kernel.org>, Arnd Bergmann <arnd@arndb.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Hans de Goede <hdegoede@redhat.com>,
Jakub Kicinski <kuba@kernel.org>, Johan Hovold <johan@kernel.org>,
Lee Jones <lee.jones@linaro.org>,
Rui Miguel Silva <rmfrfs@gmail.com>,
Thomas Gleixner <tglx@linutronix.de>,
UNGLinuxDriver@microchip.com, Wolfram Sang <wsa@kernel.org>,
Woojung Huh <woojung.huh@microchip.com>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Subject: Re: [PATCH 1/7] genirq: Provide generic_handle_irq_safe().
Date: Thu, 27 Jan 2022 15:40:39 +0100 [thread overview]
Message-ID: <5753562.DvuYhMxLoT@natalenko.name> (raw)
In-Reply-To: <20220127113303.3012207-2-bigeasy@linutronix.de>
Hello.
On čtvrtek 27. ledna 2022 12:32:57 CET Sebastian Andrzej Siewior wrote:
> Provide generic_handle_irq_safe() which can be used can used from any
> context.
>
> Suggested-by: Thomas Gleixner <tglx@linutronix.de>
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
> ---
> include/linux/irqdesc.h | 1 +
> kernel/irq/irqdesc.c | 21 +++++++++++++++++++++
> 2 files changed, 22 insertions(+)
>
> diff --git a/include/linux/irqdesc.h b/include/linux/irqdesc.h
> index 93d270ca0c567..a77584593f7d1 100644
> --- a/include/linux/irqdesc.h
> +++ b/include/linux/irqdesc.h
> @@ -160,6 +160,7 @@ static inline void generic_handle_irq_desc(struct irq_desc *desc)
>
> int handle_irq_desc(struct irq_desc *desc);
> int generic_handle_irq(unsigned int irq);
> +int generic_handle_irq_safe(unsigned int irq);
>
> #ifdef CONFIG_IRQ_DOMAIN
> /*
> diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c
> index 2267e6527db3c..97223df2f460e 100644
> --- a/kernel/irq/irqdesc.c
> +++ b/kernel/irq/irqdesc.c
> @@ -662,6 +662,27 @@ int generic_handle_irq(unsigned int irq)
> }
> EXPORT_SYMBOL_GPL(generic_handle_irq);
>
> +/**
> + * generic_handle_irq_safe - Invoke the handler for a particular irq
> + * @irq: The irq number to handle
> + *
> + * Returns: 0 on success, or -EINVAL if conversion has failed
> + *
> + * This function must be called either from an IRQ context with irq regs
> + * initialized or with care from any context.
> + */
> +int generic_handle_irq_safe(unsigned int irq)
> +{
> + unsigned long flags;
> + int ret;
> +
> + local_irq_save(flags);
> + ret = handle_irq_desc(irq_to_desc(irq));
> + local_irq_restore(flags);
> + return ret;
> +}
> +EXPORT_SYMBOL_GPL(generic_handle_irq_safe);
> +
> #ifdef CONFIG_IRQ_DOMAIN
> /**
> * generic_handle_domain_irq - Invoke the handler for a HW irq belonging
>
Reviewed-by: Oleksandr Natalenko <oleksandr@natalenko.name>
Thank you.
--
Oleksandr Natalenko (post-factum)
next prev parent reply other threads:[~2022-01-27 14:46 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-27 11:32 [PATCH 0/7] Provide and use generic_handle_irq_safe() where appropriate Sebastian Andrzej Siewior
2022-01-27 11:32 ` [PATCH 1/7] genirq: Provide generic_handle_irq_safe() Sebastian Andrzej Siewior
2022-01-27 11:48 ` Hans de Goede
2022-01-27 14:40 ` Oleksandr Natalenko [this message]
2022-01-27 17:03 ` Wolfram Sang
2022-01-31 10:47 ` Sebastian Andrzej Siewior
2022-01-28 10:18 ` Sergei Shtylyov
2022-01-31 10:51 ` Sebastian Andrzej Siewior
2022-01-27 11:32 ` [PATCH 2/7] i2c: core: Use generic_handle_irq_safe() in i2c_handle_smbus_host_notify() Sebastian Andrzej Siewior
2022-01-27 14:41 ` Oleksandr Natalenko
2022-01-31 11:09 ` Sebastian Andrzej Siewior
2022-01-27 17:11 ` Wolfram Sang
2022-01-31 11:07 ` Sebastian Andrzej Siewior
2022-01-27 11:32 ` [PATCH 3/7] i2c: cht-wc: Use generic_handle_irq_safe() Sebastian Andrzej Siewior
2022-01-27 11:48 ` Hans de Goede
2022-01-27 17:16 ` Wolfram Sang
2022-01-31 11:10 ` Sebastian Andrzej Siewior
2022-01-27 11:33 ` [PATCH 4/7] mfd: hi6421-spmi-pmic: " Sebastian Andrzej Siewior
2022-01-28 10:23 ` Sergei Shtylyov
2022-01-28 13:33 ` Lee Jones
2022-01-28 15:28 ` Sergei Shtylyov
2022-01-28 16:44 ` Sergei Shtylyov
2022-01-28 16:50 ` Lee Jones
2022-01-28 19:37 ` Sergei Shtylyov
2022-01-31 11:16 ` Sebastian Andrzej Siewior
2022-01-27 11:33 ` [PATCH 5/7] mfd: ezx-pcap: " Sebastian Andrzej Siewior
2022-01-27 11:33 ` [PATCH 6/7] net: usb: lan78xx: " Sebastian Andrzej Siewior
2022-01-27 11:33 ` [PATCH 7/7] staging: greybus: gpio: " Sebastian Andrzej Siewior
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=5753562.DvuYhMxLoT@natalenko.name \
--to=oleksandr@natalenko.name \
--cc=UNGLinuxDriver@microchip.com \
--cc=arnd@arndb.de \
--cc=bigeasy@linutronix.de \
--cc=davem@davemloft.net \
--cc=elder@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=greybus-dev@lists.linaro.org \
--cc=hdegoede@redhat.com \
--cc=johan@kernel.org \
--cc=kuba@kernel.org \
--cc=lee.jones@linaro.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
--cc=linux-usb@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=rmfrfs@gmail.com \
--cc=tglx@linutronix.de \
--cc=woojung.huh@microchip.com \
--cc=wsa@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.