On Wed, Sep 04, 2013 at 04:13:25PM +0000, Opensource [Adam Thomson] wrote:
Personally I don't see the issue in having two I2C clients defined for the one chip, in the machine bindings. Logically it's absolutely correct for the chip, and as long as the I2C IDs for the devices make sense (which wasn't the case for DA9055, and is something I want to rectify), then it should be obvious to anyone who comes across that code. Actually having them as two separate entries in machine code helps to highlight that they are individual I2C devices in one package rather than somehow linked internally and requiring ordered initialisation. That seems right to me, and would tally with the associated datasheet for the device.
The goal is that users shouldn't even need to have to think about how the chip is constructed, they should just be able to use it with minimal thought or effort. Anything that can be encapsulated within the drivers should be.