Skip to content

Commit 9d8b7b6

Browse files
Andi Shytiwsakernel
authored andcommitted
i2c: lpc2k: Use devm_clk_get_enabled()
Replace the pair of functions, devm_clk_get() and clk_prepare_enable(), with a single function devm_clk_get_enabled(). Signed-off-by: Andi Shyti <[email protected]> Signed-off-by: Wolfram Sang <[email protected]>
1 parent 2153244 commit 9d8b7b6

File tree

1 file changed

+5
-17
lines changed

1 file changed

+5
-17
lines changed

drivers/i2c/busses/i2c-lpc2k.c

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -365,23 +365,17 @@ static int i2c_lpc2k_probe(struct platform_device *pdev)
365365

366366
init_waitqueue_head(&i2c->wait);
367367

368-
i2c->clk = devm_clk_get(&pdev->dev, NULL);
368+
i2c->clk = devm_clk_get_enabled(&pdev->dev, NULL);
369369
if (IS_ERR(i2c->clk)) {
370-
dev_err(&pdev->dev, "error getting clock\n");
370+
dev_err(&pdev->dev, "failed to enable clock.\n");
371371
return PTR_ERR(i2c->clk);
372372
}
373373

374-
ret = clk_prepare_enable(i2c->clk);
375-
if (ret) {
376-
dev_err(&pdev->dev, "unable to enable clock.\n");
377-
return ret;
378-
}
379-
380374
ret = devm_request_irq(&pdev->dev, i2c->irq, i2c_lpc2k_handler, 0,
381375
dev_name(&pdev->dev), i2c);
382376
if (ret < 0) {
383377
dev_err(&pdev->dev, "can't request interrupt.\n");
384-
goto fail_clk;
378+
return ret;
385379
}
386380

387381
disable_irq_nosync(i2c->irq);
@@ -397,8 +391,7 @@ static int i2c_lpc2k_probe(struct platform_device *pdev)
397391
clkrate = clk_get_rate(i2c->clk);
398392
if (clkrate == 0) {
399393
dev_err(&pdev->dev, "can't get I2C base clock\n");
400-
ret = -EINVAL;
401-
goto fail_clk;
394+
return -EINVAL;
402395
}
403396

404397
/* Setup I2C dividers to generate clock with proper duty cycle */
@@ -424,23 +417,18 @@ static int i2c_lpc2k_probe(struct platform_device *pdev)
424417

425418
ret = i2c_add_adapter(&i2c->adap);
426419
if (ret < 0)
427-
goto fail_clk;
420+
return ret;
428421

429422
dev_info(&pdev->dev, "LPC2K I2C adapter\n");
430423

431424
return 0;
432-
433-
fail_clk:
434-
clk_disable_unprepare(i2c->clk);
435-
return ret;
436425
}
437426

438427
static void i2c_lpc2k_remove(struct platform_device *dev)
439428
{
440429
struct lpc2k_i2c *i2c = platform_get_drvdata(dev);
441430

442431
i2c_del_adapter(&i2c->adap);
443-
clk_disable_unprepare(i2c->clk);
444432
}
445433

446434
#ifdef CONFIG_PM

0 commit comments

Comments
 (0)