diff options
author | Bhaktipriya Shridhar <bhaktipriya96@gmail.com> | 2016-08-13 16:18:43 (GMT) |
---|---|---|
committer | Sebastian Reichel <sre@kernel.org> | 2016-08-15 22:54:37 (GMT) |
commit | d8a69251fb58a756e2dd00cc5c7f1b54d383e203 (patch) | |
tree | 38b02b19cee3ad392bacf0b81f7d0afef16d6875 /drivers/power/supply/pm2301_charger.c | |
parent | a8dd5b6868dd8ecb79f741dd94ac25a46ac19ba4 (diff) | |
download | linux-d8a69251fb58a756e2dd00cc5c7f1b54d383e203.tar.xz |
power: pm2301_charger: Remove deprecated create_singlethread_workqueue
alloc_ordered_workqueue() with WQ_MEM_RECLAIM set replaces
deprecated create_singlethread_workqueue(). This is the identity
conversion.
The workqueue "charger_wq" is used for running all the charger related
tasks. This involves charger detection, checking for HW failure and HW
status. This workqueue has been identity converted.
It queues multiple workitems viz &pm2->check_main_thermal_prot_work,
&pm2->check_hw_failure_work, &pm2->ac_work. Hence, the deprecated
create_singlethread_workqueue() instance has been replaced with a
dedicated ordered workqueue.
The WQ_MEM_RECLAIM flag has been set to ensure forward progress under
memory pressure.
Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
Diffstat (limited to 'drivers/power/supply/pm2301_charger.c')
-rw-r--r-- | drivers/power/supply/pm2301_charger.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/power/supply/pm2301_charger.c b/drivers/power/supply/pm2301_charger.c index fb62ed3..78561b6 100644 --- a/drivers/power/supply/pm2301_charger.c +++ b/drivers/power/supply/pm2301_charger.c @@ -1054,7 +1054,8 @@ static int pm2xxx_wall_charger_probe(struct i2c_client *i2c_client, pm2->ac_chg.external = true; /* Create a work queue for the charger */ - pm2->charger_wq = create_singlethread_workqueue("pm2xxx_charger_wq"); + pm2->charger_wq = alloc_ordered_workqueue("pm2xxx_charger_wq", + WQ_MEM_RECLAIM); if (pm2->charger_wq == NULL) { ret = -ENOMEM; dev_err(pm2->dev, "failed to create work queue\n"); |