Skip to contentSkip to conversation

iio: vcnl4000: Export near level property for proximity sensor

PATCH Superseded Guido Günther 5 participants 12 messages Mar 16, 2020 – Mar 22, 2020

Subsystems (2)

v2 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#5 lore raw

PATCH v2 2/4 dt-bindings: iio: light: vcnl4000: Add near-level

In reply to Guido Günther

This value indicates when userspace should consider an object near to the sensor/device.

---
 Documentation/devicetree/bindings/iio/light/vcnl4000.yaml | 8 ++++++++
 1 file changed, 8 insertions(+)
Documentation/devicetree/bindings/iio/light/vcnl4000.yaml +8 -0
index 74d53cfbeb85..fc24800f530a 100644
@@ -25,6 +25,13 @@ properties:
   reg:
     maxItems: 1
 
+  near-level:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description:
+      Raw proximity values equal or above this level should be
+      considered 'near' to the device (an object is near to the
+      sensor).
+
 required:
   - compatible
   - reg
@@ -40,6 +47,7 @@ examples:
       light-sensor@51 {
               compatible = "vishay,vcnl4200";
               reg = <0x51>;
+              near-level = <220>;
       };
   };
 ...
Signature · 1 line
2.23.0
#1 lore raw

PATCH v2 1/4 dt-bindings: iio: vcnl4000: convert bindings to YAML format

In reply to Guido Günther

Convert the vcnl4000 device tree bindings to the new YAML format.

---
 .../bindings/iio/light/vcnl4000.txt           | 24 ----------
 .../bindings/iio/light/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/vcnl4000.yaml
Documentation/devicetree/bindings/iio/light/vcnl4000.txt deleted +0 -24
deleted file mode 100644
index 955af4555c90..000000000000
@@ -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>;
-};
Documentation/devicetree/bindings/iio/light/vcnl4000.yaml new file +45 -0

45 lines not on this page · raw message

Signature · 1 line
2.23.0
#6 lore raw

PATCH v2 3/4 iio: vcnl4000: Export near level property for proximity sensor

In reply to Guido Günther

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.

---
 drivers/iio/light/vcnl4000.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)
drivers/iio/light/vcnl4000.c +26 -0
index 38fcd9a26046..7111118e0fda 100644
@@ -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 {
@@ -342,6 +343,26 @@ 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 = "near_level",
+		.shared = IIO_SEPARATE,
+		.read = vcnl4000_read_near_level,
+	},
+	{ /* sentinel */ }
+};
+
 static const struct iio_chan_spec vcnl4000_channels[] = {
 	{
 		.type = IIO_LIGHT,
@@ -350,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,
 	}
 };
 
@@ -439,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, "near-level",
+				     &data->near_level) < 0)
+		data->near_level = 0;
+
 	indio_dev->dev.parent = &client->dev;
 	indio_dev->info = &vcnl4000_info;
 	indio_dev->channels = vcnl4000_channels;
Signature · 1 line
2.23.0
#0 lore raw

v2 cover iio: vcnl4000: Export near level property for proximity sensor

If an object can be considered close to the device that has the proximity sensor built in is hardware dependent. Allowing to configure the property via device tree allows to export this device specific value to userspace via ext_info. This is useful for e.g. iio-sensor-proxy.

This came up when adding proximity support to iio-sensor-proxy [1], [2], it is not meant as a vcnl4000 thing but rather as something useful for other proximity sensors too in the future.

Changes from v1:
- as per review comments by Jonathan Cameron
https://lore.kernel.org/linux-iio/20200221120519.43b72007@archlinux/
Document new sysfs file in Documentation/ABI/testing/sysfs-bus-iio-proximity
- convert bindings to yaml
- bindings: fix typo in near-level property

[1]: https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/merge_requests/298
[2]: https://lore.kernel.org/linux-iio/[email protected]/

Guido Günther (4):
dt-bindings: iio: vcnl4000: convert bindings to YAML format
dt-bindings: iio: light: vcnl4000: Add near-level
iio: vcnl4000: Export near level property for proximity sensor
Documentation: ABI: document IIO in_proximity_near_level file

 .../ABI/testing/sysfs-bus-iio-proximity       | 10 ++++
 .../bindings/iio/light/vcnl4000.txt           | 24 ---------
 .../bindings/iio/light/vcnl4000.yaml          | 53 +++++++++++++++++++
 drivers/iio/light/vcnl4000.c                  | 26 +++++++++
 4 files changed, 89 insertions(+), 24 deletions(-)
 create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-proximity
 delete mode 100644 Documentation/devicetree/bindings/iio/light/vcnl4000.txt
 create mode 100644 Documentation/devicetree/bindings/iio/light/vcnl4000.yaml
Signature · 1 line
2.23.0
#11 lore raw

PATCH v2 4/4 Documentation: ABI: document IIO in_proximity_near_level file

The vcnl4000 IIO driver introduced a new attribute "in_proximity_near_level". This adds it to the list of documented ABI for sysfs-bus-iio.

---
 Documentation/ABI/testing/sysfs-bus-iio-proximity | 10 ++++++++++
 1 file changed, 10 insertions(+)
 create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-proximity
Documentation/ABI/testing/sysfs-bus-iio-proximity new file +10 -0
new file mode 100644
index 000000000000..43b16533a85a
@@ -0,0 +1,10 @@
+What:		/sys/bus/iio/devices/iio:deviceX/in_proximity_near_level
+Date:		March 2020
+KernelVersion:	5.7
+Contact:	[email protected]
+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.
Signature · 1 line
2.23.0
#7 lore raw
In reply to Guido Günther
Quoted 4 lines · Guido Günther

[...]

drivers/iio/light/vcnl4000.c +3 -0
+static ssize_t vcnl4000_read_near_level(struct iio_dev *indio_dev,
+					uintptr_t priv,
+					const struct iio_chan_spec *chan,

drivers/iio/light/vcnl4000.c static const struct vcnl4000_chip_spec vcnl4000_chip_spec_cfg[] = { · line 359

Quoted 10 lines
drivers/iio/light/vcnl4000.c +10 -0
+					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 = "near_level",

Generally having properties with a underscore in them breaks generic parsing of the property name by userspace applications. This is because we use underscores to separate different components (type, modifier, etc.) of the attribute from each other.

Do you think calling this "nearlevel" would work?

I know there are existing bad examples of properties that use an underscore, but we should try to limit introducing new ones.

Quoted 28 lines
drivers/iio/light/vcnl4000.c +11 -0
+		.shared = IIO_SEPARATE,
+		.read = vcnl4000_read_near_level,
+	},
+	{ /* sentinel */ }
+};
+
  static const struct iio_chan_spec vcnl4000_channels[] = {
  	{
  		.type = IIO_LIGHT,
@@ -350,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,
  	}
  };
 
@@ -439,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, "near-level",
+				     &data->near_level) < 0)
+		data->near_level = 0;
+
  	indio_dev->dev.parent = &client->dev;
  	indio_dev->info = &vcnl4000_info;
  	indio_dev->channels = vcnl4000_channels;
#8 lore raw

Hi,

Quoted 21 lines · Lars-Peter Clausen
Quoted 4 lines · Guido Günther

[...]

drivers/iio/light/vcnl4000.c +3 -0
+static ssize_t vcnl4000_read_near_level(struct iio_dev *indio_dev,
+					uintptr_t priv,
+					const struct iio_chan_spec *chan,

drivers/iio/light/vcnl4000.c static const struct vcnl4000_chip_spec vcnl4000_chip_spec_cfg[] = { · line 359

Quoted 10 lines
drivers/iio/light/vcnl4000.c +10 -0
+					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 = "near_level",

Generally having properties with a underscore in them breaks generic parsing of the property name by userspace applications. This is because we use underscores to separate different components (type, modifier, etc.) of the attribute from each other.

Quoted 1 line

Do you think calling this "nearlevel" would work?

That works as well. I'll change that for v3.

For my education: Is the type, modifier policy written down somewhere (similar to
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/leds/leds-class.rst#n44
)?

Cheers,
-- Guido

Quoted 32 lines

I know there are existing bad examples of properties that use an underscore, but we should try to limit introducing new ones.

Quoted 26 lines
drivers/iio/light/vcnl4000.c +11 -0
+		.shared = IIO_SEPARATE,
+		.read = vcnl4000_read_near_level,
+	},
+	{ /* sentinel */ }
+};
+
  static const struct iio_chan_spec vcnl4000_channels[] = {
  	{
  		.type = IIO_LIGHT,
@@ -350,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,
  	}
  };
@@ -439,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, "near-level",
+				     &data->near_level) < 0)
+		data->near_level = 0;
+
  	indio_dev->dev.parent = &client->dev;
  	indio_dev->info = &vcnl4000_info;
  	indio_dev->channels = vcnl4000_channels;
#9 lore raw
Quoted 22 lines · Guido Günther

Hi,

Quoted 20 lines · Lars-Peter Clausen
Quoted 4 lines · Guido Günther

[...]

drivers/iio/light/vcnl4000.c +3 -0
+static ssize_t vcnl4000_read_near_level(struct iio_dev *indio_dev,
+					uintptr_t priv,
+					const struct iio_chan_spec *chan,

drivers/iio/light/vcnl4000.c static const struct vcnl4000_chip_spec vcnl4000_chip_spec_cfg[] = { · line 359

Quoted 10 lines
drivers/iio/light/vcnl4000.c +10 -0
+					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 = "near_level",

Generally having properties with a underscore in them breaks generic parsing of the property name by userspace applications. This is because we use underscores to separate different components (type, modifier, etc.) of the attribute from each other.

Quoted 7 lines
Quoted 1 line

Do you think calling this "nearlevel" would work?

That works as well. I'll change that for v3.

For my education: Is the type, modifier policy written down somewhere (similar to
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/leds/leds-class.rst#n44
)?

Good point, this is quite badly documented at the moment.

The only thing I could find is this presentation by Daniel https://events.static.linuxfound.org/sites/events/files/slides/lceu15_baluta.pdf#page=9

- Lars

#10 lore raw
In reply to Guido Günther
Quoted 7 lines · Guido Günther

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.

...

drivers/iio/light/vcnl4000.c static const struct vcnl4000_chip_spec vcnl4000_chip_spec_cfg[] = { · line 347

Quoted 6 lines
drivers/iio/light/vcnl4000.c +1 -0
@@ -342,6 +343,26 @@ static const struct vcnl4000_chip_spec vcnl4000_chip_spec_cfg[] = {
        },
 };
 
 
+

No need for this blank line.

Quoted 4 lines
drivers/iio/light/vcnl4000.c +4 -0
+static ssize_t vcnl4000_read_near_level(struct iio_dev *indio_dev,
+                                       uintptr_t priv,
+                                       const struct iio_chan_spec *chan,
+                                       char *buf)

...

drivers/iio/light/vcnl4000.c static int vcnl4000_probe(struct i2c_client *client, · line 465

Quoted 2 lines
drivers/iio/light/vcnl4000.c +2 -0
+       if (device_property_read_u32(&client->dev, "near-level",
+                                    &data->near_level) < 0)

It doesn't return > 0. So, you may drop that and put everything to one line I think.

Quoted 1 line

+ data->near_level = 0;

Signature · 2 lines
With Best Regards,
Andy Shevchenko
maintainer
#2 lore raw

Re: [PATCH v2 1/4] dt-bindings: iio: vcnl4000: convert bindings to YAML format

In reply to Guido Günther
Quoted 3 lines · On Mon, 16 Mar 2020 18:46:17 +0100 Guido Günther <[email protected]> wrote:

Convert the vcnl4000 device tree bindings to the new YAML format.

Looks good to me. However, I've made far too many mistakes in DT binding review recently, so will definitely be waiting for Rob to get a chance to look at it!

Jonathan

Quoted 88 lines
---
 .../bindings/iio/light/vcnl4000.txt           | 24 ----------
 .../bindings/iio/light/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/vcnl4000.yaml
Documentation/devicetree/bindings/iio/light/vcnl4000.txt deleted +0 -24
deleted file mode 100644
index 955af4555c90..000000000000
@@ -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>;
-};
Documentation/devicetree/bindings/iio/light/vcnl4000.yaml new file +45 -0
new file mode 100644
index 000000000000..74d53cfbeb85
@@ -0,0 +1,45 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/light/vcnl4000.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: VISHAY VCNL4000 ambient light and proximity sensor
+
+maintainers:
+  - Peter Meerwald <[email protected]>
+
+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>;
+      };
+  };
+...
#3 lore raw

Re: [PATCH v2 1/4] dt-bindings: iio: vcnl4000: convert bindings to YAML format

Quoted 51 lines · Jonathan Cameron
Quoted 3 lines · On Mon, 16 Mar 2020 18:46:17 +0100 Guido Günther <[email protected]> wrote:

Convert the vcnl4000 device tree bindings to the new YAML format.

Looks good to me. However, I've made far too many mistakes in DT binding review recently, so will definitely be waiting for Rob to get a chance to look at it!

Jonathan

Quoted 39 lines
---
  .../bindings/iio/light/vcnl4000.txt           | 24 ----------
  .../bindings/iio/light/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/vcnl4000.yaml

Documentation/devicetree/bindings/iio/light/vcnl4000.txt deleted +0 -24
deleted file mode 100644
index 955af4555c90..000000000000
@@ -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>;
-};
Documentation/devicetree/bindings/iio/light/vcnl4000.yaml new file +0 -0
new file mode 100644
Quoted 8 lines

Documentation/devicetree/bindings/iio/light/vcnl4000.yaml line 4

Quoted 8 lines

index 000000000000..74d53cfbeb85

Documentation/devicetree/bindings/iio/light/vcnl4000.yaml new file +4 -0
@@ -0,0 +1,45 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/light/vcnl4000.yaml#

Shouldn't the devicetree binding document be named with the manufacturer part as well?

With regards,
Nishant

Quoted 42 lines
Quoted 41 lines
Documentation/devicetree/bindings/iio/light/vcnl4000.yaml new file +41 -0
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: VISHAY VCNL4000 ambient light and proximity sensor
+
+maintainers:
+  - Peter Meerwald <[email protected]>
+
+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>;
+      };
+  };
+...
maintainer
#4 lore raw

Re: [PATCH v2 1/4] dt-bindings: iio: vcnl4000: convert bindings to YAML format

Quoted 54 lines · On Sun, 22 Mar 2020 23:07:00 +0530 Nishant Malpani <[email protected]>…
Quoted 53 lines · Jonathan Cameron
Quoted 3 lines · On Mon, 16 Mar 2020 18:46:17 +0100 Guido Günther <[email protected]> wrote:

Convert the vcnl4000 device tree bindings to the new YAML format.

Looks good to me. However, I've made far too many mistakes in DT binding review recently, so will definitely be waiting for Rob to get a chance to look at it!

Jonathan

Quoted 41 lines
---
  .../bindings/iio/light/vcnl4000.txt           | 24 ----------
  .../bindings/iio/light/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/vcnl4000.yaml

Documentation/devicetree/bindings/iio/light/vcnl4000.txt deleted +0 -24
deleted file mode 100644
index 955af4555c90..000000000000
@@ -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>;
-};
Documentation/devicetree/bindings/iio/light/vcnl4000.yaml new file +0 -1
new file mode 100644
index 000000000000..74d53cfbeb85
--- /dev/null
Quoted 8 lines
Quoted 6 lines

Documentation/devicetree/bindings/iio/light/vcnl4000.yaml line 4

Quoted 6 lines

+++ b/Documentation/devicetree/bindings/iio/light/vcnl4000.yaml

Documentation/devicetree/bindings/iio/light/vcnl4000.yaml new file +4 -0
@@ -0,0 +1,45 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/light/vcnl4000.yaml#  

Shouldn't the devicetree binding document be named with the manufacturer part as well?

Yup. Good spot. Told you I kept missing things ;)

Jonathan

Quoted 46 lines

With regards,
Nishant

Quoted 42 lines
Quoted 41 lines
Documentation/devicetree/bindings/iio/light/vcnl4000.yaml new file +41 -0
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: VISHAY VCNL4000 ambient light and proximity sensor
+
+maintainers:
+  - Peter Meerwald <[email protected]>
+
+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>;
+      };
+  };
+...