mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 11:03:43 +02:00
Input: spear-keyboard - switch to devm_clk_get_prepared()
Use devm_clk_get_prepared() in order to remove a clk_unprepare() in an error handling path of the probe and from the .remove() function. This done, the whole .remove() function can also be axed because 'input_dev' is a managed resource allocated with devm_input_allocate_device() and we can fully rely on devm for cleaning up. Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Link: https://lore.kernel.org/r/062986b0a5105cbc61330da0e55b22c00e2c1c4f.1722062145.git.christophe.jaillet@wanadoo.fr Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
740ff03d72
commit
3fe81a5625
|
|
@ -222,7 +222,7 @@ static int spear_kbd_probe(struct platform_device *pdev)
|
|||
if (IS_ERR(kbd->io_base))
|
||||
return PTR_ERR(kbd->io_base);
|
||||
|
||||
kbd->clk = devm_clk_get(&pdev->dev, NULL);
|
||||
kbd->clk = devm_clk_get_prepared(&pdev->dev, NULL);
|
||||
if (IS_ERR(kbd->clk))
|
||||
return PTR_ERR(kbd->clk);
|
||||
|
||||
|
|
@ -255,14 +255,9 @@ static int spear_kbd_probe(struct platform_device *pdev)
|
|||
return error;
|
||||
}
|
||||
|
||||
error = clk_prepare(kbd->clk);
|
||||
if (error)
|
||||
return error;
|
||||
|
||||
error = input_register_device(input_dev);
|
||||
if (error) {
|
||||
dev_err(&pdev->dev, "Unable to register keyboard device\n");
|
||||
clk_unprepare(kbd->clk);
|
||||
return error;
|
||||
}
|
||||
|
||||
|
|
@ -272,14 +267,6 @@ static int spear_kbd_probe(struct platform_device *pdev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void spear_kbd_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct spear_kbd *kbd = platform_get_drvdata(pdev);
|
||||
|
||||
input_unregister_device(kbd->input);
|
||||
clk_unprepare(kbd->clk);
|
||||
}
|
||||
|
||||
static int spear_kbd_suspend(struct device *dev)
|
||||
{
|
||||
struct platform_device *pdev = to_platform_device(dev);
|
||||
|
|
@ -373,7 +360,6 @@ MODULE_DEVICE_TABLE(of, spear_kbd_id_table);
|
|||
|
||||
static struct platform_driver spear_kbd_driver = {
|
||||
.probe = spear_kbd_probe,
|
||||
.remove_new = spear_kbd_remove,
|
||||
.driver = {
|
||||
.name = "keyboard",
|
||||
.pm = pm_sleep_ptr(&spear_kbd_pm_ops),
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user