mfd: update workqueue usages
flush_scheduled_work() is deprecated and scheduled to be removed. * In menelaus, flush menelaus->work directly on probe failure. Also, make sure the work isn't running on removal. * In tps65010, cancel_delayed_work() + flush_scheduled_work() -> cancel_delayed_work_sync(). While at it, remove unnecessary (void) casts on return value, and use schedule_delayed_work() and to_delayed_work() instead of using delayed_work's internal work field. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Samuel Ortiz <sameo@linux.intel.com>
这个提交包含在:
@@ -1259,7 +1259,7 @@ static int menelaus_probe(struct i2c_client *client,
|
||||
return 0;
|
||||
fail2:
|
||||
free_irq(client->irq, menelaus);
|
||||
flush_scheduled_work();
|
||||
flush_work_sync(&menelaus->work);
|
||||
fail1:
|
||||
kfree(menelaus);
|
||||
return err;
|
||||
@@ -1270,6 +1270,7 @@ static int __exit menelaus_remove(struct i2c_client *client)
|
||||
struct menelaus_chip *menelaus = i2c_get_clientdata(client);
|
||||
|
||||
free_irq(client->irq, menelaus);
|
||||
flush_work_sync(&menelaus->work);
|
||||
kfree(menelaus);
|
||||
the_menelaus = NULL;
|
||||
return 0;
|
||||
|
在新工单中引用
屏蔽一个用户