OSDN Git Service

iio: accel: st_accel: Add LSM303C
authorStephan Gerhold <stephan@gerhold.net>
Fri, 6 Jan 2023 10:22:38 +0000 (11:22 +0100)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 8 Jan 2023 13:01:02 +0000 (13:01 +0000)
The accelerometer part of ST LSM303C is similar (perhaps even identical)
to the already supported standalone LIS2HH12 accelerometer, so just
add the new st,lsm303c-accel compatible for the existing definitions.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20230106102239.9647-3-stephan@gerhold.net
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/accel/Kconfig
drivers/iio/accel/st_accel.h
drivers/iio/accel/st_accel_core.c
drivers/iio/accel/st_accel_i2c.c
drivers/iio/accel/st_accel_spi.c

index 03ac410..b6b45d3 100644 (file)
@@ -380,7 +380,7 @@ config IIO_ST_ACCEL_3AXIS
        select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
        help
          Say yes here to build support for STMicroelectronics accelerometers:
-         LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
+         LSM303C, LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
          LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL,
          LNG2DM, LIS3DE, LIS2DE12, LIS2HH12
 
index 5b0f54e..56ed0c7 100644 (file)
@@ -37,6 +37,7 @@
 #define LIS2DE12_ACCEL_DEV_NAME                "lis2de12"
 #define LIS2HH12_ACCEL_DEV_NAME                "lis2hh12"
 #define LIS302DL_ACCEL_DEV_NAME                "lis302dl"
+#define LSM303C_ACCEL_DEV_NAME         "lsm303c_accel"
 #define SC7A20_ACCEL_DEV_NAME          "sc7a20"
 
 
index c8c8eb1..6b8562f 100644 (file)
@@ -929,6 +929,7 @@ static const struct st_sensor_settings st_accel_sensors_settings[] = {
                .wai_addr = ST_SENSORS_DEFAULT_WAI_ADDRESS,
                .sensors_supported = {
                        [0] = LIS2HH12_ACCEL_DEV_NAME,
+                       [1] = LSM303C_ACCEL_DEV_NAME,
                },
                .ch = (struct iio_chan_spec *)st_accel_16bit_channels,
                .odr = {
index 45ee0dd..3f02fd5 100644 (file)
@@ -112,6 +112,10 @@ static const struct of_device_id st_accel_of_match[] = {
                .data = LIS302DL_ACCEL_DEV_NAME,
        },
        {
+               .compatible = "st,lsm303c-accel",
+               .data = LSM303C_ACCEL_DEV_NAME,
+       },
+       {
                .compatible = "silan,sc7a20",
                .data = SC7A20_ACCEL_DEV_NAME,
        },
@@ -151,6 +155,7 @@ static const struct i2c_device_id st_accel_id_table[] = {
        { LIS2DE12_ACCEL_DEV_NAME },
        { LIS2HH12_ACCEL_DEV_NAME },
        { LIS302DL_ACCEL_DEV_NAME },
+       { LSM303C_ACCEL_DEV_NAME },
        { SC7A20_ACCEL_DEV_NAME },
        {},
 };
index 6c09177..5740dc1 100644 (file)
@@ -96,6 +96,10 @@ static const struct of_device_id st_accel_of_match[] = {
                .compatible = "st,lis302dl",
                .data = LIS302DL_ACCEL_DEV_NAME,
        },
+       {
+               .compatible = "st,lsm303c-accel",
+               .data = LSM303C_ACCEL_DEV_NAME,
+       },
        {}
 };
 MODULE_DEVICE_TABLE(of, st_accel_of_match);
@@ -152,6 +156,7 @@ static const struct spi_device_id st_accel_id_table[] = {
        { LIS3DHH_ACCEL_DEV_NAME },
        { LIS3DE_ACCEL_DEV_NAME },
        { LIS302DL_ACCEL_DEV_NAME },
+       { LSM303C_ACCEL_DEV_NAME },
        {},
 };
 MODULE_DEVICE_TABLE(spi, st_accel_id_table);