]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
iio: light: isl29018: Replace a variant of iio_get_acpi_device_name_and_data()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 24 Oct 2024 19:05:09 +0000 (22:05 +0300)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Fri, 1 Nov 2024 14:54:44 +0000 (14:54 +0000)
IIO core (ACPI part) provides a generic helper that may be used in
the driver. Replace a variant of iio_get_acpi_device_name_and_data().

Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://patch.msgid.link/20241024191200.229894-21-andriy.shevchenko@linux.intel.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/light/isl29018.c

index 8dfc750e68c02f1a90a01ad4e838761719240c71..bea3e8826bf30584fc9dc1624f2f5d06b1ba84cb 100644 (file)
@@ -687,20 +687,6 @@ static const struct isl29018_chip_info isl29018_chip_info_tbl[] = {
        },
 };
 
-static const char *isl29018_match_acpi_device(struct device *dev, int *data)
-{
-       const struct acpi_device_id *id;
-
-       id = acpi_match_device(dev->driver->acpi_match_table, dev);
-
-       if (!id)
-               return NULL;
-
-       *data = (int)id->driver_data;
-
-       return dev_name(dev);
-}
-
 static void isl29018_disable_regulator_action(void *_data)
 {
        struct isl29018_chip *chip = _data;
@@ -716,9 +702,10 @@ static int isl29018_probe(struct i2c_client *client)
        const struct i2c_device_id *id = i2c_client_get_device_id(client);
        struct isl29018_chip *chip;
        struct iio_dev *indio_dev;
+       const void *ddata = NULL;
+       const char *name;
+       int dev_id;
        int err;
-       const char *name = NULL;
-       int dev_id = 0;
 
        indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*chip));
        if (!indio_dev)
@@ -731,11 +718,11 @@ static int isl29018_probe(struct i2c_client *client)
        if (id) {
                name = id->name;
                dev_id = id->driver_data;
+       } else {
+               name = iio_get_acpi_device_name_and_data(&client->dev, &ddata);
+               dev_id = (intptr_t)ddata;
        }
 
-       if (ACPI_HANDLE(&client->dev))
-               name = isl29018_match_acpi_device(&client->dev, &dev_id);
-
        mutex_init(&chip->lock);
 
        chip->type = dev_id;