The workqueue "btemp_wq" is used for measuring the temperature
periodically. It queues a single workitem (btemp_periodic_work) and
hence doesn't require ordering. Thus, the deprecated
create_singlethread_workqueue() instance has been replaced with
alloc_workqueue().

The WQ_MEM_RECLAIM flag has been set to ensure forward progress under
memory pressure.

Since there is a single work item, explicit concurrency
limit is unnecessary here.

Signed-off-by: Bhaktipriya Shridhar <bhaktipriy...@gmail.com>
---
 drivers/power/ab8500_btemp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/power/ab8500_btemp.c b/drivers/power/ab8500_btemp.c
index bf2e5dd..6ffdc18 100644
--- a/drivers/power/ab8500_btemp.c
+++ b/drivers/power/ab8500_btemp.c
@@ -1095,7 +1095,7 @@ static int ab8500_btemp_probe(struct platform_device 
*pdev)

        /* Create a work queue for the btemp */
        di->btemp_wq =
-               create_singlethread_workqueue("ab8500_btemp_wq");
+               alloc_workqueue("ab8500_btemp_wq", WQ_MEM_RECLAIM, 0);
        if (di->btemp_wq == NULL) {
                dev_err(di->dev, "failed to create work queue\n");
                return -ENOMEM;
--
2.1.4

Reply via email to