* [PATCH 1/2] can: flexcan: disable runtime PM if register flexcandev failed
@ 2019-12-10 7:15 Joakim Zhang
2019-12-10 7:16 ` [PATCH 2/2] can: flexcan: disable clocks during stop mode Joakim Zhang
0 siblings, 1 reply; 6+ messages in thread
From: Joakim Zhang @ 2019-12-10 7:15 UTC (permalink / raw)
To: mkl@pengutronix.de, sean@geanix.com, linux-can@vger.kernel.org
Cc: dl-linux-imx, netdev@vger.kernel.org, Joakim Zhang
Had better disable runtime PM if register flexcandev failed.
Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
---
drivers/net/can/flexcan.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
index 3a754355ebe6..6c1ccf9f6c08 100644
--- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c
@@ -1681,6 +1681,8 @@ static int flexcan_probe(struct platform_device *pdev)
return 0;
failed_register:
+ pm_runtime_put_noidle(&pdev->dev);
+ pm_runtime_disable(&pdev->dev);
free_candev(dev);
return err;
}
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] can: flexcan: disable clocks during stop mode
2019-12-10 7:15 [PATCH 1/2] can: flexcan: disable runtime PM if register flexcandev failed Joakim Zhang
@ 2019-12-10 7:16 ` Joakim Zhang
2019-12-10 7:39 ` Sean Nyekjaer
2019-12-10 8:31 ` Marc Kleine-Budde
0 siblings, 2 replies; 6+ messages in thread
From: Joakim Zhang @ 2019-12-10 7:16 UTC (permalink / raw)
To: mkl@pengutronix.de, sean@geanix.com, linux-can@vger.kernel.org
Cc: dl-linux-imx, netdev@vger.kernel.org, Joakim Zhang
Disable clocks during CAN in stop mode.
Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
---
drivers/net/can/flexcan.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
index 6c1ccf9f6c08..d767f85c80d3 100644
--- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c
@@ -1786,10 +1786,16 @@ static int __maybe_unused flexcan_noirq_suspend(struct device *device)
{
struct net_device *dev = dev_get_drvdata(device);
struct flexcan_priv *priv = netdev_priv(dev);
+ int err;
- if (netif_running(dev) && device_may_wakeup(device))
+ if (netif_running(dev) && device_may_wakeup(device)) {
flexcan_enable_wakeup_irq(priv, true);
+ err = pm_runtime_force_suspend(device);
+ if (err)
+ return err;
+ }
+
return 0;
}
@@ -1800,7 +1806,12 @@ static int __maybe_unused flexcan_noirq_resume(struct device *device)
int err;
if (netif_running(dev) && device_may_wakeup(device)) {
+ err = pm_runtime_force_resume(device);
+ if (err)
+ return err;
+
flexcan_enable_wakeup_irq(priv, false);
+
err = flexcan_exit_stop_mode(priv);
if (err)
return err;
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] can: flexcan: disable clocks during stop mode
2019-12-10 7:16 ` [PATCH 2/2] can: flexcan: disable clocks during stop mode Joakim Zhang
@ 2019-12-10 7:39 ` Sean Nyekjaer
2019-12-10 7:58 ` Joakim Zhang
2019-12-10 8:31 ` Marc Kleine-Budde
1 sibling, 1 reply; 6+ messages in thread
From: Sean Nyekjaer @ 2019-12-10 7:39 UTC (permalink / raw)
To: Joakim Zhang, mkl@pengutronix.de, linux-can@vger.kernel.org
Cc: dl-linux-imx, netdev@vger.kernel.org
On 10/12/2019 08.16, Joakim Zhang wrote:
> Disable clocks during CAN in stop mode.
>
Hi Joakim
I hope I can get time to test this patchset during this week :-)
/Sean
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [PATCH 2/2] can: flexcan: disable clocks during stop mode
2019-12-10 7:39 ` Sean Nyekjaer
@ 2019-12-10 7:58 ` Joakim Zhang
0 siblings, 0 replies; 6+ messages in thread
From: Joakim Zhang @ 2019-12-10 7:58 UTC (permalink / raw)
To: Sean Nyekjaer, mkl@pengutronix.de, linux-can@vger.kernel.org
Cc: dl-linux-imx, netdev@vger.kernel.org
> -----Original Message-----
> From: Sean Nyekjaer <sean@geanix.com>
> Sent: 2019年12月10日 15:40
> To: Joakim Zhang <qiangqing.zhang@nxp.com>; mkl@pengutronix.de;
> linux-can@vger.kernel.org
> Cc: dl-linux-imx <linux-imx@nxp.com>; netdev@vger.kernel.org
> Subject: Re: [PATCH 2/2] can: flexcan: disable clocks during stop mode
>
>
>
> On 10/12/2019 08.16, Joakim Zhang wrote:
> > Disable clocks during CAN in stop mode.
> >
>
> Hi Joakim
>
> I hope I can get time to test this patchset during this week :-)
Hi Sean,
You are really kind :-), thank you very much!
Best Regards,
Joakim Zhang
> /Sean
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] can: flexcan: disable clocks during stop mode
2019-12-10 7:16 ` [PATCH 2/2] can: flexcan: disable clocks during stop mode Joakim Zhang
2019-12-10 7:39 ` Sean Nyekjaer
@ 2019-12-10 8:31 ` Marc Kleine-Budde
2019-12-10 8:41 ` Joakim Zhang
1 sibling, 1 reply; 6+ messages in thread
From: Marc Kleine-Budde @ 2019-12-10 8:31 UTC (permalink / raw)
To: Joakim Zhang, sean@geanix.com, linux-can@vger.kernel.org
Cc: dl-linux-imx, netdev@vger.kernel.org
[-- Attachment #1.1: Type: text/plain, Size: 1371 bytes --]
On 12/10/19 8:16 AM, Joakim Zhang wrote:
> Disable clocks during CAN in stop mode.
>
> Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
> ---
> drivers/net/can/flexcan.c | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
> index 6c1ccf9f6c08..d767f85c80d3 100644
> --- a/drivers/net/can/flexcan.c
> +++ b/drivers/net/can/flexcan.c
> @@ -1786,10 +1786,16 @@ static int __maybe_unused flexcan_noirq_suspend(struct device *device)
> {
> struct net_device *dev = dev_get_drvdata(device);
> struct flexcan_priv *priv = netdev_priv(dev);
> + int err;
>
> - if (netif_running(dev) && device_may_wakeup(device))
> + if (netif_running(dev) && device_may_wakeup(device)) {
> flexcan_enable_wakeup_irq(priv, true);
>
> + err = pm_runtime_force_suspend(device);
> + if (err)
> + return err;
> + }
What about moving the pm_runtime_force_suspend() call for both cases
"device_may_wakeup()" and "!device_may_wakeup()" into the
flexcan_noirq_suspend() handler?
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung West/Dortmund | Phone: +49-231-2826-924 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [PATCH 2/2] can: flexcan: disable clocks during stop mode
2019-12-10 8:31 ` Marc Kleine-Budde
@ 2019-12-10 8:41 ` Joakim Zhang
0 siblings, 0 replies; 6+ messages in thread
From: Joakim Zhang @ 2019-12-10 8:41 UTC (permalink / raw)
To: Marc Kleine-Budde, sean@geanix.com, linux-can@vger.kernel.org
Cc: dl-linux-imx, netdev@vger.kernel.org
> -----Original Message-----
> From: Marc Kleine-Budde <mkl@pengutronix.de>
> Sent: 2019年12月10日 16:32
> To: Joakim Zhang <qiangqing.zhang@nxp.com>; sean@geanix.com;
> linux-can@vger.kernel.org
> Cc: dl-linux-imx <linux-imx@nxp.com>; netdev@vger.kernel.org
> Subject: Re: [PATCH 2/2] can: flexcan: disable clocks during stop mode
>
> On 12/10/19 8:16 AM, Joakim Zhang wrote:
> > Disable clocks during CAN in stop mode.
> >
> > Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
> > ---
> > drivers/net/can/flexcan.c | 13 ++++++++++++-
> > 1 file changed, 12 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
> > index 6c1ccf9f6c08..d767f85c80d3 100644
> > --- a/drivers/net/can/flexcan.c
> > +++ b/drivers/net/can/flexcan.c
> > @@ -1786,10 +1786,16 @@ static int __maybe_unused
> > flexcan_noirq_suspend(struct device *device) {
> > struct net_device *dev = dev_get_drvdata(device);
> > struct flexcan_priv *priv = netdev_priv(dev);
> > + int err;
> >
> > - if (netif_running(dev) && device_may_wakeup(device))
> > + if (netif_running(dev) && device_may_wakeup(device)) {
> > flexcan_enable_wakeup_irq(priv, true);
> >
> > + err = pm_runtime_force_suspend(device);
> > + if (err)
> > + return err;
> > + }
>
> What about moving the pm_runtime_force_suspend() call for both cases
> "device_may_wakeup()" and "!device_may_wakeup()" into the
> flexcan_noirq_suspend() handler?
Sounds great! I will do it in V2.
Best Regards,
Joakim Zhang
> Marc
>
> --
> Pengutronix e.K. | Marc Kleine-Budde |
> Embedded Linux | https://www.pengutronix.de |
> Vertretung West/Dortmund | Phone: +49-231-2826-924 |
> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-12-10 8:41 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-10 7:15 [PATCH 1/2] can: flexcan: disable runtime PM if register flexcandev failed Joakim Zhang
2019-12-10 7:16 ` [PATCH 2/2] can: flexcan: disable clocks during stop mode Joakim Zhang
2019-12-10 7:39 ` Sean Nyekjaer
2019-12-10 7:58 ` Joakim Zhang
2019-12-10 8:31 ` Marc Kleine-Budde
2019-12-10 8:41 ` Joakim Zhang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox