Re: [patch] add pca9543 driver

From: Jean Delvare
Date: Fri Mar 27 2009 - 10:18:18 EST


On Thu, 26 Mar 2009 17:23:15 +0100, Oskar Schirmer wrote:
> On Thu, Mar 26, 2009 at 15:51:05 +0100, Jean Delvare wrote:
> > On Thu, 26 Mar 2009 15:46:58 +0100, Oskar Schirmer wrote:
> > > support pca9543 i2c bus switch chip
> > >
> > > Signed-off-by: Oskar Schirmer <os@xxxxxxxxx>
> > > ---
> > > drivers/i2c/chips/Kconfig | 3 +
> > > drivers/i2c/chips/Makefile | 1 +
> >
> > Please read the header of these two files carefully again.
>
> Ok, I see. But how to have PCA9543 supported then?
> The PCA9543 is an I2C bus switch/mux, so following
> the headers it might be placed in drivers/<functionality>,
> where <functionality> is "i2c bus mux", thus drivers/i2c.

We could consider creating drivers/i2c/muxes or similar for I2C
multiplexer drivers, especially if we start supporting many of them.

> As this is obviously not the solution, we might try to do the
> bus muxing manually from userland, as soon as the system is up.

"From userland" is exactly what your driver is doing, and this is
clearly not acceptable. You can't do userland switching and let the
kernel instantiate devices, as you found out yourself, which means that
such multiplexed buses would only support userland-created devices
(that is, i2c-dev.) This is way too limited to spend time on it.

> This wont work either, as the video drivers need the i2c bus
> switch programmed before the video stuff can be initialized,
> thus during bootup.
>
> Next, the drivers proposed by Rodolfo Giometti
> ( http://article.gmane.org/gmane.linux.drivers.i2c/2996/ )
> might add the functionality needed.

It's not that they "might", rather they are _exactly_ what you need.

> As far as I can see from
> Documentation/feature-removal-schedule.txt, prerequisites for
> it to be accepted are given with 2.6.30, is the driver by
> Rodolfo still in the queue, i.e. being merged for 2.6.30 now?

Unfortunately not, I'm still working on the prerequisite in question
and I _hope_ to have that done in 2.6.30, but Rodolfo's work won't make
it in time. Which does not mean you shouldn't look at it, see how it
works for you, and report to Rodolfo. The more people help him cleanup
and improve his code, the easier and faster it will be when the time
finally comes to merge it.

--
Jean Delvare
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/