can: at91_can: add missing prepare and unprepare of the clock
In order to make the driver work with the common clock framework, this patch converts the clk_enable()/clk_disable() to clk_prepare_enable()/clk_disable_unprepare(). While there, add the missing error handling. Signed-off-by: David Dueck <davidcdueck@googlemail.com> Signed-off-by: Anthony Harivel <anthony.harivel@emtrion.de> Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com> Cc: linux-stable <stable@vger.kernel.org> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
This commit is contained in:
parent
4c728d804c
commit
e77980e50b
|
@ -1123,7 +1123,9 @@ static int at91_open(struct net_device *dev)
|
|||
struct at91_priv *priv = netdev_priv(dev);
|
||||
int err;
|
||||
|
||||
clk_enable(priv->clk);
|
||||
err = clk_prepare_enable(priv->clk);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
/* check or determine and set bittime */
|
||||
err = open_candev(dev);
|
||||
|
@ -1149,7 +1151,7 @@ static int at91_open(struct net_device *dev)
|
|||
out_close:
|
||||
close_candev(dev);
|
||||
out:
|
||||
clk_disable(priv->clk);
|
||||
clk_disable_unprepare(priv->clk);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
@ -1166,7 +1168,7 @@ static int at91_close(struct net_device *dev)
|
|||
at91_chip_stop(dev, CAN_STATE_STOPPED);
|
||||
|
||||
free_irq(dev->irq, dev);
|
||||
clk_disable(priv->clk);
|
||||
clk_disable_unprepare(priv->clk);
|
||||
|
||||
close_candev(dev);
|
||||
|
||||
|
|
Loading…
Reference in New Issue