On Sun, Jan 31, 2016 at 04:33:00PM +0100, Jean-Michel Hautbois wrote: > Some I2C devices have multiple addresses assigned, for example each address > corresponding to a different internal register map page of the device. > So far drivers which need support for this have handled this with a driver > specific and non-generic implementation, e.g. passing the additional address > via platform data. > > This patch provides a new helper function called i2c_new_secondary_device() > which is intended to provide a generic way to get the secondary address > as well as instantiate a struct i2c_client for the secondary address. > > The function expects a pointer to the primary i2c_client, a name > for the secondary address and an optional default address. The name is used > as a handle to specify which secondary address to get. > > The default address is used as a fallback in case no secondary address > was explicitly specified. In case no secondary address and no default > address were specified the function returns NULL. With "no default address" you mean the function parameter is 0? Yeah, you get a NULL pointer from i2c_new_device then, but also a dev_err message, or? > For now the function only supports look-up of the secondary address > from devicetree, but it can be extended in the future > to for example support board files and/or ACPI. Ccing Mika. I think it can be 1:1 converted to device_property_* functions already giving ACPI support for free? Thanks, Wolfram
Attachment:
signature.asc
Description: PGP signature