All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marcus Folkesson <marcus.folkesson@gmail.com>
To: Peter Rosin <peda@lysator.liu.se>
Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>,
	Michael Hennerich <michael.hennerich@analog.com>,
	Bartosz Golaszewski <brgl@bgdev.pl>,
	Andi Shyti <andi.shyti@kernel.org>,
	Andy Shevchenko <andriy.shevchenko@intel.com>,
	Bartosz Golaszewski <brgl@kernel.org>,
	linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v11 2/7] i2c: mux: add idle_state property to i2c_mux_core
Date: Sun, 19 Jul 2026 16:07:55 +0200	[thread overview]
Message-ID: <alzaOzSFklfpN18u@gmail.com> (raw)
In-Reply-To: <c0b47180-d3df-4b58-9311-d02734213716@lysator.liu.se>

Hi Peter!

On Sun, Jul 19, 2026 at 02:39:34PM +0200, Peter Rosin wrote:
> On 2026-07-15 21:02, Marcus Folkesson wrote:
> > Hi Peter,
> > 
> > On Tue, Jul 14, 2026 at 01:29:01PM +0200, Peter Rosin wrote:
> > > Hi Marcus,
> > > 
> > > Sorry for the very late feedback.
> > > 
> > > On 2026-07-13 09:19, Marcus Folkesson wrote:
> > > > Muxes treat their channels differently when idle.
> > > > Let the mux core have this information to make it available for
> > > > internal use.
> > > > Reuse the same state values used by CONFIG_MULTIPLEXER.
> > > > 
> > > > Possible idle states are:
> > > > - MUX_IDLE_AS_IS: Leave channels as is when idle
> > > > - MUX_IDLE_DISCONNECT: Disconnect channel (set HiZ when idle)
> > > > - <n>: Enable channel n when idle
> > > > 
> > > > Default value is set to MUX_IDLE_AS_IS.
> > > > 
> > > > Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>


[...]

> > I think I will introduce a few defines in i2c-mux.c then;
> > 
> > 
> > #define I2C_MUX_IDLE_UNKNOWN	(-1)
> > #define I2C_MUX_IDLE_AS_IS      (-2)
> > #define I2C_MUX_IDLE_DISCONNECT (-3)
> 
> Hi!
> 
> Please keep AS_IS as -1 and DISCONNECT as -2. Using different
> values will make it difficult to get rid of the use of the
> defines belonging to the mux subsystem in case the actual
> value has crept into some .dtb or something like that.

Got it!

> 
> Also, I think the right thing to do is to put these defines
> in the i2c-mux.h header so that the drivers can find them.
> I assume .c was a typo?

Yep, it should be i2c-mux.h.

> 
> > [...]
> > 
> > struct i2c_mux_core {
> > 
> >      [...]
> > 
> > 	/*
> > 	 * The mux state to use when not active.
> 
> This is not 100% accurate. The value stored here is never
> actually used to set the idle state. The idle_state here is
> only what the driver has declared that the idle_state is.
> Perhaps word it like this instead?
> 
> 	* The mux state used by the driver when idle.
> 
> Agreed, subtle difference, but...

... even better. I will change to that.

> 
> In the future, drivers (most of them) could be changed to
> use this variable to store the actual idle state. But, as
> mentioned, that's not easy for i2c-mux-gpmux since the idle
> state is under the control of the the mux subsystem in that
> case.
> 
> Cheers,
> Peter
> 
> > 	 * Possible idle states are:
> > 	 *  - I2C_MUX_IDLE_UNKNOWN: Unknown idle state
> > 	 *  - I2C_MUX_IDLE_AS_IS: Leave channels as is when idle
> > 	 *  - I2C_MUX_IDLE_DISCONNECT: Disconnect channel (set HiZ when idle)
> > 	 *  - <n>: Enable channel n (starting from 0) when idle"
> > 	 *
> > 	 * Default value is set to I2C_MUX_IDLE_UNKNOWN.
> > 	 */
> > 	int idle_state;
> > 
> >      [...]
> > };

Thanks,
Marcus Folkesson

  reply	other threads:[~2026-07-19 14:08 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-13  7:19 [PATCH v11 0/7] I2C Mux per channel bus speed Marcus Folkesson
2026-07-13  7:19 ` [PATCH v11 1/7] i2c: core: add callback to change bus frequency Marcus Folkesson
2026-07-13 16:10   ` Andy Shevchenko
2026-07-13 16:11     ` Andy Shevchenko
2026-07-13  7:19 ` [PATCH v11 2/7] i2c: mux: add idle_state property to i2c_mux_core Marcus Folkesson
2026-07-14  8:49   ` Andy Shevchenko
2026-07-14 11:29   ` Peter Rosin
2026-07-15 19:02     ` Marcus Folkesson
2026-07-19 12:39       ` Peter Rosin
2026-07-19 14:07         ` Marcus Folkesson [this message]
2026-07-13  7:19 ` [PATCH v11 3/7] i2c: mux: add support for per channel bus frequency Marcus Folkesson
2026-07-13  7:20 ` [PATCH v11 4/7] i2c: davinci: calculate bus freq from Hz instead of kHz Marcus Folkesson
2026-07-13  7:20 ` [PATCH v11 5/7] i2c: davinci: add support for setting bus frequency Marcus Folkesson
2026-07-13  7:20 ` [PATCH v11 6/7] i2c: mux: ltc4306: set correct idle_state in i2c_mux_core Marcus Folkesson
2026-07-13  7:20 ` [PATCH v11 7/7] docs: i2c: i2c-topology: add section about bus speed Marcus Folkesson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alzaOzSFklfpN18u@gmail.com \
    --to=marcus.folkesson@gmail.com \
    --cc=andi.shyti@kernel.org \
    --cc=andriy.shevchenko@intel.com \
    --cc=brgl@bgdev.pl \
    --cc=brgl@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michael.hennerich@analog.com \
    --cc=peda@lysator.liu.se \
    --cc=wsa+renesas@sang-engineering.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.