linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/5] Add support for ToF sensor on Yoshino platform
@ 2022-05-23 17:53 Markuss Broks
  2022-05-23 17:53 ` [PATCH 1/5] dt-bindings: proximity: vl53l0x: Document optional supply and GPIO properties Markuss Broks
                   ` (5 more replies)
  0 siblings, 6 replies; 13+ messages in thread
From: Markuss Broks @ 2022-05-23 17:53 UTC (permalink / raw)
  To: linux-kernel, jic23
  Cc: ~postmarketos/upstreaming, phone-devel, Markuss Broks,
	Konrad Dybcio, Marijn Suijten, AngeloGioacchino Del Regno,
	Song Qiang, Lars-Peter Clausen, Rob Herring, Krzysztof Kozlowski,
	Andy Gross, Bjorn Andersson, Liam Girdwood, Mark Brown,
	linux-iio, devicetree, linux-arm-msm

This series adds support for the ToF proximity sensor installed on
Yoshino devices. As part of this series, support handling the reset
GPIO and VDD supply by the VL53L0X driver. Also stop hardcoding the
interrupt type, since on Yoshino devices it seems that edge triggering
doesn't work properly.

Tested on Sony Xperia XZ1 (poplar).

Cc: Konrad Dybcio <konrad.dybcio@somainline.org>
Cc: Marijn Suijten <marijn.suijten@somainline.org>
Cc: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>

v2:
- Fix a nasty issue: turns out grouping the pinctrl makes it not apply,
which was the main cause of edge interrupts not working correctly and
having to use level interrupts, which caused a large amount of false
detections.
- handle the irq type more gracefully: if it's not provided, default
to falling edge, but if it's provided, then use the provided one.
v3:
- add irq.h header (forgot to commit)
- reword commit message (already initialized -> pre-initialized)
v4:
- reorder powering on and power off action (Jonathan)
- sort pinctrls by GPIO number (Konrad)
v5:
- "This patch adds..." -> "Add ..." (Krzysztof)

Markuss Broks (5):
  dt-bindings: proximity: vl53l0x: Document optional supply and GPIO
    properties
  proximity: vl53l0x: Get interrupt type from DT
  proximity: vl53l0x: Handle the VDD regulator
  proximity: vl53l0x: Handle the reset GPIO
  arm64: dts: qcom: msm8998-xperia: Introduce ToF sensor support

 .../bindings/iio/proximity/st,vl53l0x.yaml    |  5 ++
 .../dts/qcom/msm8998-sony-xperia-yoshino.dtsi | 34 +++++++++++++
 drivers/iio/proximity/vl53l0x-i2c.c           | 50 ++++++++++++++++++-
 3 files changed, 88 insertions(+), 1 deletion(-)

-- 
2.35.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 1/5] dt-bindings: proximity: vl53l0x: Document optional supply and GPIO properties
  2022-05-23 17:53 [PATCH v5 0/5] Add support for ToF sensor on Yoshino platform Markuss Broks
@ 2022-05-23 17:53 ` Markuss Broks
  2022-05-23 17:53 ` [PATCH 2/5] proximity: vl53l0x: Prefer pre-initialized interrupt flags Markuss Broks
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 13+ messages in thread
From: Markuss Broks @ 2022-05-23 17:53 UTC (permalink / raw)
  To: linux-kernel, jic23
  Cc: ~postmarketos/upstreaming, phone-devel, Markuss Broks,
	Konrad Dybcio, Marijn Suijten, AngeloGioacchino Del Regno,
	Song Qiang, Lars-Peter Clausen, Rob Herring, Krzysztof Kozlowski,
	Andy Gross, Bjorn Andersson, Liam Girdwood, Mark Brown,
	linux-iio, devicetree, linux-arm-msm, Krzysztof Kozlowski

Add the optional properties for the VL53L0X ToF sensor to the
device-tree binding.

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Markuss Broks <markuss.broks@gmail.com>
---
 .../devicetree/bindings/iio/proximity/st,vl53l0x.yaml        | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Documentation/devicetree/bindings/iio/proximity/st,vl53l0x.yaml b/Documentation/devicetree/bindings/iio/proximity/st,vl53l0x.yaml
index 656460d9d8c8..322befc41de6 100644
--- a/Documentation/devicetree/bindings/iio/proximity/st,vl53l0x.yaml
+++ b/Documentation/devicetree/bindings/iio/proximity/st,vl53l0x.yaml
@@ -19,6 +19,11 @@ properties:
   interrupts:
     maxItems: 1
 
+  reset-gpios:
+    maxItems: 1
+
+  vdd-supply: true
+
 required:
   - compatible
   - reg
