iio: inv_mpu6050: Use i2c_acpi_get_i2c_resource() helper
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 28 Nov 2018 11:45:35 +0000 (13:45 +0200)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 3 Dec 2018 19:40:03 +0000 (21:40 +0200)
ACPI provides a generic helper to get I2C Serial Bus resources.
Use it instead of open coded variant.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/imu/inv_mpu6050/inv_mpu_acpi.c

index d78a104..a961b5a 100644 (file)
@@ -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 */