summaryrefslogtreecommitdiff
path: root/drivers/iio/accel/bmc150-accel-i2c.c
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2021-05-23 20:01:00 +0300
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2021-06-09 22:52:51 +0300
commit35157f443b6f4537b03ea1752bd96fbb28ec7a4f (patch)
treed669feff6f376cd71e045bce20bc60a377f9c0b8 /drivers/iio/accel/bmc150-accel-i2c.c
parentba8bd0b33b7bd4f250ff538dce67292ee2db1434 (diff)
downloadlinux-35157f443b6f4537b03ea1752bd96fbb28ec7a4f.tar.xz
iio: accel: bmc150: Remove bmc150_set/get_second_device() accessor functions
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>
Diffstat (limited to 'drivers/iio/accel/bmc150-accel-i2c.c')
-rw-r--r--drivers/iio/accel/bmc150-accel-i2c.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/iio/accel/bmc150-accel-i2c.c b/drivers/iio/accel/bmc150-accel-i2c.c
index 41b4c9e22d60..ab0cda8ff8fa 100644
--- a/drivers/iio/accel/bmc150-accel-i2c.c
+++ b/drivers/iio/accel/bmc150-accel-i2c.c
@@ -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) {}