-- 
2.36.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 2/5] proximity: vl53l0x: Prefer pre-initialized interrupt flags
  2022-05-23 17:53 [PATCH v5 0/5] Add support for ToF sensor on Yoshino platform Markuss Broks
  2022-05-23 17:53 ` [PATCH 1/5] dt-bindings: proximity: vl53l0x: Document optional supply and GPIO properties Markuss Broks
@ 2022-05-23 17:53 ` Markuss Broks
  2022-05-23 17:53 ` [PATCH 3/5] proximity: vl53l0x: Handle the VDD regulator Markuss Broks
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 13+ messages in thread
From: Markuss Broks @ 2022-05-23 17:53 UTC (permalink / raw)
  To: linux-kernel, jic23
  Cc: ~postmarketos/upstreaming, phone-devel, Markuss Broks,
	Konrad Dybcio, Marijn Suijten, AngeloGioacchino Del Regno,
	Song Qiang, Lars-Peter Clausen, Rob Herring, Krzysztof Kozlowski,
	Andy Gross, Bjorn Andersson, Liam Girdwood, Mark Brown,
	linux-iio, devicetree, linux-arm-msm

On some boards interrupt type might be different than falling edge,
like hardcoded in driver. Leave interrupt flags as they were pre-configured
from the device-tree. If they're not provided, default to falling edge
interrupts.

Signed-off-by: Markuss Broks <markuss.broks@gmail.com>
---
 drivers/iio/proximity/vl53l0x-i2c.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/iio/proximity/vl53l0x-i2c.c b/drivers/iio/proximity/vl53l0x-i2c.c
index 661a79ea200d..12a3e2eff464 100644
--- a/drivers/iio/proximity/vl53l0x-i2c.c
+++ b/drivers/iio/proximity/vl53l0x-i2c.c
@@ -16,6 +16,7 @@
 
 #include <linux/delay.h>
 #include <linux/i2c.h>
+#include <linux/irq.h>
 #include <linux/interrupt.h>
 #include <linux/module.h>
 
@@ -57,11 +58,15 @@ static irqreturn_t vl53l0x_handle_irq(int irq, void *priv)
 static int vl53l0x_configure_irq(struct i2c_client *client,
 				 struct iio_dev *indio_dev)
 {
+	int irq_flags = irq_get_trigger_type(client->irq);
 	struct vl53l0x_data *data = iio_priv(indio_dev);
 	int ret;
 
+	if (!irq_flags)
+		irq_flags = IRQF_TRIGGER_FALLING;
+
 	ret = devm_request_irq(&client->dev, client->irq, vl53l0x_handle_irq,
-			IRQF_TRIGGER_FALLING, indio_dev->name, indio_dev);
+			irq_flags, indio_dev->name, indio_dev);
 	if (ret) {
 		dev_err(&client->dev, "devm_request_irq error: %d\n", ret);
 		return ret;
-- 
2.36.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 3/5] proximity: vl53l0x: Handle the VDD regulator
  2022-05-23 17:53 [PATCH v5 0/5] Add support for ToF sensor on Yoshino platform Markuss Broks
  2022-05-23 17:53 ` [PATCH 1/5] dt-bindings: proximity: vl53l0x: Document optional supply and GPIO properties Markuss Broks
  2022-05-23 17:53 ` [PATCH 2/5] proximity: vl53l0x: Prefer pre-initialized interrupt flags Markuss Broks
@ 2022-05-23 17:53 ` Markuss Broks
  2022-06-08 10:18   ` Luca Weiss
  2022-05-23 17:53 ` [PATCH 4/5] proximity: vl53l0x: Handle the reset GPIO Markuss Broks
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: Markuss Broks @ 2022-05-23 17:53 UTC (permalink / raw)
  To: linux-kernel, jic23
  Cc: ~postmarketos/upstreaming, phone-devel, Markuss Broks,
	Konrad Dybcio, Marijn Suijten, AngeloGioacchino Del Regno,
	Song Qiang, Lars-Peter Clausen, Rob Herring, Krzysztof Kozlowski,
	Andy Gross, Bjorn Andersson, Liam Girdwood, Mark Brown,
	linux-iio, devicetree, linux-arm-msm

Handle the regulator supplying the VDD pin of VL53L0X.

Signed-off-by: Markuss Broks <markuss.broks@gmail.com>
---
 drivers/iio/proximity/vl53l0x-i2c.c | 37 +++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/drivers/iio/proximity/vl53l0x-i2c.c b/drivers/iio/proximity/vl53l0x-i2c.c
index 12a3e2eff464..8581a873919f 100644
--- a/drivers/iio/proximity/vl53l0x-i2c.c
+++ b/drivers/iio/proximity/vl53l0x-i2c.c
@@ -43,6 +43,7 @@
 struct vl53l0x_data {
 	struct i2c_client *client;
 	struct completion completion;
+	struct regulator *vdd_supply;
 };
 
 static irqreturn_t vl53l0x_handle_irq(int irq, void *priv)
@@ -192,10 +193,31 @@ static const struct iio_info vl53l0x_info = {
 	.read_raw = vl53l0x_read_raw,
 };
 
+static void vl53l0x_power_off(void *_data)
+{
+	struct vl53l0x_data *data = _data;
+
+	regulator_disable(data->vdd_supply);
+}
+
+static int vl53l0x_power_on(struct vl53l0x_data *data)
+{
+	int ret;
+
+	ret = regulator_enable(data->vdd_supply);
+	if (ret)
+		return ret;
+
+	usleep_range(3200, 5000);
+
+	return 0;
+}
+
 static int vl53l0x_probe(struct i2c_client *client)
 {
 	struct vl53l0x_data *data;
 	struct iio_dev *indio_dev;
+	int error;
 
 	indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
 	if (!indio_dev)
@@ -210,6 +232,21 @@ static int vl53l0x_probe(struct i2c_client *client)
 				     I2C_FUNC_SMBUS_BYTE_DATA))
 		return -EOPNOTSUPP;
 
+	data->vdd_supply = devm_regulator_get_optional(&client->dev, "vdd");
+	if (IS_ERR(data->vdd_supply))
+		return dev_err_probe(&client->dev, PTR_ERR(data->vdd_supply),
+				     "Unable to get VDD regulator\n");
+
+	error = vl53l0x_power_on(data);
+	if (error)
+		return dev_err_probe(&client->dev, error,
+				     "Failed to power on the chip\n");
+
+	error = devm_add_action_or_reset(&client->dev, vl53l0x_power_off, data);
+	if (error)
+		return dev_err_probe(&client->dev, error,
+				     "Failed to install poweroff action\n");
+
 	indio_dev->name = "vl53l0x";
 	indio_dev->info = &vl53l0x_info;
 	indio_dev->channels = vl53l0x_channels;
-- 
2.36.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 4/5] proximity: vl53l0x: Handle the reset GPIO
  2022-05-23 17:53 [PATCH v5 0/5] Add support for ToF sensor on Yoshino platform Markuss Broks
                   ` (2 preceding siblings ...)
  2022-05-23 17:53 ` [PATCH 3/5] proximity: vl53l0x: Handle the VDD regulator Markuss Broks
