* [PATCH v4 1/5] dt-bindings: iio: vcnl4000: convert bindings to YAML format
2020-04-05 13:50 [PATCH v4 0/5] iio: vcnl4000: Export near level property for proximity sensor Guido Günther
@ 2020-04-05 13:50 ` Guido Günther
2020-04-05 13:50 ` [PATCH v4 2/5] dt-bindings: iio: Introduce common properties for iio sensors Guido Günther
` (3 subsequent siblings)
4 siblings, 0 replies; 13+ messages in thread
From: Guido Günther @ 2020-04-05 13:50 UTC (permalink / raw)
To: Tomas Novotny, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler,
Angus Ainslie (Purism),
Guido Günther, Marco Felsch, Thomas Gleixner, linux-iio,
linux-kernel, devicetree, Andy Shevchenko, Nishant Malpani
Convert the vcnl4000 device tree bindings to the new YAML format.
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Reviewed-by: Rob Herring <robh@kernel.org>
---
.../bindings/iio/light/vcnl4000.txt | 24 ----------
.../bindings/iio/light/vishay,vcnl4000.yaml | 45 +++++++++++++++++++
2 files changed, 45 insertions(+), 24 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/iio/light/vcnl4000.txt
create mode 100644 Documentation/devicetree/bindings/iio/light/vishay,vcnl4000.yaml
diff --git a/Documentation/devicetree/bindings/iio/light/vcnl4000.txt b/Documentation/devicetree/bindings/iio/light/vcnl4000.txt
deleted file mode 100644
index 955af4555c90..000000000000
--- a/Documentation/devicetree/bindings/iio/light/vcnl4000.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-VISHAY VCNL4000 - Ambient Light and proximity sensor
-
-This driver supports the VCNL4000/10/20/40 and VCNL4200 chips
-
-Required properties:
-
- -compatible: must be one of :
- vishay,vcnl4000
- vishay,vcnl4010
- vishay,vcnl4020
- vishay,vcnl4040
- vishay,vcnl4200
-
- -reg: I2C address of the sensor, should be one from below based on the model:
- 0x13
- 0x51
- 0x60
-
-Example:
-
-light-sensor@51 {
- compatible = "vishay,vcnl4200";
- reg = <0x51>;
-};
diff --git a/Documentation/devicetree/bindings/iio/light/vishay,vcnl4000.yaml b/Documentation/devicetree/bindings/iio/light/vishay,vcnl4000.yaml
new file mode 100644
index 000000000000..21ef2eb7a205
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/light/vishay,vcnl4000.yaml
@@ -0,0 +1,45 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/light/vishay,vcnl4000.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: VISHAY VCNL4000 ambient light and proximity sensor
+
+maintainers:
+ - Peter Meerwald <pmeerw@pmeerw.net>
+
+description: |
+ Ambient light sensing with proximity detection over an i2c
+ interface.
+
+properties:
+ compatible:
+ enum:
+ - vishay,vcnl4000
+ - vishay,vcnl4010
+ - vishay,vcnl4020
+ - vishay,vcnl4040
+ - vishay,vcnl4200
+
+ reg:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+- |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ light-sensor@51 {
+ compatible = "vishay,vcnl4200";
+ reg = <0x51>;
+ };
+ };
+...
--
2.23.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v4 2/5] dt-bindings: iio: Introduce common properties for iio sensors
2020-04-05 13:50 [PATCH v4 0/5] iio: vcnl4000: Export near level property for proximity sensor Guido Günther
2020-04-05 13:50 ` [PATCH v4 1/5] dt-bindings: iio: vcnl4000: convert bindings to YAML format Guido Günther
@ 2020-04-05 13:50 ` Guido Günther
2020-04-12 11:28 ` Jonathan Cameron
2020-04-14 21:49 ` Rob Herring
2020-04-05 13:50 ` [PATCH v4 3/5] dt-bindings: iio: light: vcnl4000: Add proximity-near-level Guido Günther
` (2 subsequent siblings)
4 siblings, 2 replies; 13+ messages in thread
From: Guido Günther @ 2020-04-05 13:50 UTC (permalink / raw)
To: Tomas Novotny, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler,
Angus Ainslie (Purism),
Guido Günther, Marco Felsch, Thomas Gleixner, linux-iio,
linux-kernel, devicetree, Andy Shevchenko, Nishant Malpani
Introduce a file for common properties of iio sensors. So far this
contains the new proximity-near-level property for proximity sensors
that indicates when an object should be considered near.
Signed-off-by: Guido Günther <agx@sigxcpu.org>
---
.../devicetree/bindings/iio/common.yaml | 35 +++++++++++++++++++
1 file changed, 35 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/common.yaml
diff --git a/Documentation/devicetree/bindings/iio/common.yaml b/Documentation/devicetree/bindings/iio/common.yaml
new file mode 100644
index 000000000000..97ffcb77043d
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/common.yaml
@@ -0,0 +1,35 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/common.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Common properties for iio sensors
+
+maintainers:
+ - Jonathan Cameron <jic23@kernel.org>
+ - Guido Günther <agx@sigxcpu.org>
+
+description: |
+ This document defines device tree properties common to several iio
+ sensors. It doesn't constitue a device tree binding specification by itself but
+ is meant to be referenced by device tree bindings.
+
+ When referenced from sensor tree bindings the properties defined in this
+ document are defined as follows. The sensor tree bindings are responsible for
+ defining whether each property is required or optional.
+
+properties:
+ proximity-near-level:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ For proximity sensors whether an object can be considered near to the
+ device depends on parameters like sensor position, covering glass and
+ aperture. This value gives an indication to userspace for which
+ sensor readings this is the case.
+
+ Raw proximity values equal or above this level should be
+ considered 'near' to the device (an object is near to the
+ sensor).
+
+...
--
2.23.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v4 2/5] dt-bindings: iio: Introduce common properties for iio sensors
2020-04-05 13:50 ` [PATCH v4 2/5] dt-bindings: iio: Introduce common properties for iio sensors Guido Günther
@ 2020-04-12 11:28 ` Jonathan Cameron
2020-04-14 21:49 ` Rob Herring
1 sibling, 0 replies; 13+ messages in thread
From: Jonathan Cameron @ 2020-04-12 11:28 UTC (permalink / raw)
To: Guido Günther
Cc: Tomas Novotny, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, Angus Ainslie (Purism),
Marco Felsch, Thomas Gleixner, linux-iio, linux-kernel,
devicetree, Andy Shevchenko, Nishant Malpani
On Sun, 5 Apr 2020 15:50:29 +0200
Guido Günther <agx@sigxcpu.org> wrote:
> Introduce a file for common properties of iio sensors. So far this
> contains the new proximity-near-level property for proximity sensors
> that indicates when an object should be considered near.
>
> Signed-off-by: Guido Günther <agx@sigxcpu.org>
This works for me. However, I would like to give time for Rob and
others to comment on the syntax, naming etc of this file.
Thanks,
Jonathan
> ---
> .../devicetree/bindings/iio/common.yaml | 35 +++++++++++++++++++
> 1 file changed, 35 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/iio/common.yaml
>
> diff --git a/Documentation/devicetree/bindings/iio/common.yaml b/Documentation/devicetree/bindings/iio/common.yaml
> new file mode 100644
> index 000000000000..97ffcb77043d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/common.yaml
> @@ -0,0 +1,35 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/common.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Common properties for iio sensors
> +
> +maintainers:
> + - Jonathan Cameron <jic23@kernel.org>
> + - Guido Günther <agx@sigxcpu.org>
> +
> +description: |
> + This document defines device tree properties common to several iio
> + sensors. It doesn't constitue a device tree binding specification by itself but
> + is meant to be referenced by device tree bindings.
> +
> + When referenced from sensor tree bindings the properties defined in this
> + document are defined as follows. The sensor tree bindings are responsible for
> + defining whether each property is required or optional.
> +
> +properties:
> + proximity-near-level:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: |
> + For proximity sensors whether an object can be considered near to the
> + device depends on parameters like sensor position, covering glass and
> + aperture. This value gives an indication to userspace for which
> + sensor readings this is the case.
> +
> + Raw proximity values equal or above this level should be
> + considered 'near' to the device (an object is near to the
> + sensor).
> +
> +...
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v4 2/5] dt-bindings: iio: Introduce common properties for iio sensors
2020-04-05 13:50 ` [PATCH v4 2/5] dt-bindings: iio: Introduce common properties for iio sensors Guido Günther
2020-04-12 11:28 ` Jonathan Cameron
@ 2020-04-14 21:49 ` Rob Herring
2020-04-18 18:03 ` Jonathan Cameron
1 sibling, 1 reply; 13+ messages in thread
From: Rob Herring @ 2020-04-14 21:49 UTC (permalink / raw)
To: Guido Günther
Cc: Tomas Novotny, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler,
Angus Ainslie (Purism),
Guido Günther, Marco Felsch, Thomas Gleixner, linux-iio,
linux-kernel, devicetree, Andy Shevchenko, Nishant Malpani
On Sun, 5 Apr 2020 15:50:29 +0200, =?UTF-8?q?Guido=20G=C3=BCnther?= wrote:
> Introduce a file for common properties of iio sensors. So far this
> contains the new proximity-near-level property for proximity sensors
> that indicates when an object should be considered near.
>
> Signed-off-by: Guido Günther <agx@sigxcpu.org>
> ---
> .../devicetree/bindings/iio/common.yaml | 35 +++++++++++++++++++
> 1 file changed, 35 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/iio/common.yaml
>
Reviewed-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v4 2/5] dt-bindings: iio: Introduce common properties for iio sensors
2020-04-14 21:49 ` Rob Herring
@ 2020-04-18 18:03 ` Jonathan Cameron
0 siblings, 0 replies; 13+ messages in thread
From: Jonathan Cameron @ 2020-04-18 18:03 UTC (permalink / raw)
To: Rob Herring
Cc: Guido Günther, Tomas Novotny, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler,
Angus Ainslie (Purism),
Marco Felsch, Thomas Gleixner, linux-iio, linux-kernel,
devicetree, Andy Shevchenko, Nishant Malpani
On Tue, 14 Apr 2020 16:49:23 -0500
Rob Herring <robh@kernel.org> wrote:
> On Sun, 5 Apr 2020 15:50:29 +0200, =?UTF-8?q?Guido=20G=C3=BCnther?= wrote:
> > Introduce a file for common properties of iio sensors. So far this
> > contains the new proximity-near-level property for proximity sensors
> > that indicates when an object should be considered near.
> >
> > Signed-off-by: Guido Günther <agx@sigxcpu.org>
> > ---
> > .../devicetree/bindings/iio/common.yaml | 35 +++++++++++++++++++
> > 1 file changed, 35 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/iio/common.yaml
> >
>
> Reviewed-by: Rob Herring <robh@kernel.org>
Applied to the togreg branch of iio.git and pushed out as testing.
Thanks
Jonathan
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v4 3/5] dt-bindings: iio: light: vcnl4000: Add proximity-near-level
2020-04-05 13:50 [PATCH v4 0/5] iio: vcnl4000: Export near level property for proximity sensor Guido Günther
2020-04-05 13:50 ` [PATCH v4 1/5] dt-bindings: iio: vcnl4000: convert bindings to YAML format Guido Günther
2020-04-05 13:50 ` [PATCH v4 2/5] dt-bindings: iio: Introduce common properties for iio sensors Guido Günther
@ 2020-04-05 13:50 ` Guido Günther
2020-04-14 21:50 ` Rob Herring
2020-04-05 13:50 ` [PATCH v4 4/5] iio: vcnl4000: Export near level property for proximity sensor Guido Günther
2020-04-05 13:50 ` [PATCH v4 5/5] Documentation: ABI: document IIO in_proximity_nearlevel file Guido Günther
4 siblings, 1 reply; 13+ messages in thread
From: Guido Günther @ 2020-04-05 13:50 UTC (permalink / raw)
To: Tomas Novotny, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler,
Angus Ainslie (Purism),
Guido Günther, Marco Felsch, Thomas Gleixner, linux-iio,
linux-kernel, devicetree, Andy Shevchenko, Nishant Malpani
This value indicates when userspace should consider an object
near to the sensor/device.
Signed-off-by: Guido Günther <agx@sigxcpu.org>
---
.../devicetree/bindings/iio/light/vishay,vcnl4000.yaml | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/iio/light/vishay,vcnl4000.yaml b/Documentation/devicetree/bindings/iio/light/vishay,vcnl4000.yaml
index 21ef2eb7a205..da8f2e872535 100644
--- a/Documentation/devicetree/bindings/iio/light/vishay,vcnl4000.yaml
+++ b/Documentation/devicetree/bindings/iio/light/vishay,vcnl4000.yaml
@@ -13,6 +13,9 @@ description: |
Ambient light sensing with proximity detection over an i2c
interface.
+allOf:
+ - $ref: ../common.yaml#
+
properties:
compatible:
enum:
@@ -21,10 +24,11 @@ properties:
- vishay,vcnl4020
- vishay,vcnl4040
- vishay,vcnl4200
-
reg:
maxItems: 1
+ proximity-near-level: true
+
required:
- compatible
- reg
@@ -40,6 +44,7 @@ examples:
light-sensor@51 {
compatible = "vishay,vcnl4200";
reg = <0x51>;
+ proximity-near-level = <220>;
};
};
...
--
2.23.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v4 3/5] dt-bindings: iio: light: vcnl4000: Add proximity-near-level
2020-04-05 13:50 ` [PATCH v4 3/5] dt-bindings: iio: light: vcnl4000: Add proximity-near-level Guido Günther
@ 2020-04-14 21:50 ` Rob Herring
2020-04-18 18:04 ` Jonathan Cameron
0 siblings, 1 reply; 13+ messages in thread
From: Rob Herring @ 2020-04-14 21:50 UTC (permalink / raw)
To: Guido Günther
Cc: Tomas Novotny, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler,
Angus Ainslie (Purism),
Guido Günther, Marco Felsch, Thomas Gleixner, linux-iio,
linux-kernel, devicetree, Andy Shevchenko, Nishant Malpani
On Sun, 5 Apr 2020 15:50:30 +0200, =?UTF-8?q?Guido=20G=C3=BCnther?= wrote:
> This value indicates when userspace should consider an object
> near to the sensor/device.
>
> Signed-off-by: Guido Günther <agx@sigxcpu.org>
> ---
> .../devicetree/bindings/iio/light/vishay,vcnl4000.yaml | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
Reviewed-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v4 3/5] dt-bindings: iio: light: vcnl4000: Add proximity-near-level
2020-04-14 21:50 ` Rob Herring
@ 2020-04-18 18:04 ` Jonathan Cameron
0 siblings, 0 replies; 13+ messages in thread
From: Jonathan Cameron @ 2020-04-18 18:04 UTC (permalink / raw)
To: Rob Herring
Cc: Guido Günther, Tomas Novotny, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler,
Angus Ainslie (Purism),
Marco Felsch, Thomas Gleixner, linux-iio, linux-kernel,
devicetree, Andy Shevchenko, Nishant Malpani
On Tue, 14 Apr 2020 16:50:16 -0500
Rob Herring <robh@kernel.org> wrote:
> On Sun, 5 Apr 2020 15:50:30 +0200, =?UTF-8?q?Guido=20G=C3=BCnther?= wrote:
> > This value indicates when userspace should consider an object
> > near to the sensor/device.
> >
> > Signed-off-by: Guido Günther <agx@sigxcpu.org>
> > ---
> > .../devicetree/bindings/iio/light/vishay,vcnl4000.yaml | 7 ++++++-
> > 1 file changed, 6 insertions(+), 1 deletion(-)
> >
>
> Reviewed-by: Rob Herring <robh@kernel.org>
Applied. Thanks,
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v4 4/5] iio: vcnl4000: Export near level property for proximity sensor
2020-04-05 13:50 [PATCH v4 0/5] iio: vcnl4000: Export near level property for proximity sensor Guido Günther
` (2 preceding siblings ...)
2020-04-05 13:50 ` [PATCH v4 3/5] dt-bindings: iio: light: vcnl4000: Add proximity-near-level Guido Günther
@ 2020-04-05 13:50 ` Guido Günther
2020-04-18 18:05 ` Jonathan Cameron
2020-04-05 13:50 ` [PATCH v4 5/5] Documentation: ABI: document IIO in_proximity_nearlevel file Guido Günther
4 siblings, 1 reply; 13+ messages in thread
From: Guido Günther @ 2020-04-05 13:50 UTC (permalink / raw)
To: Tomas Novotny, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler,
Angus Ainslie (Purism),
Guido Günther, Marco Felsch, Thomas Gleixner, linux-iio,
linux-kernel, devicetree, Andy Shevchenko, Nishant Malpani
When an object can be considered close to the sensor is hardware
dependent. Allowing to configure the property via device tree
allows to configure this device specific value.
This is useful for e.g. iio-sensor-proxy to indicate to userspace
if an object is close to the sensor.
Signed-off-by: Guido Günther <agx@sigxcpu.org>
---
drivers/iio/light/vcnl4000.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c
index ec803c1e81df..985cc39ede8e 100644
--- a/drivers/iio/light/vcnl4000.c
+++ b/drivers/iio/light/vcnl4000.c
@@ -83,6 +83,7 @@ struct vcnl4000_data {
struct mutex vcnl4000_lock;
struct vcnl4200_channel vcnl4200_al;
struct vcnl4200_channel vcnl4200_ps;
+ uint32_t near_level;
};
struct vcnl4000_chip_spec {
@@ -343,6 +344,25 @@ static const struct vcnl4000_chip_spec vcnl4000_chip_spec_cfg[] = {
},
};
+static ssize_t vcnl4000_read_near_level(struct iio_dev *indio_dev,
+ uintptr_t priv,
+ const struct iio_chan_spec *chan,
+ char *buf)
+{
+ struct vcnl4000_data *data = iio_priv(indio_dev);
+
+ return sprintf(buf, "%u\n", data->near_level);
+}
+
+static const struct iio_chan_spec_ext_info vcnl4000_ext_info[] = {
+ {
+ .name = "nearlevel",
+ .shared = IIO_SEPARATE,
+ .read = vcnl4000_read_near_level,
+ },
+ { /* sentinel */ }
+};
+
static const struct iio_chan_spec vcnl4000_channels[] = {
{
.type = IIO_LIGHT,
@@ -351,6 +371,7 @@ static const struct iio_chan_spec vcnl4000_channels[] = {
}, {
.type = IIO_PROXIMITY,
.info_mask_separate = BIT(IIO_CHAN_INFO_RAW),
+ .ext_info = vcnl4000_ext_info,
}
};
@@ -440,6 +461,10 @@ static int vcnl4000_probe(struct i2c_client *client,
dev_dbg(&client->dev, "%s Ambient light/proximity sensor, Rev: %02x\n",
data->chip_spec->prod, data->rev);
+ if (device_property_read_u32(&client->dev, "proximity-near-level",
+ &data->near_level))
+ data->near_level = 0;
+
indio_dev->dev.parent = &client->dev;
indio_dev->info = &vcnl4000_info;
indio_dev->channels = vcnl4000_channels;
--
2.23.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v4 4/5] iio: vcnl4000: Export near level property for proximity sensor
2020-04-05 13:50 ` [PATCH v4 4/5] iio: vcnl4000: Export near level property for proximity sensor Guido Günther
@ 2020-04-18 18:05 ` Jonathan Cameron
0 siblings, 0 replies; 13+ messages in thread
From: Jonathan Cameron @ 2020-04-18 18:05 UTC (permalink / raw)
To: Guido Günther
Cc: Tomas Novotny, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, Angus Ainslie (Purism),
Marco Felsch, Thomas Gleixner, linux-iio, linux-kernel,
devicetree, Andy Shevchenko, Nishant Malpani
On Sun, 5 Apr 2020 15:50:31 +0200
Guido Günther <agx@sigxcpu.org> wrote:
> When an object can be considered close to the sensor is hardware
> dependent. Allowing to configure the property via device tree
> allows to configure this device specific value.
>
> This is useful for e.g. iio-sensor-proxy to indicate to userspace
> if an object is close to the sensor.
>
> Signed-off-by: Guido Günther <agx@sigxcpu.org>
Applied. Thanks,
> ---
> drivers/iio/light/vcnl4000.c | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c
> index ec803c1e81df..985cc39ede8e 100644
> --- a/drivers/iio/light/vcnl4000.c
> +++ b/drivers/iio/light/vcnl4000.c
> @@ -83,6 +83,7 @@ struct vcnl4000_data {
> struct mutex vcnl4000_lock;
> struct vcnl4200_channel vcnl4200_al;
> struct vcnl4200_channel vcnl4200_ps;
> + uint32_t near_level;
> };
>
> struct vcnl4000_chip_spec {
> @@ -343,6 +344,25 @@ static const struct vcnl4000_chip_spec vcnl4000_chip_spec_cfg[] = {
> },
> };
>
> +static ssize_t vcnl4000_read_near_level(struct iio_dev *indio_dev,
> + uintptr_t priv,
> + const struct iio_chan_spec *chan,
> + char *buf)
> +{
> + struct vcnl4000_data *data = iio_priv(indio_dev);
> +
> + return sprintf(buf, "%u\n", data->near_level);
> +}
> +
> +static const struct iio_chan_spec_ext_info vcnl4000_ext_info[] = {
> + {
> + .name = "nearlevel",
> + .shared = IIO_SEPARATE,
> + .read = vcnl4000_read_near_level,
> + },
> + { /* sentinel */ }
> +};
> +
> static const struct iio_chan_spec vcnl4000_channels[] = {
> {
> .type = IIO_LIGHT,
> @@ -351,6 +371,7 @@ static const struct iio_chan_spec vcnl4000_channels[] = {
> }, {
> .type = IIO_PROXIMITY,
> .info_mask_separate = BIT(IIO_CHAN_INFO_RAW),
> + .ext_info = vcnl4000_ext_info,
> }
> };
>
> @@ -440,6 +461,10 @@ static int vcnl4000_probe(struct i2c_client *client,
> dev_dbg(&client->dev, "%s Ambient light/proximity sensor, Rev: %02x\n",
> data->chip_spec->prod, data->rev);
>
> + if (device_property_read_u32(&client->dev, "proximity-near-level",
> + &data->near_level))
> + data->near_level = 0;
> +
> indio_dev->dev.parent = &client->dev;
> indio_dev->info = &vcnl4000_info;
> indio_dev->channels = vcnl4000_channels;
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v4 5/5] Documentation: ABI: document IIO in_proximity_nearlevel file
2020-04-05 13:50 [PATCH v4 0/5] iio: vcnl4000: Export near level property for proximity sensor Guido Günther
` (3 preceding siblings ...)
2020-04-05 13:50 ` [PATCH v4 4/5] iio: vcnl4000: Export near level property for proximity sensor Guido Günther
@ 2020-04-05 13:50 ` Guido Günther
2020-04-18 18:06 ` Jonathan Cameron
4 siblings, 1 reply; 13+ messages in thread
From: Guido Günther @ 2020-04-05 13:50 UTC (permalink / raw)
To: Tomas Novotny, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler,
Angus Ainslie (Purism),
Guido Günther, Marco Felsch, Thomas Gleixner, linux-iio,
linux-kernel, devicetree, Andy Shevchenko, Nishant Malpani
The vcnl4000 IIO driver introduced a new attribute
"in_proximity_nearlevel". This adds it to the list of documented ABI
for sysfs-bus-iio.
Signed-off-by: Guido Günther <agx@sigxcpu.org>
---
Documentation/ABI/testing/sysfs-bus-iio-proximity | 10 ++++++++++
1 file changed, 10 insertions(+)
create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-proximity
diff --git a/Documentation/ABI/testing/sysfs-bus-iio-proximity b/Documentation/ABI/testing/sysfs-bus-iio-proximity
new file mode 100644
index 000000000000..2172f3bb9c64
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-bus-iio-proximity
@@ -0,0 +1,10 @@
+What: /sys/bus/iio/devices/iio:deviceX/in_proximity_nearlevel
+Date: March 2020
+KernelVersion: 5.7
+Contact: linux-iio@vger.kernel.org
+Description:
+ Near level for proximity sensors. This is a single integer
+ value that tells user space when an object should be
+ considered close to the device. If the value read from the
+ sensor is above or equal to the value in this file an object
+ should typically be considered near.
--
2.23.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v4 5/5] Documentation: ABI: document IIO in_proximity_nearlevel file
2020-04-05 13:50 ` [PATCH v4 5/5] Documentation: ABI: document IIO in_proximity_nearlevel file Guido Günther
@ 2020-04-18 18:06 ` Jonathan Cameron
0 siblings, 0 replies; 13+ messages in thread
From: Jonathan Cameron @ 2020-04-18 18:06 UTC (permalink / raw)
To: Guido Günther
Cc: Tomas Novotny, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, Angus Ainslie (Purism),
Marco Felsch, Thomas Gleixner, linux-iio, linux-kernel,
devicetree, Andy Shevchenko, Nishant Malpani
On Sun, 5 Apr 2020 15:50:32 +0200
Guido Günther <agx@sigxcpu.org> wrote:
> The vcnl4000 IIO driver introduced a new attribute
> "in_proximity_nearlevel". This adds it to the list of documented ABI
> for sysfs-bus-iio.
>
> Signed-off-by: Guido Günther <agx@sigxcpu.org>
Applied to the togreg branch of iio.git and pushed out as testing for the
autobuilders to play with it.
Thanks,
Jonathan
> ---
> Documentation/ABI/testing/sysfs-bus-iio-proximity | 10 ++++++++++
> 1 file changed, 10 insertions(+)
> create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-proximity
>
> diff --git a/Documentation/ABI/testing/sysfs-bus-iio-proximity b/Documentation/ABI/testing/sysfs-bus-iio-proximity
> new file mode 100644
> index 000000000000..2172f3bb9c64
> --- /dev/null
> +++ b/Documentation/ABI/testing/sysfs-bus-iio-proximity
> @@ -0,0 +1,10 @@
> +What: /sys/bus/iio/devices/iio:deviceX/in_proximity_nearlevel
> +Date: March 2020
> +KernelVersion: 5.7
> +Contact: linux-iio@vger.kernel.org
> +Description:
> + Near level for proximity sensors. This is a single integer
> + value that tells user space when an object should be
> + considered close to the device. If the value read from the
> + sensor is above or equal to the value in this file an object
> + should typically be considered near.
^ permalink raw reply [flat|nested] 13+ messages in thread