drivers/rtc/rtc-hid-sensor-time.c: enable HID input processing early
Enable the processing of HID input records before the RTC will be registered, in order to allow the RTC register function to read clock. Without doing that the clock can only be read after the probe function has finished. Signed-off-by: Alexander Holler <holler@ahsoftware.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
d5ceede8dc
Коммит
406bf31893
|
@ -281,11 +281,18 @@ static int hid_time_probe(struct platform_device *pdev)
|
||||||
goto err_open;
|
goto err_open;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Enable HID input processing early in order to be able to read the
|
||||||
|
* clock already in devm_rtc_device_register().
|
||||||
|
*/
|
||||||
|
hid_device_io_start(hsdev->hdev);
|
||||||
|
|
||||||
time_state->rtc = devm_rtc_device_register(&pdev->dev,
|
time_state->rtc = devm_rtc_device_register(&pdev->dev,
|
||||||
"hid-sensor-time", &hid_time_rtc_ops,
|
"hid-sensor-time", &hid_time_rtc_ops,
|
||||||
THIS_MODULE);
|
THIS_MODULE);
|
||||||
|
|
||||||
if (IS_ERR_OR_NULL(time_state->rtc)) {
|
if (IS_ERR_OR_NULL(time_state->rtc)) {
|
||||||
|
hid_device_io_stop(hsdev->hdev);
|
||||||
ret = time_state->rtc ? PTR_ERR(time_state->rtc) : -ENODEV;
|
ret = time_state->rtc ? PTR_ERR(time_state->rtc) : -ENODEV;
|
||||||
time_state->rtc = NULL;
|
time_state->rtc = NULL;
|
||||||
dev_err(&pdev->dev, "rtc device register failed!\n");
|
dev_err(&pdev->dev, "rtc device register failed!\n");
|
||||||
|
|
Загрузка…
Ссылка в новой задаче