Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 93366489 authored by Vipul Kumar Samar's avatar Vipul Kumar Samar Committed by Dmitry Torokhov
Browse files

Input: spear-keyboard - add clk_{un}prepare() support



clk_{un}prepare is mandatory for platforms using common clock framework.
Because for SPEAr we don't do anything in clk_{un}prepare() calls, just
call them once in probe/remove.

Signed-off-by: default avatarVipul Kumar Samar <vipulkumar.samar@st.com>
Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 92aab960
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -267,9 +267,14 @@ 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;
	}

@@ -281,6 +286,11 @@ static int spear_kbd_probe(struct platform_device *pdev)

static int spear_kbd_remove(struct platform_device *pdev)
{
	struct spear_kbd *kbd = platform_get_drvdata(pdev);

	input_unregister_device(kbd->input);
	clk_unprepare(kbd->clk);

	device_init_wakeup(&pdev->dev, 0);
	platform_set_drvdata(pdev, NULL);