[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220510141753.3878390-4-Qing-wu.Li@leica-geosystems.com.cn>
Date: Tue, 10 May 2022 14:17:50 +0000
From: LI Qingwu <Qing-wu.Li@...ca-geosystems.com.cn>
To: jic23@...nel.org, lars@...afoo.de, mchehab+huawei@...nel.org,
ardeleanalex@...il.com, linux-iio@...r.kernel.org,
linux-kernel@...r.kernel.org, Qing-wu.Li@...ca-geosystems.com.cn,
robh+dt@...nel.org, mike.looijmans@...ic.nl,
devicetree@...r.kernel.org
Subject: [PATCH V2 3/6] iio: accel: bmi088: modified the device name
It is possible to have multiple sensors connected on the same platform,
To support multiple sensors, the commit makes it possible to obtain the
device name by reading the chip ID instead of the device-tree name.
To be compatible with previous versions, renam bmi088a to bmi088-accel.
Signed-off-by: LI Qingwu <Qing-wu.Li@...ca-geosystems.com.cn>
---
drivers/iio/accel/bmi088-accel-core.c | 6 +++---
drivers/iio/accel/bmi088-accel-spi.c | 4 +---
drivers/iio/accel/bmi088-accel.h | 2 +-
3 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/iio/accel/bmi088-accel-core.c b/drivers/iio/accel/bmi088-accel-core.c
index 8fee1d02e773..de2385e4dad5 100644
--- a/drivers/iio/accel/bmi088-accel-core.c
+++ b/drivers/iio/accel/bmi088-accel-core.c
@@ -459,7 +459,7 @@ static const struct iio_chan_spec bmi088_accel_channels[] = {
static const struct bmi088_accel_chip_info bmi088_accel_chip_info_tbl[] = {
[0] = {
- .name = "bmi088a",
+ .name = "bmi088-accel",
.chip_id = 0x1E,
.channels = bmi088_accel_channels,
.num_channels = ARRAY_SIZE(bmi088_accel_channels),
@@ -524,7 +524,7 @@ static int bmi088_accel_chip_init(struct bmi088_accel_data *data)
}
int bmi088_accel_core_probe(struct device *dev, struct regmap *regmap,
- int irq, const char *name, bool block_supported)
+ int irq, bool block_supported)
{
struct bmi088_accel_data *data;
struct iio_dev *indio_dev;
@@ -545,7 +545,7 @@ int bmi088_accel_core_probe(struct device *dev, struct regmap *regmap,
indio_dev->channels = data->chip_info->channels;
indio_dev->num_channels = data->chip_info->num_channels;
- indio_dev->name = name ? name : data->chip_info->name;
+ indio_dev->name = data->chip_info->name;
indio_dev->available_scan_masks = bmi088_accel_scan_masks;
indio_dev->modes = INDIO_DIRECT_MODE;
indio_dev->info = &bmi088_accel_info;
diff --git a/drivers/iio/accel/bmi088-accel-spi.c b/drivers/iio/accel/bmi088-accel-spi.c
index dd1e3f6cf211..0fed0081e1fd 100644
--- a/drivers/iio/accel/bmi088-accel-spi.c
+++ b/drivers/iio/accel/bmi088-accel-spi.c
@@ -42,7 +42,6 @@ static struct regmap_bus bmi088_regmap_bus = {
static int bmi088_accel_probe(struct spi_device *spi)
{
struct regmap *regmap;
- const struct spi_device_id *id = spi_get_device_id(spi);
regmap = devm_regmap_init(&spi->dev, &bmi088_regmap_bus,
spi, &bmi088_regmap_conf);
@@ -52,8 +51,7 @@ static int bmi088_accel_probe(struct spi_device *spi)
return PTR_ERR(regmap);
}
- return bmi088_accel_core_probe(&spi->dev, regmap, spi->irq, id->name,
- true);
+ return bmi088_accel_core_probe(&spi->dev, regmap, spi->irq, true);
}
static int bmi088_accel_remove(struct spi_device *spi)
diff --git a/drivers/iio/accel/bmi088-accel.h b/drivers/iio/accel/bmi088-accel.h
index 5c25f16b672c..c32afe9606a8 100644
--- a/drivers/iio/accel/bmi088-accel.h
+++ b/drivers/iio/accel/bmi088-accel.h
@@ -12,7 +12,7 @@ extern const struct regmap_config bmi088_regmap_conf;
extern const struct dev_pm_ops bmi088_accel_pm_ops;
int bmi088_accel_core_probe(struct device *dev, struct regmap *regmap, int irq,
- const char *name, bool block_supported);
+ bool block_supported);
int bmi088_accel_core_remove(struct device *dev);
#endif /* BMI088_ACCEL_H */
--
2.25.1
Powered by blists - more mailing lists