iio: accel: bmc150: Remove bmc150_set/get_second_device() accessor functions
authorHans de Goede <hdegoede@redhat.com>
Sun, 23 May 2021 17:01:00 +0000 (19:01 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Wed, 9 Jun 2021 19:52:51 +0000 (20:52 +0100)
Now that the definition of the bmc150_accel_data struct is no longer
private to bmc150-accel-core.c, bmc150-accel-i2c.c can simply directly
access the second_dev member and the accessor functions are no longer
necessary.

Note if the i2c_acpi_new_device() for the second-client now fails,
an ERR_PTR gets stored in data->second_dev this is fine since it is only
ever passed to i2c_unregister_device() which has an IS_ERR_OR_NULL() check.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20210523170103.176958-7-hdegoede@redhat.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/accel/bmc150-accel-core.c
drivers/iio/accel/bmc150-accel-i2c.c
drivers/iio/accel/bmc150-accel.h

index d90874f..ee9ceb7 100644 (file)
@@ -1750,22 +1750,6 @@ err_disable_regulators:
 }
 EXPORT_SYMBOL_GPL(bmc150_accel_core_probe);
 
-struct i2c_client *bmc150_get_second_device(struct i2c_client *client)
-{
-       struct bmc150_accel_data *data = iio_priv(i2c_get_clientdata(client));
-
-       return data->second_device;
-}
-EXPORT_SYMBOL_GPL(bmc150_get_second_device);
-
-void bmc150_set_second_device(struct i2c_client *client, struct i2c_client *second_dev)
-{
-       struct bmc150_accel_data *data = iio_priv(i2c_get_clientdata(client));
-
-       data->second_device = second_dev;
-}
-EXPORT_SYMBOL_GPL(bmc150_set_second_device);
-
 int bmc150_accel_core_remove(struct device *dev)
 {
        struct iio_dev *indio_dev = dev_get_drvdata(dev);
index 41b4c9e..ab0cda8 100644 (file)
@@ -35,8 +35,8 @@ static const struct acpi_device_id bmc150_acpi_dual_accel_ids[] = {
  */
 static void bmc150_acpi_dual_accel_probe(struct i2c_client *client)
 {
+       struct bmc150_accel_data *data = iio_priv(i2c_get_clientdata(client));
        struct acpi_device *adev = ACPI_COMPANION(&client->dev);
-       struct i2c_client *second_dev;
        char dev_name[16];
        struct i2c_board_info board_info = {
                .type = "bmc150_accel",
@@ -55,16 +55,14 @@ static void bmc150_acpi_dual_accel_probe(struct i2c_client *client)
 
        board_info.irq = acpi_dev_gpio_irq_get(adev, 1);
 
-       second_dev = i2c_acpi_new_device(&client->dev, 1, &board_info);
-       if (!IS_ERR(second_dev))
-               bmc150_set_second_device(client, second_dev);
+       data->second_device = i2c_acpi_new_device(&client->dev, 1, &board_info);
 }
 
 static void bmc150_acpi_dual_accel_remove(struct i2c_client *client)
 {
-       struct i2c_client *second_dev = bmc150_get_second_device(client);
+       struct bmc150_accel_data *data = iio_priv(i2c_get_clientdata(client));
 
-       i2c_unregister_device(second_dev);
+       i2c_unregister_device(data->second_device);
 }
 #else
 static void bmc150_acpi_dual_accel_probe(struct i2c_client *client) {}
index f503c5b..5da6fd3 100644 (file)
@@ -78,8 +78,6 @@ enum {
 int bmc150_accel_core_probe(struct device *dev, struct regmap *regmap, int irq,
                            const char *name, bool block_supported);
 int bmc150_accel_core_remove(struct device *dev);
-struct i2c_client *bmc150_get_second_device(struct i2c_client *second_device);
-void bmc150_set_second_device(struct i2c_client *client, struct i2c_client *second_dev);
 extern const struct dev_pm_ops bmc150_accel_pm_ops;
 extern const struct regmap_config bmc150_regmap_conf;