All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Elder <elder@linaro.org>
To: Caleb Connolly <caleb.connolly@linaro.org>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>
Cc: elder@kernel.org, netdev@vger.kernel.org,
	linux-arm-msm@vger.kernel.org, phone-devel@vger.kernel.org
Subject: Re: [PATCH net-next] net: ipa: use dev PM wakeirq handling
Date: Sat, 28 Jan 2023 07:47:00 -0600	[thread overview]
Message-ID: <8deaed16-385b-6108-e971-0168df2b3c2f@linaro.org> (raw)
In-Reply-To: <20230127202758.2913612-1-caleb.connolly@linaro.org>

On 1/27/23 2:27 PM, Caleb Connolly wrote:
> Replace the enable_irq_wake() call with one to dev_pm_set_wake_irq()
> instead. This will let the dev PM framework automatically manage the
> the wakeup capability of the ipa IRQ and ensure that userspace requests
> to enable/disable wakeup for the IPA via sysfs are respected.
> 
> Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>

Looks OK to me.  Can you say something about how you
tested this, and what the result was?  Thanks.

					-Alex

> ---
>   drivers/net/ipa/ipa_interrupt.c | 10 ++++------
>   1 file changed, 4 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/net/ipa/ipa_interrupt.c b/drivers/net/ipa/ipa_interrupt.c
> index c19cd27ac852..9a1153e80a3a 100644
> --- a/drivers/net/ipa/ipa_interrupt.c
> +++ b/drivers/net/ipa/ipa_interrupt.c
> @@ -22,6 +22,7 @@
>   #include <linux/types.h>
>   #include <linux/interrupt.h>
>   #include <linux/pm_runtime.h>
> +#include <linux/pm_wakeirq.h>
>   
>   #include "ipa.h"
>   #include "ipa_reg.h"
> @@ -269,9 +270,9 @@ struct ipa_interrupt *ipa_interrupt_config(struct ipa *ipa)
>   		goto err_kfree;
>   	}
>   
> -	ret = enable_irq_wake(irq);
> +	ret = dev_pm_set_wake_irq(dev, irq);
>   	if (ret) {
> -		dev_err(dev, "error %d enabling wakeup for \"ipa\" IRQ\n", ret);
> +		dev_err(dev, "error %d registering \"ipa\" IRQ as wakeirq\n", ret);
>   		goto err_free_irq;
>   	}
>   
> @@ -289,11 +290,8 @@ struct ipa_interrupt *ipa_interrupt_config(struct ipa *ipa)
>   void ipa_interrupt_deconfig(struct ipa_interrupt *interrupt)
>   {
>   	struct device *dev = &interrupt->ipa->pdev->dev;
> -	int ret;
>   
> -	ret = disable_irq_wake(interrupt->irq);
> -	if (ret)
> -		dev_err(dev, "error %d disabling \"ipa\" IRQ wakeup\n", ret);
> +	dev_pm_clear_wake_irq(dev);
>   	free_irq(interrupt->irq, interrupt);
>   	kfree(interrupt);
>   }


  reply	other threads:[~2023-01-28 13:47 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-27 20:27 [PATCH net-next] net: ipa: use dev PM wakeirq handling Caleb Connolly
2023-01-28 13:47 ` Alex Elder [this message]
2023-01-31 12:40   ` Caleb Connolly
2023-01-31 13:04     ` Alex Elder
2023-01-31 14:30 ` patchwork-bot+netdevbpf

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=8deaed16-385b-6108-e971-0168df2b3c2f@linaro.org \
    --to=elder@linaro.org \
    --cc=caleb.connolly@linaro.org \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=elder@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=phone-devel@vger.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.