From: Nicolas Ferre <nicolas.ferre@atmel.com> To: Alexandre Belloni <alexandre.belloni@free-electrons.com>, "David S. Miller" <davem@davemloft.net>, Cyrille Pitchen <cyrille.pitchen@atmel.com> Cc: Boris Brezillon <boris.brezillon@free-electrons.com>, <linux-arm-kernel@lists.infradead.org>, <linux-kernel@vger.kernel.org>, <netdev@vger.kernel.org> Subject: Re: [PATCH] net/at91_ether: prepare and unprepare clock Date: Thu, 8 Jan 2015 11:55:58 +0100 [thread overview] Message-ID: <54AE623E.5020507@atmel.com> (raw) In-Reply-To: <1420671566-30784-1-git-send-email-alexandre.belloni@free-electrons.com> Le 07/01/2015 23:59, Alexandre Belloni a écrit : > The clock is enabled without being prepared, this leads to: > > WARNING: CPU: 0 PID: 1 at drivers/clk/clk.c:889 __clk_enable+0x24/0xa8() > > and a non working ethernet interface. > > Use clk_prepare_enable() and clk_disable_unprepare() to handle the clock. > > Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> > --- > drivers/net/ethernet/cadence/at91_ether.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/net/ethernet/cadence/at91_ether.c b/drivers/net/ethernet/cadence/at91_ether.c > index 55eb7f2af2b4..7ef55f5fa664 100644 > --- a/drivers/net/ethernet/cadence/at91_ether.c > +++ b/drivers/net/ethernet/cadence/at91_ether.c > @@ -340,7 +340,7 @@ static int __init at91ether_probe(struct platform_device *pdev) > res = PTR_ERR(lp->pclk); > goto err_free_dev; > } > - clk_enable(lp->pclk); > + clk_prepare_enable(lp->pclk); > > lp->hclk = ERR_PTR(-ENOENT); > lp->tx_clk = ERR_PTR(-ENOENT); > @@ -406,7 +406,7 @@ static int __init at91ether_probe(struct platform_device *pdev) > err_out_unregister_netdev: > unregister_netdev(dev); > err_disable_clock: > - clk_disable(lp->pclk); > + clk_disable_unprepare(lp->pclk); > err_free_dev: > free_netdev(dev); > return res; > @@ -424,7 +424,7 @@ static int at91ether_remove(struct platform_device *pdev) > kfree(lp->mii_bus->irq); > mdiobus_free(lp->mii_bus); > unregister_netdev(dev); > - clk_disable(lp->pclk); > + clk_disable_unprepare(lp->pclk); > free_netdev(dev); > > return 0; > @@ -440,7 +440,7 @@ static int at91ether_suspend(struct platform_device *pdev, pm_message_t mesg) > netif_stop_queue(net_dev); > netif_device_detach(net_dev); > > - clk_disable(lp->pclk); > + clk_disable_unprepare(lp->pclk); > } > return 0; > } > @@ -451,7 +451,7 @@ static int at91ether_resume(struct platform_device *pdev) > struct macb *lp = netdev_priv(net_dev); > > if (netif_running(net_dev)) { > - clk_enable(lp->pclk); > + clk_prepare_enable(lp->pclk); > > netif_device_attach(net_dev); > netif_start_queue(net_dev); > -- Nicolas Ferre
WARNING: multiple messages have this Message-ID (diff)
From: nicolas.ferre@atmel.com (Nicolas Ferre) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH] net/at91_ether: prepare and unprepare clock Date: Thu, 8 Jan 2015 11:55:58 +0100 [thread overview] Message-ID: <54AE623E.5020507@atmel.com> (raw) In-Reply-To: <1420671566-30784-1-git-send-email-alexandre.belloni@free-electrons.com> Le 07/01/2015 23:59, Alexandre Belloni a ?crit : > The clock is enabled without being prepared, this leads to: > > WARNING: CPU: 0 PID: 1 at drivers/clk/clk.c:889 __clk_enable+0x24/0xa8() > > and a non working ethernet interface. > > Use clk_prepare_enable() and clk_disable_unprepare() to handle the clock. > > Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> > --- > drivers/net/ethernet/cadence/at91_ether.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/net/ethernet/cadence/at91_ether.c b/drivers/net/ethernet/cadence/at91_ether.c > index 55eb7f2af2b4..7ef55f5fa664 100644 > --- a/drivers/net/ethernet/cadence/at91_ether.c > +++ b/drivers/net/ethernet/cadence/at91_ether.c > @@ -340,7 +340,7 @@ static int __init at91ether_probe(struct platform_device *pdev) > res = PTR_ERR(lp->pclk); > goto err_free_dev; > } > - clk_enable(lp->pclk); > + clk_prepare_enable(lp->pclk); > > lp->hclk = ERR_PTR(-ENOENT); > lp->tx_clk = ERR_PTR(-ENOENT); > @@ -406,7 +406,7 @@ static int __init at91ether_probe(struct platform_device *pdev) > err_out_unregister_netdev: > unregister_netdev(dev); > err_disable_clock: > - clk_disable(lp->pclk); > + clk_disable_unprepare(lp->pclk); > err_free_dev: > free_netdev(dev); > return res; > @@ -424,7 +424,7 @@ static int at91ether_remove(struct platform_device *pdev) > kfree(lp->mii_bus->irq); > mdiobus_free(lp->mii_bus); > unregister_netdev(dev); > - clk_disable(lp->pclk); > + clk_disable_unprepare(lp->pclk); > free_netdev(dev); > > return 0; > @@ -440,7 +440,7 @@ static int at91ether_suspend(struct platform_device *pdev, pm_message_t mesg) > netif_stop_queue(net_dev); > netif_device_detach(net_dev); > > - clk_disable(lp->pclk); > + clk_disable_unprepare(lp->pclk); > } > return 0; > } > @@ -451,7 +451,7 @@ static int at91ether_resume(struct platform_device *pdev) > struct macb *lp = netdev_priv(net_dev); > > if (netif_running(net_dev)) { > - clk_enable(lp->pclk); > + clk_prepare_enable(lp->pclk); > > netif_device_attach(net_dev); > netif_start_queue(net_dev); > -- Nicolas Ferre
next prev parent reply other threads:[~2015-01-08 10:56 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-01-07 22:59 [PATCH] net/at91_ether: prepare and unprepare clock Alexandre Belloni 2015-01-07 22:59 ` Alexandre Belloni 2015-01-08 8:13 ` Boris Brezillon 2015-01-08 8:13 ` Boris Brezillon 2015-01-08 10:55 ` Nicolas Ferre [this message] 2015-01-08 10:55 ` Nicolas Ferre 2015-01-12 11:08 ` Alexandre Belloni 2015-01-12 11:08 ` Alexandre Belloni 2015-01-12 20:35 ` David Miller 2015-01-12 20:35 ` David Miller
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=54AE623E.5020507@atmel.com \ --to=nicolas.ferre@atmel.com \ --cc=alexandre.belloni@free-electrons.com \ --cc=boris.brezillon@free-electrons.com \ --cc=cyrille.pitchen@atmel.com \ --cc=davem@davemloft.net \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=netdev@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: 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.