From patchwork Fri Feb 6 03:15:18 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kevin Hao X-Patchwork-Id: 5788161 Return-Path: X-Original-To: patchwork-linux-mmc@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id AF5D89F30C for ; Fri, 6 Feb 2015 03:15:46 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id E35B620259 for ; Fri, 6 Feb 2015 03:15:45 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 092A720219 for ; Fri, 6 Feb 2015 03:15:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754426AbbBFDPn (ORCPT ); Thu, 5 Feb 2015 22:15:43 -0500 Received: from mail-yk0-f178.google.com ([209.85.160.178]:43329 "EHLO mail-yk0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754138AbbBFDPn (ORCPT ); Thu, 5 Feb 2015 22:15:43 -0500 Received: by mail-yk0-f178.google.com with SMTP id q200so4859812ykb.9; Thu, 05 Feb 2015 19:15:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=XGgVveOFy15dbqELBSAIsHtjVUxu9SKA6gaukWRR6Wc=; b=y/0mXw+dk+S+LHlu3RwKYfGXfH/5YEx5HAQdA4TfpPqKx31ouov0dUgPXEFN9+I5Pd lXhYyhgFpp7mrreGcGwQ2USSpvCMxTyuuLb63D1F4XbAH2YJ7wdDh5UyXvHGjRPGoX+5 A+JWY68b9OOmV56DH9uNIAEilHgZF4qOBkUPgZ1kRcJwRFlyo/Z3dy//FLJnKeOag75y CO2eLScaJpW3PlILnSlmp5kPIoZFY2b78nsfIDn9kMbJ9jK/6G3dhQk91S0t9O+0HxAK 5PmE9zavAFekjXMgnkNYl18BZtX91cahiuGlXf3lvF+SwzR5xQL1QLLGKxfVcM0c+rIx hwQg== X-Received: by 10.236.41.202 with SMTP id h50mr210406yhb.140.1423192542557; Thu, 05 Feb 2015 19:15:42 -0800 (PST) Received: from pek-khao-d1.corp.ad.wrs.com ([106.120.101.38]) by mx.google.com with ESMTPSA id h6sm779581yhq.9.2015.02.05.19.15.40 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 05 Feb 2015 19:15:42 -0800 (PST) From: Kevin Hao To: linux-mmc@vger.kernel.org Cc: Chris Ball , Ulf Hansson , linux-tegra@vger.kernel.org, Kevin Hao Subject: [PATCH 3/7] mmc: tegra: use devm help functions to get the clk and gpio Date: Fri, 6 Feb 2015 11:15:18 +0800 Message-Id: <1423192522-6056-4-git-send-email-haokexin@gmail.com> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1423192522-6056-1-git-send-email-haokexin@gmail.com> References: <1423192522-6056-1-git-send-email-haokexin@gmail.com> Sender: linux-mmc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mmc@vger.kernel.org X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, T_DKIM_INVALID, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Simplify the error and remove path. Signed-off-by: Kevin Hao --- drivers/mmc/host/sdhci-tegra.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c index f3778d58d1cd..0643f66b4e14 100644 --- a/drivers/mmc/host/sdhci-tegra.c +++ b/drivers/mmc/host/sdhci-tegra.c @@ -286,7 +286,8 @@ static int sdhci_tegra_probe(struct platform_device *pdev) goto err_parse_dt; if (gpio_is_valid(tegra_host->power_gpio)) { - rc = gpio_request(tegra_host->power_gpio, "sdhci_power"); + rc = devm_gpio_request(&pdev->dev, tegra_host->power_gpio, + "sdhci_power"); if (rc) { dev_err(mmc_dev(host->mmc), "failed to allocate power gpio\n"); @@ -295,7 +296,7 @@ static int sdhci_tegra_probe(struct platform_device *pdev) gpio_direction_output(tegra_host->power_gpio, 1); } - clk = clk_get(mmc_dev(host->mmc), NULL); + clk = devm_clk_get(mmc_dev(host->mmc), NULL); if (IS_ERR(clk)) { dev_err(mmc_dev(host->mmc), "clk err\n"); rc = PTR_ERR(clk); @@ -312,10 +313,7 @@ static int sdhci_tegra_probe(struct platform_device *pdev) err_add_host: clk_disable_unprepare(pltfm_host->clk); - clk_put(pltfm_host->clk); err_clk_get: - if (gpio_is_valid(tegra_host->power_gpio)) - gpio_free(tegra_host->power_gpio); err_power_req: err_parse_dt: err_alloc_tegra_host: @@ -327,16 +325,11 @@ static int sdhci_tegra_remove(struct platform_device *pdev) { struct sdhci_host *host = platform_get_drvdata(pdev); struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); - struct sdhci_tegra *tegra_host = pltfm_host->priv; int dead = (readl(host->ioaddr + SDHCI_INT_STATUS) == 0xffffffff); sdhci_remove_host(host, dead); - if (gpio_is_valid(tegra_host->power_gpio)) - gpio_free(tegra_host->power_gpio); - clk_disable_unprepare(pltfm_host->clk); - clk_put(pltfm_host->clk); sdhci_pltfm_free(pdev);