diff options
Diffstat (limited to 'drivers/rtc')
-rw-r--r-- | drivers/rtc/rtc-dev.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/rtc/rtc-dev.c b/drivers/rtc/rtc-dev.c index 814b9e1873f5..828b329e08e0 100644 --- a/drivers/rtc/rtc-dev.c +++ b/drivers/rtc/rtc-dev.c | |||
@@ -53,9 +53,10 @@ static int rtc_dev_open(struct inode *inode, struct file *file) | |||
53 | * Routine to poll RTC seconds field for change as often as possible, | 53 | * Routine to poll RTC seconds field for change as often as possible, |
54 | * after first RTC_UIE use timer to reduce polling | 54 | * after first RTC_UIE use timer to reduce polling |
55 | */ | 55 | */ |
56 | static void rtc_uie_task(void *data) | 56 | static void rtc_uie_task(struct work_struct *work) |
57 | { | 57 | { |
58 | struct rtc_device *rtc = data; | 58 | struct rtc_device *rtc = |
59 | container_of(work, struct rtc_device, uie_task); | ||
59 | struct rtc_time tm; | 60 | struct rtc_time tm; |
60 | int num = 0; | 61 | int num = 0; |
61 | int err; | 62 | int err; |
@@ -411,7 +412,7 @@ static int rtc_dev_add_device(struct class_device *class_dev, | |||
411 | spin_lock_init(&rtc->irq_lock); | 412 | spin_lock_init(&rtc->irq_lock); |
412 | init_waitqueue_head(&rtc->irq_queue); | 413 | init_waitqueue_head(&rtc->irq_queue); |
413 | #ifdef CONFIG_RTC_INTF_DEV_UIE_EMUL | 414 | #ifdef CONFIG_RTC_INTF_DEV_UIE_EMUL |
414 | INIT_WORK(&rtc->uie_task, rtc_uie_task, rtc); | 415 | INIT_WORK(&rtc->uie_task, rtc_uie_task); |
415 | setup_timer(&rtc->uie_timer, rtc_uie_timer, (unsigned long)rtc); | 416 | setup_timer(&rtc->uie_timer, rtc_uie_timer, (unsigned long)rtc); |
416 | #endif | 417 | #endif |
417 | 418 | ||