From patchwork Fri Jan 13 14:27:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oleksij Rempel X-Patchwork-Id: 43348 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp303459wrt; Fri, 13 Jan 2023 06:36:09 -0800 (PST) X-Google-Smtp-Source: AMrXdXv9cYM+RBltTmvCkZQfJKDKDPT6inObwMxTtEZOlm0+Jiti1il3dlmnLRQpSQ/9Wgk3eMWs X-Received: by 2002:a17:907:a4c1:b0:812:d53e:1084 with SMTP id vq1-20020a170907a4c100b00812d53e1084mr3426836ejc.70.1673620568919; Fri, 13 Jan 2023 06:36:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673620568; cv=none; d=google.com; s=arc-20160816; b=MJtrAPtejN4yG6URKfP3PjMCbaOy15yGv7pcFu+98cZwoY9TNMaVqMmSxc+mWaVacM GbESCn1vqu/E1OsRyJ+3AjWrGuLaobvzsa3EgDJPDJEEQ3GCE2AD0AuDbnA3DbiefTEO QSmaMeZK4WetjREIUXh5oAuyt2Jjq8oQcN4/8x3z368PbnenecMOVci8PYz3XhvZwSdk cKAbLZ6AvjifcIbTol8v/HtoNu2GIYS7HFtM1KISr/xnlzmSYXeV7yel7ME/fFH/+4NI N0v2NqLkU+NYzNqjoAtriVksgnmH00YL593oW1RMF8l9pYMaiBjUP394Ei5fbmHZDFnU VkTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=erOK/BwhhaUIzYpLu53F8V+4VxqvNsqOd1HQ8PpKcys=; b=CL9MTTW66schoX10Y8YDGgDjdYTVvIw89w2qwUNnwGJ24i1s8uGUeuWKaRoB5eYSVo 10reAQimP8lbSqZmvex+NoZtHJP2clmm/qwwgmw/5Hx0kldvf62M8pKuxdkCcDAnLEO2 967SQEW7JyvBvMeLeF88GaNTu9GNbpp1cGm+UtaMiLMuC2gJFi+h+9JGWRw6fdR07gan 0Mxcy4cYi8FZE9IheDlJA5sBF90yP7rSoetj0zE84iS5GbypLwxZ7tY4uUAoBElZrWtA OxJfWBUuTbSb2MzXdCmgmopviz5MdXLTzxyB4cTnEu7u2wcK+O1EoUaPSEW3DUzeX5GI rY9g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id hv13-20020a17090760cd00b0084c464789aesi22035784ejc.764.2023.01.13.06.35.45; Fri, 13 Jan 2023 06:36:08 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229663AbjAMOfG (ORCPT + 99 others); Fri, 13 Jan 2023 09:35:06 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56870 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229986AbjAMOd1 (ORCPT ); Fri, 13 Jan 2023 09:33:27 -0500 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3FC6D4FCC1 for ; Fri, 13 Jan 2023 06:28:00 -0800 (PST) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pGL1g-0006He-3p; Fri, 13 Jan 2023 15:27:24 +0100 Received: from [2a0a:edc0:0:1101:1d::ac] (helo=dude04.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1pGL1f-005mzH-C0; Fri, 13 Jan 2023 15:27:23 +0100 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pGL1b-00CkRf-J3; Fri, 13 Jan 2023 15:27:19 +0100 From: Oleksij Rempel To: Rob Herring , Krzysztof Kozlowski , Shawn Guo , Sascha Hauer , Abel Vesa , Michael Turquette , Stephen Boyd , Richard Cochran Cc: Oleksij Rempel , kernel@pengutronix.de, Fabio Estevam , NXP Linux Team , Lee Jones , Russell King , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, netdev@vger.kernel.org Subject: [PATCH v1 15/20] clk: imx: add imx_obtain_fixed_of_clock() Date: Fri, 13 Jan 2023 15:27:13 +0100 Message-Id: <20230113142718.3038265-16-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230113142718.3038265-1-o.rempel@pengutronix.de> References: <20230113142718.3038265-1-o.rempel@pengutronix.de> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754918361538311174?= X-GMAIL-MSGID: =?utf-8?q?1754918361538311174?= Add imx_obtain_fixed_of_clock() to optionally add clock not configured in the devicetree. Signed-off-by: Oleksij Rempel --- drivers/clk/imx/clk.c | 14 ++++++++++++++ drivers/clk/imx/clk.h | 3 +++ 2 files changed, 17 insertions(+) diff --git a/drivers/clk/imx/clk.c b/drivers/clk/imx/clk.c index b636cc099d96..5f1f729008ee 100644 --- a/drivers/clk/imx/clk.c +++ b/drivers/clk/imx/clk.c @@ -110,6 +110,20 @@ struct clk_hw *imx_obtain_fixed_clock_hw( return __clk_get_hw(clk); } +struct clk_hw *imx_obtain_fixed_of_clock(struct device_node *np, + const char *name, unsigned long rate) +{ + struct clk *clk = of_clk_get_by_name(np, name); + struct clk_hw *hw; + + if (IS_ERR(clk)) + hw = imx_obtain_fixed_clock_hw(name, rate); + else + hw = __clk_get_hw(clk); + + return hw; +} + struct clk_hw *imx_get_clk_hw_by_name(struct device_node *np, const char *name) { struct clk *clk; diff --git a/drivers/clk/imx/clk.h b/drivers/clk/imx/clk.h index 801213109697..f0a24cd54d1c 100644 --- a/drivers/clk/imx/clk.h +++ b/drivers/clk/imx/clk.h @@ -288,6 +288,9 @@ struct clk * imx_obtain_fixed_clock( struct clk_hw *imx_obtain_fixed_clock_hw( const char *name, unsigned long rate); +struct clk_hw *imx_obtain_fixed_of_clock(struct device_node *np, + const char *name, unsigned long rate); + struct clk_hw *imx_get_clk_hw_by_name(struct device_node *np, const char *name); struct clk_hw *imx_clk_hw_gate_exclusive(const char *name, const char *parent,