@ 2022-05-23 17:53 ` Markuss Broks
  2022-05-23 17:53 ` [PATCH 5/5] arm64: dts: qcom: msm8998-xperia: Introduce ToF sensor support Markuss Broks
  2022-06-03 15:23 ` [PATCH v5 0/5] Add support for ToF sensor on Yoshino platform Jonathan Cameron
  5 siblings, 0 replies; 13+ messages in thread
From: Markuss Broks @ 2022-05-23 17:53 UTC (permalink / raw)
  To: linux-kernel, jic23
  Cc: ~postmarketos/upstreaming, phone-devel, Markuss Broks,
	Konrad Dybcio, Marijn Suijten, AngeloGioacchino Del Regno,
	Song Qiang, Lars-Peter Clausen, Rob Herring, Krzysztof Kozlowski,
	Andy Gross, Bjorn Andersson, Liam Girdwood, Mark Brown,
	linux-iio, devicetree, linux-arm-msm

Handle the GPIO connected to the XSHUT/RST_N pin of VL53L0X.

Signed-off-by: Markuss Broks <markuss.broks@gmail.com>
---
 drivers/iio/proximity/vl53l0x-i2c.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/iio/proximity/vl53l0x-i2c.c b/drivers/iio/proximity/vl53l0x-i2c.c
index 8581a873919f..36c48a824725 100644
--- a/drivers/iio/proximity/vl53l0x-i2c.c
+++ b/drivers/iio/proximity/vl53l0x-i2c.c
@@ -15,6 +15,7 @@
  */
 
 #include <linux/delay.h>
+#include <linux/gpio/consumer.h>
 #include <linux/i2c.h>
 #include <linux/irq.h>
 #include <linux/interrupt.h>
@@ -44,6 +45,7 @@ struct vl53l0x_data {
 	struct i2c_client *client;
 	struct completion completion;
 	struct regulator *vdd_supply;
+	struct gpio_desc *reset_gpio;
 };
 
 static irqreturn_t vl53l0x_handle_irq(int irq, void *priv)
@@ -197,6 +199,8 @@ static void vl53l0x_power_off(void *_data)
 {
 	struct vl53l0x_data *data = _data;
 
+	gpiod_set_value_cansleep(data->reset_gpio, 1);
+
 	regulator_disable(data->vdd_supply);
 }
 
@@ -208,6 +212,8 @@ static int vl53l0x_power_on(struct vl53l0x_data *data)
 	if (ret)
 		return ret;
 
+	gpiod_set_value_cansleep(data->reset_gpio, 0);
+
 	usleep_range(3200, 5000);
 
 	return 0;
@@ -237,6 +243,11 @@ static int vl53l0x_probe(struct i2c_client *client)
 		return dev_err_probe(&client->dev, PTR_ERR(data->vdd_supply),
 				     "Unable to get VDD regulator\n");
 
+	data->reset_gpio = devm_gpiod_get_optional(&client->dev, "reset", GPIOD_OUT_HIGH);
+	if (IS_ERR(data->reset_gpio))
+		return dev_err_probe(&client->dev, PTR_ERR(data->reset_gpio),
+				     "Cannot get reset GPIO\n");
+
 	error = vl53l0x_power_on(data);
 	if (error)
 		return dev_err_probe(&client->dev, error,
-- 
2.36.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 5/5] arm64: dts: qcom: msm8998-xperia: Introduce ToF sensor support
  2022-05-23 17:53 [PATCH v5 0/5] Add support for ToF sensor on Yoshino platform Markuss Broks
                   ` (3 preceding siblings ...)
  2022-05-23 17:53 ` [PATCH 4/5] proximity: vl53l0x: Handle the reset GPIO Markuss Broks
@ 2022-05-23 17:53 ` Markuss Broks
  2022-07-03  3:56   ` (subset) " Bjorn Andersson
  2022-06-03 15:23 ` [PATCH v5 0/5] Add support for ToF sensor on Yoshino platform Jonathan Cameron
  5 siblings, 1 reply; 13+ messages in thread
From: Markuss Broks @ 2022-05-23 17:53 UTC (permalink / raw)
  To: linux-kernel, jic23
  Cc: ~postmarketos/upstreaming, phone-devel, Markuss Broks,
	Konrad Dybcio, Marijn Suijten, AngeloGioacchino Del Regno,
	Song Qiang, Lars-Peter Clausen, Rob Herring, Krzysztof Kozlowski,
	Andy Gross, Bjorn Andersson, Liam Girdwood, Mark Brown,
	linux-iio, devicetree, linux-arm-msm

This patch adds device tree support for the VL53L0X ToF sensor
found on all Yoshino devices.

Signed-off-by: Markuss Broks <markuss.broks@gmail.com>
---
 .../dts/qcom/msm8998-sony-xperia-yoshino.dtsi | 33 +++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8998-sony-xperia-yoshino.dtsi b/arch/arm64/boot/dts/qcom/msm8998-sony-xperia-yoshino.dtsi
index 47488a1aecae..4bd1039d983d 100644
--- a/arch/arm64/boot/dts/qcom/msm8998-sony-xperia-yoshino.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998-sony-xperia-yoshino.dtsi
@@ -245,6 +245,24 @@ &blsp2_uart1 {
 	status = "okay";
 };
 
