From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f41.google.com (mail-lf1-f41.google.com [209.85.167.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A449A2E8DEB for ; Fri, 24 Jul 2026 06:24:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.41 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784874289; cv=none; b=BJx1AnuzGaR8rIfE8mDI6tYXd8vgz5cj/i48dNrc8QdzbuO/pdBNnlT8fDyW62SIRxkNnR/Ib/RwfVDTAHPZtzsTdsR2HUezHHv0Dw9ZJOh7BlFqWPR7U6y9wMCJWUfBake2FDl34YEID5Y7Sc1J9/JECqrYJdospVrK2l19Pcw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784874289; c=relaxed/simple; bh=FOxqpoJy/A726CwPpj/qGjWc1Xh/yfrH1CaIv+t3Krg=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=MluR3xTwNuyOAK3bB4bg3m0K79nvmp5WvVFuHoHgCnGwxi7ljAFwuVK8a0EXF8te9kRWyYaJyQMWzu2WODihgM3fnjEyrM01pj+LkN8d7fIg7vJWBq3Al68c8wux4Yb3JbZuTeQA981SuygXh0downx6pUsMLbqiaFISFHIfvxc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=lHUpx0p4; arc=none smtp.client-ip=209.85.167.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="lHUpx0p4" Received: by mail-lf1-f41.google.com with SMTP id 2adb3069b0e04-5aec6360133so68824e87.1 for ; Thu, 23 Jul 2026 23:24:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784874286; x=1785479086; darn=vger.kernel.org; h=in-reply-to:content-disposition:content-type:mime-version :references:message-id:subject:cc:to:from:date:from:to:cc:subject :date:message-id:reply-to:content-type; bh=uk3RmzNM+4HATdUINCImQkM4yBkD8IUy+g/Mgaj5sVs=; b=lHUpx0p4IAaujuQzJ7mYdFQ8IRe8Mm44WMu7MAxAh9vYcw75Y8lH1/IhlOBlegosTZ 5GrhahEJvVglwpNeHIO0O6ibwJXQSw/BV1XPYjlYKVWh1BaKr1GDpv17thNgUotIYLxu zionapARLMs2KhilEtTAP1Vt+TEyukcKvVw9N0rmwfpJhEMsJRn05R7ri1QNRSB5g0QZ wY9zeI6Lhxrd4zk9kQyoYOuHztplG4Pp8S1HH6h7ju5VgxVyfZB+Fup12nuP1xGPeQA9 LLZOyCecF9AA2abj75yC9jo0LgICwmPVYWBtV4womYsGjjFCr0Jmpx4suVI+kehq+126 9nkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784874286; x=1785479086; h=in-reply-to:content-disposition:content-type:mime-version :references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=uk3RmzNM+4HATdUINCImQkM4yBkD8IUy+g/Mgaj5sVs=; b=oePa56zYVH45gsKcOXsSV71DCRe50ls2GdfhBZ0iBluPnelbv0yvxCgMifNSScDnFS 9CtR7VK1rEfk3Z/+5/kahkrnzo/u6wcr8XXT8GERfddEkp3xWYfu1fR5EffSZQ6lfaJ8 gu9xMLvJZWvRPm3j7U5Rj7vPa8RW1AnGLLbA6ZxTPxipZFgQKMLglStpq78nxSYkY4lR LrdHb9hU/Qlsbcb3MwDC1/LpTueOe2WvkikRD65McqO6U1O7lrlUKfLsi3XeBFJ+3V3Q Te8wv+DxzWW7KV1lEuvqHy52IcedMzFHaEQe28akXxpALFGRZjoniWGnFgwfElQBy32Y G2RQ== X-Forwarded-Encrypted: i=1; AHgh+RpA2AO3ZzkAw9QWSg9Fw1fmubiriwfHD5v8Gge6+oVQgDGI+aEZIhxO9OAW6odmDvT7ssrpvwx4SP42sJg=@vger.kernel.org X-Gm-Message-State: AOJu0YxIozmC/4FkHlk8/FZ5FCaSsdSqT+wHLhQyAH57XT11eIeQW5W/ jOfeJwEa2KmXq0U7lIYoq8GCzZb6pvkyJzfpdoYlYKvcfKIO9jMCKm52 X-Gm-Gg: AR+sD12zCcFQt2H48GPjc70iR/sbl65Xh4nrSYigWQ9TqL8hxKG1kfj/s3P6fZeu2u/ XiSq5sgEWAy7Wf4kkV8Nkb0IJNzC7c007NFNo6lrvsyXQQgmi63gu5NV/8/PSHGiHzgoNjSZJU+ cLz9Xh5VQtSDrX7QtFyFQGHWvGzwYccq7aOgmqlUky3ogHRwWaq6cKpRK3wJMSCEDM2nG7Mrql5 WlPasNmMdBfBu+fxb84kiBfMeot7RaIpI0oGR/vDiljCnmDVNBXbIZRFFY/ILvD0VHFvEKZyTsg nSJUnZuUVTXaruUrHl+Htf+rRaWKDxSTvviKfMS0EVhaaBlhZQLwzbhnhFE6rmei9xeWTLenWXb baqKlAINJeX9egltxTkjWJOHZN3CFenrC/xP/oa4S6t2L886uGPMDi4o1bxdeEpb0jVqzVdBL4k dQHR4DVuLUvLqUSd1HhzlT5JO4BnMeb16ldyiZr40= X-Received: by 2002:a05:6512:3f18:b0:5b0:1bef:2e9a with SMTP id 2adb3069b0e04-5b2b2f6c64cmr1248999e87.33.1784874285299; Thu, 23 Jul 2026 23:24:45 -0700 (PDT) Received: from gmail.com (83-233-6-197.cust.bredband2.com. [83.233.6.197]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5b2a9b8cd32sm1402967e87.11.2026.07.23.23.24.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jul 2026 23:24:44 -0700 (PDT) Date: Fri, 24 Jul 2026 08:24:42 +0200 From: Marcus Folkesson To: Peter Rosin Cc: Wolfram Sang , Michael Hennerich , Bartosz Golaszewski , Andi Shyti , Andy Shevchenko , Bartosz Golaszewski , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v12 2/7] i2c: mux: add idle_state property to i2c_mux_core Message-ID: References: <20260719-i2c-mux-v12-0-a5010d623a57@gmail.com> <20260719-i2c-mux-v12-2-a5010d623a57@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="tTt7g7QxyG1DLvq9" Content-Disposition: inline In-Reply-To: --tTt7g7QxyG1DLvq9 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi Peter! On Thu, Jul 23, 2026 at 01:04:11PM +0200, Peter Rosin wrote: > Hi! >=20 > On 2026-07-19 16:59, Marcus Folkesson wrote: > > Muxes treat their channels differently when idle. > > Let the mux core have this information to make it available for > > internal use. > >=20 > > Possible idle states are: > > - I2C_MUX_IDLE_AS_IS: Leave channels as is when idle > > - I2C_MUX_IDLE_DISCONNECT: Disconnect channel (set HiZ when idle) > > - I2C_MUX_IDLE_UNKNOWN: Unknown idle state > > - : Enable channel n (starting from 0) when idle" > >=20 > > Default value is set to I2C_MUX_IDLE_UNKNOWN. > >=20 > > Reviewed-by: Andy Shevchenko > > Signed-off-by: Marcus Folkesson [...] > > +/* > > + * Mux drivers may only change idle_state, and may only do so > > + * between allocation and registration of the mux controller. >=20 > This is simply not true. It is a limitation imposed by your series. > The pca954x driver has a hook to change the idle state at runtime > (the change takes effect the next time the mux is deselected). >=20 > Cheers, > Peter I see. I will update pca954x driver to make use of i2c_mux_set_idle_state()/i2c_mux_idle_state() instead. As the state may be changed in runtime, I will also verify that the state is allowed for the current clock configuration in i2c_mux_set_idle_state: static inline int i2c_mux_set_idle_state(struct i2c_mux_core *muxc, int sta= te) { switch (state) { case I2C_MUX_IDLE_AS_IS: case I2C_MUX_IDLE_UNKNOWN: for (int i =3D 0; i < muxc->num_adapters; i++) { /* * idle_state is incompatible with channels that have a * different clock frequency than the parent adapter. */ if (muxc->adapter[i]->clock_Hz !=3D muxc->parent->clock_Hz) return -EINVAL; } break; case I2C_MUX_IDLE_DISCONNECT: break; default: if (state < 0 || state >=3D muxc->num_adapters) return -EINVAL; /* * idle_state cannot select a channel with a different clock * frequency than the parent adapter. */ if (muxc->adapter[state]->clock_Hz !=3D muxc->parent->clock_Hz) return -EINVAL; break; } muxc->idle_state =3D state; return 0; } Best regards, Marcus Folkesson --tTt7g7QxyG1DLvq9 Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEBVGi6LZstU1kwSxliIBOb1ldUjIFAmpjBSUACgkQiIBOb1ld UjL8SBAAn9sqiep2ZxOIZiVpcYjHr3PN9JfZ5tyUvL3BoL6EVfw2m+AD78GkB2Aw WM3WBkbEhA76yCcRYo4FDe3CmxJEaTzLzhGMoka+CkiMIJVQf3naFrhrJjcvD+bn i99rZc9nsdPj51hafKHsA2smbMZVyYo6Om+oB5x8hY1uHLlHFStjJryg4Ew8JRIH nLLAq/ezARds3v8KW9me8232YLZu4hotfQHP9+GJC/b3Xc0R9qNvlTqk5GQ5F1fO oIs/Zj1aEy/KSpr2JDlpeNbFI0ogCkecrnnB3DSScau3cFao/CEUwu/bArYw/FlU lfYpECOzt1QhBvzUR9T8be4QI7Tdxe3eLx6DQof8g4taL9nn/P2rTwiEbhHC4px/ kidsEltAj6m19DS3yWPbIsrQCOFy/UhsIX7TH2bci8hzcNXoSUZbnspT5fhkIhuO JN9s2RrbO/YsIDAhiOWl1jbOM3/QJn8IvTCnYYhmRgnnnxy9f3dJWjcFCAo1148+ 1++pE1c8Bec25hstlRNJk9+3ezhFYQNWvbG5TZgrQvGHT7I4uLuiFpK2MOG7P1to RwZgF35SoabaucJsoRy2DxGYnNrxovPEufrKLJN9YB7D8xfohsnkQ1C4QAYokjcq AmfIjfjVvK2EPceSpV6mhfOgRrC1ylfbf64SUlDNRdByvnbANiA= =l99G -----END PGP SIGNATURE----- --tTt7g7QxyG1DLvq9--