[i2c] [patch 0/5] "new style" I2C driver support, take ~6
david-b at pacbell.net
Thu Feb 15 09:25:41 CET 2007
Since Jean has now merged some version of all that "Phase I" stuff
into the current GIT tree (although the class stuff was turned on
its head) ... here's a refresh of the "Phase II" patches, which
let I2C drivers move towards the standard 2.6 driver model, and
away from the Linux 2.2 legacy model. ;)
Other than applying against current 2.6.20 code (plus the last
three of Jean's patches from Saturday), the main change here is
that the last patch was split in half (boardinfo first). Plus
some comment/doc updates; so most of this has been discussed
previously on the i2c list (November).
Summary of the patches, in sequence:
- Driver probe() needs to work, along with hotplug and coldplug.
- Likewise remove() must work. As with probe(), nothing will
yet invoke these new methods.
- Did someone just say "Documentation/i2c"?
- Board-specific arch_initcall() code can declare i2c_board_info
for each device (including irq and platform_data); and include
an i2c_new_device() call to start triggering probe() etc.
- Add i2c_register_adapter() to claim a specific bus id and kick
in automatic creation of nodess for pre-declared devices; that
will be the main way for e.g. embedded boards to configure all
their I2C devices.
Status of this code is that it all compiles (incrementally) but
hasn't yet been re-tested. However, with this much in place,
testing (board-specific updates etc) ought to be simple.
More information about the i2c