On Mon, Dec 29, 2014 at 03:48:48PM +0200, Mika Westerberg wrote: > ACPI specification allows I2C devices with multiple addresses. The current > implementation goes over all addresses and assigns the last one to the > device. This is typically not the primary address of the device. > > Instead of doing that we assign the first address to the device and then > let the driver handle rest of the addresses as it wishes. > > Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> > Cc: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Yes, seems better than what we do know. But maybe taking the lowest address is a bit better heuristic than taking the first address? Not sure, though... > --- > drivers/i2c/i2c-core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c > index 39d25a8cb1ad..a06be43b7842 100644 > --- a/drivers/i2c/i2c-core.c > +++ b/drivers/i2c/i2c-core.c > @@ -102,7 +102,7 @@ static int acpi_i2c_add_resource(struct acpi_resource *ares, void *data) > struct acpi_resource_i2c_serialbus *sb; > > sb = &ares->data.i2c_serial_bus; > - if (sb->type == ACPI_RESOURCE_SERIAL_TYPE_I2C) { > + if (!info->addr && sb->type == ACPI_RESOURCE_SERIAL_TYPE_I2C) { > info->addr = sb->slave_address; > if (sb->access_mode == ACPI_I2C_10BIT_MODE) > info->flags |= I2C_CLIENT_TEN; > -- > 2.1.4 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-i2c" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html
Attachment:
signature.asc
Description: Digital signature