linux-iio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/4] iio: magnetometer: ak8975: Add gpio reset support
@ 2020-05-19 12:43 Jonathan Albrieux
  2020-05-19 12:43 ` [PATCH v3 1/4] dt-bindings: iio: magnetometer: ak8975: convert txt format to yaml Jonathan Albrieux
                   ` (3 more replies)
  0 siblings, 4 replies; 18+ messages in thread
From: Jonathan Albrieux @ 2020-05-19 12:43 UTC (permalink / raw)
  To: linux-kernel
  Cc: ~postmarketos/upstreaming, Jonathan Albrieux, Andy Shevchenko,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Greg Kroah-Hartman, Hartmut Knaack, Jilayne Lovejoy,
	Jonathan Cameron, Kate Stewart, Lars-Peter Clausen,
	Linus Walleij, open list:IIO SUBSYSTEM AND DRIVERS,
	Peter Meerwald-Stadler, Steve Winslow, Thomas Gleixner

v3:
 - fix patch messages style
 - align reset gpio comment to kernel doc reccomendation
 - introduce changelog.

v2:
 - rewording of reset gpio comment and patch messages to better clarify
   reset gpio behaviour.
https://lore.kernel.org/linux-iio/20200518133645.19127-1-jonathan.albrieux@gmail.com/

v1:
 - initial patch submission.
https://lore.kernel.org/linux-iio/20200519065749.4624-1-jonathan.albrieux@gmail.com/

Convert documentation from txt format to yaml. Add documentation about
reset-gpio.

Deassert reset on ak8975_power_on(), assert reset on ak8975_power_off().

Without reset's deassertion during ak8975_power_on(), driver's probe fails
on ak8975_who_i_am() while checking for device identity for AK09911 chip.

AK09911 has an active low reset gpio to handle register's reset.
AK09911 datasheed says that, if not used, reset pin should be connected
to VID. This patch emulates this situation.

Jonathan Albrieux (4):
  dt-bindings: iio: magnetometer: ak8975: convert txt format to yaml
  dt-bindings: iio: magnetometer: ak8975: add gpio reset support
  iio: magnetometer: ak8975: Fix typo, uniform measurement unit style
  iio: magnetometer: ak8975: Add gpio reset support

 .../bindings/iio/magnetometer/ak8975.txt      | 30 --------
 .../bindings/iio/magnetometer/ak8975.yaml     | 70 +++++++++++++++++++
 drivers/iio/magnetometer/ak8975.c             | 22 +++++-
 3 files changed, 90 insertions(+), 32 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/iio/magnetometer/ak8975.txt
 create mode 100644 Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml

-- 
2.17.1


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

* [PATCH v3 1/4] dt-bindings: iio: magnetometer: ak8975: convert txt format to yaml
  2020-05-19 12:43 [PATCH v3 0/4] iio: magnetometer: ak8975: Add gpio reset support Jonathan Albrieux
@ 2020-05-19 12:43 ` Jonathan Albrieux
  2020-05-19 13:22   ` Stephan Gerhold
  2020-05-19 12:43 ` [PATCH v3 2/4] dt-bindings: iio: magnetometer: ak8975: add gpio reset support Jonathan Albrieux
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 18+ messages in thread
From: Jonathan Albrieux @ 2020-05-19 12:43 UTC (permalink / raw)
  To: linux-kernel
  Cc: ~postmarketos/upstreaming, Jonathan Albrieux, Andy Shevchenko,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Greg Kroah-Hartman, Hartmut Knaack, Jilayne Lovejoy,
	Jonathan Cameron, Kate Stewart, Lars-Peter Clausen,
	Linus Walleij, open list:IIO SUBSYSTEM AND DRIVERS,
	Peter Meerwald-Stadler, Steve Winslow, Thomas Gleixner,
	Jonathan Cameron, Rob Herring

Converts documentation from txt format to yaml.

Signed-off-by: Jonathan Albrieux <jonathan.albrieux@gmail.com>
---
 .../bindings/iio/magnetometer/ak8975.txt      | 30 ---------
 .../bindings/iio/magnetometer/ak8975.yaml     | 66 +++++++++++++++++++
 2 files changed, 66 insertions(+), 30 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/iio/magnetometer/ak8975.txt
 create mode 100644 Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml

diff --git a/Documentation/devicetree/bindings/iio/magnetometer/ak8975.txt b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.txt
deleted file mode 100644
index aa67ceb0d4e0..000000000000
--- a/Documentation/devicetree/bindings/iio/magnetometer/ak8975.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-* AsahiKASEI AK8975 magnetometer sensor
-
-Required properties:
-
-  - compatible : should be "asahi-kasei,ak8975"
-  - reg : the I2C address of the magnetometer
-
-Optional properties:
-
-  - gpios : should be device tree identifier of the magnetometer DRDY pin
-  - vdd-supply: an optional regulator that needs to be on to provide VDD
-  - mount-matrix: an optional 3x3 mounting rotation matrix
-
-Example:
-
-ak8975@c {
-        compatible = "asahi-kasei,ak8975";
-        reg = <0x0c>;
-        gpios = <&gpj0 7 0>;
-        vdd-supply = <&ldo_3v3_gnss>;
-        mount-matrix = "-0.984807753012208",  /* x0 */
-                       "0",                   /* y0 */
-                       "-0.173648177666930",  /* z0 */
-                       "0",                   /* x1 */
-                       "-1",                  /* y1 */
-                       "0",                   /* z1 */
-                       "-0.173648177666930",  /* x2 */
-                       "0",                   /* y2 */
-                       "0.984807753012208";   /* z2 */
-};
diff --git a/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml
new file mode 100644
index 000000000000..86e3efa693a8
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml
@@ -0,0 +1,66 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/magnetometer/ak8975.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: AsahiKASEI AK8975 magnetometer sensor
+
+maintainers:
+  - can't find a mantainer, author is Laxman Dewangan <ldewangan@nvidia.com>
+
+properties:
+  compatible:
+    enum:
+      - "asahi-kasei,ak8975"
+      - "ak8975"
+      - "asahi-kasei,ak8963"
+      - "ak8963"
+      - "asahi-kasei,ak09911"
+      - "ak09911"
+      - "asahi-kasei,ak09912"
+      - "ak09912"
+
+  reg:
+    maxItems: 1
+    description: the I2C address of the magnetometer
+
+  gpios:
+    description: should be device tree identifier of the magnetometer DRDY pin
+
+  vdd-supply:
+    maxItems: 1
+    description: |
+      an optional regulator that needs to be on to provide VDD power to
+      the sensor.
+
+  mount-matrix:
+    description: an optional 3x3 mounting rotation matrix
+
+required:
+  - compatible
+  - reg
+
+examples:
+  - |
+    i2c@78b7000 {
+        reg = <0x78b6000 0x600>;
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        ak8975@c {
+            compatible = "asahi-kasei,ak8975";
+            reg = <0x0c>;
+            gpios = <&gpj0 7 0>;
+            vdd-supply = <&ldo_3v3_gnss>;
+            mount-matrix = "-0.984807753012208",  /* x0 */
+                           "0",                   /* y0 */
+                           "-0.173648177666930",  /* z0 */
+                           "0",                   /* x1 */
+                           "-1",                  /* y1 */
+                           "0",                   /* z1 */
+                           "-0.173648177666930",  /* x2 */
+                           "0",                   /* y2 */
+                           "0.984807753012208";   /* z2 */
+        };
+    };
-- 
2.17.1


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

* [PATCH v3 2/4] dt-bindings: iio: magnetometer: ak8975: add gpio reset support
  2020-05-19 12:43 [PATCH v3 0/4] iio: magnetometer: ak8975: Add gpio reset support Jonathan Albrieux
  2020-05-19 12:43 ` [PATCH v3 1/4] dt-bindings: iio: magnetometer: ak8975: convert txt format to yaml Jonathan Albrieux
@ 2020-05-19 12:43 ` Jonathan Albrieux
  2020-05-19 13:23   ` Stephan Gerhold
  2020-05-19 12:43 ` [PATCH v3 3/4] iio: magnetometer: ak8975: Fix typo, uniform measurement unit style Jonathan Albrieux
  2020-05-19 12:43 ` [PATCH v3 4/4] iio: magnetometer: ak8975: Add gpio reset support Jonathan Albrieux
  3 siblings, 1 reply; 18+ messages in thread
From: Jonathan Albrieux @ 2020-05-19 12:43 UTC (permalink / raw)
  To: linux-kernel
  Cc: ~postmarketos/upstreaming, Jonathan Albrieux, Andy Shevchenko,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Greg Kroah-Hartman, Hartmut Knaack, Jilayne Lovejoy,
	Jonathan Cameron, Kate Stewart, Lars-Peter Clausen,
	Linus Walleij, open list:IIO SUBSYSTEM AND DRIVERS,
	Peter Meerwald-Stadler, Steve Winslow, Thomas Gleixner,
	Jonathan Cameron, Rob Herring

