提交 76222772 编写于 作者: L Linus Walleij 提交者: Jonathan Cameron

iio: accel: st_accel: handle deprecated bindings

The earlier deployed LIS3LV02DL driver had already defined a few
DT bindings that need to be supported by the new more generic
driver and listed as compatible but deprecated bindings in the
documentation.

After this we can start to activate the new driver with the old
systems where applicable.

As part of this enablement: make us depend on the old drivers
not being in use so we don't get a kernel with two competing
drivers.

Cc: devicetree@vger.kernel.org
Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
Acked-by: NRob Herring <robh@kernel.org>
Signed-off-by: NJonathan Cameron <jic23@kernel.org>
上级 17be2a29
...@@ -5,7 +5,7 @@ that apply in on the generic device (independent from the bus). ...@@ -5,7 +5,7 @@ that apply in on the generic device (independent from the bus).
Required properties for the SPI bindings: Required properties for the SPI bindings:
- compatible: should be set to "st,lis3lv02d_spi" - compatible: should be set to "st,lis3lv02d-spi"
- reg: the chipselect index - reg: the chipselect index
- spi-max-frequency: maximal bus speed, should be set to 1000000 unless - spi-max-frequency: maximal bus speed, should be set to 1000000 unless
constrained by external circuitry constrained by external circuitry
......
...@@ -27,6 +27,8 @@ standard bindings from pinctrl/pinctrl-bindings.txt. ...@@ -27,6 +27,8 @@ standard bindings from pinctrl/pinctrl-bindings.txt.
Valid compatible strings: Valid compatible strings:
Accelerometers: Accelerometers:
- st,lis3lv02d (deprecated, use st,lis3lv02dl-accel)
- st,lis302dl-spi (deprecated, use st,lis3lv02dl-accel)
- st,lis3lv02dl-accel - st,lis3lv02dl-accel
- st,lsm303dlh-accel - st,lsm303dlh-accel
- st,lsm303dlhc-accel - st,lsm303dlhc-accel
......
...@@ -140,11 +140,13 @@ config IIO_ST_ACCEL_3AXIS ...@@ -140,11 +140,13 @@ config IIO_ST_ACCEL_3AXIS
config IIO_ST_ACCEL_I2C_3AXIS config IIO_ST_ACCEL_I2C_3AXIS
tristate tristate
depends on !SENSORS_LIS3_I2C
depends on IIO_ST_ACCEL_3AXIS depends on IIO_ST_ACCEL_3AXIS
depends on IIO_ST_SENSORS_I2C depends on IIO_ST_SENSORS_I2C
config IIO_ST_ACCEL_SPI_3AXIS config IIO_ST_ACCEL_SPI_3AXIS
tristate tristate
depends on !SENSORS_LIS3_SPI
depends on IIO_ST_ACCEL_3AXIS depends on IIO_ST_ACCEL_3AXIS
depends on IIO_ST_SENSORS_SPI depends on IIO_ST_SENSORS_SPI
......
...@@ -21,6 +21,11 @@ ...@@ -21,6 +21,11 @@
#ifdef CONFIG_OF #ifdef CONFIG_OF
static const struct of_device_id st_accel_of_match[] = { static const struct of_device_id st_accel_of_match[] = {
{
/* An older compatible */
.compatible = "st,lis3lv02d",
.data = LIS3LV02DL_ACCEL_DEV_NAME,
},
{ {
.compatible = "st,lis3lv02dl-accel", .compatible = "st,lis3lv02dl-accel",
.data = LIS3LV02DL_ACCEL_DEV_NAME, .data = LIS3LV02DL_ACCEL_DEV_NAME,
......
...@@ -65,9 +65,18 @@ static const struct spi_device_id st_accel_id_table[] = { ...@@ -65,9 +65,18 @@ static const struct spi_device_id st_accel_id_table[] = {
}; };
MODULE_DEVICE_TABLE(spi, st_accel_id_table); MODULE_DEVICE_TABLE(spi, st_accel_id_table);
#ifdef CONFIG_OF
static const struct of_device_id lis302dl_spi_dt_ids[] = {
{ .compatible = "st,lis302dl-spi" },
{}
};
MODULE_DEVICE_TABLE(of, lis302dl_spi_dt_ids);
#endif
static struct spi_driver st_accel_driver = { static struct spi_driver st_accel_driver = {
.driver = { .driver = {
.name = "st-accel-spi", .name = "st-accel-spi",
.of_match_table = of_match_ptr(lis302dl_spi_dt_ids),
}, },
.probe = st_accel_spi_probe, .probe = st_accel_spi_probe,
.remove = st_accel_spi_remove, .remove = st_accel_spi_remove,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册