linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jean Delvare <khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org>
To: Guenter Roeck <linux-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: Problem with multiple i2c multiplexers on one bus, and mux bus naming
Date: Mon, 18 Nov 2013 15:14:41 +0100	[thread overview]
Message-ID: <20131118151441.0ad2b5d8@endymion.delvare> (raw)
In-Reply-To: <52893187.3000600-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>

Hi Guenter,

On Sun, 17 Nov 2013 13:13:43 -0800, Guenter Roeck wrote:
> On 11/17/2013 12:41 PM, Jean Delvare wrote:
> > On Sun, 17 Nov 2013 10:56:24 -0800, Guenter Roeck wrote:
> >> This retains the old mux name if the mux is not an i2c device, and adds
> >> the i2c device address if it is. This solves the problem for me.
> >>
> >> Comments ?
> >
> > This "for me" worries me a bit. You basically restored the uniqueness
> > for the multiple I2C-based multiplexer case. But for multiple
> > GPIO-based multiplexers, for example, the name confusion still exists.
> 
> Only if some genius connects multiple separate gpio based multiplexers
> to the same bus.

This is totally possible, for a variety of reasons, including physical
location of the GPIO pins and bus segment ends, but also economical
(using the same chips on several boards.)

> In practice, though, that can be modeled as single
> gpio mux with more pins, so I didn't think that is that much of a problem.

I admit I had not considered this. But would it work if the different
GPIO pins are on different chips (say south bridge and Super-I/O for
example)? The i2c-mux-gpio driver assumes a single chip, at least when
passed by name.

> > If we are going to address this problem, I believe we should do so in a
> > way which doesn't need revisiting in a couple months. You are changing
> > adapter names people or tools may be relying on, we really don't want
> > to do this too often.
>
> Good point. One possible solution might be to add the mux type into the name.
> 	i2c-2-mux-i2c-76 (chan_id 0)
> 	i2c-2-mux-gpio-77 (chan_id 0)

Yes, that's pretty much what I had in mind.

> We could add an additional parameter to the API, such as
> 	const char *qualifier
> to provide the "i2c-76" or "gpio-77" string. If the qualifier is NULL,
> the name would revert to the old naming scheme. Would that make sense ?

Yes, although your first draft gave me some hope that i2c-mux could do
some magic to guess the type and identifier automatically. But maybe
it's not that clean to have to touch i2c-mux for every new i2c-mux-*
driver. Not that I expect too many of them... so it's mostly a matter
of principle. An explicit qualifier as you suggest above might be
cleaner.

-- 
Jean Delvare

  parent reply	other threads:[~2013-11-18 14:14 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-16 18:31 Problem with multiple i2c multiplexers on one bus, and mux bus naming Guenter Roeck
     [not found] ` <5287B9E4.1020107-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-11-16 20:41   ` Jean Delvare
     [not found]     ` <20131116214116.3d035b76-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
2013-11-16 20:43       ` Jean Delvare
     [not found]         ` <20131116214318.1d101d35-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
2013-11-17 18:56           ` Guenter Roeck
     [not found]             ` <20131117185624.GA23639-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-11-17 20:41               ` Jean Delvare
     [not found]                 ` <20131117214102.236ae09a-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
2013-11-17 21:13                   ` Guenter Roeck
     [not found]                     ` <52893187.3000600-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-11-18 14:14                       ` Jean Delvare [this message]
     [not found]                         ` <20131118151441.0ad2b5d8-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
2013-11-18 17:14                           ` Guenter Roeck
2013-11-17 17:23       ` Guenter Roeck
     [not found]         ` <5288FB94.6000304-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-11-17 20:31           ` Jean Delvare

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=20131118151441.0ad2b5d8@endymion.delvare \
    --to=khali-puyad+kwke1g9huczpvpmw@public.gmane.org \
    --cc=linux-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org \
    --cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).