mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 16:13:19 +09:00
serial: sccnxp: Use devm_clk_get_enabled() helper
The devm_clk_get_enabled() helper:
- calls devm_clk_get()
- calls clk_prepare_enable() and registers what is needed in order to
call clk_disable_unprepare() when needed, as a managed resource.
This simplifies the code.
This also avoids some other warnings/issues. (see [1])
[1]: https://lore.kernel.org/all/20221118233101.never.215-kees@kernel.org/
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/735a807c2df835aa436dcbc76b374f983f89a9af.1672419577.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
6e054678ff
commit
03e30f06e5
@@ -913,23 +913,13 @@ static int sccnxp_probe(struct platform_device *pdev)
|
||||
} else if (PTR_ERR(s->regulator) == -EPROBE_DEFER)
|
||||
return -EPROBE_DEFER;
|
||||
|
||||
clk = devm_clk_get(&pdev->dev, NULL);
|
||||
clk = devm_clk_get_enabled(&pdev->dev, NULL);
|
||||
if (IS_ERR(clk)) {
|
||||
ret = PTR_ERR(clk);
|
||||
if (ret == -EPROBE_DEFER)
|
||||
goto err_out;
|
||||
uartclk = 0;
|
||||
} else {
|
||||
ret = clk_prepare_enable(clk);
|
||||
if (ret)
|
||||
goto err_out;
|
||||
|
||||
ret = devm_add_action_or_reset(&pdev->dev,
|
||||
(void(*)(void *))clk_disable_unprepare,
|
||||
clk);
|
||||
if (ret)
|
||||
goto err_out;
|
||||
|
||||
uartclk = clk_get_rate(clk);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user