diff options
-rw-r--r-- | drivers/iio/imu/inv_mpu6050/inv_mpu_acpi.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_acpi.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_acpi.c index d78a10403bac..a961b5a06fe6 100644 --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_acpi.c +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_acpi.c @@ -91,18 +91,14 @@ static int asus_acpi_get_sensor_info(struct acpi_device *adev, static int acpi_i2c_check_resource(struct acpi_resource *ares, void *data) { + struct acpi_resource_i2c_serialbus *sb; u32 *addr = data; - if (ares->type == ACPI_RESOURCE_TYPE_SERIAL_BUS) { - struct acpi_resource_i2c_serialbus *sb; - - sb = &ares->data.i2c_serial_bus; - if (sb->type == ACPI_RESOURCE_SERIAL_TYPE_I2C) { - if (*addr) - *addr |= (sb->slave_address << 16); - else - *addr = sb->slave_address; - } + if (i2c_acpi_get_i2c_resource(ares, &sb)) { + if (*addr) + *addr |= (sb->slave_address << 16); + else + *addr = sb->slave_address; } /* Tell the ACPI core that we already copied this address */ |