Message ID | 20221018-clk-range-checks-fixes-v2-65-f6736dec138e@cerno.tech |
---|---|
State | Superseded |
Headers | show
Return-Path: <alsa-devel-bounces@alsa-project.org> X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9B9B2C4332F for <alsa-devel@archiver.kernel.org>; Sat, 5 Nov 2022 07:22:19 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id B47F81713; Sat, 5 Nov 2022 08:21:27 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz B47F81713 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1667632937; bh=dt/pK2gUwtn1gYsklYP5IdQYs7BUAEjWd1pf1CEewGo=; h=From:Date:Subject:References:In-Reply-To:To:Cc:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=LDT95oiN7JdaxGG5hjcgdh2qFm+4uKTC/tcdMs6DzaUBUBoeafuyTRdwzeZBJ0wCh d/pQPrlV8KBP9BINKRSho21vpbo8dPg2PegANuvbjuHX5MnPMd2GCFJU2SmyR0ZnrW 6djxpar3r0tZIW+81Ee5rNHscYKgrUIJxYUSYIJY= Received: from alsa1.perex.cz (localhost.localdomain [127.0.0.1]) by alsa1.perex.cz (Postfix) with ESMTP id BE60BF807D1; Sat, 5 Nov 2022 08:04:27 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 75E30F80448; Fri, 4 Nov 2022 15:22:59 +0100 (CET) Received: from new1-smtp.messagingengine.com (new1-smtp.messagingengine.com [66.111.4.221]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id B421BF80431 for <alsa-devel@alsa-project.org>; Fri, 4 Nov 2022 15:22:51 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz B421BF80431 Authentication-Results: alsa1.perex.cz; dkim=pass (2048-bit key) header.d=cerno.tech header.i=@cerno.tech header.b="KTxsKcR4"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="Hz2ye2GA" Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailnew.nyi.internal (Postfix) with ESMTP id A434C580576; Fri, 4 Nov 2022 10:22:50 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Fri, 04 Nov 2022 10:22:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1667571770; x= 1667578970; bh=Zsl6bVVVps307HxzZztymAJCQN/ILEw5Ph59AqnCdhw=; b=K TxsKcR4q7EGGVyZWdDfVXUy4B1+fSdvTmCqiNIN1wfeeE20cLhnw7rJqVVsIZAIt wDQBtg4tAP9uFikY+P5cUpF7dZqlP279+WWkI8Q8Q2j/Y2m/Wwtl/5DBYVyP0IJU NQjVqmIkmGZ7pA4yo/D8VkxNHjFkEQsQHi9gtPr+9ss6gER/umuK4mCa5lcoGNzA +fkY+Mm88ZVOaDxg3K6UuaVDozKXylcoSh1ToEON92R15ceXZddcbaRp5nlNk75i VyhoKWa4PeBPmXdO0dpVyDggc9dbioCsDT1LMjj+iuuIhSWpCB7ySGw07LbWsvAk WUEAy6P4gJeSGjK9C8V5A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1667571770; x= 1667578970; bh=Zsl6bVVVps307HxzZztymAJCQN/ILEw5Ph59AqnCdhw=; b=H z2ye2GABR1w09S6BPNSZryj6NrRDJ0/OkR/EVOVz2N0Pinm1XbUVd8V/e9PSfSmz VrmWRqY1jyI4BdNcHcSsQuOfS3OzUAXpfKpaoUiK1G+EuLGcub7Usmj+Cxi+RtkU QZJcdRbQJjA7AiMGXeX0hEOrgpUDyuXTrI3aQf9D0IHmtspsULJY0mS+BpNkUjPx /y7h4bcX1wIhBK0+EejtHH9DD4t9oMHo0Hr2+okkuMgc5lRfBe5U1M4ahCj3gk2A /1Pb8qSmbrz8R1DFKVLMXVSLJhqbn+m0reW3A8FX7Xrp37DwNUB+fFPQauRGxMvI x18Z9RlJhkeuKccwWtEgw== X-ME-Sender: <xms:OSBlYxYszdptSVJiWrjPB829n90nKBCW1eizQFQN-H9T4HcVylqoLg> <xme:OSBlY4alNX9rSF2XxnUH1JL5sK8Cuq4dullXQLFG_npDGmu2WbWDX_ITIfQn1d1O4 srarevrLeVFz9OEODg> X-ME-Received: <xmr:OSBlYz82dh_cGOTsuslOHKPQ3VuFleryb1u5mcYqczQBAznyXeElqQOcNEUVdA91oCAFkb5GPlLvZjI7mZpeQxs9OgRcs984K8XIoOPTB48wpg> X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrvddugdeiudcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhfffugggtgffkfhgjvfevofesthekredtredtjeenucfhrhhomhepofgrgihi mhgvucftihhprghrugcuoehmrgigihhmvgestggvrhhnohdrthgvtghhqeenucggtffrrg htthgvrhhnpeduudduhfevjeetfeegvdffvdevvdejudegudekjeehtdelhfffveethfej ledtveenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hmrgigihhmvgestggvrhhnohdrthgvtghh X-ME-Proxy: <xmx:OSBlY_oeCYOu0iAP1ptLaw9AoLoQeyEaoElIOnqh6teU2Bmf8BJCLQ> <xmx:OSBlY8qQcpNUIJ4NJRuWC92XyA6hTq8UBNxWbm20ywjsa5wc9-g0bg> <xmx:OSBlY1S--9yxa6tWQAjQ-oZ00YE_LRNNtHXE2mjdsSPxetEo9ZljtQ> <xmx:OiBlYx6-3JoVnRFbmVMP9S-OKKXsuA81Iw032j7cLuuM4x5tOWaIfQ> Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 4 Nov 2022 10:22:48 -0400 (EDT) From: Maxime Ripard <maxime@cerno.tech> Date: Fri, 04 Nov 2022 14:18:22 +0100 Subject: [PATCH v2 65/65] clk: Warn if we register a mux without determine_rate MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Message-Id: <20221018-clk-range-checks-fixes-v2-65-f6736dec138e@cerno.tech> References: <20221018-clk-range-checks-fixes-v2-0-f6736dec138e@cerno.tech> In-Reply-To: <20221018-clk-range-checks-fixes-v2-0-f6736dec138e@cerno.tech> To: =?unknown-8bit?q?Stephen_Boyd_=3Csboyd=40kernel=2Eorg=3E=2C?= =?unknown-8bit?q?_Maxime_Coquelin_=3Cmcoquelin=2Estm32=40gmail=2Ecom=3E=2C?= =?unknown-8bit?q?_Chen-Yu_Tsai_=3Cwens=40csie=2Eorg=3E=2C_Daniel_Vetter_=3Cd?= =?unknown-8bit?q?aniel=40ffwll=2Ech=3E=2C?= =?unknown-8bit?q?_Nicolas_Ferre_=3Cnicolas=2Eferre=40microchip=2Ecom=3E=2C?= =?unknown-8bit?q?_Thierry_Reding_=3Cthierry=2Ereding=40gmail=2Ecom=3E=2C?= =?unknown-8bit?q?_Jaroslav_Kysela_=3Cperex=40perex=2Ecz=3E=2C_Shawn_Guo_=3Cs?= =?unknown-8bit?q?hawnguo=40kernel=2Eorg=3E=2C?= =?unknown-8bit?q?_Fabio_Estevam_=3Cfestevam=40gmail=2Ecom=3E=2C_Ulf_Hansson_?= =?unknown-8bit?q?=3Culf=2Ehansson=40linaro=2Eorg=3E=2C?= =?unknown-8bit?q?_Claudiu_Beznea_=3Cclaudiu=2Ebeznea=40microchip=2Ecom=3E=2C?= =?unknown-8bit?q?_Michael_Turquette_=3Cmturquette=40baylibre=2Ecom=3E=2C?= =?unknown-8bit?q?_Dinh_Nguyen_=3Cdinguyen=40kernel=2Eorg=3E=2C_Paul_Cercueil?= =?unknown-8bit?q?_=3Cpaul=40crapouillou=2Enet=3E=2C?= =?unknown-8bit?q?_Chunyan_Zhang_=3Czhang=2Elyra=40gmail=2Ecom=3E=2C?= =?unknown-8bit?q?_Manivannan_Sadhasivam_=3Cmani=40kernel=2Eorg=3E=2C?= =?unknown-8bit?b?IEFuZHJlYXMgRsOkcmJlciA8YWZhZXJiZXJAc3VzZS5kZT4s?= =?unknown-8bit?q?_Jonathan_Hunter_=3Cjonathanh=40nvidia=2Ecom=3E=2C_Abel_Ves?= =?unknown-8bit?q?a_=3Cabelvesa=40kernel=2Eorg=3E=2C?= =?unknown-8bit?q?_Charles_Keepax_=3Cckeepax=40opensource=2Ecirrus=2Ecom=3E?= =?unknown-8bit?q?=2C?= =?unknown-8bit?q?_Alessandro_Zummo_=3Ca=2Ezummo=40towertech=2Eit=3E=2C?= =?unknown-8bit?q?_Peter_De_Schrijver_=3Cpdeschrijver=40nvidia=2Ecom=3E=2C?= =?unknown-8bit?q?_Orson_Zhai_=3Corsonzhai=40gmail=2Ecom=3E=2C?= =?unknown-8bit?q?_Alexandre_Torgue_=3Calexandre=2Etorgue=40foss=2Est=2Ecom?= =?unknown-8bit?q?=3E=2C?= =?unknown-8bit?q?_Prashant_Gaikwad_=3Cpgaikwad=40nvidia=2Ecom=3E=2C?= =?unknown-8bit?q?_Liam_Girdwood_=3Clgirdwood=40gmail=2Ecom=3E=2C?= =?unknown-8bit?q?_Alexandre_Belloni_=3Calexandre=2Ebelloni=40bootlin=2Ecom?= =?unknown-8bit?q?=3E=2C?= =?unknown-8bit?q?_Samuel_Holland_=3Csamuel=40sholland=2Eorg=3E=2C?= =?unknown-8bit?q?_Matthias_Brugger_=3Cmatthias=2Ebgg=40gmail=2Ecom=3E=2C?= =?unknown-8bit?q?_Richard_Fitzgerald_=3Crf=40opensource=2Ecirrus=2Ecom=3E=2C?= =?unknown-8bit?q?_Vinod_Koul_=3Cvkoul=40kernel=2Eorg=3E=2C_NXP_Linux_Team_?= =?unknown-8bit?q?=3Clinux-imx=40nxp=2Ecom=3E=2C?= =?unknown-8bit?q?_Sekhar_Nori_=3Cnsekhar=40ti=2Ecom=3E=2C_Kishon_Vijay_Abrah?= =?unknown-8bit?q?am_I_=3Ckishon=40kernel=2Eorg=3E=2C?= =?unknown-8bit?q?_Linus_Walleij_=3Clinus=2Ewalleij=40linaro=2Eorg=3E=2C_Taka?= =?unknown-8bit?q?shi_Iwai_=3Ctiwai=40suse=2Ecom=3E=2C?= =?unknown-8bit?q?_David_Airlie_=3Cairlied=40gmail=2Ecom=3E=2C?= =?unknown-8bit?q?_Luca_Ceresoli_=3Cluca=2Eceresoli=40bootlin=2Ecom=3E=2C?= =?unknown-8bit?q?_Jernej_Skrabec_=3Cjernej=2Eskrabec=40gmail=2Ecom=3E=2C?= =?unknown-8bit?q?_Pengutronix_Kernel_Team_=3Ckernel=40pengutronix=2Ede=3E=2C?= =?unknown-8bit?q?_Baolin_Wang_=3Cbaolin=2Ewang=40linux=2Ealibaba=2Ecom=3E=2C?= =?unknown-8bit?q?_David_Lechner_=3Cdavid=40lechnology=2Ecom=3E=2C?= =?unknown-8bit?q?_Sascha_Hauer_=3Cs=2Ehauer=40pengutronix=2Ede=3E=2C_Mark_Br?= =?unknown-8bit?q?own_=3Cbroonie=40kernel=2Eorg=3E=2C?= =?unknown-8bit?q?_Max_Filippov_=3Cjcmvbkbc=40gmail=2Ecom=3E=2C?= =?unknown-8bit?q?_Geert_Uytterhoeven_=3Cgeert+renesas=40glider=2Ebe=3E?= X-Mailer: b4 0.11.0-dev-99e3a X-Developer-Signature: v=1; a=openpgp-sha256; l=1864; i=maxime@cerno.tech; h=from:subject:message-id; bh=dt/pK2gUwtn1gYsklYP5IdQYs7BUAEjWd1pf1CEewGo=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDMmpAt/2Tj3tvbH5jO8VD59F3ZETJk7zF+OQztO3+cS++s7f 0s9WHaUsDGJcDLJiiiwxwuZL4k7Net3JxjcPZg4rE8gQBi5OAZiI7FNGhpd8SlfOy51PfHnk3oya5H n6h8R+5Sx+FuwntFR/5yedeSmMDA9/pomddHLguiIhuFKO8ea8shUFn86U5M16Uui778IjYw4A X-Developer-Key: i=maxime@cerno.tech; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D X-Mailman-Approved-At: Sat, 05 Nov 2022 08:03:32 +0100 Cc: linux-rtc@vger.kernel.org, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-actions@lists.infradead.org, linux-mips@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-clk@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-tegra@vger.kernel.org, linux-mediatek@lists.infradead.org, Maxime Ripard <maxime@cerno.tech>, linux-phy@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" <alsa-devel.alsa-project.org> List-Unsubscribe: <https://mailman.alsa-project.org/mailman/options/alsa-devel>, <mailto:alsa-devel-request@alsa-project.org?subject=unsubscribe> List-Archive: <http://mailman.alsa-project.org/pipermail/alsa-devel/> List-Post: <mailto:alsa-devel@alsa-project.org> List-Help: <mailto:alsa-devel-request@alsa-project.org?subject=help> List-Subscribe: <https://mailman.alsa-project.org/mailman/listinfo/alsa-devel>, <mailto:alsa-devel-request@alsa-project.org?subject=subscribe> Errors-To: alsa-devel-bounces@alsa-project.org Sender: "Alsa-devel" <alsa-devel-bounces@alsa-project.org> |
Series |
clk: Make determine_rate mandatory for muxes
|
expand
|
On Fri, Nov 04, 2022 at 02:18:22PM +0100, Maxime Ripard wrote: > The determine_rate hook allows to select the proper parent and its rate > for a given clock configuration. On another hand, set_parent is there to > change the parent of a mux. > > Some clocks provide a set_parent hook but don't implement > determine_rate. In such a case, set_parent is pretty much useless since > the clock framework will always assume the current parent is to be used, > and we will thus never change it. > > This situation can be solved in two ways: > - either we don't need to change the parent, and we thus shouldn't > implement set_parent; > - or we don't want to change the parent, in this case we should set > CLK_SET_RATE_NO_REPARENT; > - or we're missing a determine_rate implementation. > > The latter is probably just an oversight from the driver's author, and > we should thus raise their awareness about the fact that the current > state of the driver is confusing. > > It's not clear at this point how many drivers are affected though, so > let's make it a warning instead of an error for now. > Commit message could probably use updated to make the new state of the chain. Thanks, Charles
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index 495d7497cc43..9eb0343629cc 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -3701,6 +3701,13 @@ static int __clk_core_init(struct clk_core *core) goto out; } + if (core->ops->set_parent && !core->ops->determine_rate) { + pr_err("%s: %s must implement .set_parent & .determine_rate\n", + __func__, core->name); + ret = -EINVAL; + goto out; + } + if (core->num_parents > 1 && !core->ops->get_parent) { pr_err("%s: %s must implement .get_parent as it has multi parents\n", __func__, core->name);