提交 9db8995b 编写于 作者: T Tejun Heo

rtc: don't use flush_scheduled_work()

flush_scheduled_work() is deprecated and scheduled to be removed.  On
removal, directly cancel the work, and flush the uie_task in
rtc-dev.c::clear_uie().
Signed-off-by: NTejun Heo <tj@kernel.org>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: rtc-linux@googlegroups.com
上级 0d9ee5b2
...@@ -104,7 +104,7 @@ static int clear_uie(struct rtc_device *rtc) ...@@ -104,7 +104,7 @@ static int clear_uie(struct rtc_device *rtc)
} }
if (rtc->uie_task_active) { if (rtc->uie_task_active) {
spin_unlock_irq(&rtc->irq_lock); spin_unlock_irq(&rtc->irq_lock);
flush_scheduled_work(); flush_work_sync(&rtc->uie_task);
spin_lock_irq(&rtc->irq_lock); spin_lock_irq(&rtc->irq_lock);
} }
rtc->uie_irq_active = 0; rtc->uie_irq_active = 0;
......
...@@ -813,7 +813,7 @@ static int __devexit ds1305_remove(struct spi_device *spi) ...@@ -813,7 +813,7 @@ static int __devexit ds1305_remove(struct spi_device *spi)
if (spi->irq) { if (spi->irq) {
set_bit(FLAG_EXITING, &ds1305->flags); set_bit(FLAG_EXITING, &ds1305->flags);
free_irq(spi->irq, ds1305); free_irq(spi->irq, ds1305);
flush_scheduled_work(); cancel_work_sync(&ds1305->work);
} }
rtc_device_unregister(ds1305->rtc); rtc_device_unregister(ds1305->rtc);
......
...@@ -417,7 +417,7 @@ static int __devexit ds1374_remove(struct i2c_client *client) ...@@ -417,7 +417,7 @@ static int __devexit ds1374_remove(struct i2c_client *client)
mutex_unlock(&ds1374->mutex); mutex_unlock(&ds1374->mutex);
free_irq(client->irq, client); free_irq(client->irq, client);
flush_scheduled_work(); cancel_work_sync(&ds1374->work);
} }
rtc_device_unregister(ds1374->rtc); rtc_device_unregister(ds1374->rtc);
......
...@@ -463,7 +463,7 @@ static int __devexit ds3232_remove(struct i2c_client *client) ...@@ -463,7 +463,7 @@ static int __devexit ds3232_remove(struct i2c_client *client)
mutex_unlock(&ds3232->mutex); mutex_unlock(&ds3232->mutex);
free_irq(client->irq, client); free_irq(client->irq, client);
flush_scheduled_work(); cancel_work_sync(&ds3232->work);
} }
rtc_device_unregister(ds3232->rtc); rtc_device_unregister(ds3232->rtc);
......
...@@ -650,7 +650,7 @@ static int __devexit rx8025_remove(struct i2c_client *client) ...@@ -650,7 +650,7 @@ static int __devexit rx8025_remove(struct i2c_client *client)
mutex_unlock(lock); mutex_unlock(lock);
free_irq(client->irq, client); free_irq(client->irq, client);
flush_scheduled_work(); cancel_work_sync(&rx8025->work);
} }
rx8025_sysfs_unregister(&client->dev); rx8025_sysfs_unregister(&client->dev);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册