+&blsp2_i2c2 {
+	status = "okay";
+
+	proximity@29 {
+		compatible = "st,vl53l0x";
+		reg = <0x29>;
+
+		interrupt-parent = <&tlmm>;
+		interrupts = <22 IRQ_TYPE_EDGE_FALLING>;
+
+		reset-gpios = <&tlmm 27 GPIO_ACTIVE_LOW>;
+		vdd-supply = <&cam_vio_vreg>;
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&tof_int &tof_reset>;
+	};
+};
+
 &ibb {
 	regulator-min-microamp = <800000>;
 	regulator-max-microamp = <800000>;
@@ -606,6 +624,14 @@ cam0_vdig_default: cam0-vdig-default {
 		drive-strength = <2>;
 	};
 
+	tof_int: tof-int {
+		pins = "gpio22";
+		function = "gpio";
+		bias-pull-up;
+		drive-strength = <2>;
+		input-enable;
+	};
+
 	cam1_vdig_default: cam1-vdig-default {
 		pins = "gpio25";
 		function = "gpio";
@@ -613,6 +639,13 @@ cam1_vdig_default: cam1-vdig-default {
 		drive-strength = <2>;
 	};
 
+	tof_reset: tof-reset {
+		pins = "gpio27";
+		function = "gpio";
+		bias-disable;
+		drive-strength = <2>;
+	};
+
 	hall_sensor0_default: acc-cover-open {
 		pins = "gpio124";
 		function = "gpio";
-- 
2.36.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH v5 0/5] Add support for ToF sensor on Yoshino platform
  2022-05-23 17:53 [PATCH v5 0/5] Add support for ToF sensor on Yoshino platform Markuss Broks
                   ` (4 preceding siblings ...)
  2022-05-23 17:53 ` [PATCH 5/5] arm64: dts: qcom: msm8998-xperia: Introduce ToF sensor support Markuss Broks
@ 2022-06-03 15:23 ` Jonathan Cameron
  5 siblings, 0 replies; 13+ messages in thread
From: Jonathan Cameron @ 2022-06-03 15:23 UTC (permalink / raw)
  To: Markuss Broks
  Cc: linux-kernel, ~postmarketos/upstreaming, phone-devel,
	Konrad Dybcio, Marijn Suijten, AngeloGioacchino Del Regno,
	Song Qiang, Lars-Peter Clausen, Rob Herring, Krzysztof Kozlowski,
	Andy Gross, Bjorn Andersson, Liam Girdwood, Mark Brown,
	linux-iio, devicetree, linux-arm-msm

On Mon, 23 May 2022 20:53:39 +0300
Markuss Broks <markuss.broks@gmail.com> wrote:

> This series adds support for the ToF proximity sensor installed on
> Yoshino devices. As part of this series, support handling the reset
> GPIO and VDD supply by the VL53L0X driver. Also stop hardcoding the
> interrupt type, since on Yoshino devices it seems that edge triggering
> doesn't work properly.
> 
> Tested on Sony Xperia XZ1 (poplar).
> 
> Cc: Konrad Dybcio <konrad.dybcio@somainline.org>
> Cc: Marijn Suijten <marijn.suijten@somainline.org>
> Cc: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
Patches 1-4 applied to the togreg branch of iio.git.

Note I plan to rebase that tree after the char-misc (and hence IIO tree)
has been merged with mainline, so for now it is only pushed out as testing
so that 0-day can see if it can find anything we missed.

Thanks,

Jonathan

> 
> v2:
> - Fix a nasty issue: turns out grouping the pinctrl makes it not apply,
> which was the main cause of edge interrupts not working correctly and
> having to use level interrupts, which caused a large amount of false
> detections.
> - handle the irq type more gracefully: if it's not provided, default
> to falling edge, but if it's provided, then use the provided one.
> v3:
> - add irq.h header (forgot to commit)
> - reword commit message (already initialized -> pre-initialized)
> v4:
> - reorder powering on and power off action (Jonathan)
> - sort pinctrls by GPIO number (Konrad)
> v5:
> - "This patch adds..." -> "Add ..." (Krzysztof)
> 
> Markuss Broks (5):
>   dt-bindings: proximity: vl53l0x: Document optional supply and GPIO
>     properties
>   proximity: vl53l0x: Get interrupt type from DT
>   proximity: vl53l0x: Handle the VDD regulator
>   proximity: vl53l0x: Handle the reset GPIO
>   arm64: dts: qcom: msm8998-xperia: Introduce ToF sensor support
> 
>  .../bindings/iio/proximity/st,vl53l0x.yaml    |  5 ++
>  .../dts/qcom/msm8998-sony-xperia-yoshino.dtsi | 34 +++++++++++++
>  drivers/iio/proximity/vl53l0x-i2c.c           | 50 ++++++++++++++++++-
>  3 files changed, 88 insertions(+), 1 deletion(-)
> 


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 3/5] proximity: vl53l0x: Handle the VDD regulator
  2022-05-23 17:53 ` [PATCH 3/5] proximity: vl53l0x: Handle the VDD regulator Markuss Broks
@ 2022-06-08 10:18   ` Luca Weiss
  2022-06-12  8:53     ` Jonathan Cameron
  0 siblings, 1 reply; 13+ messages in thread
From: Luca Weiss @ 2022-06-08 10:18 UTC (permalink / raw)
  To: Markuss Broks, linux-kernel, jic23
  Cc: ~postmarketos/upstreaming, phone-devel, Konrad Dybcio,
	Marijn Suijten, AngeloGioacchino Del Regno, Song Qiang,
	Lars-Peter Clausen, Rob Herring, Krzysztof Kozlowski, Andy Gross,
	Bjorn Andersson, Liam Girdwood, Mark Brown, linux-iio,
	devicetree, linux-arm-msm

Hi Markuss,

On Mon May 23, 2022 at 7:53 PM CEST, Markuss Broks wrote:
> Handle the regulator supplying the VDD pin of VL53L0X.
>
> Signed-off-by: Markuss Broks <markuss.broks@gmail.com>
> ---
>  drivers/iio/proximity/vl53l0x-i2c.c | 37 +++++++++++++++++++++++++++++
>  1 file changed, 37 insertions(+)
>
> diff --git a/drivers/iio/proximity/vl53l0x-i2c.c b/drivers/iio/proximity/vl53l0x-i2c.c
> index 12a3e2eff464..8581a873919f 100644
> --- a/drivers/iio/proximity/vl53l0x-i2c.c
> +++ b/drivers/iio/proximity/vl53l0x-i2c.c
> @@ -43,6 +43,7 @@
>  struct vl53l0x_data {
>  	struct i2c_client *client;
>  	struct completion completion;
> +	struct regulator *vdd_supply;
>  };
>  
>  static irqreturn_t vl53l0x_handle_irq(int irq, void *priv)
> @@ -192,10 +193,31 @@ static const struct iio_info vl53l0x_info = {
>  	.read_raw = vl53l0x_read_raw,
>  };
>  
> +static void vl53l0x_power_off(void *_data)
> +{
> +	struct vl53l0x_data *data = _data;
> +
> +	regulator_disable(data->vdd_supply);
> +}
> +
> +static int vl53l0x_power_on(struct vl53l0x_data *data)
> +{
> +	int ret;
> +
> +	ret = regulator_enable(data->vdd_supply);
> +	if (ret)
> +		return ret;
> +
> +	usleep_range(3200, 5000);
> +
> +	return 0;
> +}
> +
>  static int vl53l0x_probe(struct i2c_client *client)
>  {
>  	struct vl53l0x_data *data;
>  	struct iio_dev *indio_dev;
> +	int error;
>  
>  	indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
>  	if (!indio_dev)
> @@ -210,6 +232,21 @@ static int vl53l0x_probe(struct i2c_client *client)
>  				     I2C_FUNC_SMBUS_BYTE_DATA))
>  		return -EOPNOTSUPP;
>  
> +	data->vdd_supply = devm_regulator_get_optional(&client->dev, "vdd");
> +	if (IS_ERR(data->vdd_supply))
> +		return dev_err_probe(&client->dev, PTR_ERR(data->vdd_supply),
> +				     "Unable to get VDD regulator\n");

It looks like this optional regulator is not actually optional.

[    1.919995] vl53l0x-i2c 1-0029: error -ENODEV: Unable to get VDD regulator

When using devm_regulator_get instead, a dummy regulator gets returned
which I think is what we want here:

[    1.905518] vl53l0x-i2c 1-0029: supply vdd not found, using dummy regulator

Can you fix this up or should I send a patch?

Regards
Luca


> +
> +	error = vl53l0x_power_on(data);
> +	if (error)
> +		return dev_err_probe(&client->dev, error,
> +				     "Failed to power on the chip\n");
> +
> +	error = devm_add_action_or_reset(&client->dev, vl53l0x_power_off, data);
> +	if (error)
> +		return dev_err_probe(&client->dev, error,
> +				     "Failed to install poweroff action\n");
> +
>  	indio_dev->name = "vl53l0x";
>  	indio_dev->info = &vl53l0x_info;
>  	indio_dev->channels = vl53l0x_channels;
> -- 
> 2.36.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 3/5] proximity: vl53l0x: Handle the VDD regulator
  2022-06-08 10:18   ` Luca Weiss
@ 2022-06-12  8:53     ` Jonathan Cameron
  2022-06-12  9:28       ` Luca Weiss
  0 siblings, 1 reply; 13+ messages in thread
From: Jonathan Cameron @ 2022-06-12  8:53 UTC (permalink / raw)
  To: Luca Weiss
  Cc: Markuss Broks, linux-kernel, ~postmarketos/upstreaming,
	phone-devel, Konrad Dybcio, Marijn Suijten,
	AngeloGioacchino Del Regno, Song Qiang, Lars-Peter Clausen,
	Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Liam Girdwood, Mark Brown, linux-iio, devicetree, linux-arm-msm

On Wed, 08 Jun 2022 12:18:52 +0200
"Luca Weiss" <luca.weiss@fairphone.com> wrote:

> Hi Markuss,
> 
> On Mon May 23, 2022 at 7:53 PM CEST, Markuss Broks wrote:
> > Handle the regulator supplying the VDD pin of VL53L0X.
> >
> > Signed-off-by: Markuss Broks <markuss.broks@gmail.com>
> > ---
> >  drivers/iio/proximity/vl53l0x-i2c.c | 37 +++++++++++++++++++++++++++++
> >  1 file changed, 37 insertions(+)
> >
> > diff --git a/drivers/iio/proximity/vl53l0x-i2c.c b/drivers/iio/proximity/vl53l0x-i2c.c
> > index 12a3e2eff464..8581a873919f 100644
> > --- a/drivers/iio/proximity/vl53l0x-i2c.c
> > +++ b/drivers/iio/proximity/vl53l0x-i2c.c
> > @@ -43,6 +43,7 @@
> >  struct vl53l0x_data {
> >  	struct i2c_client *client;
> >  	struct completion completion;
> > +	struct regulator *vdd_supply;
> >  };
> >  
> >  static irqreturn_t vl53l0x_handle_irq(int irq, void *priv)
> > @@ -192,10 +193,31 @@ static const struct iio_info vl53l0x_info = {
> >  	.read_raw = vl53l0x_read_raw,
> >  };
> >  
> > +static void vl53l0x_power_off(void *_data)
> > +{
> > +	struct vl53l0x_data *data = _data;
> > +
> > +	regulator_disable(data->vdd_supply);
> > +}
> > +
> > +static int vl53l0x_power_on(struct vl53l0x_data *data)
> > +{
> > +	int ret;
> > +
> > +	ret = regulator_enable(data->vdd_supply);
> > +	if (ret)
> > +		return ret;
> > +
> > +	usleep_range(3200, 5000);
> > +
> > +	return 0;
> > +}
> > +
> >  static int vl53l0x_probe(struct i2c_client *client)
> >  {
> >  	struct vl53l0x_data *data;
> >  	struct iio_dev *indio_dev;
> > +	int error;
> >  
> >  	indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
> >  	if (!indio_dev)
> > @@ -210,6 +232,21 @@ static int vl53l0x_probe(struct i2c_client *client)
> >  				     I2C_FUNC_SMBUS_BYTE_DATA))
> >  		return -EOPNOTSUPP;
> >  
> > +	data->vdd_supply = devm_regulator_get_optional(&client->dev, "vdd");
> > +	if (IS_ERR(data->vdd_supply))
> > +		return dev_err_probe(&client->dev, PTR_ERR(data->vdd_supply),
> > +				     "Unable to get VDD regulator\n");  
> 
> It looks like this optional regulator is not actually optional.
> 
> [    1.919995] vl53l0x-i2c 1-0029: error -ENODEV: Unable to get VDD regulator
> 
> When using devm_regulator_get instead, a dummy regulator gets returned
> which I think is what we want here:
> 
> [    1.905518] vl53l0x-i2c 1-0029: supply vdd not found, using dummy regulator
> 
> Can you fix this up or should I send a patch?

Hi Luca,

Please send a patch.

Jonathan

> 
> Regards
> Luca
> 
> 
> > +
> > +	error = vl53l0x_power_on(data);
> > +	if (error)
> > +		return dev_err_probe(&client->dev, error,
> > +				     "Failed to power on the chip\n");
> > +
> > +	error = devm_add_action_or_reset(&client->dev, vl53l0x_power_off, data);
> > +	if (error)
> > +		return dev_err_probe(&client->dev, error,
> > +				     "Failed to install poweroff action\n");
> > +
> >  	indio_dev->name = "vl53l0x";
> >  	indio_dev->info = &vl53l0x_info;
> >  	indio_dev->channels = vl53l0x_channels;
> > -- 
> > 2.36.1  
> 


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 3/5] proximity: vl53l0x: Handle the VDD regulator
  2022-06-12  8:53     ` Jonathan Cameron
@ 2022-06-12  9:28       ` Luca Weiss
  2022-06-14 10:48         ` Jonathan Cameron
  0 siblings, 1 reply; 13+ messages in thread
From: Luca Weiss @ 2022-06-12  9:28 UTC (permalink / raw)
  To: Luca Weiss, ~postmarketos/upstreaming
  Cc: Markuss Broks, linux-kernel, ~postmarketos/upstreaming,
	phone-devel, Konrad Dybcio, Marijn Suijten,
	AngeloGioacchino Del Regno, Song Qiang, Lars-Peter Clausen,
	Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Liam Girdwood, Mark Brown, linux-iio, devicetree, linux-arm-msm,
	Jonathan Cameron

Hi Jonathan,

On Sonntag, 12. Juni 2022 10:53:33 CEST Jonathan Cameron wrote:
> On Wed, 08 Jun 2022 12:18:52 +0200
> 
> "Luca Weiss" <luca.weiss@fairphone.com> wrote:
> > Hi Markuss,
> > 
> > On Mon May 23, 2022 at 7:53 PM CEST, Markuss Broks wrote:
> > > Handle the regulator supplying the VDD pin of VL53L0X.
> > > 
> > > Signed-off-by: Markuss Broks <markuss.broks@gmail.com>
> > > ---
> > > 
> > >  drivers/iio/proximity/vl53l0x-i2c.c | 37 +++++++++++++++++++++++++++++
> > >  1 file changed, 37 insertions(+)
> > > 
> > > diff --git a/drivers/iio/proximity/vl53l0x-i2c.c
> > > b/drivers/iio/proximity/vl53l0x-i2c.c index 12a3e2eff464..8581a873919f
> > > 100644
> > > --- a/drivers/iio/proximity/vl53l0x-i2c.c
> > > +++ b/drivers/iio/proximity/vl53l0x-i2c.c
> > > @@ -43,6 +43,7 @@
> > > 
> > >  struct vl53l0x_data {
> > >  
> > >  	struct i2c_client *client;
> > >  	struct completion completion;
> > > 
> > > +	struct regulator *vdd_supply;
> > > 
> > >  };
> > >  
> > >  static irqreturn_t vl53l0x_handle_irq(int irq, void *priv)
> > > 
> > > @@ -192,10 +193,31 @@ static const struct iio_info vl53l0x_info = {
> > > 
> > >  	.read_raw = vl53l0x_read_raw,
> > >  
> > >  };
> > > 
> > > +static void vl53l0x_power_off(void *_data)
> > > +{
> > > +	struct vl53l0x_data *data = _data;
> > > +
> > > +	regulator_disable(data->vdd_supply);
> > > +}
> > > +
> > > +static int vl53l0x_power_on(struct vl53l0x_data *data)
> > > +{
> > > +	int ret;
> > > +
> > > +	ret = regulator_enable(data->vdd_supply);
> > > +	if (ret)
> > > +		return ret;
> > > +
> > > +	usleep_range(3200, 5000);
> > > +
> > > +	return 0;
> > > +}
> > > +
> > > 
> > >  static int vl53l0x_probe(struct i2c_client *client)
> > >  {
> > >  
> > >  	struct vl53l0x_data *data;
> > >  	struct iio_dev *indio_dev;
> > > 
> > > +	int error;
> > > 
> > >  	indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
> > >  	if (!indio_dev)
> > > 
> > > @@ -210,6 +232,21 @@ static int vl53l0x_probe(struct i2c_client *client)
> > > 
> > >  				     I2C_FUNC_SMBUS_BYTE_DATA))
> > >  		
> > >  		return -EOPNOTSUPP;
> > > 
> > > +	data->vdd_supply = devm_regulator_get_optional(&client->dev, 
"vdd");
> > > +	if (IS_ERR(data->vdd_supply))
> > > +		return dev_err_probe(&client->dev, PTR_ERR(data-
>vdd_supply),
> > > +				     "Unable to get VDD 
regulator\n");
> > 
> > It looks like this optional regulator is not actually optional.
> > 
> > [    1.919995] vl53l0x-i2c 1-0029: error -ENODEV: Unable to get VDD
> > regulator
> > 
> > When using devm_regulator_get instead, a dummy regulator gets returned
> > which I think is what we want here:
> > 
> > [    1.905518] vl53l0x-i2c 1-0029: supply vdd not found, using dummy
> > regulator
> > 
> > Can you fix this up or should I send a patch?
> 
> Hi Luca,
> 
> Please send a patch.

Which commit sha can I use for Fixes: here?
Based your togreg[0] branch currently shows "Age: 20 hours" I guess it was 
rebased recently?

Regards
Luca

[0]https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git/log/?h=togreg

> 
> Jonathan
> 
> > Regards
> > Luca
> > 
> > > +
> > > +	error = vl53l0x_power_on(data);
> > > +	if (error)
> > > +		return dev_err_probe(&client->dev, error,
> > > +				     "Failed to power on the 
chip\n");
> > > +
> > > +	error = devm_add_action_or_reset(&client->dev, vl53l0x_power_off,
> > > data);
> > > +	if (error)
> > > +		return dev_err_probe(&client->dev, error,
> > > +				     "Failed to install poweroff 
action\n");
> > > +
> > > 
> > >  	indio_dev->name = "vl53l0x";
> > >  	indio_dev->info = &vl53l0x_info;
> > >  	indio_dev->channels = vl53l0x_channels;





^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 3/5] proximity: vl53l0x: Handle the VDD regulator
  2022-06-12  9:28       ` Luca Weiss
@ 2022-06-14 10:48         ` Jonathan Cameron
  2022-06-14 10:58           ` Jonathan Cameron
  0 siblings, 1 reply; 13+ messages in thread
From: Jonathan Cameron @ 2022-06-14 10:48 UTC (permalink / raw)
  To: Luca Weiss
  Cc: Luca Weiss, ~postmarketos/upstreaming, Markuss Broks,
	linux-kernel, phone-devel, Konrad Dybcio, Marijn Suijten,
	AngeloGioacchino Del Regno, Song Qiang, Lars-Peter Clausen,
	Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Liam Girdwood, Mark Brown, linux-iio, devicetree, linux-arm-msm

On Sun, 12 Jun 2022 11:28:22 +0200
Luca Weiss <luca@z3ntu.xyz> wrote:

> Hi Jonathan,
> 
> On Sonntag, 12. Juni 2022 10:53:33 CEST Jonathan Cameron wrote:
> > On Wed, 08 Jun 2022 12:18:52 +0200
> > 
> > "Luca Weiss" <luca.weiss@fairphone.com> wrote:  
> > > Hi Markuss,
> > > 
> > > On Mon May 23, 2022 at 7:53 PM CEST, Markuss Broks wrote:  
> > > > Handle the regulator supplying the VDD pin of VL53L0X.
> > > > 
> > > > Signed-off-by: Markuss Broks <markuss.broks@gmail.com>
> > > > ---
> > > > 
> > > >  drivers/iio/proximity/vl53l0x-i2c.c | 37 +++++++++++++++++++++++++++++
> > > >  1 file changed, 37 insertions(+)
> > > > 
> > > > diff --git a/drivers/iio/proximity/vl53l0x-i2c.c
> > > > b/drivers/iio/proximity/vl53l0x-i2c.c index 12a3e2eff464..8581a873919f
> > > > 100644
> > > > --- a/drivers/iio/proximity/vl53l0x-i2c.c
> > > > +++ b/drivers/iio/proximity/vl53l0x-i2c.c
> > > > @@ -43,6 +43,7 @@
> > > > 
> > > >  struct vl53l0x_data {
> > > >  
> > > >  	struct i2c_client *client;
> > > >  	struct completion completion;
> > > > 
> > > > +	struct regulator *vdd_supply;
> > > > 
> > > >  };
> > > >  
> > > >  static irqreturn_t vl53l0x_handle_irq(int irq, void *priv)
> > > > 
> > > > @@ -192,10 +193,31 @@ static const struct iio_info vl53l0x_info = {
> > > > 
> > > >  	.read_raw = vl53l0x_read_raw,
> > > >  
> > > >  };
> > > > 
> > > > +static void vl53l0x_power_off(void *_data)
> > > > +{
> > > > +	struct vl53l0x_data *data = _data;
> > > > +
> > > > +	regulator_disable(data->vdd_supply);
> > > > +}
> > > > +
> > > > +static int vl53l0x_power_on(struct vl53l0x_data *data)
> > > > +{
> > > > +	int ret;
> > > > +
> > > > +	ret = regulator_enable(data->vdd_supply);
> > > > +	if (ret)
> > > > +		return ret;
> > > > +
> > > > +	usleep_range(3200, 5000);
> > > > +
> > > > +	return 0;
> > > > +}
> > > > +
> > > > 
> > > >  static int vl53l0x_probe(struct i2c_client *client)
> > > >  {
> > > >  
> > > >  	struct vl53l0x_data *data;
> > > >  	struct iio_dev *indio_dev;
> > > > 
> > > > +	int error;
> > > > 
> > > >  	indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
> > > >  	if (!indio_dev)
> > > > 
> > > > @@ -210,6 +232,21 @@ static int vl53l0x_probe(struct i2c_client *client)
> > > > 
> > > >  				     I2C_FUNC_SMBUS_BYTE_DATA))
> > > >  		
> > > >  		return -EOPNOTSUPP;
> > > > 
> > > > +	data->vdd_supply = devm_regulator_get_optional(&client->dev,   
> "vdd");
> > > > +	if (IS_ERR(data->vdd_supply))
> > > > +		return dev_err_probe(&client->dev, PTR_ERR(data-  
> >vdd_supply),  
> > > > +				     "Unable to get VDD   
> regulator\n");
> > > 
> > > It looks like this optional regulator is not actually optional.
> > > 
> > > [    1.919995] vl53l0x-i2c 1-0029: error -ENODEV: Unable to get VDD
> > > regulator
> > > 
> > > When using devm_regulator_get instead, a dummy regulator gets returned
> > > which I think is what we want here:
> > > 
> > > [    1.905518] vl53l0x-i2c 1-0029: supply vdd not found, using dummy
> > > regulator
> > > 
> > > Can you fix this up or should I send a patch?  
> > 
> > Hi Luca,
> > 
> > Please send a patch.  
> 
> Which commit sha can I use for Fixes: here?
> Based your togreg[0] branch currently shows "Age: 20 hours" I guess it was 
> rebased recently?

It was rebased onto rc1 as you noticed.

In theory it is now stable, assuming nothing nasty shows up.
Fixes tag doesn't matter strongly given both will go into mainline via
the same pull request, so maybe just skip adding one to make my life
easier :)

Thanks,

Jonathan

> 
> Regards
> Luca
> 
> [0]https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git/log/?h=togreg
> 
> > 
> > Jonathan
> >   
> > > Regards
> > > Luca
> > >   
> > > > +
> > > > +	error = vl53l0x_power_on(data);
> > > > +	if (error)
> > > > +		return dev_err_probe(&client->dev, error,
> > > > +				     "Failed to power on the   
> chip\n");
> > > > +
> > > > +	error = devm_add_action_or_reset(&client->dev, vl53l0x_power_off,
> > > > data);
> > > > +	if (error)
> > > > +		return dev_err_probe(&client->dev, error,
> > > > +				     "Failed to install poweroff   
> action\n");
> > > > +
> > > > 
> > > >  	indio_dev->name = "vl53l0x";
> > > >  	indio_dev->info = &vl53l0x_info;
> > > >  	indio_dev->channels = vl53l0x_channels;  
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 3/5] proximity: vl53l0x: Handle the VDD regulator
  2022-06-14 10:48         ` Jonathan Cameron
@ 2022-06-14 10:58           ` Jonathan Cameron
  0 siblings, 0 replies; 13+ messages in thread
From: Jonathan Cameron @ 2022-06-14 10:58 UTC (permalink / raw)
  To: Luca Weiss
  Cc: Luca Weiss, ~postmarketos/upstreaming, Markuss Broks,
	linux-kernel, phone-devel, Konrad Dybcio, Marijn Suijten,
	AngeloGioacchino Del Regno, Song Qiang, Lars-Peter Clausen,
	Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Liam Girdwood, Mark Brown, linux-iio, devicetree, linux-arm-msm

On Tue, 14 Jun 2022 11:48:53 +0100
Jonathan Cameron <jic23@kernel.org> wrote:

> On Sun, 12 Jun 2022 11:28:22 +0200
> Luca Weiss <luca@z3ntu.xyz> wrote:
> 
> > Hi Jonathan,
> > 
> > On Sonntag, 12. Juni 2022 10:53:33 CEST Jonathan Cameron wrote:  
> > > On Wed, 08 Jun 2022 12:18:52 +0200
> > > 
> > > "Luca Weiss" <luca.weiss@fairphone.com> wrote:    
> > > > Hi Markuss,
> > > > 
> > > > On Mon May 23, 2022 at 7:53 PM CEST, Markuss Broks wrote:    
> > > > > Handle the regulator supplying the VDD pin of VL53L0X.
> > > > > 
> > > > > Signed-off-by: Markuss Broks <markuss.broks@gmail.com>
> > > > > ---
> > > > > 
> > > > >  drivers/iio/proximity/vl53l0x-i2c.c | 37 +++++++++++++++++++++++++++++
> > > > >  1 file changed, 37 insertions(+)
> > > > > 
> > > > > diff --git a/drivers/iio/proximity/vl53l0x-i2c.c
> > > > > b/drivers/iio/proximity/vl53l0x-i2c.c index 12a3e2eff464..8581a873919f
> > > > > 100644
> > > > > --- a/drivers/iio/proximity/vl53l0x-i2c.c
> > > > > +++ b/drivers/iio/proximity/vl53l0x-i2c.c
> > > > > @@ -43,6 +43,7 @@
> > > > > 
> > > > >  struct vl53l0x_data {
> > > > >  
> > > > >  	struct i2c_client *client;
> > > > >  	struct completion completion;
> > > > > 
> > > > > +	struct regulator *vdd_supply;
> > > > > 
> > > > >  };
> > > > >  
> > > > >  static irqreturn_t vl53l0x_handle_irq(int irq, void *priv)
> > > > > 
> > > > > @@ -192,10 +193,31 @@ static const struct iio_info vl53l0x_info = {
> > > > > 
> > > > >  	.read_raw = vl53l0x_read_raw,
> > > > >  
> > > > >  };
> > > > > 
> > > > > +static void vl53l0x_power_off(void *_data)
> > > > > +{
> > > > > +	struct vl53l0x_data *data = _data;
> > > > > +
> > > > > +	regulator_disable(data->vdd_supply);
> > > > > +}
> > > > > +
> > > > > +static int vl53l0x_power_on(struct vl53l0x_data *data)
> > > > > +{
> > > > > +	int ret;
> > > > > +
> > > > > +	ret = regulator_enable(data->vdd_supply);
> > > > > +	if (ret)
> > > > > +		return ret;
> > > > > +
> > > > > +	usleep_range(3200, 5000);
> > > > > +
> > > > > +	return 0;
> > > > > +}
> > > > > +
> > > > > 
> > > > >  static int vl53l0x_probe(struct i2c_client *client)
> > > > >  {
> > > > >  
> > > > >  	struct vl53l0x_data *data;
> > > > >  	struct iio_dev *indio_dev;
> > > > > 
> > > > > +	int error;
> > > > > 
> > > > >  	indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
> > > > >  	if (!indio_dev)
> > > > > 
> > > > > @@ -210,6 +232,21 @@ static int vl53l0x_probe(struct i2c_client *client)
> > > > > 
> > > > >  				     I2C_FUNC_SMBUS_BYTE_DATA))
> > > > >  		
> > > > >  		return -EOPNOTSUPP;
> > > > > 
> > > > > +	data->vdd_supply = devm_regulator_get_optional(&client->dev,     
> > "vdd");  
> > > > > +	if (IS_ERR(data->vdd_supply))
> > > > > +		return dev_err_probe(&client->dev, PTR_ERR(data-    
> > >vdd_supply),    
> > > > > +				     "Unable to get VDD     
> > regulator\n");  
> > > > 
> > > > It looks like this optional regulator is not actually optional.
> > > > 
> > > > [    1.919995] vl53l0x-i2c 1-0029: error -ENODEV: Unable to get VDD
> > > > regulator
> > > > 
> > > > When using devm_regulator_get instead, a dummy regulator gets returned
> > > > which I think is what we want here:
> > > > 
> > > > [    1.905518] vl53l0x-i2c 1-0029: supply vdd not found, using dummy
> > > > regulator
> > > > 
> > > > Can you fix this up or should I send a patch?    
> > > 
> > > Hi Luca,
> > > 
> > > Please send a patch.    
> > 
> > Which commit sha can I use for Fixes: here?
> > Based your togreg[0] branch currently shows "Age: 20 hours" I guess it was 
> > rebased recently?  
> 
> It was rebased onto rc1 as you noticed.
> 
> In theory it is now stable, assuming nothing nasty shows up.
> Fixes tag doesn't matter strongly given both will go into mainline via
> the same pull request, so maybe just skip adding one to make my life
> easier :)
The 'in theory stable' bit lasted a few more mins as I had a patch
I'd otherwise needed to have done a messy revert for.

So definitely safer to skip the Fixes tag for this, though I do
have scripts that check them and should in theory fix it up
if it is based on stale version of togreg.  It's just fiddly
to do.

Thanks
Jonathan


> 
> Thanks,
> 
> Jonathan
> 
> > 
> > Regards
> > Luca
> > 
> > [0]https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git/log/?h=togreg
> >   
> > > 
> > > Jonathan
> > >     
> > > > Regards
> > > > Luca
> > > >     
> > > > > +
> > > > > +	error = vl53l0x_power_on(data);
> > > > > +	if (error)
> > > > > +		return dev_err_probe(&client->dev, error,
> > > > > +				     "Failed to power on the     
> > chip\n");  
> > > > > +
> > > > > +	error = devm_add_action_or_reset(&client->dev, vl53l0x_power_off,
> > > > > data);
> > > > > +	if (error)
> > > > > +		return dev_err_probe(&client->dev, error,
> > > > > +				     "Failed to install poweroff     
> > action\n");  
> > > > > +
> > > > > 
> > > > >  	indio_dev->name = "vl53l0x";
> > > > >  	indio_dev->info = &vl53l0x_info;
> > > > >  	indio_dev->channels = vl53l0x_channels;    
> > 
> > 
> > 
> >   
> 


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: (subset) [PATCH 5/5] arm64: dts: qcom: msm8998-xperia: Introduce ToF sensor support
  2022-05-23 17:53 ` [PATCH 5/5] arm64: dts: qcom: msm8998-xperia: Introduce ToF sensor support Markuss Broks
@ 2022-07-03  3:56   ` Bjorn Andersson
  0 siblings, 0 replies; 13+ messages in thread
From: Bjorn Andersson @ 2022-07-03  3:56 UTC (permalink / raw)
  To: jic23, Markuss Broks, linux-kernel
  Cc: Konrad Dybcio, Rob Herring, Andy Gross, linux-arm-msm,
	Krzysztof Kozlowski, AngeloGioacchino Del Regno, devicetree,
	phone-devel, Song Qiang, Mark Brown, linux-iio,
	Lars-Peter Clausen, Marijn Suijten, ~postmarketos/upstreaming,
	Liam Girdwood

On Mon, 23 May 2022 20:53:44 +0300, Markuss Broks wrote:
> This patch adds device tree support for the VL53L0X ToF sensor
> found on all Yoshino devices.
> 
> 

Applied, thanks!

[5/5] arm64: dts: qcom: msm8998-xperia: Introduce ToF sensor support
      commit: 642f13c32087c29ed907866c7e6765d472e8f457

Best regards,
-- 
Bjorn Andersson <bjorn.andersson@linaro.org>

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2022-07-03  4:00 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-23 17:53 [PATCH v5 0/5] Add support for ToF sensor on Yoshino platform Markuss Broks
2022-05-23 17:53 ` [PATCH 1/5] dt-bindings: proximity: vl53l0x: Document optional supply and GPIO properties Markuss Broks
2022-05-23 17:53 ` [PATCH 2/5] proximity: vl53l0x: Prefer pre-initialized interrupt flags Markuss Broks
2022-05-23 17:53 ` [PATCH 3/5] proximity: vl53l0x: Handle the VDD regulator Markuss Broks
2022-06-08 10:18   ` Luca Weiss
2022-06-12  8:53     ` Jonathan Cameron
2022-06-12  9:28       ` Luca Weiss
2022-06-14 10:48         ` Jonathan Cameron
2022-06-14 10:58           ` Jonathan Cameron
2022-05-23 17:53 ` [PATCH 4/5] proximity: vl53l0x: Handle the reset GPIO Markuss Broks
2022-05-23 17:53 ` [PATCH 5/5] arm64: dts: qcom: msm8998-xperia: Introduce ToF sensor support Markuss Broks
2022-07-03  3:56   ` (subset) " Bjorn Andersson
2022-06-03 15:23 ` [PATCH v5 0/5] Add support for ToF sensor on Yoshino platform 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).