[lkml]   [2012]   [Apr]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH v3 0/2] i2c/of: Populate multiplexed i2c busses from the device tree.
From: David Daney <>

v3: Integrate changes from Lars-Peter Clausen to make better use of
the of_*() infrastructure. Get rid of ugly #ifdefs.

v2: Update bindings to use "reg" insutead of "cell-index"

v1: Unchanged from the original RFC where I said:

We need to populate our I2C devices from the device tree, but some
of our systems have multiplexers which currently break this process.

The basic idea is to have the generic i2c-mux framework propagate
the device_node for the child bus into the corresponding
i2c_adapter, and then call of_i2c_register_devices(). This means
that the device tree bindings for *all* i2c muxes must have some
common properties. I try to document these in mux.txt.

This is now tested against 3.4-rc2 and is still working well.

David Daney (2):
i2c: Add a struct device * parameter to i2c_add_mux_adapter()
i2c/of: Automatically populate i2c mux busses from device tree data.

Documentation/devicetree/bindings/i2c/mux.txt | 60 +++++++++++++++++++++++++
drivers/i2c/i2c-mux.c | 43 ++++++++++++++----
drivers/i2c/muxes/gpio-i2cmux.c | 3 +-
drivers/i2c/muxes/pca9541.c | 3 +-
drivers/i2c/muxes/pca954x.c | 2 +-
include/linux/i2c-mux.h | 3 +-
6 files changed, 101 insertions(+), 13 deletions(-)
create mode 100644 Documentation/devicetree/bindings/i2c/mux.txt

Cc: Lars-Peter Clausen <>

 \ /
  Last update: 2012-04-12 23:17    [W:0.059 / U:6.932 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site