rtc: ds1685: use threaded interrupt
authorThomas Bogendoerfer <tbogendoerfer@suse.de>
Tue, 16 Apr 2019 09:34:04 +0000 (11:34 +0200)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Tue, 16 Apr 2019 16:03:48 +0000 (18:03 +0200)
commit3b6bddda2fb68e0f784f5e5fabe91ba3f7399ef5
tree66ce6d8dc1308cf46acc1ab1f1e52036c5892837
parente330c3d547e8ab722dca23f3dc26c3eba5590e55
rtc: ds1685: use threaded interrupt

Handling of extended interrupts (kickstart, wake-up, ram-clear) was
moved off to a work queue, but the interrupts aren't acknowledged
in the interrupt handler. This leads to a deadlock, if driver
is used with interrupts. To fix this we use a threaded interrupt, get rid
of the work queue and do locking with just the rtc mutex lock.

Fixes: aaaf5fbf56f1 ("rtc: add driver for DS1685 family of real time clocks")
Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-ds1685.c
include/linux/rtc/ds1685.h