Add reset-gpio support.

Without reset's deassertion during ak8975_power_on(), driver's probe fails
on ak8975_who_i_am() while checking for device identity for AK09911 chip.

AK09911 has an active low reset gpio to handle register's reset.
AK09911 datasheed says that, if not used, reset pin should be connected
to VID. This patch emulates this situation.

Signed-off-by: Jonathan Albrieux <jonathan.albrieux@gmail.com>
---
 .../devicetree/bindings/iio/magnetometer/ak8975.yaml          | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml
index 86e3efa693a8..a82c0ff5d098 100644
--- a/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml
+++ b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml
@@ -37,6 +37,9 @@ properties:
   mount-matrix:
     description: an optional 3x3 mounting rotation matrix
 
+  reset-gpio:
+    description: an optional pin needed for AK09911 to set the reset state
+
 required:
   - compatible
   - reg
@@ -53,6 +56,7 @@ examples:
             reg = <0x0c>;
             gpios = <&gpj0 7 0>;
             vdd-supply = <&ldo_3v3_gnss>;
+            reset-gpio = <&msmgpio 111 1>;
             mount-matrix = "-0.984807753012208",  /* x0 */
                            "0",                   /* y0 */
                            "-0.173648177666930",  /* z0 */
-- 
2.17.1


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

* [PATCH v3 3/4] iio: magnetometer: ak8975: Fix typo, uniform measurement unit style
  2020-05-19 12:43 [PATCH v3 0/4] iio: magnetometer: ak8975: Add gpio reset support Jonathan Albrieux
  2020-05-19 12:43 ` [PATCH v3 1/4] dt-bindings: iio: magnetometer: ak8975: convert txt format to yaml Jonathan Albrieux
  2020-05-19 12:43 ` [PATCH v3 2/4] dt-bindings: iio: magnetometer: ak8975: add gpio reset support Jonathan Albrieux
@ 2020-05-19 12:43 ` Jonathan Albrieux
  2020-05-19 12:55   ` Andy Shevchenko
  2020-05-19 12:43 ` [PATCH v3 4/4] iio: magnetometer: ak8975: Add gpio reset support Jonathan Albrieux
  3 siblings, 1 reply; 18+ messages in thread
From: Jonathan Albrieux @ 2020-05-19 12:43 UTC (permalink / raw)
  To: linux-kernel
  Cc: ~postmarketos/upstreaming, Jonathan Albrieux, Andy Shevchenko,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Greg Kroah-Hartman, Hartmut Knaack, Jilayne Lovejoy,
	Jonathan Cameron, Kate Stewart, Lars-Peter Clausen,
	Linus Walleij, open list:IIO SUBSYSTEM AND DRIVERS,
	Peter Meerwald-Stadler, Steve Winslow, Thomas Gleixner,
	Jonathan Cameron

Minor comment style edits.

Signed-off-by: Jonathan Albrieux <jonathan.albrieux@gmail.com>
---
 drivers/iio/magnetometer/ak8975.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/ak8975.c
index 3c881541ae72..fd368455cd7b 100644
--- a/drivers/iio/magnetometer/ak8975.c
+++ b/drivers/iio/magnetometer/ak8975.c
@@ -385,9 +385,9 @@ static int ak8975_power_on(const struct ak8975_data *data)
 		return ret;
 	}
 	/*
-	 * According to the datasheet the power supply rise time i 200us
+	 * According to the datasheet the power supply rise time is 200us
 	 * and the minimum wait time before mode setting is 100us, in
-	 * total 300 us. Add some margin and say minimum 500us here.
+	 * total 300us. Add some margin and say minimum 500us here.
 	 */
 	usleep_range(500, 1000);
 	return 0;
-- 
2.17.1


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

* [PATCH v3 4/4] iio: magnetometer: ak8975: Add gpio reset support
  2020-05-19 12:43 [PATCH v3 0/4] iio: magnetometer: ak8975: Add gpio reset support Jonathan Albrieux
                   ` (2 preceding siblings ...)
  2020-05-19 12:43 ` [PATCH v3 3/4] iio: magnetometer: ak8975: Fix typo, uniform measurement unit style Jonathan Albrieux
@ 2020-05-19 12:43 ` Jonathan Albrieux
  2020-05-19 12:57   ` Andy Shevchenko
  2020-05-19 13:25   ` Stephan Gerhold
  3 siblings, 2 replies; 18+ messages in thread
From: Jonathan Albrieux @ 2020-05-19 12:43 UTC (permalink / raw)
  To: linux-kernel
  Cc: ~postmarketos/upstreaming, Jonathan Albrieux, Andy Shevchenko,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Greg Kroah-Hartman, Hartmut Knaack, Jilayne Lovejoy,
	Jonathan Cameron, Kate Stewart, Lars-Peter Clausen,
	Linus Walleij, open list:IIO SUBSYSTEM AND DRIVERS,
	Peter Meerwald-Stadler, Steve Winslow, Thomas Gleixner,
	Jonathan Cameron, Allison Randal

According to AK09911 datasheet, if reset gpio is provided then
deassert reset on ak8975_power_on() and assert reset on ak8975_power_off().

Without reset's deassertion during ak8975_power_on(), driver's probe fails
on ak8975_who_i_am while() checking for device identity for AK09911 chip.

AK09911 has an active low reset gpio to handle register's reset.
AK09911 datasheed says that, if not used, reset pin should be connected
to VID. This patch emulates this situation.

Signed-off-by: Jonathan Albrieux <jonathan.albrieux@gmail.com>
---
 drivers/iio/magnetometer/ak8975.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/ak8975.c
index fd368455cd7b..a23422aad97d 100644
--- a/drivers/iio/magnetometer/ak8975.c
+++ b/drivers/iio/magnetometer/ak8975.c
@@ -358,6 +358,7 @@ struct ak8975_data {
 	u8			asa[3];
 	long			raw_to_gauss[3];
 	struct gpio_desc	*eoc_gpiod;
+	struct gpio_desc	*reset_gpiod;
 	int			eoc_irq;
 	wait_queue_head_t	data_ready_queue;
 	unsigned long		flags;
@@ -384,6 +385,9 @@ static int ak8975_power_on(const struct ak8975_data *data)
 			 "Failed to enable specified Vid supply\n");
 		return ret;
 	}
+
+	gpiod_set_value_cansleep(data->reset_gpiod, 0);
+
 	/*
 	 * According to the datasheet the power supply rise time is 200us
 	 * and the minimum wait time before mode setting is 100us, in
@@ -396,6 +400,8 @@ static int ak8975_power_on(const struct ak8975_data *data)
 /* Disable attached power regulator if any. */
 static void ak8975_power_off(const struct ak8975_data *data)
 {
+	gpiod_set_value_cansleep(data->reset_gpiod, 1);
+
 	regulator_disable(data->vid);
 	regulator_disable(data->vdd);
 }
