Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp452746pxb; Wed, 22 Sep 2021 06:01:14 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw1V1SBbVFgfMhhgg7hwyP9kuFxV0nFZWZZIeApiGJZZGzgO75DxoUYvlE0bK+sAagokzru X-Received: by 2002:a05:6638:4122:: with SMTP id ay34mr4690561jab.28.1632315674667; Wed, 22 Sep 2021 06:01:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632315674; cv=none; d=google.com; s=arc-20160816; b=KIp/V0Y3dyQyFIoKxz+bmPDuHGH8eRZ9lNBXLvLq0Nga1pvgTdklVf2HeGEQYKCsXS t2TEIUP0PlqE1bKufY6iT3UIkd0VhTthU6cQq58TbJ1/cOJ+Ub4Yl942zWhTiuAhcnfQ Oh4hYjrMt7Gz3U5BLIX5wt7Disb4CSTi3hlgZvYFYEDtFcCVLViIlfwQFfPSs8X2Lgp2 OhtAu4EQNMgYk/lQBJy5Ix0QcHCH2Z7PUSv/U46KDFoDxDTgMxwbuKcAT+uwgFxxDdFr 4O3KqDlKzD+GAz9n+wx2bj0hfg9kAFaJC9K79ByCRMx7RDYcro8GrwoRRr1co5HDLein zjng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from; bh=FtOJS1LaOsDz0huQbpGcaOFuGxF0BIskcka1NbVK7r0=; b=v8T23mqoQlLbOC2Eaz5105OIy9txybcI5N0vq+m+vKFfCn8Uc4CSIABaiyznGqIXs2 bcnrDpwPUHxVv3VP92MXcIUs1zHWe2zAOrb+v+H8EwQo6bbN2gP5wD27cn8u0mq2fVMl MfODPqoQivR7AX/g34zcRL2b+opAH0O6Ocupa7jWCAQBGaFVBfdryseJV26+6CplQv48 RWaZf4RHddYf1Qe2Ta0qGzI7Outt+hkFgsNjYVKuB+Bu6PTkOR7pfoUkiDIOPwE+Ybsk 6lrec+ip72f80unGfBIgPrVFcvzcFEq/c3wJH8iPlgqB4zAXCX8YeL+CJmZqHKtWLYiV +TyQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u10si2367908ilm.0.2021.09.22.06.00.47; Wed, 22 Sep 2021 06:01:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230262AbhIVNBE (ORCPT + 99 others); Wed, 22 Sep 2021 09:01:04 -0400 Received: from mx24.baidu.com ([111.206.215.185]:54210 "EHLO baidu.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S230350AbhIVNBD (ORCPT ); Wed, 22 Sep 2021 09:01:03 -0400 Received: from BC-Mail-Ex27.internal.baidu.com (unknown [172.31.51.21]) by Forcepoint Email with ESMTPS id A9B8549C90D736DA522A; Wed, 22 Sep 2021 20:59:31 +0800 (CST) Received: from BJHW-MAIL-EX27.internal.baidu.com (10.127.64.42) by BC-Mail-Ex27.internal.baidu.com (172.31.51.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2176.2; Wed, 22 Sep 2021 20:59:31 +0800 Received: from LAPTOP-UKSR4ENP.internal.baidu.com (172.31.63.8) by BJHW-MAIL-EX27.internal.baidu.com (10.127.64.42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.14; Wed, 22 Sep 2021 20:59:30 +0800 From: Cai Huoqing To: CC: Talel Shenhar , Borislav Petkov , "Mauro Carvalho Chehab" , Tony Luck , "James Morse" , Robert Richter , , Subject: [PATCH] EDAC/al-mc-edac: Make use of the helper function devm_add_action_or_reset() Date: Wed, 22 Sep 2021 20:59:23 +0800 Message-ID: <20210922125924.321-1-caihuoqing@baidu.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [172.31.63.8] X-ClientProxiedBy: BC-Mail-Ex31.internal.baidu.com (172.31.51.25) To BJHW-MAIL-EX27.internal.baidu.com (10.127.64.42) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The helper function devm_add_action_or_reset() will internally call devm_add_action(), and if devm_add_action() fails then it will execute the action mentioned and return the error code. So use devm_add_action_or_reset() instead of devm_add_action() to simplify the error handling, reduce the code. Signed-off-by: Cai Huoqing --- drivers/edac/al_mc_edac.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/edac/al_mc_edac.c b/drivers/edac/al_mc_edac.c index 7d4f396c27b5..178b9e581a72 100644 --- a/drivers/edac/al_mc_edac.c +++ b/drivers/edac/al_mc_edac.c @@ -238,11 +238,9 @@ static int al_mc_edac_probe(struct platform_device *pdev) if (!mci) return -ENOMEM; - ret = devm_add_action(&pdev->dev, devm_al_mc_edac_free, mci); - if (ret) { - edac_mc_free(mci); + ret = devm_add_action_or_reset(&pdev->dev, devm_al_mc_edac_free, mci); + if (ret) return ret; - } platform_set_drvdata(pdev, mci); al_mc = mci->pvt_info; @@ -293,11 +291,9 @@ static int al_mc_edac_probe(struct platform_device *pdev) return ret; } - ret = devm_add_action(&pdev->dev, devm_al_mc_edac_del, &pdev->dev); - if (ret) { - edac_mc_del_mc(&pdev->dev); + ret = devm_add_action_or_reset(&pdev->dev, devm_al_mc_edac_del, &pdev->dev); + if (ret) return ret; - } if (al_mc->irq_ue > 0) { ret = devm_request_irq(&pdev->dev, -- 2.25.1