Skip to content

Commit

Permalink
Input: spear-keyboard - add clk_{un}prepare() support
Browse files Browse the repository at this point in the history
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: Vipul Kumar Samar <vipulkumar.samar@st.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
  • Loading branch information
Vipul Kumar Samar authored and Dmitry Torokhov committed Nov 28, 2012
1 parent 92aab96 commit 9336648
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions drivers/input/keyboard/spear-keyboard.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand All @@ -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);

Expand Down

0 comments on commit 9336648

Please sign in to comment.