@@ -839,6 +845,7 @@ static int ak8975_probe(struct i2c_client *client,
 	struct ak8975_data *data;
 	struct iio_dev *indio_dev;
 	struct gpio_desc *eoc_gpiod;
+	struct gpio_desc *reset_gpiod;
 	const void *match;
 	unsigned int i;
 	int err;
@@ -856,6 +863,16 @@ static int ak8975_probe(struct i2c_client *client,
 	if (eoc_gpiod)
 		gpiod_set_consumer_name(eoc_gpiod, "ak_8975");
 
+	/*
+	 * According to AK09911 datasheet, if reset GPIO is provided then
+	 * deassert reset on ak8975_power_on() and assert reset on
+	 * ak8975_power_off().
+	 */
+	reset_gpiod = devm_gpiod_get_optional(&client->dev,
+					      "reset", GPIOD_OUT_HIGH);
+	if (IS_ERR(reset_gpiod))
+		return PTR_ERR(reset_gpiod);
+
 	/* Register with IIO */
 	indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
 	if (indio_dev == NULL)
@@ -866,6 +883,7 @@ static int ak8975_probe(struct i2c_client *client,
 
 	data->client = client;
 	data->eoc_gpiod = eoc_gpiod;
+	data->reset_gpiod = reset_gpiod;
 	data->eoc_irq = 0;
 
 	err = iio_read_mount_matrix(&client->dev, "mount-matrix", &data->orientation);
-- 
2.17.1


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

* Re: [PATCH v3 3/4] iio: magnetometer: ak8975: Fix typo, uniform measurement unit style
  2020-05-19 12:43 ` [PATCH v3 3/4] iio: magnetometer: ak8975: Fix typo, uniform measurement unit style Jonathan Albrieux
@ 2020-05-19 12:55   ` Andy Shevchenko
  0 siblings, 0 replies; 18+ messages in thread
From: Andy Shevchenko @ 2020-05-19 12:55 UTC (permalink / raw)
  To: Jonathan Albrieux
  Cc: linux-kernel, ~postmarketos/upstreaming,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Greg Kroah-Hartman, Hartmut Knaack, Jilayne Lovejoy,
	Jonathan Cameron, Kate Stewart, Lars-Peter Clausen,
	Linus Walleij, open list:IIO SUBSYSTEM AND DRIVERS,
	Peter Meerwald-Stadler, Steve Winslow, Thomas Gleixner,
	Jonathan Cameron

On Tue, May 19, 2020 at 02:43:53PM +0200, Jonathan Albrieux wrote:
> Minor comment style edits.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

> Signed-off-by: Jonathan Albrieux <jonathan.albrieux@gmail.com>
> ---
>  drivers/iio/magnetometer/ak8975.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/ak8975.c
> index 3c881541ae72..fd368455cd7b 100644
> --- a/drivers/iio/magnetometer/ak8975.c
> +++ b/drivers/iio/magnetometer/ak8975.c
> @@ -385,9 +385,9 @@ static int ak8975_power_on(const struct ak8975_data *data)
>  		return ret;
>  	}
>  	/*
> -	 * According to the datasheet the power supply rise time i 200us
> +	 * According to the datasheet the power supply rise time is 200us
>  	 * and the minimum wait time before mode setting is 100us, in
> -	 * total 300 us. Add some margin and say minimum 500us here.
> +	 * total 300us. Add some margin and say minimum 500us here.
>  	 */
>  	usleep_range(500, 1000);
>  	return 0;
> -- 
> 2.17.1
> 

-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH v3 4/4] iio: magnetometer: ak8975: Add gpio reset support
  2020-05-19 12:43 ` [PATCH v3 4/4] iio: magnetometer: ak8975: Add gpio reset support Jonathan Albrieux
@ 2020-05-19 12:57   ` Andy Shevchenko
  2020-05-19 13:03     ` Jonathan Albrieux
  2020-05-19 13:25   ` Stephan Gerhold
  1 sibling, 1 reply; 18+ messages in thread
From: Andy Shevchenko @ 2020-05-19 12:57 UTC (permalink / raw)
  To: Jonathan Albrieux
  Cc: linux-kernel, ~postmarketos/upstreaming,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Greg Kroah-Hartman, Hartmut Knaack, Jilayne Lovejoy,
	Jonathan Cameron, Kate Stewart, Lars-Peter Clausen,
	Linus Walleij, open list:IIO SUBSYSTEM AND DRIVERS,
	Peter Meerwald-Stadler, Steve Winslow, Thomas Gleixner,
	Jonathan Cameron, Allison Randal

On Tue, May 19, 2020 at 02:43:54PM +0200, Jonathan Albrieux wrote:
> According to AK09911 datasheet, if reset gpio is provided then
> deassert reset on ak8975_power_on() and assert reset on ak8975_power_off().
> 
> Without reset's deassertion during ak8975_power_on(), driver's probe fails
> on ak8975_who_i_am while() checking for device identity for AK09911 chip.

Wrong position of (), but hold on, this is so minor, no need to send a new
version because of this.

> AK09911 has an active low reset gpio to handle register's reset.
> AK09911 datasheed says that, if not used, reset pin should be connected
> to VID. This patch emulates this situation.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

> Signed-off-by: Jonathan Albrieux <jonathan.albrieux@gmail.com>
> ---
>  drivers/iio/magnetometer/ak8975.c | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/ak8975.c
> index fd368455cd7b..a23422aad97d 100644
> --- a/drivers/iio/magnetometer/ak8975.c
> +++ b/drivers/iio/magnetometer/ak8975.c
> @@ -358,6 +358,7 @@ struct ak8975_data {
>  	u8			asa[3];
>  	long			raw_to_gauss[3];
>  	struct gpio_desc	*eoc_gpiod;
> +	struct gpio_desc	*reset_gpiod;
>  	int			eoc_irq;
>  	wait_queue_head_t	data_ready_queue;
>  	unsigned long		flags;
> @@ -384,6 +385,9 @@ static int ak8975_power_on(const struct ak8975_data *data)
>  			 "Failed to enable specified Vid supply\n");
>  		return ret;
>  	}
> +
> +	gpiod_set_value_cansleep(data->reset_gpiod, 0);
> +
>  	/*
>  	 * According to the datasheet the power supply rise time is 200us
>  	 * and the minimum wait time before mode setting is 100us, in
> @@ -396,6 +400,8 @@ static int ak8975_power_on(const struct ak8975_data *data)
>  /* Disable attached power regulator if any. */
>  static void ak8975_power_off(const struct ak8975_data *data)
>  {
> +	gpiod_set_value_cansleep(data->reset_gpiod, 1);
> +
>  	regulator_disable(data->vid);
>  	regulator_disable(data->vdd);
>  }
> @@ -839,6 +845,7 @@ static int ak8975_probe(struct i2c_client *client,
>  	struct ak8975_data *data;
>  	struct iio_dev *indio_dev;
>  	struct gpio_desc *eoc_gpiod;
> +	struct gpio_desc *reset_gpiod;
>  	const void *match;
>  	unsigned int i;
>  	int err;
> @@ -856,6 +863,16 @@ static int ak8975_probe(struct i2c_client *client,
>  	if (eoc_gpiod)
>  		gpiod_set_consumer_name(eoc_gpiod, "ak_8975");
>  
> +	/*
> +	 * According to AK09911 datasheet, if reset GPIO is provided then
> +	 * deassert reset on ak8975_power_on() and assert reset on
> +	 * ak8975_power_off().
> +	 */
> +	reset_gpiod = devm_gpiod_get_optional(&client->dev,
> +					      "reset", GPIOD_OUT_HIGH);
> +	if (IS_ERR(reset_gpiod))
> +		return PTR_ERR(reset_gpiod);
> +
>  	/* Register with IIO */
>  	indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
>  	if (indio_dev == NULL)
> @@ -866,6 +883,7 @@ static int ak8975_probe(struct i2c_client *client,
>  
>  	data->client = client;
>  	data->eoc_gpiod = eoc_gpiod;
> +	data->reset_gpiod = reset_gpiod;
>  	data->eoc_irq = 0;
>  
>  	err = iio_read_mount_matrix(&client->dev, "mount-matrix", &data->orientation);
> -- 
> 2.17.1
> 

-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH v3 4/4] iio: magnetometer: ak8975: Add gpio reset support
  2020-05-19 12:57   ` Andy Shevchenko
@ 2020-05-19 13:03     ` Jonathan Albrieux
  0 siblings, 0 replies; 18+ messages in thread
From: Jonathan Albrieux @ 2020-05-19 13:03 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: linux-kernel, ~postmarketos/upstreaming,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Greg Kroah-Hartman, Hartmut Knaack, Jilayne Lovejoy,
	Jonathan Cameron, Kate Stewart, Lars-Peter Clausen,
	Linus Walleij, open list:IIO SUBSYSTEM AND DRIVERS,
	Peter Meerwald-Stadler, Steve Winslow, Thomas Gleixner,
	Jonathan Cameron, Allison Randal

On Tue, May 19, 2020 at 03:57:13PM +0300, Andy Shevchenko wrote:
> On Tue, May 19, 2020 at 02:43:54PM +0200, Jonathan Albrieux wrote:
> > According to AK09911 datasheet, if reset gpio is provided then
> > deassert reset on ak8975_power_on() and assert reset on ak8975_power_off().
> > 
> > Without reset's deassertion during ak8975_power_on(), driver's probe fails
> > on ak8975_who_i_am while() checking for device identity for AK09911 chip.
> 
> Wrong position of (), but hold on, this is so minor, no need to send a new
> version because of this.
>

Ops, if this represents a problem I can fix it, there's absolutely no problem!
 
> > AK09911 has an active low reset gpio to handle register's reset.
> > AK09911 datasheed says that, if not used, reset pin should be connected
> > to VID. This patch emulates this situation.
> 
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> 
> > Signed-off-by: Jonathan Albrieux <jonathan.albrieux@gmail.com>
> > ---
> >  drivers/iio/magnetometer/ak8975.c | 18 ++++++++++++++++++
> >  1 file changed, 18 insertions(+)
> > 
> > diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/ak8975.c
> > index fd368455cd7b..a23422aad97d 100644
> > --- a/drivers/iio/magnetometer/ak8975.c
> > +++ b/drivers/iio/magnetometer/ak8975.c
> > @@ -358,6 +358,7 @@ struct ak8975_data {
> >  	u8			asa[3];
> >  	long			raw_to_gauss[3];
> >  	struct gpio_desc	*eoc_gpiod;
> > +	struct gpio_desc	*reset_gpiod;
> >  	int			eoc_irq;
> >  	wait_queue_head_t	data_ready_queue;
> >  	unsigned long		flags;
> > @@ -384,6 +385,9 @@ static int ak8975_power_on(const struct ak8975_data *data)
> >  			 "Failed to enable specified Vid supply\n");
> >  		return ret;
> >  	}
> > +
> > +	gpiod_set_value_cansleep(data->reset_gpiod, 0);
> > +
> >  	/*
> >  	 * According to the datasheet the power supply rise time is 200us
> >  	 * and the minimum wait time before mode setting is 100us, in
> > @@ -396,6 +400,8 @@ static int ak8975_power_on(const struct ak8975_data *data)
> >  /* Disable attached power regulator if any. */
> >  static void ak8975_power_off(const struct ak8975_data *data)
> >  {
> > +	gpiod_set_value_cansleep(data->reset_gpiod, 1);
> > +
> >  	regulator_disable(data->vid);
> >  	regulator_disable(data->vdd);
> >  }
> > @@ -839,6 +845,7 @@ static int ak8975_probe(struct i2c_client *client,
> >  	struct ak8975_data *data;
> >  	struct iio_dev *indio_dev;
> >  	struct gpio_desc *eoc_gpiod;
> > +	struct gpio_desc *reset_gpiod;
> >  	const void *match;
> >  	unsigned int i;
> >  	int err;
> > @@ -856,6 +863,16 @@ static int ak8975_probe(struct i2c_client *client,
> >  	if (eoc_gpiod)
> >  		gpiod_set_consumer_name(eoc_gpiod, "ak_8975");
> >  
> > +	/*
> > +	 * According to AK09911 datasheet, if reset GPIO is provided then
> > +	 * deassert reset on ak8975_power_on() and assert reset on
> > +	 * ak8975_power_off().
> > +	 */
> > +	reset_gpiod = devm_gpiod_get_optional(&client->dev,
> > +					      "reset", GPIOD_OUT_HIGH);
> > +	if (IS_ERR(reset_gpiod))
> > +		return PTR_ERR(reset_gpiod);
> > +
> >  	/* Register with IIO */
> >  	indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
> >  	if (indio_dev == NULL)
> > @@ -866,6 +883,7 @@ static int ak8975_probe(struct i2c_client *client,
> >  
> >  	data->client = client;
> >  	data->eoc_gpiod = eoc_gpiod;
> > +	data->reset_gpiod = reset_gpiod;
> >  	data->eoc_irq = 0;
> >  
> >  	err = iio_read_mount_matrix(&client->dev, "mount-matrix", &data->orientation);
> > -- 
> > 2.17.1
> > 
> 
> -- 
> With Best Regards,
> Andy Shevchenko
> 
> 

Best regards,
Jonathan Albrieux

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

* Re: [PATCH v3 1/4] dt-bindings: iio: magnetometer: ak8975: convert txt format to yaml
  2020-05-19 12:43 ` [PATCH v3 1/4] dt-bindings: iio: magnetometer: ak8975: convert txt format to yaml Jonathan Albrieux
@ 2020-05-19 13:22   ` Stephan Gerhold
  2020-05-19 14:03     ` Jonathan Albrieux
  0 siblings, 1 reply; 18+ messages in thread
From: Stephan Gerhold @ 2020-05-19 13:22 UTC (permalink / raw)
  To: Jonathan Albrieux
  Cc: linux-kernel, ~postmarketos/upstreaming, Andy Shevchenko,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Greg Kroah-Hartman, Hartmut Knaack, Jilayne Lovejoy,
	Jonathan Cameron, Kate Stewart, Lars-Peter Clausen,
	Linus Walleij, open list:IIO SUBSYSTEM AND DRIVERS,
	Peter Meerwald-Stadler, Steve Winslow, Thomas Gleixner,
	Jonathan Cameron, Rob Herring

On Tue, May 19, 2020 at 02:43:51PM +0200, Jonathan Albrieux wrote:
> Converts documentation from txt format to yaml.
> 
> Signed-off-by: Jonathan Albrieux <jonathan.albrieux@gmail.com>
> ---
>  .../bindings/iio/magnetometer/ak8975.txt      | 30 ---------
>  .../bindings/iio/magnetometer/ak8975.yaml     | 66 +++++++++++++++++++
>  2 files changed, 66 insertions(+), 30 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/iio/magnetometer/ak8975.txt
>  create mode 100644 Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml
> 
> diff --git a/Documentation/devicetree/bindings/iio/magnetometer/ak8975.txt b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.txt
> deleted file mode 100644
> index aa67ceb0d4e0..000000000000
> --- a/Documentation/devicetree/bindings/iio/magnetometer/ak8975.txt
> +++ /dev/null
> @@ -1,30 +0,0 @@
> -* AsahiKASEI AK8975 magnetometer sensor
> -
> -Required properties:
> -
> -  - compatible : should be "asahi-kasei,ak8975"
> -  - reg : the I2C address of the magnetometer
> -
> -Optional properties:
> -
> -  - gpios : should be device tree identifier of the magnetometer DRDY pin
> -  - vdd-supply: an optional regulator that needs to be on to provide VDD
> -  - mount-matrix: an optional 3x3 mounting rotation matrix
> -
> -Example:
> -
> -ak8975@c {
> -        compatible = "asahi-kasei,ak8975";
> -        reg = <0x0c>;
> -        gpios = <&gpj0 7 0>;
> -        vdd-supply = <&ldo_3v3_gnss>;
> -        mount-matrix = "-0.984807753012208",  /* x0 */
> -                       "0",                   /* y0 */
> -                       "-0.173648177666930",  /* z0 */
> -                       "0",                   /* x1 */
> -                       "-1",                  /* y1 */
> -                       "0",                   /* z1 */
> -                       "-0.173648177666930",  /* x2 */
> -                       "0",                   /* y2 */
> -                       "0.984807753012208";   /* z2 */
> -};
> diff --git a/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml
> new file mode 100644
> index 000000000000..86e3efa693a8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml
> @@ -0,0 +1,66 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/magnetometer/ak8975.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: AsahiKASEI AK8975 magnetometer sensor
> +
> +maintainers:
> +  - can't find a mantainer, author is Laxman Dewangan <ldewangan@nvidia.com>

Should probably add someone here, although I'm not sure who either.

> +
> +properties:
> +  compatible:
> +    enum:
> +      - "asahi-kasei,ak8975"
> +      - "ak8975"
> +      - "asahi-kasei,ak8963"
> +      - "ak8963"
> +      - "asahi-kasei,ak09911"
> +      - "ak09911"
> +      - "asahi-kasei,ak09912"
> +      - "ak09912"
> +

I wonder if the ones without vendor prefix (asahi-kasei,) should be
marked as deprecated somehow?

Looking at some other schemas I see either a "# deprecated" comment, or:

properties:
  compatible:
    oneOf:
      - const: asahi-kasei,ak8975
      - const: asahi-kasei,ak8963
      - const: asahi-kasei,ak09911
      - const: asahi-kasei,ak09912
      - const: ak8975
        deprecated: true
      - const: ak8963
        deprecated: true
      - const: ak09911
        deprecated: true
      - const: ak09912
        deprecated: true

(e.g. in Documentation/devicetree/bindings/sound/samsung,odroid.yaml)
I guess this one is preferred since it allows parsing those
compatibles as deprecated?

> +  reg:
> +    maxItems: 1
> +    description: the I2C address of the magnetometer
> +
> +  gpios:
> +    description: should be device tree identifier of the magnetometer DRDY pin
> +
> +  vdd-supply:
> +    maxItems: 1
> +    description: |
> +      an optional regulator that needs to be on to provide VDD power to
> +      the sensor.
> +
> +  mount-matrix:
> +    description: an optional 3x3 mounting rotation matrix
> +
> +required:
> +  - compatible
> +  - reg
> +
> +examples:
> +  - |
> +    i2c@78b7000 {
> +        reg = <0x78b6000 0x600>;
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        ak8975@c {

Per device tree specification this should preferably use a generic name
describing the function of the device, i.e. magnetometer@c.

> +            compatible = "asahi-kasei,ak8975";
> +            reg = <0x0c>;
> +            gpios = <&gpj0 7 0>;

I think using the dt-bindings constants for the GPIO flags is preferred
now, i.e. gpios = <&gpj0 7 GPIO_ACTIVE_HIGH>.

> +            vdd-supply = <&ldo_3v3_gnss>;
> +            mount-matrix = "-0.984807753012208",  /* x0 */
> +                           "0",                   /* y0 */
> +                           "-0.173648177666930",  /* z0 */
> +                           "0",                   /* x1 */
> +                           "-1",                  /* y1 */
> +                           "0",                   /* z1 */
> +                           "-0.173648177666930",  /* x2 */
> +                           "0",                   /* y2 */
> +                           "0.984807753012208";   /* z2 */
> +        };
> +    };
> -- 
> 2.17.1

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

* Re: [PATCH v3 2/4] dt-bindings: iio: magnetometer: ak8975: add gpio reset support
  2020-05-19 12:43 ` [PATCH v3 2/4] dt-bindings: iio: magnetometer: ak8975: add gpio reset support Jonathan Albrieux
@ 2020-05-19 13:23   ` Stephan Gerhold
  2020-05-19 14:09     ` Jonathan Albrieux
  0 siblings, 1 reply; 18+ messages in thread
From: Stephan Gerhold @ 2020-05-19 13:23 UTC (permalink / raw)
  To: Jonathan Albrieux
  Cc: linux-kernel, ~postmarketos/upstreaming, Andy Shevchenko,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Greg Kroah-Hartman, Hartmut Knaack, Jilayne Lovejoy,
	Jonathan Cameron, Kate Stewart, Lars-Peter Clausen,
	Linus Walleij, open list:IIO SUBSYSTEM AND DRIVERS,
	Peter Meerwald-Stadler, Steve Winslow, Thomas Gleixner,
	Jonathan Cameron, Rob Herring

On Tue, May 19, 2020 at 02:43:52PM +0200, Jonathan Albrieux wrote:
> Add reset-gpio support.
> 
> Without reset's deassertion during ak8975_power_on(), driver's probe fails
> on ak8975_who_i_am() while checking for device identity for AK09911 chip.
> 
> AK09911 has an active low reset gpio to handle register's reset.
> AK09911 datasheed says that, if not used, reset pin should be connected

datasheed -> datasheet

> to VID. This patch emulates this situation.
> 
> Signed-off-by: Jonathan Albrieux <jonathan.albrieux@gmail.com>
> ---
>  .../devicetree/bindings/iio/magnetometer/ak8975.yaml          | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml
> index 86e3efa693a8..a82c0ff5d098 100644
> --- a/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml
> +++ b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml
> @@ -37,6 +37,9 @@ properties:
>    mount-matrix:
>      description: an optional 3x3 mounting rotation matrix
>  
> +  reset-gpio:
> +    description: an optional pin needed for AK09911 to set the reset state

Maybe add a comment that this should be "usually active low".

> +
>  required:
>    - compatible
>    - reg
> @@ -53,6 +56,7 @@ examples:
>              reg = <0x0c>;
>              gpios = <&gpj0 7 0>;
>              vdd-supply = <&ldo_3v3_gnss>;
> +            reset-gpio = <&msmgpio 111 1>;

Same here, reset-gpio = <&msmgpio 111 GPIO_ACTIVE_LOW>,
would be more clear.

>              mount-matrix = "-0.984807753012208",  /* x0 */
>                             "0",                   /* y0 */
>                             "-0.173648177666930",  /* z0 */
> -- 
> 2.17.1

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

* Re: [PATCH v3 4/4] iio: magnetometer: ak8975: Add gpio reset support
  2020-05-19 12:43 ` [PATCH v3 4/4] iio: magnetometer: ak8975: Add gpio reset support Jonathan Albrieux
  2020-05-19 12:57   ` Andy Shevchenko
@ 2020-05-19 13:25   ` Stephan Gerhold
  2020-05-19 14:10     ` Jonathan Albrieux
  1 sibling, 1 reply; 18+ messages in thread
From: Stephan Gerhold @ 2020-05-19 13:25 UTC (permalink / raw)
  To: Jonathan Albrieux
  Cc: linux-kernel, ~postmarketos/upstreaming, Andy Shevchenko,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Greg Kroah-Hartman, Hartmut Knaack, Jilayne Lovejoy,
	Jonathan Cameron, Kate Stewart, Lars-Peter Clausen,
	Linus Walleij, open list:IIO SUBSYSTEM AND DRIVERS,
	Peter Meerwald-Stadler, Steve Winslow, Thomas Gleixner,
	Jonathan Cameron, Allison Randal

On Tue, May 19, 2020 at 02:43:54PM +0200, Jonathan Albrieux wrote:
> According to AK09911 datasheet, if reset gpio is provided then
> deassert reset on ak8975_power_on() and assert reset on ak8975_power_off().
> 
> Without reset's deassertion during ak8975_power_on(), driver's probe fails
> on ak8975_who_i_am while() checking for device identity for AK09911 chip.
> 
> AK09911 has an active low reset gpio to handle register's reset.
> AK09911 datasheed says that, if not used, reset pin should be connected

Another minor typo: datasheed -> datasheet

In any case, FWIW:
Reviewed-by: Stephan Gerhold <stephan@gerhold.net>

> to VID. This patch emulates this situation.
> 
> Signed-off-by: Jonathan Albrieux <jonathan.albrieux@gmail.com>
> ---
>  drivers/iio/magnetometer/ak8975.c | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/ak8975.c
> index fd368455cd7b..a23422aad97d 100644
> --- a/drivers/iio/magnetometer/ak8975.c
> +++ b/drivers/iio/magnetometer/ak8975.c
> @@ -358,6 +358,7 @@ struct ak8975_data {
>  	u8			asa[3];
>  	long			raw_to_gauss[3];
>  	struct gpio_desc	*eoc_gpiod;
> +	struct gpio_desc	*reset_gpiod;
>  	int			eoc_irq;
>  	wait_queue_head_t	data_ready_queue;
>  	unsigned long		flags;
> @@ -384,6 +385,9 @@ static int ak8975_power_on(const struct ak8975_data *data)
>  			 "Failed to enable specified Vid supply\n");
>  		return ret;
>  	}
> +
> +	gpiod_set_value_cansleep(data->reset_gpiod, 0);
> +
>  	/*
>  	 * According to the datasheet the power supply rise time is 200us
>  	 * and the minimum wait time before mode setting is 100us, in
> @@ -396,6 +400,8 @@ static int ak8975_power_on(const struct ak8975_data *data)
>  /* Disable attached power regulator if any. */
>  static void ak8975_power_off(const struct ak8975_data *data)
>  {
> +	gpiod_set_value_cansleep(data->reset_gpiod, 1);
> +
>  	regulator_disable(data->vid);
>  	regulator_disable(data->vdd);
>  }
> @@ -839,6 +845,7 @@ static int ak8975_probe(struct i2c_client *client,
>  	struct ak8975_data *data;
>  	struct iio_dev *indio_dev;
>  	struct gpio_desc *eoc_gpiod;
> +	struct gpio_desc *reset_gpiod;
>  	const void *match;
>  	unsigned int i;
>  	int err;
> @@ -856,6 +863,16 @@ static int ak8975_probe(struct i2c_client *client,
>  	if (eoc_gpiod)
>  		gpiod_set_consumer_name(eoc_gpiod, "ak_8975");
>  
> +	/*
> +	 * According to AK09911 datasheet, if reset GPIO is provided then
> +	 * deassert reset on ak8975_power_on() and assert reset on
> +	 * ak8975_power_off().
> +	 */
> +	reset_gpiod = devm_gpiod_get_optional(&client->dev,
> +					      "reset", GPIOD_OUT_HIGH);
> +	if (IS_ERR(reset_gpiod))
> +		return PTR_ERR(reset_gpiod);
> +
>  	/* Register with IIO */
>  	indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
>  	if (indio_dev == NULL)
> @@ -866,6 +883,7 @@ static int ak8975_probe(struct i2c_client *client,
>  
>  	data->client = client;
>  	data->eoc_gpiod = eoc_gpiod;
> +	data->reset_gpiod = reset_gpiod;
>  	data->eoc_irq = 0;
>  
>  	err = iio_read_mount_matrix(&client->dev, "mount-matrix", &data->orientation);
> -- 
> 2.17.1

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

* Re: [PATCH v3 1/4] dt-bindings: iio: magnetometer: ak8975: convert txt format to yaml
  2020-05-19 13:22   ` Stephan Gerhold
@ 2020-05-19 14:03     ` Jonathan Albrieux
  2020-05-19 16:01       ` Andy Shevchenko
  0 siblings, 1 reply; 18+ messages in thread
From: Jonathan Albrieux @ 2020-05-19 14:03 UTC (permalink / raw)
  To: Stephan Gerhold
  Cc: linux-kernel, ~postmarketos/upstreaming, Andy Shevchenko,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Greg Kroah-Hartman, Hartmut Knaack, Jilayne Lovejoy,
	Jonathan Cameron, Kate Stewart, Lars-Peter Clausen,
	Linus Walleij, open list:IIO SUBSYSTEM AND DRIVERS,
	Peter Meerwald-Stadler, Steve Winslow, Thomas Gleixner,
	Jonathan Cameron, Rob Herring

On Tue, May 19, 2020 at 03:22:07PM +0200, Stephan Gerhold wrote:
> On Tue, May 19, 2020 at 02:43:51PM +0200, Jonathan Albrieux wrote:
> > Converts documentation from txt format to yaml.
> > 
> > Signed-off-by: Jonathan Albrieux <jonathan.albrieux@gmail.com>
> > ---
> >  .../bindings/iio/magnetometer/ak8975.txt      | 30 ---------
> >  .../bindings/iio/magnetometer/ak8975.yaml     | 66 +++++++++++++++++++
> >  2 files changed, 66 insertions(+), 30 deletions(-)
> >  delete mode 100644 Documentation/devicetree/bindings/iio/magnetometer/ak8975.txt
> >  create mode 100644 Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/iio/magnetometer/ak8975.txt b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.txt
> > deleted file mode 100644
> > index aa67ceb0d4e0..000000000000
> > --- a/Documentation/devicetree/bindings/iio/magnetometer/ak8975.txt
> > +++ /dev/null
> > @@ -1,30 +0,0 @@
> > -* AsahiKASEI AK8975 magnetometer sensor
> > -
> > -Required properties:
> > -
> > -  - compatible : should be "asahi-kasei,ak8975"
> > -  - reg : the I2C address of the magnetometer
> > -
> > -Optional properties:
> > -
> > -  - gpios : should be device tree identifier of the magnetometer DRDY pin
> > -  - vdd-supply: an optional regulator that needs to be on to provide VDD
> > -  - mount-matrix: an optional 3x3 mounting rotation matrix
> > -
> > -Example:
> > -
> > -ak8975@c {
> > -        compatible = "asahi-kasei,ak8975";
> > -        reg = <0x0c>;
> > -        gpios = <&gpj0 7 0>;
> > -        vdd-supply = <&ldo_3v3_gnss>;
> > -        mount-matrix = "-0.984807753012208",  /* x0 */
> > -                       "0",                   /* y0 */
> > -                       "-0.173648177666930",  /* z0 */
> > -                       "0",                   /* x1 */
> > -                       "-1",                  /* y1 */
> > -                       "0",                   /* z1 */
> > -                       "-0.173648177666930",  /* x2 */
> > -                       "0",                   /* y2 */
> > -                       "0.984807753012208";   /* z2 */
> > -};
> > diff --git a/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml
> > new file mode 100644
> > index 000000000000..86e3efa693a8
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml
> > @@ -0,0 +1,66 @@
> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/iio/magnetometer/ak8975.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: AsahiKASEI AK8975 magnetometer sensor
> > +
> > +maintainers:
> > +  - can't find a mantainer, author is Laxman Dewangan <ldewangan@nvidia.com>
> 
> Should probably add someone here, although I'm not sure who either.
> 

Yep I couldn't find a maintainer for that driver..what to do in this case?

> > +
> > +properties:
> > +  compatible:
> > +    enum:
> > +      - "asahi-kasei,ak8975"
> > +      - "ak8975"
> > +      - "asahi-kasei,ak8963"
> > +      - "ak8963"
> > +      - "asahi-kasei,ak09911"
> > +      - "ak09911"
> > +      - "asahi-kasei,ak09912"
> > +      - "ak09912"
> > +
> 
> I wonder if the ones without vendor prefix (asahi-kasei,) should be
> marked as deprecated somehow?
> 
> Looking at some other schemas I see either a "# deprecated" comment, or:
> 
> properties:
>   compatible:
>     oneOf:
>       - const: asahi-kasei,ak8975
>       - const: asahi-kasei,ak8963
>       - const: asahi-kasei,ak09911
>       - const: asahi-kasei,ak09912
>       - const: ak8975
>         deprecated: true
>       - const: ak8963
>         deprecated: true
>       - const: ak09911
>         deprecated: true
>       - const: ak09912
>         deprecated: true
> 
> (e.g. in Documentation/devicetree/bindings/sound/samsung,odroid.yaml)
> I guess this one is preferred since it allows parsing those
> compatibles as deprecated?
> 

Ok I'll work on it

> > +  reg:
> > +    maxItems: 1
> > +    description: the I2C address of the magnetometer
> > +
> > +  gpios:
> > +    description: should be device tree identifier of the magnetometer DRDY pin
> > +
> > +  vdd-supply:
> > +    maxItems: 1
> > +    description: |
> > +      an optional regulator that needs to be on to provide VDD power to
> > +      the sensor.
> > +
> > +  mount-matrix:
> > +    description: an optional 3x3 mounting rotation matrix
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +
> > +examples:
> > +  - |
> > +    i2c@78b7000 {
> > +        reg = <0x78b6000 0x600>;
> > +        #address-cells = <1>;
> > +        #size-cells = <0>;
> > +
> > +        ak8975@c {
> 
> Per device tree specification this should preferably use a generic name
> describing the function of the device, i.e. magnetometer@c.
> 
> > +            compatible = "asahi-kasei,ak8975";
> > +            reg = <0x0c>;
> > +            gpios = <&gpj0 7 0>;
>

Yes it would be better, I'll work on that too
 
> I think using the dt-bindings constants for the GPIO flags is preferred
> now, i.e. gpios = <&gpj0 7 GPIO_ACTIVE_HIGH>.
> 
> > +            vdd-supply = <&ldo_3v3_gnss>;
> > +            mount-matrix = "-0.984807753012208",  /* x0 */
> > +                           "0",                   /* y0 */
> > +                           "-0.173648177666930",  /* z0 */
> > +                           "0",                   /* x1 */
> > +                           "-1",                  /* y1 */
> > +                           "0",                   /* z1 */
> > +                           "-0.173648177666930",  /* x2 */
> > +                           "0",                   /* y2 */
> > +                           "0.984807753012208";   /* z2 */
> > +        };
> > +    };
> > -- 
> > 2.17.1

Thank you for having took the time to review, will work on edits right now.
I just have a question: by creating the new patchset how can I deal with
the "Reviewed by"? It's the first patch I submit and still haven't dealt
with the full process,

Best regards,
Jonathan Albrieux

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

* Re: [PATCH v3 2/4] dt-bindings: iio: magnetometer: ak8975: add gpio reset support
  2020-05-19 13:23   ` Stephan Gerhold
@ 2020-05-19 14:09     ` Jonathan Albrieux
  0 siblings, 0 replies; 18+ messages in thread
From: Jonathan Albrieux @ 2020-05-19 14:09 UTC (permalink / raw)
  To: Stephan Gerhold
  Cc: linux-kernel, ~postmarketos/upstreaming, Andy Shevchenko,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Greg Kroah-Hartman, Hartmut Knaack, Jilayne Lovejoy,
	Jonathan Cameron, Kate Stewart, Lars-Peter Clausen,
	Linus Walleij, open list:IIO SUBSYSTEM AND DRIVERS,
	Peter Meerwald-Stadler, Steve Winslow, Thomas Gleixner,
	Jonathan Cameron, Rob Herring

On Tue, May 19, 2020 at 03:23:54PM +0200, Stephan Gerhold wrote:
> On Tue, May 19, 2020 at 02:43:52PM +0200, Jonathan Albrieux wrote:
> > Add reset-gpio support.
> > 
> > Without reset's deassertion during ak8975_power_on(), driver's probe fails
> > on ak8975_who_i_am() while checking for device identity for AK09911 chip.
> > 
> > AK09911 has an active low reset gpio to handle register's reset.
> > AK09911 datasheed says that, if not used, reset pin should be connected
> 
> datasheed -> datasheet
>

Will fix that soon
 
> > to VID. This patch emulates this situation.
> > 
> > Signed-off-by: Jonathan Albrieux <jonathan.albrieux@gmail.com>
> > ---
> >  .../devicetree/bindings/iio/magnetometer/ak8975.yaml          | 4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml
> > index 86e3efa693a8..a82c0ff5d098 100644
> > --- a/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml
> > +++ b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml
> > @@ -37,6 +37,9 @@ properties:
> >    mount-matrix:
> >      description: an optional 3x3 mounting rotation matrix
> >  
> > +  reset-gpio:
> > +    description: an optional pin needed for AK09911 to set the reset state
> 
> Maybe add a comment that this should be "usually active low".
> 
> > +
> >  required:
> >    - compatible
> >    - reg
> > @@ -53,6 +56,7 @@ examples:
> >              reg = <0x0c>;
> >              gpios = <&gpj0 7 0>;
> >              vdd-supply = <&ldo_3v3_gnss>;
> > +            reset-gpio = <&msmgpio 111 1>;
> 
> Same here, reset-gpio = <&msmgpio 111 GPIO_ACTIVE_LOW>,
> would be more clear.
> 
> >              mount-matrix = "-0.984807753012208",  /* x0 */
> >                             "0",                   /* y0 */
> >                             "-0.173648177666930",  /* z0 */
> > -- 
> > 2.17.1

Thank you for the suggestions, will work on them,

Best regards,
Jonathan Albrieux

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

* Re: [PATCH v3 4/4] iio: magnetometer: ak8975: Add gpio reset support
  2020-05-19 13:25   ` Stephan Gerhold
@ 2020-05-19 14:10     ` Jonathan Albrieux
  0 siblings, 0 replies; 18+ messages in thread
From: Jonathan Albrieux @ 2020-05-19 14:10 UTC (permalink / raw)
  To: Stephan Gerhold
  Cc: linux-kernel, ~postmarketos/upstreaming, Andy Shevchenko,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Greg Kroah-Hartman, Hartmut Knaack, Jilayne Lovejoy,
	Jonathan Cameron, Kate Stewart, Lars-Peter Clausen,
	Linus Walleij, open list:IIO SUBSYSTEM AND DRIVERS,
	Peter Meerwald-Stadler, Steve Winslow, Thomas Gleixner,
	Jonathan Cameron, Allison Randal

On Tue, May 19, 2020 at 03:25:12PM +0200, Stephan Gerhold wrote:
> On Tue, May 19, 2020 at 02:43:54PM +0200, Jonathan Albrieux wrote:
> > According to AK09911 datasheet, if reset gpio is provided then
> > deassert reset on ak8975_power_on() and assert reset on ak8975_power_off().
> > 
> > Without reset's deassertion during ak8975_power_on(), driver's probe fails
> > on ak8975_who_i_am while() checking for device identity for AK09911 chip.
> > 
> > AK09911 has an active low reset gpio to handle register's reset.
> > AK09911 datasheed says that, if not used, reset pin should be connected
> 
> Another minor typo: datasheed -> datasheet
> 
> In any case, FWIW:
> Reviewed-by: Stephan Gerhold <stephan@gerhold.net>
> 
> > to VID. This patch emulates this situation.
> > 
> > Signed-off-by: Jonathan Albrieux <jonathan.albrieux@gmail.com>
> > ---
> >  drivers/iio/magnetometer/ak8975.c | 18 ++++++++++++++++++
> >  1 file changed, 18 insertions(+)
> > 
> > diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/ak8975.c
> > index fd368455cd7b..a23422aad97d 100644
> > --- a/drivers/iio/magnetometer/ak8975.c
> > +++ b/drivers/iio/magnetometer/ak8975.c
> > @@ -358,6 +358,7 @@ struct ak8975_data {
> >  	u8			asa[3];
> >  	long			raw_to_gauss[3];
> >  	struct gpio_desc	*eoc_gpiod;
> > +	struct gpio_desc	*reset_gpiod;
> >  	int			eoc_irq;
> >  	wait_queue_head_t	data_ready_queue;
> >  	unsigned long		flags;
> > @@ -384,6 +385,9 @@ static int ak8975_power_on(const struct ak8975_data *data)
> >  			 "Failed to enable specified Vid supply\n");
> >  		return ret;
> >  	}
> > +
> > +	gpiod_set_value_cansleep(data->reset_gpiod, 0);
> > +
> >  	/*
> >  	 * According to the datasheet the power supply rise time is 200us
> >  	 * and the minimum wait time before mode setting is 100us, in
> > @@ -396,6 +400,8 @@ static int ak8975_power_on(const struct ak8975_data *data)
> >  /* Disable attached power regulator if any. */
> >  static void ak8975_power_off(const struct ak8975_data *data)
> >  {
> > +	gpiod_set_value_cansleep(data->reset_gpiod, 1);
> > +
> >  	regulator_disable(data->vid);
> >  	regulator_disable(data->vdd);
> >  }
> > @@ -839,6 +845,7 @@ static int ak8975_probe(struct i2c_client *client,
> >  	struct ak8975_data *data;
> >  	struct iio_dev *indio_dev;
> >  	struct gpio_desc *eoc_gpiod;
> > +	struct gpio_desc *reset_gpiod;
> >  	const void *match;
> >  	unsigned int i;
> >  	int err;
> > @@ -856,6 +863,16 @@ static int ak8975_probe(struct i2c_client *client,
> >  	if (eoc_gpiod)
> >  		gpiod_set_consumer_name(eoc_gpiod, "ak_8975");
> >  
> > +	/*
> > +	 * According to AK09911 datasheet, if reset GPIO is provided then
> > +	 * deassert reset on ak8975_power_on() and assert reset on
> > +	 * ak8975_power_off().
> > +	 */
> > +	reset_gpiod = devm_gpiod_get_optional(&client->dev,
> > +					      "reset", GPIOD_OUT_HIGH);
> > +	if (IS_ERR(reset_gpiod))
> > +		return PTR_ERR(reset_gpiod);
> > +
> >  	/* Register with IIO */
> >  	indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
> >  	if (indio_dev == NULL)
> > @@ -866,6 +883,7 @@ static int ak8975_probe(struct i2c_client *client,
> >  
> >  	data->client = client;
> >  	data->eoc_gpiod = eoc_gpiod;
> > +	data->reset_gpiod = reset_gpiod;
> >  	data->eoc_irq = 0;
> >  
> >  	err = iio_read_mount_matrix(&client->dev, "mount-matrix", &data->orientation);
> > -- 
> > 2.17.1

Thank you, will fix that typo too,

Best regards,
Jonathan Albrieux

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

* Re: [PATCH v3 1/4] dt-bindings: iio: magnetometer: ak8975: convert txt format to yaml
  2020-05-19 14:03     ` Jonathan Albrieux
@ 2020-05-19 16:01       ` Andy Shevchenko
  2020-05-19 16:44         ` Jonathan Albrieux
  0 siblings, 1 reply; 18+ messages in thread
From: Andy Shevchenko @ 2020-05-19 16:01 UTC (permalink / raw)
  To: Jonathan Albrieux
  Cc: Stephan Gerhold, linux-kernel, ~postmarketos/upstreaming,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Greg Kroah-Hartman, Hartmut Knaack, Jilayne Lovejoy,
	Jonathan Cameron, Kate Stewart, Lars-Peter Clausen,
	Linus Walleij, open list:IIO SUBSYSTEM AND DRIVERS,
	Peter Meerwald-Stadler, Steve Winslow, Thomas Gleixner,
	Jonathan Cameron, Rob Herring

On Tue, May 19, 2020 at 04:03:54PM +0200, Jonathan Albrieux wrote:
> On Tue, May 19, 2020 at 03:22:07PM +0200, Stephan Gerhold wrote:
> > On Tue, May 19, 2020 at 02:43:51PM +0200, Jonathan Albrieux wrote:

...

> > > +maintainers:
> > > +  - can't find a mantainer, author is Laxman Dewangan <ldewangan@nvidia.com>
> > 
> > Should probably add someone here, although I'm not sure who either.
> > 
> 
> Yep I couldn't find a maintainer for that driver..what to do in this case?

Volunteer yourself!

-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH v3 1/4] dt-bindings: iio: magnetometer: ak8975: convert txt format to yaml
  2020-05-19 16:01       ` Andy Shevchenko
@ 2020-05-19 16:44         ` Jonathan Albrieux
  2020-05-19 17:37           ` Jonathan Cameron
  0 siblings, 1 reply; 18+ messages in thread
From: Jonathan Albrieux @ 2020-05-19 16:44 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Stephan Gerhold, linux-kernel, ~postmarketos/upstreaming,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Greg Kroah-Hartman, Hartmut Knaack, Jilayne Lovejoy,
	Jonathan Cameron, Kate Stewart, Lars-Peter Clausen,
	Linus Walleij, open list:IIO SUBSYSTEM AND DRIVERS,
	Peter Meerwald-Stadler, Steve Winslow, Thomas Gleixner,
	Jonathan Cameron, Rob Herring

On Tue, May 19, 2020 at 07:01:37PM +0300, Andy Shevchenko wrote:
> On Tue, May 19, 2020 at 04:03:54PM +0200, Jonathan Albrieux wrote:
> > On Tue, May 19, 2020 at 03:22:07PM +0200, Stephan Gerhold wrote:
> > > On Tue, May 19, 2020 at 02:43:51PM +0200, Jonathan Albrieux wrote:
> 
> ...
> 
> > > > +maintainers:
> > > > +  - can't find a mantainer, author is Laxman Dewangan <ldewangan@nvidia.com>
> > > 
> > > Should probably add someone here, although I'm not sure who either.
> > > 
> > 
> > Yep I couldn't find a maintainer for that driver..what to do in this case?
> 
> Volunteer yourself!
> 

While I'd really like to, I have to decline the offer as I currently don't have
enought knowledge to become a maintainer :-) but thank you! (Who knows, maybe in
a couple of year!) Now I'll make the final edits and will submit a new
patchset soon with all the changes

> -- 
> With Best Regards,
> Andy Shevchenko
> 
> 

Best regards,
Jonathan Albrieux

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

* Re: [PATCH v3 1/4] dt-bindings: iio: magnetometer: ak8975: convert txt format to yaml
  2020-05-19 16:44         ` Jonathan Albrieux
@ 2020-05-19 17:37           ` Jonathan Cameron
  2020-05-20  6:56             ` Jonathan Albrieux
  0 siblings, 1 reply; 18+ messages in thread
From: Jonathan Cameron @ 2020-05-19 17:37 UTC (permalink / raw)
  To: Jonathan Albrieux
  Cc: Andy Shevchenko, Stephan Gerhold, linux-kernel,
	~postmarketos/upstreaming,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Greg Kroah-Hartman, Hartmut Knaack, Jilayne Lovejoy,
	Kate Stewart, Lars-Peter Clausen, Linus Walleij,
	open list:IIO SUBSYSTEM AND DRIVERS, Peter Meerwald-Stadler,
	Steve Winslow, Thomas Gleixner, Jonathan Cameron, Rob Herring

On Tue, 19 May 2020 18:44:33 +0200
Jonathan Albrieux <jonathan.albrieux@gmail.com> wrote:

> On Tue, May 19, 2020 at 07:01:37PM +0300, Andy Shevchenko wrote:
> > On Tue, May 19, 2020 at 04:03:54PM +0200, Jonathan Albrieux wrote:  
> > > On Tue, May 19, 2020 at 03:22:07PM +0200, Stephan Gerhold wrote:  
> > > > On Tue, May 19, 2020 at 02:43:51PM +0200, Jonathan Albrieux wrote:  
> > 
> > ...
> >   
> > > > > +maintainers:
> > > > > +  - can't find a mantainer, author is Laxman Dewangan <ldewangan@nvidia.com>  
> > > > 
> > > > Should probably add someone here, although I'm not sure who either.
> > > >   
> > > 
> > > Yep I couldn't find a maintainer for that driver..what to do in this case?  
> > 
> > Volunteer yourself!
> >   
> 
> While I'd really like to, I have to decline the offer as I currently don't have
> enought knowledge to become a maintainer :-) but thank you! (Who knows, maybe in
> a couple of year!) Now I'll make the final edits and will submit a new
> patchset soon with all the changes

Don't be so hard on yourself.  We all get thrown in at the deep end :)

Note that being a driver maintainer (or even just the binding) really
just means you get cc'd on the patches and I'll make sure you've had time
to review them if you wish.   Best of all, if you have hardware (and time)
being able to test them, that is extremely useful (whether you are
maintaining the driver or not!) 

I closely review the majority of stuff that comes through IIO and in
the case of bindings we also have Rob and co. doing an amazing job.
We have some excellent additional reviewers who review IIO stuff all the
time, some of which have reviewed your patch I see.  Without them I'd
never survive the deluge.

Of course it's entirely your decision, but I'd definitely encourage you
to give it a go.

Thanks,

Jonathan




> 
> > -- 
> > With Best Regards,
> > Andy Shevchenko
> > 
> >   
> 
> Best regards,
> Jonathan Albrieux



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

* Re: [PATCH v3 1/4] dt-bindings: iio: magnetometer: ak8975: convert txt format to yaml
  2020-05-19 17:37           ` Jonathan Cameron
@ 2020-05-20  6:56             ` Jonathan Albrieux
  0 siblings, 0 replies; 18+ messages in thread
From: Jonathan Albrieux @ 2020-05-20  6:56 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: Andy Shevchenko, Stephan Gerhold, linux-kernel,
	~postmarketos/upstreaming,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Greg Kroah-Hartman, Hartmut Knaack, Jilayne Lovejoy,
	Kate Stewart, Lars-Peter Clausen, Linus Walleij,
	open list:IIO SUBSYSTEM AND DRIVERS, Peter Meerwald-Stadler,
	Steve Winslow, Thomas Gleixner, Jonathan Cameron, Rob Herring

On Tue, May 19, 2020 at 06:37:05PM +0100, Jonathan Cameron wrote:
> On Tue, 19 May 2020 18:44:33 +0200
> Jonathan Albrieux <jonathan.albrieux@gmail.com> wrote:
> 
> > On Tue, May 19, 2020 at 07:01:37PM +0300, Andy Shevchenko wrote:
> > > On Tue, May 19, 2020 at 04:03:54PM +0200, Jonathan Albrieux wrote:  
> > > > On Tue, May 19, 2020 at 03:22:07PM +0200, Stephan Gerhold wrote:  
> > > > > On Tue, May 19, 2020 at 02:43:51PM +0200, Jonathan Albrieux wrote:  
> > > 
> > > ...
> > >   
> > > > > > +maintainers:
> > > > > > +  - can't find a mantainer, author is Laxman Dewangan <ldewangan@nvidia.com>  
> > > > > 
> > > > > Should probably add someone here, although I'm not sure who either.
> > > > >   
> > > > 
> > > > Yep I couldn't find a maintainer for that driver..what to do in this case?  
> > > 
> > > Volunteer yourself!
> > >   
> > 
> > While I'd really like to, I have to decline the offer as I currently don't have
> > enought knowledge to become a maintainer :-) but thank you! (Who knows, maybe in
> > a couple of year!) Now I'll make the final edits and will submit a new
> > patchset soon with all the changes
> 
> Don't be so hard on yourself.  We all get thrown in at the deep end :)
> 
> Note that being a driver maintainer (or even just the binding) really
> just means you get cc'd on the patches and I'll make sure you've had time
> to review them if you wish.   Best of all, if you have hardware (and time)
> being able to test them, that is extremely useful (whether you are
> maintaining the driver or not!) 
> 
> I closely review the majority of stuff that comes through IIO and in
> the case of bindings we also have Rob and co. doing an amazing job.
> We have some excellent additional reviewers who review IIO stuff all the
> time, some of which have reviewed your patch I see.  Without them I'd
> never survive the deluge.
> 
> Of course it's entirely your decision, but I'd definitely encourage you
> to give it a go.
> 
> Thanks,
> 
> Jonathan
> 

Thank you for your encouraging words and for the trust! As a tester I will
be very pleased to give an help on this hardware but as a maintainer I
could contribute little to nothing at the moment and I'm not being hard
with myself but currently I really have to focus on the basic concepts first
and I'm lucky enought to have willing people helping me to do so :-)

Accepting to become the maintainer after the first contribution let me feels
like I'm burning some foundamental stage. I really hope you understand!

> 
> 
> > 
> > > -- 
> > > With Best Regards,
> > > Andy Shevchenko
> > > 
> > >   
> > 
> > Best regards,
> > Jonathan Albrieux
> 
> 

Best regards,
Jonathan Albrieux

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

end of thread, other threads:[~2020-05-20  6:56 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-19 12:43 [PATCH v3 0/4] iio: magnetometer: ak8975: Add gpio reset support Jonathan Albrieux
2020-05-19 12:43 ` [PATCH v3 1/4] dt-bindings: iio: magnetometer: ak8975: convert txt format to yaml Jonathan Albrieux
2020-05-19 13:22   ` Stephan Gerhold
2020-05-19 14:03     ` Jonathan Albrieux
2020-05-19 16:01       ` Andy Shevchenko
2020-05-19 16:44         ` Jonathan Albrieux
2020-05-19 17:37           ` Jonathan Cameron
2020-05-20  6:56             ` Jonathan Albrieux
2020-05-19 12:43 ` [PATCH v3 2/4] dt-bindings: iio: magnetometer: ak8975: add gpio reset support Jonathan Albrieux
2020-05-19 13:23   ` Stephan Gerhold
2020-05-19 14:09     ` Jonathan Albrieux
2020-05-19 12:43 ` [PATCH v3 3/4] iio: magnetometer: ak8975: Fix typo, uniform measurement unit style Jonathan Albrieux
2020-05-19 12:55   ` Andy Shevchenko
2020-05-19 12:43 ` [PATCH v3 4/4] iio: magnetometer: ak8975: Add gpio reset support Jonathan Albrieux
2020-05-19 12:57   ` Andy Shevchenko
2020-05-19 13:03     ` Jonathan Albrieux
2020-05-19 13:25   ` Stephan Gerhold
2020-05-19 14:10     ` Jonathan Albrieux

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).