Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp5563036pxb; Mon, 14 Feb 2022 02:02:11 -0800 (PST) X-Google-Smtp-Source: ABdhPJzHYhxGs7Kma/4EJPlPiWh6K+y8QNvZkodrN0cgomIDqqaRt6lvNDUmb3PkuQ9VlMEWyEHl X-Received: by 2002:aa7:8d83:: with SMTP id i3mr13596678pfr.14.1644832931541; Mon, 14 Feb 2022 02:02:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1644832931; cv=none; d=google.com; s=arc-20160816; b=BlHVUvRGtD7RDKNxoygQErhRMgckQsIYfUAcTIyDRMg7JX89M+RAXerzdoAwb/Esz3 +lGgVSvptyuJIR5hEQpF20G2fru4FDhySa6FA0np4htkcYLMEUZHVp83AN4pdKl2P8lc BTuFikKFMy3qA+054m3prplb8kVy65t3Pjb6pFttCLWxjK2yX44VMmOZsDe2zAs4lCit E4UgnlSpUMrT4QVytZBQv13T5g4pxSBxIRCxS6VnimNaT4jVNMREg0CtisqqBIjzZo7K IL3yFW8zmmBDozMMj+S9XonSY0B38woKoB3k+TMqrajVA9vPLk5NJGt6vBrZDmp0JjVN 4gXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=wXN1VZF/ecvMzxddV2ruq0IoDe6n4lginchxRlbyOBs=; b=NT/y7ZjWqAdbnl7Z52MjDIAIhr825taz44+62kFiUwYGq9EOJBh3rPHhMTIsmbLbKc YtO46R49e9KjSj3jrXDcsTB/Nu0cZYEk/yzaR73CHYNixc+vxXsEAxbqV7i8hO9dgZA3 vIVZR/H0nM2LWKwI4aVteimoRedWhrObhrkwvbLeHxFQoFCcSI/kxDuAotM+cnRjQx4O yyppzHaG5C4/J5U8ciBGh1y4vveKucZ7jQ0aTNpoQ/vDAtk3u+1ouzkKkdvdaf+IiFdz erGrA1cY4CDP1HC3RTwXEX+GrmrwLQLCTKE+qcxBAOu8u5bJwXUlQxOxYbWri7KcUlrA en5g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ob11si10962577pjb.185.2022.02.14.02.01.53; Mon, 14 Feb 2022 02:02:11 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237588AbiBMRzS (ORCPT + 99 others); Sun, 13 Feb 2022 12:55:18 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:51946 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235658AbiBMRzR (ORCPT ); Sun, 13 Feb 2022 12:55:17 -0500 Received: from smtp.smtpout.orange.fr (smtp08.smtpout.orange.fr [80.12.242.130]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3361B5A5B4 for ; Sun, 13 Feb 2022 09:55:11 -0800 (PST) Received: from pop-os.home ([90.126.236.122]) by smtp.orange.fr with ESMTPA id JJ5WndLDvuvBOJJ5XnOK2P; Sun, 13 Feb 2022 18:55:09 +0100 X-ME-Helo: pop-os.home X-ME-Auth: YWZlNiIxYWMyZDliZWIzOTcwYTEyYzlhMmU3ZiQ1M2U2MzfzZDfyZTMxZTBkMTYyNDBjNDJlZmQ3ZQ== X-ME-Date: Sun, 13 Feb 2022 18:55:09 +0100 X-ME-IP: 90.126.236.122 From: Christophe JAILLET To: Support Opensource , Sebastian Reichel Cc: linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET , linux-pm@vger.kernel.org Subject: [PATCH] power: supply: da9150-fg: Use devm_delayed_work_autocancel() Date: Sun, 13 Feb 2022 18:55:05 +0100 Message-Id: X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This driver only uses managed resources, except for the delayed work, if it is used. Use devm_delayed_work_autocancel() to also manage the delayed work. The error handling path of the probe and the remove function can both be removed. This saves a few lines of code. Signed-off-by: Christophe JAILLET --- drivers/power/supply/da9150-fg.c | 31 ++++++++++--------------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/drivers/power/supply/da9150-fg.c b/drivers/power/supply/da9150-fg.c index 6e367826aae9..e63fa62d1943 100644 --- a/drivers/power/supply/da9150-fg.c +++ b/drivers/power/supply/da9150-fg.c @@ -20,6 +20,7 @@ #include #include #include +#include /* Core2Wire */ #define DA9150_QIF_READ (0x0 << 7) @@ -506,7 +507,13 @@ static int da9150_fg_probe(struct platform_device *pdev) * work for reporting data updates. */ if (fg->interval) { - INIT_DELAYED_WORK(&fg->work, da9150_fg_work); + ret = devm_delayed_work_autocancel(dev, &fg->work, + da9150_fg_work); + if (ret) { + dev_err(dev, "Failed to init work\n"); + return ret; + } + schedule_delayed_work(&fg->work, msecs_to_jiffies(fg->interval)); } @@ -515,34 +522,17 @@ static int da9150_fg_probe(struct platform_device *pdev) irq = platform_get_irq_byname(pdev, "FG"); if (irq < 0) { dev_err(dev, "Failed to get IRQ FG: %d\n", irq); - ret = irq; - goto irq_fail; + return irq; } ret = devm_request_threaded_irq(dev, irq, NULL, da9150_fg_irq, IRQF_ONESHOT, "FG", fg); if (ret) { dev_err(dev, "Failed to request IRQ %d: %d\n", irq, ret); - goto irq_fail; + return ret; } return 0; - -irq_fail: - if (fg->interval) - cancel_delayed_work(&fg->work); - - return ret; -} - -static int da9150_fg_remove(struct platform_device *pdev) -{ - struct da9150_fg *fg = platform_get_drvdata(pdev); - - if (fg->interval) - cancel_delayed_work(&fg->work); - - return 0; } static int da9150_fg_resume(struct platform_device *pdev) @@ -564,7 +554,6 @@ static struct platform_driver da9150_fg_driver = { .name = "da9150-fuel-gauge", }, .probe = da9150_fg_probe, - .remove = da9150_fg_remove, .resume = da9150_fg_resume, }; -- 2.32.0