On Thu, Jul 14, 2016 at 10:35:41PM +0900, Wolfram Sang wrote: > On Mon, Jun 06, 2016 at 02:26:22PM +0300, Jarkko Nikula wrote: > > ACPI 5 specification doesn't have property for the I2C bus speed but > > I2cSerialBus resource descriptors which define each controller-slave > > connection define the maximum speed supported by that connection. > > > > Thus finding the maximum safe speed for the bus is to walk all > > I2cSerialBus resources that are associated to I2C controller and use > > the speed of slowest connection. > > > > Add function i2c_acpi_find_bus_speed() to the i2c-core that adapter > > drivers can call prior registering itself to core. > > > > This implies two-step walk through the I2cSerialBus resources: call to > > i2c_acpi_find_bus_speed() does the first scan and finds the safe bus > > speed that adapter drivers can set up. Adapter driver registration does > > the second scan when i2c-core creates the I2C slaves by calling the > > i2c_acpi_register_devices(). In that way the bus speed is set in case > > slave device probe gets called during registration and does > > communication. > > > > Implement this by reusing the existing ACPI I2C walk routines in the > > i2c-core. Extend them so that slowest connection speed is saved during > > the walk and I2C slaves are registered only when calling through the > > i2c_acpi_register_devices() with the i2c_adapter pointer. > > > > Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> > > Applied to for-next, thanks! And reverted due to merge problems and 3/3 not being in shape currently. Please rebase on v4.8-rc1 and resubmit.
Attachment:
signature.asc
Description: PGP signature