Re: [PATCH] OMAP: I2C driver for TI OMAP boards #2

David Brownell
2006-08-03T15:37:21Z

On Thursday 03 August 2006 2:19 am, Jean Delvare wrote:
> The i2c core provides a mechanism to bypass the probing when you know
> for sure what device is at a given address. For an embedded system, that
> should work.

Unfortunately the mechanisms I'm aware of require either error-prone
kernel command line parameters, or (not error prone, but inelegant)
board-specific logic in the drivers, before driver registration, to
do equivalent stuff.

> > (There's a separate issue about how the I2C stack doesn't just have a
> > mechanism to just declare "this board has these chips, these addresses",
> > so I2C drivers have needless reliance on probing...)
>
> This is being (slowly) addressed by Nathan Lutchansky and Mark M.
> Hoffman. The best solution implies converting the i2c subsystem to the
> device driver model - a non-trivial task.

Glad to hear that fixes are in the works. That's the same conclusion
I reached: that I2C needed those non-trivial changes.

It may help to see how the SPI core solves that problem. Unlike I2C,
SPI actually _can't_ probe (except in rare specialized cases), and when
I did the SPI stuff I was thinking about models that could apply easily
to help I2C avoid probing. (Though not, at this point, code.)

That model of a table of board-specific declarations (with things like
"I2C chip type X at address A, using interrupt I and platform_data P")
should work for I2C too.

- Dave