Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp2283383ybe; Thu, 12 Sep 2019 07:18:12 -0700 (PDT) X-Google-Smtp-Source: APXvYqyRJO0YUlodGajUZfjpADTK51nOBjHJJJB0/2wzO4ckPEj/DNDdRNYkCNcIKy5dshritueb X-Received: by 2002:a50:b6aa:: with SMTP id d39mr5713708ede.16.1568297892741; Thu, 12 Sep 2019 07:18:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568297892; cv=none; d=google.com; s=arc-20160816; b=SMyO2tPhQDVOq00Qfn74qHZ6Xx4XGbz4O3oDiAvcJv6l//wpVIksPfX5PIqGaJ2T2R l5avWxP8ZpZXTkAIKZ9LULHjwNGtDB826TI24y/xVqLQWVA4QzroFxnmYNHr4CVFbtH3 Zv+XosQp+J/zGSFVMhq5i7Ruj6DftR0ml0mKZ8ThhjWKVs++bS7Ds8UhLwLrzePyCUoS AgumBS80QgXHnH7xNOGe6sbkSXkCgH5P8ACYdr6yC7pAFffmdSlmawsTJCUarueSH/V/ I3Np5GeO9qe5Zmevp3w4FWuLkXrubC1GvGO7JOUpD2B72FI4jh/zHcpFpHisKqnezcOY lUzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=U94LXB0H1SLchTUsgjMZwjp3h0cafdMB0BynvaN+clQ=; b=EYPyT7oRvqzVCDFeCadaBGl1Bn9taq3yzBlttG5o8srxIpdOWY8DRS60ELIyOTf/u3 GBz+/KK6xuOsJhu3MKjqLj4rEbJ018nbz1kGoIJGat062gjIRJS9Gsa9olX5LCuuD2Jh TXW7D+qa2XMrI2BGlIvZUz6DiDQIKceP8NQIWp5IxX4r71WLPKO+P9YSEkYE65ZRDGCF DsKFFPbeM4OPgWQkMlWVD3MzpofEih4Q0eiugfG+ddEyEP1bJxlkahKtgW8jUu7hDKMF YkOCq9GqIsspZ/FNlQYpmAnSkgxVp+ce6wcz0dTLHsXmJZQI+X90tM8TEeoBZ/B/7qE7 uoAg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=c2LsHJ3t; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i56si14235247eda.19.2019.09.12.07.17.43; Thu, 12 Sep 2019 07:18:12 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=c2LsHJ3t; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732614AbfILOPw (ORCPT + 99 others); Thu, 12 Sep 2019 10:15:52 -0400 Received: from mail-wm1-f68.google.com ([209.85.128.68]:50756 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732587AbfILOPs (ORCPT ); Thu, 12 Sep 2019 10:15:48 -0400 Received: by mail-wm1-f68.google.com with SMTP id c10so257786wmc.0 for ; Thu, 12 Sep 2019 07:15:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=U94LXB0H1SLchTUsgjMZwjp3h0cafdMB0BynvaN+clQ=; b=c2LsHJ3tBEwEu++rxVvsn78g0L8UGdn7yiC4/N4WA91klnp22ccVAB1m6chQL/Onzq RhHrr9XFtyyqbHwCu1B1W+g94jvzJjkTfeDlIRm1O27WepyHaoth/Gs16hJe+L0Z9pbo njNWTGxQCTm1gyfrIhwhNHhqw+frkZfE4FpyYuoXtKj2XdpxVE/NV4Y4VvX/AakWvjys v8tipJcte9cSWKsE9GIJCbTR/X74OPRpl09XBDpkPW9vo/zKKDTtXStOUMoe4g4o6n9k xZxx0QvX8cFKWC00/Y1UN+WXaYKiXKNDC7V+qx0/JFXxnzziXfJBQM+gb9Y2DGDnJ1r+ tTMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=U94LXB0H1SLchTUsgjMZwjp3h0cafdMB0BynvaN+clQ=; b=j3vtV/LD+GZdQ5wBxBYVvTo3cAvWJtenmrRvE9RlphNwdPvwuoIbOA0ibScJECjjpm YSrbVPalDH0ixSMWGW+23/dtIwNbmiFNr0pNYGKm5r+JJ+SmtVY+O1B8uLrSOxSdG/J3 qgNnySw5slj8u1e+lozgYVkA0E9NcmWvdf6sHS2iRoTZrYlXth/A2t/gZzmMYzTqhcUA 26pLAycnFj7SUiyOOgUpeHSd9Ay3shAHPHl/Oce3IDe+c5cloQfMwdew2LoOwGBhSCyi 5KwXAP/ofMAfV6GkTCjpBiALKyDBXT5EpZYofg3eTnIb48fUntE8flyn5b8XMvyXy9ER yDBQ== X-Gm-Message-State: APjAAAWVZ2Yf4/ZCCP/0bGXVAi2je0wGUn7pHRu0IefPh9lZ2js1Ui6W /cdg5lWKA6H5hokAwTQSKwCGUg== X-Received: by 2002:a1c:7a14:: with SMTP id v20mr197811wmc.75.1568297745884; Thu, 12 Sep 2019 07:15:45 -0700 (PDT) Received: from localhost.localdomain (69.red-83-35-113.dynamicip.rima-tde.net. [83.35.113.69]) by smtp.gmail.com with ESMTPSA id p23sm137599wma.18.2019.09.12.07.15.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 12 Sep 2019 07:15:45 -0700 (PDT) From: Jorge Ramirez-Ortiz To: jorge.ramirez-ortiz@linaro.org, sboyd@kernel.org, agross@kernel.org, mturquette@baylibre.com, bjorn.andersson@linaro.org Cc: niklas.cassel@linaro.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 5/5] clk: qcom: apcs-msm8916: get parent clock names from DT Date: Thu, 12 Sep 2019 16:15:34 +0200 Message-Id: <20190912141534.28870-6-jorge.ramirez-ortiz@linaro.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20190912141534.28870-1-jorge.ramirez-ortiz@linaro.org> References: <20190912141534.28870-1-jorge.ramirez-ortiz@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Allow accessing the parent clock names required for the driver operation by using the device tree node. This permits extending the driver to other platforms without having to modify its source code. For backwards compatibility leave previous values as default. Co-developed-by: Niklas Cassel Signed-off-by: Niklas Cassel Signed-off-by: Jorge Ramirez-Ortiz Reviewed-by: Bjorn Andersson --- drivers/clk/qcom/apcs-msm8916.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/drivers/clk/qcom/apcs-msm8916.c b/drivers/clk/qcom/apcs-msm8916.c index a6c89a310b18..099b028dbc20 100644 --- a/drivers/clk/qcom/apcs-msm8916.c +++ b/drivers/clk/qcom/apcs-msm8916.c @@ -19,7 +19,7 @@ static const u32 gpll0_a53cc_map[] = { 4, 5 }; -static const char * const gpll0_a53cc[] = { +static const char *gpll0_a53cc[] = { "gpll0_vote", "a53pll", }; @@ -50,6 +50,7 @@ static int qcom_apcs_msm8916_clk_probe(struct platform_device *pdev) struct regmap *regmap; struct clk_init_data init = { }; int ret = -ENODEV; + const char *parents[2]; regmap = dev_get_regmap(parent, NULL); if (!regmap) { @@ -61,6 +62,9 @@ static int qcom_apcs_msm8916_clk_probe(struct platform_device *pdev) if (!a53cc) return -ENOMEM; + if (of_clk_parent_fill(parent->of_node, parents, 2) == 2) + memcpy(gpll0_a53cc, parents, sizeof(parents)); + init.name = "a53mux"; init.parent_names = gpll0_a53cc; init.num_parents = ARRAY_SIZE(gpll0_a53cc); @@ -76,10 +80,11 @@ static int qcom_apcs_msm8916_clk_probe(struct platform_device *pdev) a53cc->src_shift = 8; a53cc->parent_map = gpll0_a53cc_map; - a53cc->pclk = devm_clk_get(parent, NULL); + a53cc->pclk = of_clk_get(parent->of_node, 0); if (IS_ERR(a53cc->pclk)) { ret = PTR_ERR(a53cc->pclk); - dev_err(dev, "failed to get clk: %d\n", ret); + if (ret != -EPROBE_DEFER) + dev_err(dev, "failed to get clk: %d\n", ret); return ret; } @@ -87,6 +92,7 @@ static int qcom_apcs_msm8916_clk_probe(struct platform_device *pdev) ret = clk_notifier_register(a53cc->pclk, &a53cc->clk_nb); if (ret) { dev_err(dev, "failed to register clock notifier: %d\n", ret); + clk_put(a53cc->pclk); return ret; } @@ -109,6 +115,8 @@ static int qcom_apcs_msm8916_clk_probe(struct platform_device *pdev) err: clk_notifier_unregister(a53cc->pclk, &a53cc->clk_nb); + clk_put(a53cc->pclk); + return ret; } @@ -117,6 +125,7 @@ static int qcom_apcs_msm8916_clk_remove(struct platform_device *pdev) struct clk_regmap_mux_div *a53cc = platform_get_drvdata(pdev); clk_notifier_unregister(a53cc->pclk, &a53cc->clk_nb); + clk_put(a53cc->pclk); return 0; } -- 2.23.0