[PATCH v3 2/2] i2c/of: Automatically populate i2c mux busses from device tree data.

David Daney ddaney.cavm at gmail.com
Tue Apr 24 02:48:40 EST 2012


On 04/22/2012 09:20 AM, Wolfram Sang wrote:
> On Thu, Apr 12, 2012 at 02:14:23PM -0700, David Daney wrote:
>> From: David Daney<david.daney at cavium.com>
>>
>> For 'normal' i2c bus drivers, we can call of_i2c_register_devices()
>> and have the device tree framework automatically populate the bus with
>> the devices specified in the device tree.
>>
>> This patch adds a common code to the i2c mux framework to have the mux
>> sub-busses be populated by the of_i2c_register_devices() too.  If the
>> mux device has an of_node, we populate the sub-bus' of_node so that
>> the subsequent call to of_i2c_register_devices() will find the
>> corresponding devices.
>>
>> It seemed better to put this logic in i2c_add_mux_adapter() rather
>> than the individual mux drivers, as they will all probably want to do
>> the same thing.
>
> Both patches looking mostly good, two things here:
>
>> +	/*
>> +	 * Try to get populate the mux adapter's of_node, expands to
>
> "get populate"? I'd think you mean "populate" only, but am not sure
> enough to fix it myself.

You are correct.

>
>> +	 * nothing if !CONFIG_OF.
>> +	 */
>> +	if (mux_dev->of_node) {
>> +		struct device_node *child;
>> +		u32 reg;
>> +		int ret;
>
> We have a "ret" already in this function.
>

Good catch.  That definition of "ret" could (and should) be removed. 
The code works correctly, but fails the elegance test.

I can send a new patch set with those corrections, or if you prefer, you 
could commit these making the changes yourself.

Which do you prefer?

David Daney



More information about the devicetree-discuss mailing list