From: "Sören Brinkmann" <soren.brinkmann@xilinx.com> To: Kedareswara rao Appana <appana.durga.rao@xilinx.com> Cc: wg@grandegger.com, mkl@pengutronix.de, michal.simek@xilinx.com, grant.likely@linaro.org, linux-can@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Kedareswara rao Appana <appanad@xilinx.com> Subject: Re: [PATCH v4] can: Convert to runtime_pm Date: Tue, 23 Dec 2014 14:43:08 -0800 [thread overview] Message-ID: <46c28dc78c764efb80cc334df189db3b@BY2FFO11FD055.protection.gbl> (raw) In-Reply-To: <58f37b6fd9104ce185c413c473fe047b@BY2FFO11FD050.protection.gbl> On Tue, 2014-12-23 at 05:55PM +0530, Kedareswara rao Appana wrote: > Instead of enabling/disabling clocks at several locations in the driver, > use the runtime_pm framework. This consolidates the actions for > runtime PM in the appropriate callbacks and makes the driver more > readable and mantainable. > > Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com> > Signed-off-by: Kedareswara rao Appana <appanad@xilinx.com> > --- > Chnages for v4: > - Updated with the review comments. > Changes for v3: > - Converted the driver to use runtime_pm. > Changes for v2: > - Removed the struct platform_device* from suspend/resume > as suggest by Lothar. > > drivers/net/can/xilinx_can.c | 123 +++++++++++++++++++++++++----------------- > 1 files changed, 74 insertions(+), 49 deletions(-) > > diff --git a/drivers/net/can/xilinx_can.c b/drivers/net/can/xilinx_can.c > index 6c67643..c71f683 100644 > --- a/drivers/net/can/xilinx_can.c > +++ b/drivers/net/can/xilinx_can.c > @@ -32,6 +32,7 @@ > #include <linux/can/dev.h> > #include <linux/can/error.h> > #include <linux/can/led.h> > +#include <linux/pm_runtime.h> > > #define DRIVER_NAME "xilinx_can" > > @@ -138,7 +139,7 @@ struct xcan_priv { > u32 (*read_reg)(const struct xcan_priv *priv, enum xcan_reg reg); > void (*write_reg)(const struct xcan_priv *priv, enum xcan_reg reg, > u32 val); > - struct net_device *dev; > + struct device *dev; > void __iomem *reg_base; > unsigned long irq_flags; > struct clk *bus_clk; > @@ -842,6 +843,13 @@ static int xcan_open(struct net_device *ndev) > struct xcan_priv *priv = netdev_priv(ndev); > int ret; > > + ret = pm_runtime_get_sync(priv->dev); > + if (ret < 0) { > + netdev_err(ndev, "%s: pm_runtime_get failed\r(%d)\n\r", Does this create the intended output? I haven't seen '\r' anywhere else. Shouldn't this simply be: netdev_err(ndev, "%s: pm_runtime_get failed (%d)\n", [...] > @@ -934,27 +927,20 @@ static int xcan_get_berr_counter(const struct net_device *ndev, > struct xcan_priv *priv = netdev_priv(ndev); > int ret; > > - ret = clk_prepare_enable(priv->can_clk); > - if (ret) > - goto err; > - > - ret = clk_prepare_enable(priv->bus_clk); > - if (ret) > - goto err_clk; > + ret = pm_runtime_get_sync(priv->dev); > + if (ret < 0) { > + netdev_err(ndev, "%s: pm_runtime_get failed\r(%d)\n\r", ditto Sören
WARNING: multiple messages have this Message-ID (diff)
From: "Sören Brinkmann" <soren.brinkmann@xilinx.com> To: Kedareswara rao Appana <appana.durga.rao@xilinx.com> Cc: <wg@grandegger.com>, <mkl@pengutronix.de>, <michal.simek@xilinx.com>, <grant.likely@linaro.org>, <linux-can@vger.kernel.org>, <netdev@vger.kernel.org>, <linux-kernel@vger.kernel.org>, Kedareswara rao Appana <appanad@xilinx.com> Subject: Re: [PATCH v4] can: Convert to runtime_pm Date: Tue, 23 Dec 2014 14:43:08 -0800 [thread overview] Message-ID: <46c28dc78c764efb80cc334df189db3b@BY2FFO11FD055.protection.gbl> (raw) In-Reply-To: <58f37b6fd9104ce185c413c473fe047b@BY2FFO11FD050.protection.gbl> On Tue, 2014-12-23 at 05:55PM +0530, Kedareswara rao Appana wrote: > Instead of enabling/disabling clocks at several locations in the driver, > use the runtime_pm framework. This consolidates the actions for > runtime PM in the appropriate callbacks and makes the driver more > readable and mantainable. > > Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com> > Signed-off-by: Kedareswara rao Appana <appanad@xilinx.com> > --- > Chnages for v4: > - Updated with the review comments. > Changes for v3: > - Converted the driver to use runtime_pm. > Changes for v2: > - Removed the struct platform_device* from suspend/resume > as suggest by Lothar. > > drivers/net/can/xilinx_can.c | 123 +++++++++++++++++++++++++----------------- > 1 files changed, 74 insertions(+), 49 deletions(-) > > diff --git a/drivers/net/can/xilinx_can.c b/drivers/net/can/xilinx_can.c > index 6c67643..c71f683 100644 > --- a/drivers/net/can/xilinx_can.c > +++ b/drivers/net/can/xilinx_can.c > @@ -32,6 +32,7 @@ > #include <linux/can/dev.h> > #include <linux/can/error.h> > #include <linux/can/led.h> > +#include <linux/pm_runtime.h> > > #define DRIVER_NAME "xilinx_can" > > @@ -138,7 +139,7 @@ struct xcan_priv { > u32 (*read_reg)(const struct xcan_priv *priv, enum xcan_reg reg); > void (*write_reg)(const struct xcan_priv *priv, enum xcan_reg reg, > u32 val); > - struct net_device *dev; > + struct device *dev; > void __iomem *reg_base; > unsigned long irq_flags; > struct clk *bus_clk; > @@ -842,6 +843,13 @@ static int xcan_open(struct net_device *ndev) > struct xcan_priv *priv = netdev_priv(ndev); > int ret; > > + ret = pm_runtime_get_sync(priv->dev); > + if (ret < 0) { > + netdev_err(ndev, "%s: pm_runtime_get failed\r(%d)\n\r", Does this create the intended output? I haven't seen '\r' anywhere else. Shouldn't this simply be: netdev_err(ndev, "%s: pm_runtime_get failed (%d)\n", [...] > @@ -934,27 +927,20 @@ static int xcan_get_berr_counter(const struct net_device *ndev, > struct xcan_priv *priv = netdev_priv(ndev); > int ret; > > - ret = clk_prepare_enable(priv->can_clk); > - if (ret) > - goto err; > - > - ret = clk_prepare_enable(priv->bus_clk); > - if (ret) > - goto err_clk; > + ret = pm_runtime_get_sync(priv->dev); > + if (ret < 0) { > + netdev_err(ndev, "%s: pm_runtime_get failed\r(%d)\n\r", ditto Sören
next prev parent reply other threads:[~2014-12-23 22:43 UTC|newest] Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-12-23 12:25 [PATCH v4] can: Convert to runtime_pm Kedareswara rao Appana 2014-12-23 12:25 ` Kedareswara rao Appana 2014-12-23 22:43 ` Sören Brinkmann [this message] 2014-12-23 22:43 ` Sören Brinkmann [not found] ` <20141223224308.GC4611@xsjandreislx> 2015-01-06 6:23 ` Appana Durga Kedareswara Rao 2015-01-06 6:23 ` Appana Durga Kedareswara Rao 2015-01-06 6:23 ` Appana Durga Kedareswara Rao 2015-01-06 11:25 ` Marc Kleine-Budde 2015-01-07 12:28 ` Marc Kleine-Budde 2015-01-07 15:58 ` Sören Brinkmann 2015-01-07 15:58 ` Sören Brinkmann 2015-01-07 16:30 ` Marc Kleine-Budde 2015-01-07 16:32 ` Sören Brinkmann 2015-01-07 16:32 ` Sören Brinkmann 2015-01-07 16:36 ` Marc Kleine-Budde 2015-01-11 5:34 ` Appana Durga Kedareswara Rao 2015-01-11 5:34 ` Appana Durga Kedareswara Rao 2015-01-11 15:41 ` Marc Kleine-Budde 2015-01-12 6:59 ` Appana Durga Kedareswara Rao 2015-01-12 6:59 ` Appana Durga Kedareswara Rao 2015-01-12 13:25 ` Marc Kleine-Budde 2015-01-12 13:49 ` Appana Durga Kedareswara Rao 2015-01-12 13:49 ` Appana Durga Kedareswara Rao 2015-01-12 13:53 ` Marc Kleine-Budde 2015-01-12 15:04 ` Appana Durga Kedareswara Rao 2015-01-12 15:04 ` Appana Durga Kedareswara Rao [not found] <1419337510-6284-1-git-send-email-appanad@xilinx.com> 2014-12-23 12:27 ` Appana Durga Kedareswara Rao -- strict thread matches above, loose matches on Subject: below -- 2014-12-23 12:22 Kedareswara rao Appana
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=46c28dc78c764efb80cc334df189db3b@BY2FFO11FD055.protection.gbl \ --to=soren.brinkmann@xilinx.com \ --cc=appana.durga.rao@xilinx.com \ --cc=appanad@xilinx.com \ --cc=grant.likely@linaro.org \ --cc=linux-can@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=michal.simek@xilinx.com \ --cc=mkl@pengutronix.de \ --cc=netdev@vger.kernel.org \ --cc=wg@grandegger.com \ /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: linkBe 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.