* [PATCH v2 0/4] Add OF support to ST sensor framework
@ 2017-06-25 15:24 Lorenzo Bianconi
[not found] ` <20170625152413.22325-1-lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
0 siblings, 1 reply; 10+ messages in thread
From: Lorenzo Bianconi @ 2017-06-25 15:24 UTC (permalink / raw)
To: jic23-DgEjT+Ai2ygdnm+yROfE0A
Cc: linux-iio-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, lorenzo.bianconi-qxv4g6HH51o
Changes since v1:
- add missing devices to {accel, magn, gyro, press} of_device_id table
Lorenzo Bianconi (4):
iio: accel: st_accel_spi: add OF capability to st_accel_spi
iio: magnetometer: st_magn_spi: add OF capability to st_magn_spi
iio: gyro: st_gyro_spi: add OF capability to st_gyro_spi
iio: pressure: st_pressure_spi: add OF capability to st_pressure_spi
drivers/iio/accel/st_accel_spi.c | 67 ++++++++++++++++++++++++++++++----
drivers/iio/gyro/st_gyro_spi.c | 53 +++++++++++++++++++++++++++
drivers/iio/magnetometer/st_magn_spi.c | 25 +++++++++++++
drivers/iio/pressure/st_pressure_spi.c | 33 +++++++++++++++++
4 files changed, 170 insertions(+), 8 deletions(-)
--
2.13.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 1/4] iio: accel: st_accel_spi: add OF capability to st_accel_spi
[not found] ` <20170625152413.22325-1-lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
@ 2017-06-25 15:24 ` Lorenzo Bianconi
[not found] ` <20170625152413.22325-2-lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
2017-06-25 15:24 ` [PATCH v2 2/4] iio: magnetometer: st_magn_spi: add OF capability to st_magn_spi Lorenzo Bianconi
` (3 subsequent siblings)
4 siblings, 1 reply; 10+ messages in thread
From: Lorenzo Bianconi @ 2017-06-25 15:24 UTC (permalink / raw)
To: jic23-DgEjT+Ai2ygdnm+yROfE0A
Cc: linux-iio-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, lorenzo.bianconi-qxv4g6HH51o
Add device tree support for LIS3DH, LSM330D, LSM330DL, LSM330DLC,
LIS331DLH, LSM330, LSM303AGR, LIS2DH12, LIS3L02DQ, LNG2DM accel sensors.
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
---
drivers/iio/accel/st_accel_spi.c | 67 +++++++++++++++++++++++++++++++++++-----
1 file changed, 59 insertions(+), 8 deletions(-)
diff --git a/drivers/iio/accel/st_accel_spi.c b/drivers/iio/accel/st_accel_spi.c
index d13742edee0e..a8b61daa83d7 100644
--- a/drivers/iio/accel/st_accel_spi.c
+++ b/drivers/iio/accel/st_accel_spi.c
@@ -18,6 +18,63 @@
#include <linux/iio/common/st_sensors_spi.h>
#include "st_accel.h"
+#ifdef CONFIG_OF
+/*
+ * For new single-chip sensors use <device_name> as compatible string.
+ * For old single-chip devices keep <device_name>-accel to maintain
+ * compatibility
+ */
+static const struct of_device_id st_accel_of_match[] = {
+ {
+ .compatible = "st,lis302dl-spi"
+ },
+ {
+ .compatible = "st,lis3dh-accel",
+ .data = LIS3DH_ACCEL_DEV_NAME,
+ },
+ {
+ .compatible = "st,lsm330d-accel",
+ .data = LSM330D_ACCEL_DEV_NAME,
+ },
+ {
+ .compatible = "st,lsm330dl-accel",
+ .data = LSM330DL_ACCEL_DEV_NAME,
+ },
+ {
+ .compatible = "st,lsm330dlc-accel",
+ .data = LSM330DLC_ACCEL_DEV_NAME,
+ },
+ {
+ .compatible = "st,lis331dlh-accel",
+ .data = LIS331DLH_ACCEL_DEV_NAME,
+ },
+ {
+ .compatible = "st,lsm330-accel",
+ .data = LSM330_ACCEL_DEV_NAME,
+ },
+ {
+ .compatible = "st,lsm303agr-accel",
+ .data = LSM303AGR_ACCEL_DEV_NAME,
+ },
+ {
+ .compatible = "st,lis2dh12-accel",
+ .data = LIS2DH12_ACCEL_DEV_NAME,
+ },
+ {
+ .compatible = "st,lis3l02dq",
+ .data = LIS3L02DQ_ACCEL_DEV_NAME,
+ },
+ {
+ .compatible = "st,lng2dm-accel",
+ .data = LNG2DM_ACCEL_DEV_NAME,
+ },
+ {}
+};
+MODULE_DEVICE_TABLE(of, st_accel_of_match);
+#else
+#define st_accel_of_match NULL
+#endif
+
static int st_accel_spi_probe(struct spi_device *spi)
{
struct iio_dev *indio_dev;
@@ -30,6 +87,8 @@ static int st_accel_spi_probe(struct spi_device *spi)
adata = iio_priv(indio_dev);
+ st_sensors_of_name_probe(&spi->dev, st_accel_of_match,
+ spi->modalias, sizeof(spi->modalias));
st_sensors_spi_configure(indio_dev, spi, adata);
err = st_accel_common_probe(indio_dev);
@@ -61,14 +120,6 @@ static const struct spi_device_id st_accel_id_table[] = {
};
MODULE_DEVICE_TABLE(spi, st_accel_id_table);
-#ifdef CONFIG_OF
-static const struct of_device_id st_accel_of_match[] = {
- { .compatible = "st,lis302dl-spi" },
- {}
-};
-MODULE_DEVICE_TABLE(of, st_accel_of_match);
-#endif
-
static struct spi_driver st_accel_driver = {
.driver = {
.name = "st-accel-spi",
--
2.13.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 2/4] iio: magnetometer: st_magn_spi: add OF capability to st_magn_spi
[not found] ` <20170625152413.22325-1-lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
2017-06-25 15:24 ` [PATCH v2 1/4] iio: accel: st_accel_spi: add OF capability to st_accel_spi Lorenzo Bianconi
@ 2017-06-25 15:24 ` Lorenzo Bianconi
2017-06-25 15:24 ` [PATCH v2 3/4] iio: gyro: st_gyro_spi: add OF capability to st_gyro_spi Lorenzo Bianconi
` (2 subsequent siblings)
4 siblings, 0 replies; 10+ messages in thread
From: Lorenzo Bianconi @ 2017-06-25 15:24 UTC (permalink / raw)
To: jic23-DgEjT+Ai2ygdnm+yROfE0A
Cc: linux-iio-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, lorenzo.bianconi-qxv4g6HH51o
Add device tree support for LIS3MDL and LSM303AGR magnetometer sensors
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
---
drivers/iio/magnetometer/st_magn_spi.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/drivers/iio/magnetometer/st_magn_spi.c b/drivers/iio/magnetometer/st_magn_spi.c
index f3cb4dc05391..1ea64dd318aa 100644
--- a/drivers/iio/magnetometer/st_magn_spi.c
+++ b/drivers/iio/magnetometer/st_magn_spi.c
@@ -18,6 +18,28 @@
#include <linux/iio/common/st_sensors_spi.h>
#include "st_magn.h"
+#ifdef CONFIG_OF
+/*
+ * For new single-chip sensors use <device_name> as compatible string.
+ * For old single-chip devices keep <device_name>-magn to maintain
+ * compatibility
+ */
+static const struct of_device_id st_magn_of_match[] = {
+ {
+ .compatible = "st,lis3mdl-magn",
+ .data = LIS3MDL_MAGN_DEV_NAME,
+ },
+ {
+ .compatible = "st,lsm303agr-magn",
+ .data = LSM303AGR_MAGN_DEV_NAME,
+ },
+ {}
+};
+MODULE_DEVICE_TABLE(of, st_magn_of_match);
+#else
+#define st_magn_of_match NULL
+#endif
+
static int st_magn_spi_probe(struct spi_device *spi)
{
struct iio_dev *indio_dev;
@@ -30,6 +52,8 @@ static int st_magn_spi_probe(struct spi_device *spi)
mdata = iio_priv(indio_dev);
+ st_sensors_of_name_probe(&spi->dev, st_magn_of_match,
+ spi->modalias, sizeof(spi->modalias));
st_sensors_spi_configure(indio_dev, spi, mdata);
err = st_magn_common_probe(indio_dev);
@@ -57,6 +81,7 @@ MODULE_DEVICE_TABLE(spi, st_magn_id_table);
static struct spi_driver st_magn_driver = {
.driver = {
.name = "st-magn-spi",
+ .of_match_table = of_match_ptr(st_magn_of_match),
},
.probe = st_magn_spi_probe,
.remove = st_magn_spi_remove,
--
2.13.1
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 3/4] iio: gyro: st_gyro_spi: add OF capability to st_gyro_spi
[not found] ` <20170625152413.22325-1-lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
2017-06-25 15:24 ` [PATCH v2 1/4] iio: accel: st_accel_spi: add OF capability to st_accel_spi Lorenzo Bianconi
2017-06-25 15:24 ` [PATCH v2 2/4] iio: magnetometer: st_magn_spi: add OF capability to st_magn_spi Lorenzo Bianconi
@ 2017-06-25 15:24 ` Lorenzo Bianconi
2017-06-25 15:24 ` [PATCH v2 4/4] iio: pressure: st_pressure_spi: add OF capability to st_pressure_spi Lorenzo Bianconi
2017-06-25 16:15 ` [PATCH v2 0/4] Add OF support to ST sensor framework Jonathan Cameron
4 siblings, 0 replies; 10+ messages in thread
From: Lorenzo Bianconi @ 2017-06-25 15:24 UTC (permalink / raw)
To: jic23-DgEjT+Ai2ygdnm+yROfE0A
Cc: linux-iio-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, lorenzo.bianconi-qxv4g6HH51o
Add device tree support for L3G4200D, LSM330D, LSM330DL, LSM330DLC,
L3GD20, L3GD20H, L3G4IS, LSM330, LSM9DS0 gyroscope sensors
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
---
drivers/iio/gyro/st_gyro_spi.c | 53 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
diff --git a/drivers/iio/gyro/st_gyro_spi.c b/drivers/iio/gyro/st_gyro_spi.c
index fa14d8f2170d..0b52ed577dc2 100644
--- a/drivers/iio/gyro/st_gyro_spi.c
+++ b/drivers/iio/gyro/st_gyro_spi.c
@@ -18,6 +18,56 @@
#include <linux/iio/common/st_sensors_spi.h>
#include "st_gyro.h"
+#ifdef CONFIG_OF
+/*
+ * For new single-chip sensors use <device_name> as compatible string.
+ * For old single-chip devices keep <device_name>-gyro to maintain
+ * compatibility
+ */
+static const struct of_device_id st_gyro_of_match[] = {
+ {
+ .compatible = "st,l3g4200d-gyro",
+ .data = L3G4200D_GYRO_DEV_NAME,
+ },
+ {
+ .compatible = "st,lsm330d-gyro",
+ .data = LSM330D_GYRO_DEV_NAME,
+ },
+ {
+ .compatible = "st,lsm330dl-gyro",
+ .data = LSM330DL_GYRO_DEV_NAME,
+ },
+ {
+ .compatible = "st,lsm330dlc-gyro",
+ .data = LSM330DLC_GYRO_DEV_NAME,
+ },
+ {
+ .compatible = "st,l3gd20-gyro",
+ .data = L3GD20_GYRO_DEV_NAME,
+ },
+ {
+ .compatible = "st,l3gd20h-gyro",
+ .data = L3GD20H_GYRO_DEV_NAME,
+ },
+ {
+ .compatible = "st,l3g4is-gyro",
+ .data = L3G4IS_GYRO_DEV_NAME,
+ },
+ {
+ .compatible = "st,lsm330-gyro",
+ .data = LSM330_GYRO_DEV_NAME,
+ },
+ {
+ .compatible = "st,lsm9ds0-gyro",
+ .data = LSM9DS0_GYRO_DEV_NAME,
+ },
+ {},
+};
+MODULE_DEVICE_TABLE(of, st_gyro_of_match);
+#else
+#define st_gyro_of_match NULL
+#endif
+
static int st_gyro_spi_probe(struct spi_device *spi)
{
struct iio_dev *indio_dev;
@@ -30,6 +80,8 @@ static int st_gyro_spi_probe(struct spi_device *spi)
gdata = iio_priv(indio_dev);
+ st_sensors_of_name_probe(&spi->dev, st_gyro_of_match,
+ spi->modalias, sizeof(spi->modalias));
st_sensors_spi_configure(indio_dev, spi, gdata);
err = st_gyro_common_probe(indio_dev);
@@ -63,6 +115,7 @@ MODULE_DEVICE_TABLE(spi, st_gyro_id_table);
static struct spi_driver st_gyro_driver = {
.driver = {
.name = "st-gyro-spi",
+ .of_match_table = of_match_ptr(st_gyro_of_match),
},
.probe = st_gyro_spi_probe,
.remove = st_gyro_spi_remove,
--
2.13.1
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 4/4] iio: pressure: st_pressure_spi: add OF capability to st_pressure_spi
[not found] ` <20170625152413.22325-1-lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
` (2 preceding siblings ...)
2017-06-25 15:24 ` [PATCH v2 3/4] iio: gyro: st_gyro_spi: add OF capability to st_gyro_spi Lorenzo Bianconi
@ 2017-06-25 15:24 ` Lorenzo Bianconi
2017-06-25 16:15 ` [PATCH v2 0/4] Add OF support to ST sensor framework Jonathan Cameron
4 siblings, 0 replies; 10+ messages in thread
From: Lorenzo Bianconi @ 2017-06-25 15:24 UTC (permalink / raw)
To: jic23-DgEjT+Ai2ygdnm+yROfE0A
Cc: linux-iio-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, lorenzo.bianconi-qxv4g6HH51o
Add device tree support for LPS22HB, LPS25H, LPS331AP, LPS001WP
pressure sensors
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
---
drivers/iio/pressure/st_pressure_spi.c | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/drivers/iio/pressure/st_pressure_spi.c b/drivers/iio/pressure/st_pressure_spi.c
index 550508025af1..f5ebd36bb4bf 100644
--- a/drivers/iio/pressure/st_pressure_spi.c
+++ b/drivers/iio/pressure/st_pressure_spi.c
@@ -18,6 +18,36 @@
#include <linux/iio/common/st_sensors_spi.h>
#include "st_pressure.h"
+#ifdef CONFIG_OF
+/*
+ * For new single-chip sensors use <device_name> as compatible string.
+ * For old single-chip devices keep <device_name>-press to maintain
+ * compatibility
+ */
+static const struct of_device_id st_press_of_match[] = {
+ {
+ .compatible = "st,lps001wp-press",
+ .data = LPS001WP_PRESS_DEV_NAME,
+ },
+ {
+ .compatible = "st,lps25h-press",
+ .data = LPS25H_PRESS_DEV_NAME,
+ },
+ {
+ .compatible = "st,lps331ap-press",
+ .data = LPS331AP_PRESS_DEV_NAME,
+ },
+ {
+ .compatible = "st,lps22hb-press",
+ .data = LPS22HB_PRESS_DEV_NAME,
+ },
+ {},
+};
+MODULE_DEVICE_TABLE(of, st_press_of_match);
+#else
+#define st_press_of_match NULL
+#endif
+
static int st_press_spi_probe(struct spi_device *spi)
{
struct iio_dev *indio_dev;
@@ -30,6 +60,8 @@ static int st_press_spi_probe(struct spi_device *spi)
press_data = iio_priv(indio_dev);
+ st_sensors_of_name_probe(&spi->dev, st_press_of_match,
+ spi->modalias, sizeof(spi->modalias));
st_sensors_spi_configure(indio_dev, spi, press_data);
err = st_press_common_probe(indio_dev);
@@ -58,6 +90,7 @@ MODULE_DEVICE_TABLE(spi, st_press_id_table);
static struct spi_driver st_press_driver = {
.driver = {
.name = "st-press-spi",
+ .of_match_table = of_match_ptr(st_press_of_match),
},
.probe = st_press_spi_probe,
.remove = st_press_spi_remove,
--
2.13.1
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/4] iio: accel: st_accel_spi: add OF capability to st_accel_spi
[not found] ` <20170625152413.22325-2-lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
@ 2017-06-25 16:14 ` Jonathan Cameron
[not found] ` <20170625171404.4ee965c7-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
0 siblings, 1 reply; 10+ messages in thread
From: Jonathan Cameron @ 2017-06-25 16:14 UTC (permalink / raw)
To: Lorenzo Bianconi
Cc: linux-iio-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, lorenzo.bianconi-qxv4g6HH51o
On Sun, 25 Jun 2017 17:24:10 +0200
Lorenzo Bianconi <lorenzo.bianconi83-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> Add device tree support for LIS3DH, LSM330D, LSM330DL, LSM330DLC,
> LIS331DLH, LSM330, LSM303AGR, LIS2DH12, LIS3L02DQ, LNG2DM accel sensors.
>
> Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
> ---
> drivers/iio/accel/st_accel_spi.c | 67 +++++++++++++++++++++++++++++++++++-----
> 1 file changed, 59 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/iio/accel/st_accel_spi.c b/drivers/iio/accel/st_accel_spi.c
> index d13742edee0e..a8b61daa83d7 100644
> --- a/drivers/iio/accel/st_accel_spi.c
> +++ b/drivers/iio/accel/st_accel_spi.c
> @@ -18,6 +18,63 @@
> #include <linux/iio/common/st_sensors_spi.h>
> #include "st_accel.h"
>
> +#ifdef CONFIG_OF
> +/*
> + * For new single-chip sensors use <device_name> as compatible string.
> + * For old single-chip devices keep <device_name>-accel to maintain
> + * compatibility
> + */
> +static const struct of_device_id st_accel_of_match[] = {
> + {
> + .compatible = "st,lis302dl-spi"
Leaving this without some explanation of why it doesn't have
.data set requires a comment at least. It will result
in the name never being set - or ending up as
the default spi->modalias anyway.. Presumably not what is
desired?
If I have missed something about why this works, please
add a comment here in v3 to explain it.
> + },
> + {
> + .compatible = "st,lis3dh-accel",
> + .data = LIS3DH_ACCEL_DEV_NAME,
> + },
> + {
> + .compatible = "st,lsm330d-accel",
> + .data = LSM330D_ACCEL_DEV_NAME,
> + },
> + {
> + .compatible = "st,lsm330dl-accel",
> + .data = LSM330DL_ACCEL_DEV_NAME,
> + },
> + {
> + .compatible = "st,lsm330dlc-accel",
> + .data = LSM330DLC_ACCEL_DEV_NAME,
> + },
> + {
> + .compatible = "st,lis331dlh-accel",
> + .data = LIS331DLH_ACCEL_DEV_NAME,
> + },
> + {
> + .compatible = "st,lsm330-accel",
> + .data = LSM330_ACCEL_DEV_NAME,
> + },
> + {
> + .compatible = "st,lsm303agr-accel",
> + .data = LSM303AGR_ACCEL_DEV_NAME,
> + },
> + {
> + .compatible = "st,lis2dh12-accel",
> + .data = LIS2DH12_ACCEL_DEV_NAME,
> + },
> + {
> + .compatible = "st,lis3l02dq",
> + .data = LIS3L02DQ_ACCEL_DEV_NAME,
> + },
> + {
> + .compatible = "st,lng2dm-accel",
> + .data = LNG2DM_ACCEL_DEV_NAME,
> + },
> + {}
> +};
> +MODULE_DEVICE_TABLE(of, st_accel_of_match);
> +#else
> +#define st_accel_of_match NULL
> +#endif
> +
> static int st_accel_spi_probe(struct spi_device *spi)
> {
> struct iio_dev *indio_dev;
> @@ -30,6 +87,8 @@ static int st_accel_spi_probe(struct spi_device *spi)
>
> adata = iio_priv(indio_dev);
>
> + st_sensors_of_name_probe(&spi->dev, st_accel_of_match,
> + spi->modalias, sizeof(spi->modalias));
> st_sensors_spi_configure(indio_dev, spi, adata);
>
> err = st_accel_common_probe(indio_dev);
> @@ -61,14 +120,6 @@ static const struct spi_device_id st_accel_id_table[] = {
> };
> MODULE_DEVICE_TABLE(spi, st_accel_id_table);
>
> -#ifdef CONFIG_OF
> -static const struct of_device_id st_accel_of_match[] = {
> - { .compatible = "st,lis302dl-spi" },
> - {}
> -};
> -MODULE_DEVICE_TABLE(of, st_accel_of_match);
> -#endif
> -
> static struct spi_driver st_accel_driver = {
> .driver = {
> .name = "st-accel-spi",
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 0/4] Add OF support to ST sensor framework
[not found] ` <20170625152413.22325-1-lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
` (3 preceding siblings ...)
2017-06-25 15:24 ` [PATCH v2 4/4] iio: pressure: st_pressure_spi: add OF capability to st_pressure_spi Lorenzo Bianconi
@ 2017-06-25 16:15 ` Jonathan Cameron
4 siblings, 0 replies; 10+ messages in thread
From: Jonathan Cameron @ 2017-06-25 16:15 UTC (permalink / raw)
To: Lorenzo Bianconi
Cc: linux-iio-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, lorenzo.bianconi-qxv4g6HH51o
On Sun, 25 Jun 2017 17:24:09 +0200
Lorenzo Bianconi <lorenzo.bianconi83-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> Changes since v1:
> - add missing devices to {accel, magn, gyro, press} of_device_id table
>
> Lorenzo Bianconi (4):
> iio: accel: st_accel_spi: add OF capability to st_accel_spi
> iio: magnetometer: st_magn_spi: add OF capability to st_magn_spi
> iio: gyro: st_gyro_spi: add OF capability to st_gyro_spi
> iio: pressure: st_pressure_spi: add OF capability to st_pressure_spi
I am going to let the series as a whole sit a little while to see
if anyone has a better way of dealing with the prefixes we added in the past
that aren't really right for devicetree bindings.
Jonathan
>
> drivers/iio/accel/st_accel_spi.c | 67 ++++++++++++++++++++++++++++++----
> drivers/iio/gyro/st_gyro_spi.c | 53 +++++++++++++++++++++++++++
> drivers/iio/magnetometer/st_magn_spi.c | 25 +++++++++++++
> drivers/iio/pressure/st_pressure_spi.c | 33 +++++++++++++++++
> 4 files changed, 170 insertions(+), 8 deletions(-)
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/4] iio: accel: st_accel_spi: add OF capability to st_accel_spi
[not found] ` <20170625171404.4ee965c7-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
@ 2017-06-25 16:20 ` Lorenzo Bianconi
[not found] ` <CAA2SeNKs8VZehYWpGjnPzTn4N5dzK6VxQs5=e51p2cXVWzPkig-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
0 siblings, 1 reply; 10+ messages in thread
From: Lorenzo Bianconi @ 2017-06-25 16:20 UTC (permalink / raw)
To: Jonathan Cameron
Cc: linux-iio-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, Lorenzo BIANCONI
> On Sun, 25 Jun 2017 17:24:10 +0200
> Lorenzo Bianconi <lorenzo.bianconi83-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>
>> Add device tree support for LIS3DH, LSM330D, LSM330DL, LSM330DLC,
>> LIS331DLH, LSM330, LSM303AGR, LIS2DH12, LIS3L02DQ, LNG2DM accel sensors.
>>
>> Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
>> ---
>> drivers/iio/accel/st_accel_spi.c | 67 +++++++++++++++++++++++++++++++++++-----
>> 1 file changed, 59 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/iio/accel/st_accel_spi.c b/drivers/iio/accel/st_accel_spi.c
>> index d13742edee0e..a8b61daa83d7 100644
>> --- a/drivers/iio/accel/st_accel_spi.c
>> +++ b/drivers/iio/accel/st_accel_spi.c
>> @@ -18,6 +18,63 @@
>> #include <linux/iio/common/st_sensors_spi.h>
>> #include "st_accel.h"
>>
>> +#ifdef CONFIG_OF
>> +/*
>> + * For new single-chip sensors use <device_name> as compatible string.
>> + * For old single-chip devices keep <device_name>-accel to maintain
>> + * compatibility
>> + */
>> +static const struct of_device_id st_accel_of_match[] = {
>> + {
>> + .compatible = "st,lis302dl-spi"
> Leaving this without some explanation of why it doesn't have
> .data set requires a comment at least. It will result
> in the name never being set - or ending up as
> the default spi->modalias anyway.. Presumably not what is
> desired?
>
> If I have missed something about why this works, please
> add a comment here in v3 to explain it.
Right, it will not work, but it needs a device (lis3lv02dl) that is
not currently support in st_accel_spi.
So I preferred to fix OF capability for currently supported devices
and add missing ones (LIS3LV02DL, LIS331DL and H3LIS331DL)
in a subsequent patch. What do you think? Is it better to squash the
two patches together?
Regards,
Lorenzo
>> + },
>> + {
>> + .compatible = "st,lis3dh-accel",
>> + .data = LIS3DH_ACCEL_DEV_NAME,
>> + },
>> + {
>> + .compatible = "st,lsm330d-accel",
>> + .data = LSM330D_ACCEL_DEV_NAME,
>> + },
>> + {
>> + .compatible = "st,lsm330dl-accel",
>> + .data = LSM330DL_ACCEL_DEV_NAME,
>> + },
>> + {
>> + .compatible = "st,lsm330dlc-accel",
>> + .data = LSM330DLC_ACCEL_DEV_NAME,
>> + },
>> + {
>> + .compatible = "st,lis331dlh-accel",
>> + .data = LIS331DLH_ACCEL_DEV_NAME,
>> + },
>> + {
>> + .compatible = "st,lsm330-accel",
>> + .data = LSM330_ACCEL_DEV_NAME,
>> + },
>> + {
>> + .compatible = "st,lsm303agr-accel",
>> + .data = LSM303AGR_ACCEL_DEV_NAME,
>> + },
>> + {
>> + .compatible = "st,lis2dh12-accel",
>> + .data = LIS2DH12_ACCEL_DEV_NAME,
>> + },
>> + {
>> + .compatible = "st,lis3l02dq",
>> + .data = LIS3L02DQ_ACCEL_DEV_NAME,
>> + },
>> + {
>> + .compatible = "st,lng2dm-accel",
>> + .data = LNG2DM_ACCEL_DEV_NAME,
>> + },
>> + {}
>> +};
>> +MODULE_DEVICE_TABLE(of, st_accel_of_match);
>> +#else
>> +#define st_accel_of_match NULL
>> +#endif
>> +
>> static int st_accel_spi_probe(struct spi_device *spi)
>> {
>> struct iio_dev *indio_dev;
>> @@ -30,6 +87,8 @@ static int st_accel_spi_probe(struct spi_device *spi)
>>
>> adata = iio_priv(indio_dev);
>>
>> + st_sensors_of_name_probe(&spi->dev, st_accel_of_match,
>> + spi->modalias, sizeof(spi->modalias));
>> st_sensors_spi_configure(indio_dev, spi, adata);
>>
>> err = st_accel_common_probe(indio_dev);
>> @@ -61,14 +120,6 @@ static const struct spi_device_id st_accel_id_table[] = {
>> };
>> MODULE_DEVICE_TABLE(spi, st_accel_id_table);
>>
>> -#ifdef CONFIG_OF
>> -static const struct of_device_id st_accel_of_match[] = {
>> - { .compatible = "st,lis302dl-spi" },
>> - {}
>> -};
>> -MODULE_DEVICE_TABLE(of, st_accel_of_match);
>> -#endif
>> -
>> static struct spi_driver st_accel_driver = {
>> .driver = {
>> .name = "st-accel-spi",
>
--
UNIX is Sexy: who | grep -i blonde | talk; cd ~; wine; talk; touch;
unzip; touch; strip; gasp; finger; gasp; mount; fsck; more; yes; gasp;
umount; make clean; sleep
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/4] iio: accel: st_accel_spi: add OF capability to st_accel_spi
[not found] ` <CAA2SeNKs8VZehYWpGjnPzTn4N5dzK6VxQs5=e51p2cXVWzPkig-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2017-06-25 16:58 ` Jonathan Cameron
[not found] ` <140A7A0D-35DB-433F-8861-2D4400AA7942-tko9wxEg+fIOOJlXag/Snyp2UmYkHbXO@public.gmane.org>
0 siblings, 1 reply; 10+ messages in thread
From: Jonathan Cameron @ 2017-06-25 16:58 UTC (permalink / raw)
To: Lorenzo Bianconi, Jonathan Cameron
Cc: linux-iio-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, Lorenzo BIANCONI
On 25 June 2017 18:20:33 CEST, Lorenzo Bianconi <lorenzo.bianconi83-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>> On Sun, 25 Jun 2017 17:24:10 +0200
>> Lorenzo Bianconi <lorenzo.bianconi83-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>>
>>> Add device tree support for LIS3DH, LSM330D, LSM330DL, LSM330DLC,
>>> LIS331DLH, LSM330, LSM303AGR, LIS2DH12, LIS3L02DQ, LNG2DM accel
>sensors.
>>>
>>> Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
>>> ---
>>> drivers/iio/accel/st_accel_spi.c | 67
>+++++++++++++++++++++++++++++++++++-----
>>> 1 file changed, 59 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/drivers/iio/accel/st_accel_spi.c
>b/drivers/iio/accel/st_accel_spi.c
>>> index d13742edee0e..a8b61daa83d7 100644
>>> --- a/drivers/iio/accel/st_accel_spi.c
>>> +++ b/drivers/iio/accel/st_accel_spi.c
>>> @@ -18,6 +18,63 @@
>>> #include <linux/iio/common/st_sensors_spi.h>
>>> #include "st_accel.h"
>>>
>>> +#ifdef CONFIG_OF
>>> +/*
>>> + * For new single-chip sensors use <device_name> as compatible
>string.
>>> + * For old single-chip devices keep <device_name>-accel to maintain
>>> + * compatibility
>>> + */
>>> +static const struct of_device_id st_accel_of_match[] = {
>>> + {
>>> + .compatible = "st,lis302dl-spi"
>> Leaving this without some explanation of why it doesn't have
>> .data set requires a comment at least. It will result
>> in the name never being set - or ending up as
>> the default spi->modalias anyway.. Presumably not what is
>> desired?
>>
>> If I have missed something about why this works, please
>> add a comment here in v3 to explain it.
>
>Right, it will not work, but it needs a device (lis3lv02dl) that is
>not currently support in st_accel_spi.
>So I preferred to fix OF capability for currently supported devices
>and add missing ones (LIS3LV02DL, LIS331DL and H3LIS331DL)
>in a subsequent patch. What do you think? Is it better to squash the
>two patches together?
Up to you, but if separate squash this element for now.
>
>Regards,
>Lorenzo
>
>>> + },
>>> + {
>>> + .compatible = "st,lis3dh-accel",
>>> + .data = LIS3DH_ACCEL_DEV_NAME,
>>> + },
>>> + {
>>> + .compatible = "st,lsm330d-accel",
>>> + .data = LSM330D_ACCEL_DEV_NAME,
>>> + },
>>> + {
>>> + .compatible = "st,lsm330dl-accel",
>>> + .data = LSM330DL_ACCEL_DEV_NAME,
>>> + },
>>> + {
>>> + .compatible = "st,lsm330dlc-accel",
>>> + .data = LSM330DLC_ACCEL_DEV_NAME,
>>> + },
>>> + {
>>> + .compatible = "st,lis331dlh-accel",
>>> + .data = LIS331DLH_ACCEL_DEV_NAME,
>>> + },
>>> + {
>>> + .compatible = "st,lsm330-accel",
>>> + .data = LSM330_ACCEL_DEV_NAME,
>>> + },
>>> + {
>>> + .compatible = "st,lsm303agr-accel",
>>> + .data = LSM303AGR_ACCEL_DEV_NAME,
>>> + },
>>> + {
>>> + .compatible = "st,lis2dh12-accel",
>>> + .data = LIS2DH12_ACCEL_DEV_NAME,
>>> + },
>>> + {
>>> + .compatible = "st,lis3l02dq",
>>> + .data = LIS3L02DQ_ACCEL_DEV_NAME,
>>> + },
>>> + {
>>> + .compatible = "st,lng2dm-accel",
>>> + .data = LNG2DM_ACCEL_DEV_NAME,
>>> + },
>>> + {}
>>> +};
>>> +MODULE_DEVICE_TABLE(of, st_accel_of_match);
>>> +#else
>>> +#define st_accel_of_match NULL
>>> +#endif
>>> +
>>> static int st_accel_spi_probe(struct spi_device *spi)
>>> {
>>> struct iio_dev *indio_dev;
>>> @@ -30,6 +87,8 @@ static int st_accel_spi_probe(struct spi_device
>*spi)
>>>
>>> adata = iio_priv(indio_dev);
>>>
>>> + st_sensors_of_name_probe(&spi->dev, st_accel_of_match,
>>> + spi->modalias,
>sizeof(spi->modalias));
>>> st_sensors_spi_configure(indio_dev, spi, adata);
>>>
>>> err = st_accel_common_probe(indio_dev);
>>> @@ -61,14 +120,6 @@ static const struct spi_device_id
>st_accel_id_table[] = {
>>> };
>>> MODULE_DEVICE_TABLE(spi, st_accel_id_table);
>>>
>>> -#ifdef CONFIG_OF
>>> -static const struct of_device_id st_accel_of_match[] = {
>>> - { .compatible = "st,lis302dl-spi" },
>>> - {}
>>> -};
>>> -MODULE_DEVICE_TABLE(of, st_accel_of_match);
>>> -#endif
>>> -
>>> static struct spi_driver st_accel_driver = {
>>> .driver = {
>>> .name = "st-accel-spi",
>>
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/4] iio: accel: st_accel_spi: add OF capability to st_accel_spi
[not found] ` <140A7A0D-35DB-433F-8861-2D4400AA7942-tko9wxEg+fIOOJlXag/Snyp2UmYkHbXO@public.gmane.org>
@ 2017-06-25 20:24 ` Lorenzo Bianconi
0 siblings, 0 replies; 10+ messages in thread
From: Lorenzo Bianconi @ 2017-06-25 20:24 UTC (permalink / raw)
To: Jonathan Cameron
Cc: Jonathan Cameron, linux-iio-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, Lorenzo BIANCONI
>
>
> On 25 June 2017 18:20:33 CEST, Lorenzo Bianconi <lorenzo.bianconi83-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>>> On Sun, 25 Jun 2017 17:24:10 +0200
>>> Lorenzo Bianconi <lorenzo.bianconi83-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>>>
>>>> Add device tree support for LIS3DH, LSM330D, LSM330DL, LSM330DLC,
>>>> LIS331DLH, LSM330, LSM303AGR, LIS2DH12, LIS3L02DQ, LNG2DM accel
>>sensors.
>>>>
>>>> Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
>>>> ---
>>>> drivers/iio/accel/st_accel_spi.c | 67
>>+++++++++++++++++++++++++++++++++++-----
>>>> 1 file changed, 59 insertions(+), 8 deletions(-)
>>>>
>>>> diff --git a/drivers/iio/accel/st_accel_spi.c
>>b/drivers/iio/accel/st_accel_spi.c
>>>> index d13742edee0e..a8b61daa83d7 100644
>>>> --- a/drivers/iio/accel/st_accel_spi.c
>>>> +++ b/drivers/iio/accel/st_accel_spi.c
>>>> @@ -18,6 +18,63 @@
>>>> #include <linux/iio/common/st_sensors_spi.h>
>>>> #include "st_accel.h"
>>>>
>>>> +#ifdef CONFIG_OF
>>>> +/*
>>>> + * For new single-chip sensors use <device_name> as compatible
>>string.
>>>> + * For old single-chip devices keep <device_name>-accel to maintain
>>>> + * compatibility
>>>> + */
>>>> +static const struct of_device_id st_accel_of_match[] = {
>>>> + {
>>>> + .compatible = "st,lis302dl-spi"
>>> Leaving this without some explanation of why it doesn't have
>>> .data set requires a comment at least. It will result
>>> in the name never being set - or ending up as
>>> the default spi->modalias anyway.. Presumably not what is
>>> desired?
>>>
>>> If I have missed something about why this works, please
>>> add a comment here in v3 to explain it.
>>
>>Right, it will not work, but it needs a device (lis3lv02dl) that is
>>not currently support in st_accel_spi.
>>So I preferred to fix OF capability for currently supported devices
>>and add missing ones (LIS3LV02DL, LIS331DL and H3LIS331DL)
>>in a subsequent patch. What do you think? Is it better to squash the
>>two patches together?
> Up to you, but if separate squash this element for now.
>>
>>Regards,
>>Lorenzo
Ok, I figured out I can fix support for lis302dl without adding new devices.
I will send a v3 with that fix.
Regards,
Lorenzo
>>
>>>> + },
>>>> + {
>>>> + .compatible = "st,lis3dh-accel",
>>>> + .data = LIS3DH_ACCEL_DEV_NAME,
>>>> + },
>>>> + {
>>>> + .compatible = "st,lsm330d-accel",
>>>> + .data = LSM330D_ACCEL_DEV_NAME,
>>>> + },
>>>> + {
>>>> + .compatible = "st,lsm330dl-accel",
>>>> + .data = LSM330DL_ACCEL_DEV_NAME,
>>>> + },
>>>> + {
>>>> + .compatible = "st,lsm330dlc-accel",
>>>> + .data = LSM330DLC_ACCEL_DEV_NAME,
>>>> + },
>>>> + {
>>>> + .compatible = "st,lis331dlh-accel",
>>>> + .data = LIS331DLH_ACCEL_DEV_NAME,
>>>> + },
>>>> + {
>>>> + .compatible = "st,lsm330-accel",
>>>> + .data = LSM330_ACCEL_DEV_NAME,
>>>> + },
>>>> + {
>>>> + .compatible = "st,lsm303agr-accel",
>>>> + .data = LSM303AGR_ACCEL_DEV_NAME,
>>>> + },
>>>> + {
>>>> + .compatible = "st,lis2dh12-accel",
>>>> + .data = LIS2DH12_ACCEL_DEV_NAME,
>>>> + },
>>>> + {
>>>> + .compatible = "st,lis3l02dq",
>>>> + .data = LIS3L02DQ_ACCEL_DEV_NAME,
>>>> + },
>>>> + {
>>>> + .compatible = "st,lng2dm-accel",
>>>> + .data = LNG2DM_ACCEL_DEV_NAME,
>>>> + },
>>>> + {}
>>>> +};
>>>> +MODULE_DEVICE_TABLE(of, st_accel_of_match);
>>>> +#else
>>>> +#define st_accel_of_match NULL
>>>> +#endif
>>>> +
>>>> static int st_accel_spi_probe(struct spi_device *spi)
>>>> {
>>>> struct iio_dev *indio_dev;
>>>> @@ -30,6 +87,8 @@ static int st_accel_spi_probe(struct spi_device
>>*spi)
>>>>
>>>> adata = iio_priv(indio_dev);
>>>>
>>>> + st_sensors_of_name_probe(&spi->dev, st_accel_of_match,
>>>> + spi->modalias,
>>sizeof(spi->modalias));
>>>> st_sensors_spi_configure(indio_dev, spi, adata);
>>>>
>>>> err = st_accel_common_probe(indio_dev);
>>>> @@ -61,14 +120,6 @@ static const struct spi_device_id
>>st_accel_id_table[] = {
>>>> };
>>>> MODULE_DEVICE_TABLE(spi, st_accel_id_table);
>>>>
>>>> -#ifdef CONFIG_OF
>>>> -static const struct of_device_id st_accel_of_match[] = {
>>>> - { .compatible = "st,lis302dl-spi" },
>>>> - {}
>>>> -};
>>>> -MODULE_DEVICE_TABLE(of, st_accel_of_match);
>>>> -#endif
>>>> -
>>>> static struct spi_driver st_accel_driver = {
>>>> .driver = {
>>>> .name = "st-accel-spi",
>>>
>
> --
> Sent from my Android device with K-9 Mail. Please excuse my brevity.
--
UNIX is Sexy: who | grep -i blonde | talk; cd ~; wine; talk; touch;
unzip; touch; strip; gasp; finger; gasp; mount; fsck; more; yes; gasp;
umount; make clean; sleep
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2017-06-25 20:24 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-25 15:24 [PATCH v2 0/4] Add OF support to ST sensor framework Lorenzo Bianconi
[not found] ` <20170625152413.22325-1-lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
2017-06-25 15:24 ` [PATCH v2 1/4] iio: accel: st_accel_spi: add OF capability to st_accel_spi Lorenzo Bianconi
[not found] ` <20170625152413.22325-2-lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
2017-06-25 16:14 ` Jonathan Cameron
[not found] ` <20170625171404.4ee965c7-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-06-25 16:20 ` Lorenzo Bianconi
[not found] ` <CAA2SeNKs8VZehYWpGjnPzTn4N5dzK6VxQs5=e51p2cXVWzPkig-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-06-25 16:58 ` Jonathan Cameron
[not found] ` <140A7A0D-35DB-433F-8861-2D4400AA7942-tko9wxEg+fIOOJlXag/Snyp2UmYkHbXO@public.gmane.org>
2017-06-25 20:24 ` Lorenzo Bianconi
2017-06-25 15:24 ` [PATCH v2 2/4] iio: magnetometer: st_magn_spi: add OF capability to st_magn_spi Lorenzo Bianconi
2017-06-25 15:24 ` [PATCH v2 3/4] iio: gyro: st_gyro_spi: add OF capability to st_gyro_spi Lorenzo Bianconi
2017-06-25 15:24 ` [PATCH v2 4/4] iio: pressure: st_pressure_spi: add OF capability to st_pressure_spi Lorenzo Bianconi
2017-06-25 16:15 ` [PATCH v2 0/4] Add OF support to ST sensor framework Jonathan Cameron
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).