hwrng: pic32 - use devm_clk_get_enabled
Use devm_clk_get_enabled in the pic32 driver. Ensure that the clock is
enabled as long as the driver is registered with the hwrng core.
Fixes: 7ea39973d1
("hwrng: pic32 - Use device-managed registration API")
Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Родитель
b157d50bd2
Коммит
6755ad74aa
|
@ -36,7 +36,6 @@
|
|||
struct pic32_rng {
|
||||
void __iomem *base;
|
||||
struct hwrng rng;
|
||||
struct clk *clk;
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -70,6 +69,7 @@ static int pic32_rng_read(struct hwrng *rng, void *buf, size_t max,
|
|||
static int pic32_rng_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct pic32_rng *priv;
|
||||
struct clk *clk;
|
||||
u32 v;
|
||||
int ret;
|
||||
|
||||
|
@ -81,13 +81,9 @@ static int pic32_rng_probe(struct platform_device *pdev)
|
|||
if (IS_ERR(priv->base))
|
||||
return PTR_ERR(priv->base);
|
||||
|
||||
priv->clk = devm_clk_get(&pdev->dev, NULL);
|
||||
if (IS_ERR(priv->clk))
|
||||
return PTR_ERR(priv->clk);
|
||||
|
||||
ret = clk_prepare_enable(priv->clk);
|
||||
if (ret)
|
||||
return ret;
|
||||
clk = devm_clk_get_enabled(&pdev->dev, NULL);
|
||||
if (IS_ERR(clk))
|
||||
return PTR_ERR(clk);
|
||||
|
||||
/* enable TRNG in enhanced mode */
|
||||
v = TRNGEN | TRNGMOD;
|
||||
|
@ -98,15 +94,11 @@ static int pic32_rng_probe(struct platform_device *pdev)
|
|||
|
||||
ret = devm_hwrng_register(&pdev->dev, &priv->rng);
|
||||
if (ret)
|
||||
goto err_register;
|
||||
return ret;
|
||||
|
||||
platform_set_drvdata(pdev, priv);
|
||||
|
||||
return 0;
|
||||
|
||||
err_register:
|
||||
clk_disable_unprepare(priv->clk);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int pic32_rng_remove(struct platform_device *pdev)
|
||||
|
@ -114,7 +106,6 @@ static int pic32_rng_remove(struct platform_device *pdev)
|
|||
struct pic32_rng *rng = platform_get_drvdata(pdev);
|
||||
|
||||
writel(0, rng->base + RNGCON);
|
||||
clk_disable_unprepare(rng->clk);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче