Re: [PATCH 1/2] i2c: mux: add device tree support

From: David Daney
Date: Mon Apr 23 2012 - 13:11:35 EST


On 04/23/2012 09:13 AM, Stephen Warren wrote:
On 04/23/2012 05:15 AM, Wolfram Sang wrote:
On Tue, Apr 17, 2012 at 12:49:04PM -0600, Stephen Warren wrote:
From: Stephen Warren<swarren@xxxxxxxxxx>

* Define core portions of the DT binding for I2C bus muxes.
* Enhance i2c_add_mux_adapter():
** Add parameters required for DT support. Update all callers.
** Set the appropriate adap->dev.of_node for the child bus.
** Call of_i2c_register_devices() for the child bus.

Signed-off-by: Stephen Warren<swarren@xxxxxxxxxx>

David Daney (CCed) posted another variant [1]. Just looking at the
patches (and not really using them), I tend to like the approach using
<reg> better. But I am open for discussion, so I'd appreciate your
feedback.

Regards,

Wolfram

[1] http://lkml.org/lkml/2012/4/12/423

Ah, that does look like a reasonable binding.


It was arrived at by iterating through several versions with Grant and Rob.

You make at least the third person (after me and Lars-Peter Clausen) wanting to use the device tree to configure the I2C muxes. So at a minimum, it shows a need for this.

David Daney.

I had meant to call out to reviewers the potentially unusual use of
explicitly named sub-nodes, rather than using the usual reg-based matching.

The main reason I chose named sub-nodes for the busses was so the
sub-nodes would match the pinctrl named states. However, I think we can
make the pinctrl numbering match rather than the pinctrl naming instead.
The only issue is the "idle" state; if we allow it to exist anywhere in
the pinctrl-names list, it'll make the pinctrl numbering mismatch the
sub-node numbering. I think we can solve this by forcing the idle state
to be listed last in pinctrl-names (if it's listed at all). I'll update
my patches based on that David's patch.

--
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/