From: Jean Delvare <khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org>
To: Michael Lawnick <nospam_lawnick-Mmb7MZpHnFY@public.gmane.org>
Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: Request for Clarification: old - legacy - new driver model
Date: Wed, 25 Feb 2009 09:00:02 +0100 [thread overview]
Message-ID: <20090225090002.2c31dbf1@hyperion.delvare> (raw)
In-Reply-To: <go12jd$ec4$1@ger.gmane.org>
Hi Michael,
On Tue, 24 Feb 2009 16:09:33 +0100, Michael Lawnick wrote:
> Jean Delvare said the following:
> > On Thu, 19 Feb 2009 15:17:13 +0100, Michael Lawnick wrote:
> <snip>
> >> Our situation: main board is up and running, all drivers loaded.
> >> Now an extension board will be plugged in. It is detected by
> >> periodically polling via I2C for MUX. After detection the drivers e.g.
> >
> > This is totally unsupported. I2C isn't an hot-pluggable bus.
> >
> <snip>
> >
> > What you are missing, as far as I can see, is proper mux support.
> > Rodolfo Giometti (Cc'd) is working on this, if you want to test his
> > patches (which I still didn't have the time to look at, sadly.)
> >
> I have seen the patches, I am planning based on them.
>
> Well, thinking about it, I hope to have a solution.
> Here is what a H/W might look like:
> +-------+ +--------+
> | LM75 | | EEPROM |
> +-------+ +--------+
> Mainboard | |
> +------------+ | |
> | controller |----------------+-----+-----+---....
> +------------+ |
> |
> |
> +------+
> | |
> ...>--------------------------| MUX1 |----------------------<...
> +-----------------| |---------------+
> | +------+ |
> | |
> | |
> ^ ^
> Plugin1 | Plugin2 |
> +------+ +------+
> | | +-------+ | | +-------+
> +---| MUX2 |---| LM75 | +---| MUX3 |---| LM75 |
> | | | +-------+ | | | +-------+
> | +------+ | +------+
> | |
> | +-------+ | +-------+
> +---| LM75 | +---| LM75 |
> | +-------+ | +-------+
> | |
> | +--------+ | +--------+
> +---| EEPROM | +---| EEPROM |
> | +--------+ | +--------+
> | |
>
I don't quite get the point of MUX2 and MUX3.
>
> The idea: when deferring the instantiation of the adapters of MUX1,
> there should be something like a hot-plug event.
> AFAIK, after adding an adapter via i2c_add_numbered_adapter(), the I2C
> subsystem will probe for all currently known clients on this new bus.
> Correct?
> If so, this should cascade through the newly plugged in board.
For I2C chip drivers which do device autodetection (lm75 and eeprom are
amongst them but for example at24 is not) yes. For other drivers (say
at24) there should be a board definition for the new i2c bus segment.
This might be a little difficult to implement with the traditional
i2c_register_board_info() due to the hotplug nature is not all plugins
have the same set of I2C chips. But some custom code using
i2c_new_device() should do.
> This defer could be implemented by removing auto instantiation (module
> parameter)
Auto instantiation only happens if the bus driver asks for it (through
an I2C_CLASS_* flag). If you don't want it, no need for a module
parameter, simply don't set any class flag.
> but adding a sysFs entry on MUX that does it on demand:
> #start controller 5
> echo 5 > /sys/bus/i2c/devices/1-0020/startAdapter
> #stop controller 5
> echo 5 > /sys/bus/i2c/devices/1-0020/stopAdapter
>
> Any contradictions?
What are you trying to achieve? What is wrong with auto instantiation
as it is implemented today?
--
Jean Delvare
next prev parent reply other threads:[~2009-02-25 8:00 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-18 12:37 Request for Clarification: old - legacy - new driver model Michael Lawnick
2009-02-18 17:36 ` Wolfram Sang
[not found] ` <20090218173645.GD3049-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-02-19 14:17 ` Michael Lawnick
2009-02-20 12:53 ` Jean Delvare
[not found] ` <20090220135300.353cd53a-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2009-02-24 15:09 ` Michael Lawnick
2009-02-25 8:00 ` Jean Delvare [this message]
[not found] ` <20090225090002.2c31dbf1-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2009-02-26 11:09 ` Michael Lawnick
2009-02-26 13:28 ` Jean Delvare
[not found] ` <20090226142854.2b6f72e4-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2009-02-26 15:16 ` Michael Lawnick
2009-02-27 9:36 ` Michael Lawnick
2009-03-05 14:57 ` Jean Delvare
[not found] ` <20090305155713.46ac1968-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2009-03-09 14:13 ` Michael Lawnick
2009-03-09 14:38 ` Jean Delvare
[not found] ` <20090309153851.6d92729e-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2009-03-10 6:45 ` Michael Lawnick
[not found] ` <20090310103609.0d756775@hyperion.delvare>
[not found] ` <20090310114215.181300@gmx.net>
[not found] ` <20090310114215.181300-hi6Y0CQ0nG0@public.gmane.org>
2009-03-10 11:47 ` Michael Lawnick
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=20090225090002.2c31dbf1@hyperion.delvare \
--to=khali-puyad+kwke1g9huczpvpmw@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=nospam_lawnick-Mmb7MZpHnFY@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