Commit 9336648978c2e9de9bf3c026918db386ace19a86
Committed by
Dmitry Torokhov
1 parent
92aab96034
Exists in
smarc-l5.0.0_1.0.0-ga
and in
5 other branches
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: 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>
Showing 1 changed file with 10 additions and 0 deletions Side-by-side Diff
drivers/input/keyboard/spear-keyboard.c
... | ... | @@ -267,9 +267,14 @@ |
267 | 267 | return error; |
268 | 268 | } |
269 | 269 | |
270 | + error = clk_prepare(kbd->clk); | |
271 | + if (error) | |
272 | + return error; | |
273 | + | |
270 | 274 | error = input_register_device(input_dev); |
271 | 275 | if (error) { |
272 | 276 | dev_err(&pdev->dev, "Unable to register keyboard device\n"); |
277 | + clk_unprepare(kbd->clk); | |
273 | 278 | return error; |
274 | 279 | } |
275 | 280 | |
... | ... | @@ -281,6 +286,11 @@ |
281 | 286 | |
282 | 287 | static int spear_kbd_remove(struct platform_device *pdev) |
283 | 288 | { |
289 | + struct spear_kbd *kbd = platform_get_drvdata(pdev); | |
290 | + | |
291 | + input_unregister_device(kbd->input); | |
292 | + clk_unprepare(kbd->clk); | |
293 | + | |
284 | 294 | device_init_wakeup(&pdev->dev, 0); |
285 | 295 | platform_set_drvdata(pdev, NULL); |
286 | 296 |