From patchwork Fri Dec 7 11:53:28 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sachin Kamat X-Patchwork-Id: 13415 Return-Path: X-Original-To: patchwork@peony.canonical.com Delivered-To: patchwork@peony.canonical.com Received: from fiordland.canonical.com (fiordland.canonical.com [91.189.94.145]) by peony.canonical.com (Postfix) with ESMTP id 104FB23E27 for ; Fri, 7 Dec 2012 12:00:27 +0000 (UTC) Received: from mail-ie0-f180.google.com (mail-ie0-f180.google.com [209.85.223.180]) by fiordland.canonical.com (Postfix) with ESMTP id AC944A1977F for ; Fri, 7 Dec 2012 12:00:26 +0000 (UTC) Received: by mail-ie0-f180.google.com with SMTP id c10so892522ieb.11 for ; Fri, 07 Dec 2012 04:00:26 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-forwarded-to:x-forwarded-for:delivered-to:received-spf:from:to:cc :subject:date:message-id:x-mailer:x-gm-message-state; bh=NiiatQcb6VOhl3fy2w8rCBzOBuUWiFYqVKFbcqdIxLQ=; b=Do8YVAsa4HjeeNYdyAkYQF9zhwX3YVAaUE9zOxgfj0Dq6XHy7bNZ27OXFnmOsbxW3m Pm5dlqm6Yqy3OBNor3AI++p5E03BbEgpUd1wHweIxRjKd03ZrAkzuFDGF0TonmN6DU9h NYheXATBGSNsbLAjWc46Cs1I1yZqhvgsR70xgVKSonx7ce5NlYA6/1BvTQ8r3sbOd5Zn 6eMl4Q7AKsTNntsyzNyX8FgnnUl3DUewWmdpr/Sy2HkvGy1goA4K/MK+2qHc3sDfVzuU 1X/vOGATnuVXBiX83lrvyropY/RD75AI3jUSkibtF54DCWm3dzVD1QLBUD8X3jsTb1bD eCyQ== Received: by 10.50.185.166 with SMTP id fd6mr4603883igc.62.1354881626098; Fri, 07 Dec 2012 04:00:26 -0800 (PST) X-Forwarded-To: linaro-patchwork@canonical.com X-Forwarded-For: patch@linaro.org linaro-patchwork@canonical.com Delivered-To: patches@linaro.org Received: by 10.50.67.148 with SMTP id n20csp469621igt; Fri, 7 Dec 2012 04:00:25 -0800 (PST) Received: by 10.68.191.10 with SMTP id gu10mr14866210pbc.115.1354881625090; Fri, 07 Dec 2012 04:00:25 -0800 (PST) Received: from mail-pa0-f49.google.com (mail-pa0-f49.google.com [209.85.220.49]) by mx.google.com with ESMTPS id r9si14916964pax.252.2012.12.07.04.00.24 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 07 Dec 2012 04:00:25 -0800 (PST) Received-SPF: neutral (google.com: 209.85.220.49 is neither permitted nor denied by best guess record for domain of sachin.kamat@linaro.org) client-ip=209.85.220.49; Authentication-Results: mx.google.com; spf=neutral (google.com: 209.85.220.49 is neither permitted nor denied by best guess record for domain of sachin.kamat@linaro.org) smtp.mail=sachin.kamat@linaro.org Received: by mail-pa0-f49.google.com with SMTP id bi1so487344pad.22 for ; Fri, 07 Dec 2012 04:00:24 -0800 (PST) Received: by 10.66.76.194 with SMTP id m2mr8643610paw.14.1354881624575; Fri, 07 Dec 2012 04:00:24 -0800 (PST) Received: from localhost.localdomain ([115.113.119.130]) by mx.google.com with ESMTPS id yi9sm6595045pbc.39.2012.12.07.04.00.20 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 07 Dec 2012 04:00:23 -0800 (PST) From: Sachin Kamat To: linux-kernel@vger.kernel.org Cc: dwmw2@infradead.org, cbou@mail.ru, anton.vorontsov@linaro.org, sachin.kamat@linaro.org, patches@linaro.org, Arun R Murthy Subject: [PATCH 1/1] power/ab8500_charger: Use devm_regulator_get API Date: Fri, 7 Dec 2012 17:23:28 +0530 Message-Id: <1354881208-9930-1-git-send-email-sachin.kamat@linaro.org> X-Mailer: git-send-email 1.7.4.1 X-Gm-Message-State: ALoCoQma2OXusiT8N/5W8VXjVm5cCVvq9AetSirVToXGg43FXgx/u7/gsS18drwhALUZpRWJHeNV devm_regulator_get() is device managed and makes error handling and code cleanup simpler. Cc: Arun R Murthy Signed-off-by: Sachin Kamat Acked-by: Linus Walleij Acked-by: Arun Murthy --- Compile tested using linux-next. --- drivers/power/ab8500_charger.c | 11 +++-------- 1 files changed, 3 insertions(+), 8 deletions(-) diff --git a/drivers/power/ab8500_charger.c b/drivers/power/ab8500_charger.c index 3be9c0e..5062023 100644 --- a/drivers/power/ab8500_charger.c +++ b/drivers/power/ab8500_charger.c @@ -2509,9 +2509,6 @@ static int ab8500_charger_remove(struct platform_device *pdev) free_irq(irq, di); } - /* disable the regulator */ - regulator_put(di->regu); - /* Backup battery voltage and current disable */ ret = abx500_mask_and_set_register_interruptible(di->dev, AB8500_RTC, AB8500_RTC_CTRL_REG, RTC_BUP_CH_ENA, 0); @@ -2665,7 +2662,7 @@ static int ab8500_charger_probe(struct platform_device *pdev) * is a charger connected to avoid erroneous BTEMP_HIGH/LOW * interrupts during charging */ - di->regu = regulator_get(di->dev, "vddadc"); + di->regu = devm_regulator_get(di->dev, "vddadc"); if (IS_ERR(di->regu)) { ret = PTR_ERR(di->regu); dev_err(di->dev, "failed to get vddadc regulator\n"); @@ -2677,14 +2674,14 @@ static int ab8500_charger_probe(struct platform_device *pdev) ret = ab8500_charger_init_hw_registers(di); if (ret) { dev_err(di->dev, "failed to initialize ABB registers\n"); - goto free_regulator; + goto free_charger_wq; } /* Register AC charger class */ ret = power_supply_register(di->dev, &di->ac_chg.psy); if (ret) { dev_err(di->dev, "failed to register AC charger\n"); - goto free_regulator; + goto free_charger_wq; } /* Register USB charger class */ @@ -2758,8 +2755,6 @@ free_usb: power_supply_unregister(&di->usb_chg.psy); free_ac: power_supply_unregister(&di->ac_chg.psy); -free_regulator: - regulator_put(di->regu); free_charger_wq: destroy_workqueue(di->charger_wq); return ret;