From patchwork Thu Aug 21 06:45:10 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 4755861 Return-Path: X-Original-To: patchwork-linux-arm-msm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id CF349C0338 for ; Thu, 21 Aug 2014 06:45:47 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id F1B6E20107 for ; Thu, 21 Aug 2014 06:45:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 2F3F8200E0 for ; Thu, 21 Aug 2014 06:45:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751430AbaHUGpp (ORCPT ); Thu, 21 Aug 2014 02:45:45 -0400 Received: from mail-pd0-f177.google.com ([209.85.192.177]:49578 "EHLO mail-pd0-f177.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750951AbaHUGpo (ORCPT ); Thu, 21 Aug 2014 02:45:44 -0400 Received: by mail-pd0-f177.google.com with SMTP id p10so13257176pdj.22 for ; Wed, 20 Aug 2014 23:45:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=8Gy0hCGYc5lx2MNHoI/gc0K7WNfAW7UUiToHAmnPAaE=; b=eMrT+YGJo1dMPWLdWcBqvifA45N8V5drc4i1hwp30Gy2+2R6SM5NQzSPBaTXfWCq9j n2im+AXb0YZX5reeAb8N3Zox6SOtQtNjoIisOiPalqoo3sMqjJm1y96CuJLkyqPXzjIe xld61G5CyZgdT8q2003s95PPKyLqBrCy/7y5VuojLli4VV4F4y6YyEEMNCVSFQ4SHKbH JLvpTUCiWvV1lbDKaj6bLMTlo/0dDVAYWbzFE7UdjpC5RJp/zEepkC2NmO8sEkYDqw2/ VgOybhEU7bRkh7r8Bdr/7fWzELTvmwHAaDTQUkGYUX2e6r+f/6bvWbkIBlGzcdxCy3/p bXug== X-Gm-Message-State: ALoCoQnuVr6OJJOn4HR5nwp4K5RTBNDygGBbfY6Kz0FGp162yxlUTKVRIJcwnGceatzjiN1v1VvN X-Received: by 10.70.103.8 with SMTP id fs8mr62740942pdb.81.1408603543901; Wed, 20 Aug 2014 23:45:43 -0700 (PDT) Received: from localhost.localdomain ([117.217.72.158]) by mx.google.com with ESMTPSA id bu2sm24366148pbc.19.2014.08.20.23.45.39 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 20 Aug 2014 23:45:42 -0700 (PDT) From: Srinivas Kandagatla To: Felipe Balbi Cc: Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, srinivas.kandagatla@linaro.org Subject: [PATCH v3] usb: phy: msm: Make phy_reset clk and reset line optional. Date: Thu, 21 Aug 2014 07:45:10 +0100 Message-Id: <1408603510-16780-1-git-send-email-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1405628200-21776-1-git-send-email-srinivas.kandagatla@linaro.org> References: <1405628200-21776-1-git-send-email-srinivas.kandagatla@linaro.org> Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham 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 This patch makes the phy reset clk and reset line optional as this clk is not available on boards like IFC6410 with APQ8064. phy-reset clk is only used as argument to the mach level callbacks, so this patch adds condition before clk_get calls so that the driver wouldn't fail on SOCs which do not have this support. Signed-off-by: Srinivas Kandagatla --- Hi Felipe, With this new patch now the error message is only printed if the SOC actually supports the phy reset clk, for SOCs like APQ8064 where there is no phy reset clock or the callback which takes it there is no point in doing a clk_get call in the first place. Changes since v2: - rebased patch on top of v3.17-rc1 Thanks, srini drivers/usb/phy/phy-msm-usb.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/usb/phy/phy-msm-usb.c b/drivers/usb/phy/phy-msm-usb.c index e4108ee..7f6aa32 100644 --- a/drivers/usb/phy/phy-msm-usb.c +++ b/drivers/usb/phy/phy-msm-usb.c @@ -281,7 +281,7 @@ static int msm_otg_phy_clk_reset(struct msm_otg *motg) { int ret = 0; - if (motg->pdata->phy_clk_reset && motg->phy_reset_clk) + if (motg->pdata->phy_clk_reset) ret = motg->pdata->phy_clk_reset(motg->phy_reset_clk); else if (motg->phy_rst) ret = reset_control_reset(motg->phy_rst); @@ -1554,11 +1554,14 @@ static int msm_otg_probe(struct platform_device *pdev) phy = &motg->phy; phy->dev = &pdev->dev; - motg->phy_reset_clk = devm_clk_get(&pdev->dev, + if (motg->pdata->phy_clk_reset) { + motg->phy_reset_clk = devm_clk_get(&pdev->dev, np ? "phy" : "usb_phy_clk"); - if (IS_ERR(motg->phy_reset_clk)) { - dev_err(&pdev->dev, "failed to get usb_phy_clk\n"); - motg->phy_reset_clk = NULL; + + if (IS_ERR(motg->phy_reset_clk)) { + dev_err(&pdev->dev, "failed to get usb_phy_clk\n"); + return PTR_ERR(motg->phy_reset_clk); + } } motg->clk = devm_clk_get(&pdev->dev, np ? "core" : "usb_hs_clk");