From patchwork Mon Jan 6 05:58:06 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chen-Yu Tsai X-Patchwork-Id: 3435501 Return-Path: X-Original-To: patchwork-linux-arm@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 DDBEAC02DC for ; Mon, 6 Jan 2014 06:01:20 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id CC95520136 for ; Mon, 6 Jan 2014 06:01:19 +0000 (UTC) Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id BF2CB2012D for ; Mon, 6 Jan 2014 06:01:18 +0000 (UTC) Received: from merlin.infradead.org ([2001:4978:20e::2]) by casper.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1W03Du-0008VI-91; Mon, 06 Jan 2014 05:59:38 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1W03DY-0000T7-Ju; Mon, 06 Jan 2014 05:59:16 +0000 Received: from smtp.csie.ntu.edu.tw ([140.112.30.61]) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1W03D3-0000OS-7F for linux-arm-kernel@lists.infradead.org; Mon, 06 Jan 2014 05:58:47 +0000 Received: from mirror2.csie.ntu.edu.tw (mirror2.csie.ntu.edu.tw [140.112.30.76]) by smtp.csie.ntu.edu.tw (Postfix) with ESMTPSA id E1DA620879; Mon, 6 Jan 2014 13:58:13 +0800 (CST) Received: from wens by mirror2.csie.ntu.edu.tw with local (Exim 4.82) (envelope-from ) id 1W03CX-0006Be-Py; Mon, 06 Jan 2014 13:58:13 +0800 From: Chen-Yu Tsai To: Maxime Ripard , Emilio Lopez , Mike Turquette Subject: [PATCH v2 2/8] clk: sunxi: choose correct name for multiple output factor clocks Date: Mon, 6 Jan 2014 13:58:06 +0800 Message-Id: <1388987892-23733-3-git-send-email-wens@csie.org> X-Mailer: git-send-email 1.8.5.2 In-Reply-To: <1388987892-23733-1-git-send-email-wens@csie.org> References: <1388987892-23733-1-git-send-email-wens@csie.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20140106_005845_475582_FAB22BFA X-CRM114-Status: GOOD ( 10.62 ) X-Spam-Score: -2.0 (--) Cc: Chen-Yu Tsai , linux-sunxi , linux-arm-kernel X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.5 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, 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 Some factor clocks, such as the parent clock of pll5 and pll6, have multiple output names. Use the last name as the name for the clock itself. Signed-off-by: Chen-Yu Tsai Acked-by: Maxime Ripard --- drivers/clk/sunxi/clk-sunxi.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c index 14a3774..7ce7e1c 100644 --- a/drivers/clk/sunxi/clk-sunxi.c +++ b/drivers/clk/sunxi/clk-sunxi.c @@ -484,7 +484,7 @@ static struct clk * __init sunxi_factors_clk_setup(struct device_node *node, const char *clk_name = node->name; const char *parents[SUNXI_MAX_PARENTS]; void *reg; - int i = 0; + int j, i = 0; reg = of_iomap(node, 0); @@ -493,14 +493,14 @@ static struct clk * __init sunxi_factors_clk_setup(struct device_node *node, (parents[i] = of_clk_get_parent_name(node, i)) != NULL) i++; - /* Nodes should be providing the name via clock-output-names - * but originally our dts didn't, and so we used node->name. - * The new, better nodes look like clk@deadbeef, so we pull the - * name just in this case */ - if (!strcmp("clk", clk_name)) { - of_property_read_string_index(node, "clock-output-names", - 0, &clk_name); - } + /* + * factor clocks, such as pll5 and pll6, may have multiple outputs + * Use the last clock output name as this clock's name. + * This matches the behavior of of_clk_get_parent_name() + */ + j = of_property_count_strings(node, "clock-output-names"); + of_property_read_string_index(node, "clock-output-names", j - 1, + &clk_name); factors = kzalloc(sizeof(struct clk_factors), GFP_KERNEL); if (!factors)