From patchwork Wed Jun 5 06:13:01 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sachin Kamat X-Patchwork-Id: 2665231 Return-Path: X-Original-To: patchwork-linux-pm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork2.kernel.org (Postfix) with ESMTP id 55D26DF264 for ; Wed, 5 Jun 2013 06:27:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752006Ab3FEG10 (ORCPT ); Wed, 5 Jun 2013 02:27:26 -0400 Received: from mail-pd0-f170.google.com ([209.85.192.170]:35558 "EHLO mail-pd0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751268Ab3FEG1Z (ORCPT ); Wed, 5 Jun 2013 02:27:25 -0400 Received: by mail-pd0-f170.google.com with SMTP id x10so1359197pdj.15 for ; Tue, 04 Jun 2013 23:27:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references :x-gm-message-state; bh=+UbDQDFV9f34nZXh7u4vcaeRWS7sG+c8g6OR6Ebq3bg=; b=mBEGfbjXbHao293HDQskHWoKExOWqbfKmeZCBwpN/DDF1gIwY7hJPxe049AK3jV3c5 YbzX7V1W4DWm0wnWtKH8oFEqWDm+UvS3P/JNUeXYfFAiNXktHWmV+7+YfmL9B1vXhkYG wgRSUbu7VVZhhRr3+E6elylV2v79C0DMAzv0LugBiTevz3RPAJEiqPidDQ8qzObVLmrB TUhzVXGIpSI1zjrl7PvQYiwcWy/98F7U5J8wLXHoiiP5br1OR3SlPUvODhK2smHY3dMa zaQLqpaNuta5ymFqDZ1KQDF/eMccNv9RZRqKY5vfFBJ/DbI9VGj/7lzTPpbpuy+asWZI nHQw== X-Received: by 10.66.192.7 with SMTP id hc7mr32297918pac.206.1370413645061; Tue, 04 Jun 2013 23:27:25 -0700 (PDT) Received: from linaro.sisodomain.com ([115.113.119.130]) by mx.google.com with ESMTPSA id vb8sm66600749pbc.11.2013.06.04.23.27.21 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 04 Jun 2013 23:27:24 -0700 (PDT) From: Sachin Kamat To: linux-pm@vger.kernel.org Cc: myungjoo.ham@samsung.com, kyungmin.park@samsung.com, a.kesavan@samsung.com, sachin.kamat@linaro.org, patches@linaro.org Subject: [PATCH 3/3] PM / devfreq: Use devm_* APIs in exynos5_bus.c Date: Wed, 5 Jun 2013 11:43:01 +0530 Message-Id: <1370412781-20683-3-git-send-email-sachin.kamat@linaro.org> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1370412781-20683-1-git-send-email-sachin.kamat@linaro.org> References: <1370412781-20683-1-git-send-email-sachin.kamat@linaro.org> X-Gm-Message-State: ALoCoQl4CMJPcLO/yWAKkMmstJ9IZwjsOCYF8KnBTeLqm1Th/9h/HdnKxgv/qQ4DKTPNfkGEGnIN Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org devm_* APIs are device managed and make clean up and exit codes simpler. Signed-off-by: Sachin Kamat --- drivers/devfreq/exynos/exynos5_bus.c | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/drivers/devfreq/exynos/exynos5_bus.c b/drivers/devfreq/exynos/exynos5_bus.c index 9a82419..102d1f0 100644 --- a/drivers/devfreq/exynos/exynos5_bus.c +++ b/drivers/devfreq/exynos/exynos5_bus.c @@ -351,20 +351,18 @@ static int exynos5_busfreq_int_probe(struct platform_device *pdev) err = exynos5250_init_int_tables(data); if (err) - goto err_regulator; + return err; - data->vdd_int = regulator_get(dev, "vdd_int"); + data->vdd_int = devm_regulator_get(dev, "vdd_int"); if (IS_ERR(data->vdd_int)) { dev_err(dev, "Cannot get the regulator \"vdd_int\"\n"); - err = PTR_ERR(data->vdd_int); - goto err_regulator; + return PTR_ERR(data->vdd_int); } - data->int_clk = clk_get(dev, "int_clk"); + data->int_clk = devm_clk_get(dev, "int_clk"); if (IS_ERR(data->int_clk)) { dev_err(dev, "Cannot get clock \"int_clk\"\n"); - err = PTR_ERR(data->int_clk); - goto err_clock; + return PTR_ERR(data->int_clk); } rcu_read_lock(); @@ -374,8 +372,7 @@ static int exynos5_busfreq_int_probe(struct platform_device *pdev) rcu_read_unlock(); dev_err(dev, "Invalid initial frequency %lu kHz.\n", exynos5_devfreq_int_profile.initial_freq); - err = PTR_ERR(opp); - goto err_opp_add; + return PTR_ERR(opp); } initial_freq = opp_get_freq(opp); initial_volt = opp_get_voltage(opp); @@ -385,12 +382,12 @@ static int exynos5_busfreq_int_probe(struct platform_device *pdev) err = clk_set_rate(data->int_clk, initial_freq * 1000); if (err) { dev_err(dev, "Failed to set initial frequency\n"); - goto err_opp_add; + return err; } err = exynos5_int_setvolt(data, initial_volt); if (err) - goto err_opp_add; + return err; platform_set_drvdata(pdev, data); @@ -419,11 +416,6 @@ static int exynos5_busfreq_int_probe(struct platform_device *pdev) err_devfreq_add: devfreq_remove_device(data->devfreq); -err_opp_add: - clk_put(data->int_clk); -err_clock: - regulator_put(data->vdd_int); -err_regulator: return err; } @@ -434,8 +426,6 @@ static int exynos5_busfreq_int_remove(struct platform_device *pdev) pm_qos_remove_request(&data->int_req); unregister_pm_notifier(&data->pm_notifier); devfreq_remove_device(data->devfreq); - regulator_put(data->vdd_int); - clk_put(data->int_clk); return 0; }