All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] iio: sx9500: add final devicetree support
@ 2016-09-02 14:49 ` Christoph Fritz
  0 siblings, 0 replies; 26+ messages in thread
From: Christoph Fritz @ 2016-09-02 14:49 UTC (permalink / raw)
  To: Jonathan Cameron, Vlad Dogaru, Hartmut Knaack
  Cc: linux-iio-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA

This makes sx9500 driver usable on devicetree based platforms too.

Signed-off-by: Christoph Fritz <chf.fritz-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
---
 .../devicetree/bindings/iio/proximity/sx9500.txt   | 22 ++++++++++++++++++++++
 drivers/iio/proximity/sx9500.c                     |  7 +++++++
 2 files changed, 29 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/proximity/sx9500.txt

diff --git a/Documentation/devicetree/bindings/iio/proximity/sx9500.txt b/Documentation/devicetree/bindings/iio/proximity/sx9500.txt
new file mode 100644
index 0000000..90ede53
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/proximity/sx9500.txt
@@ -0,0 +1,22 @@
+Semtech's SX9500 capacitive proximity button device driver
+
+Required properties:
+	- compatible: must be "semtech,sx9500"
+	- reg: i2c address where to find the device
+	- interrupt-parent : should be the phandle for the interrupt controller
+	- interrupts : the sole interrupt generated by the device
+
+	Refer to interrupt-controller/interrupts.txt for generic
+	interrupt client node bindings.
+
+Example:
+
+sx9500@28 {
+	compatible = "semtech,sx9500";
+	reg = <0x28>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_sx9500>;
+	interrupt-parent = <&gpio2>;
+	interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
+	reset-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
+};
diff --git a/drivers/iio/proximity/sx9500.c b/drivers/iio/proximity/sx9500.c
index 66cd09a..a136b34 100644
--- a/drivers/iio/proximity/sx9500.c
+++ b/drivers/iio/proximity/sx9500.c
@@ -1025,6 +1025,12 @@ static const struct acpi_device_id sx9500_acpi_match[] = {
 };
 MODULE_DEVICE_TABLE(acpi, sx9500_acpi_match);
 
+static const struct of_device_id sx9500_of_match[] = {
+	{ .compatible = "semtech,sx9500", },
+	{ }
+};
+MODULE_DEVICE_TABLE(of, sx9500_of_match);
+
 static const struct i2c_device_id sx9500_id[] = {
 	{"sx9500", 0},
 	{ },
@@ -1035,6 +1041,7 @@ static struct i2c_driver sx9500_driver = {
 	.driver = {
 		.name	= SX9500_DRIVER_NAME,
 		.acpi_match_table = ACPI_PTR(sx9500_acpi_match),
+		.of_match_table = of_match_ptr(sx9500_of_match),
 		.pm = &sx9500_pm_ops,
 	},
 	.probe		= sx9500_probe,
-- 
2.1.4

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

* [PATCH] iio: sx9500: add final devicetree support
@ 2016-09-02 14:49 ` Christoph Fritz
  0 siblings, 0 replies; 26+ messages in thread
From: Christoph Fritz @ 2016-09-02 14:49 UTC (permalink / raw)
  To: Jonathan Cameron, Vlad Dogaru, Hartmut Knaack; +Cc: linux-iio, devicetree

This makes sx9500 driver usable on devicetree based platforms too.

Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
---
 .../devicetree/bindings/iio/proximity/sx9500.txt   | 22 ++++++++++++++++++++++
 drivers/iio/proximity/sx9500.c                     |  7 +++++++
 2 files changed, 29 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/proximity/sx9500.txt

diff --git a/Documentation/devicetree/bindings/iio/proximity/sx9500.txt b/Documentation/devicetree/bindings/iio/proximity/sx9500.txt
new file mode 100644
index 0000000..90ede53
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/proximity/sx9500.txt
@@ -0,0 +1,22 @@
+Semtech's SX9500 capacitive proximity button device driver
+
+Required properties:
+	- compatible: must be "semtech,sx9500"
+	- reg: i2c address where to find the device
+	- interrupt-parent : should be the phandle for the interrupt controller
+	- interrupts : the sole interrupt generated by the device
+
+	Refer to interrupt-controller/interrupts.txt for generic
+	interrupt client node bindings.
+
+Example:
+
+sx9500@28 {
+	compatible = "semtech,sx9500";
+	reg = <0x28>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_sx9500>;
+	interrupt-parent = <&gpio2>;
+	interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
+	reset-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
+};
diff --git a/drivers/iio/proximity/sx9500.c b/drivers/iio/proximity/sx9500.c
index 66cd09a..a136b34 100644
--- a/drivers/iio/proximity/sx9500.c
+++ b/drivers/iio/proximity/sx9500.c
@@ -1025,6 +1025,12 @@ static const struct acpi_device_id sx9500_acpi_match[] = {
 };
 MODULE_DEVICE_TABLE(acpi, sx9500_acpi_match);
 
+static const struct of_device_id sx9500_of_match[] = {
+	{ .compatible = "semtech,sx9500", },
+	{ }
+};
+MODULE_DEVICE_TABLE(of, sx9500_of_match);
+
 static const struct i2c_device_id sx9500_id[] = {
 	{"sx9500", 0},
 	{ },
@@ -1035,6 +1041,7 @@ static struct i2c_driver sx9500_driver = {
 	.driver = {
 		.name	= SX9500_DRIVER_NAME,
 		.acpi_match_table = ACPI_PTR(sx9500_acpi_match),
+		.of_match_table = of_match_ptr(sx9500_of_match),
 		.pm = &sx9500_pm_ops,
 	},
 	.probe		= sx9500_probe,
-- 
2.1.4

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

* Re: [PATCH] iio: sx9500: add final devicetree support
  2016-09-02 14:49 ` Christoph Fritz
@ 2016-09-02 14:53     ` Fabio Estevam
  -1 siblings, 0 replies; 26+ messages in thread
From: Fabio Estevam @ 2016-09-02 14:53 UTC (permalink / raw)
  To: Christoph Fritz
  Cc: Jonathan Cameron, Vlad Dogaru, Hartmut Knaack,
	linux-iio-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA

On Fri, Sep 2, 2016 at 11:49 AM, Christoph Fritz
<chf.fritz-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:

> +sx9500@28 {
> +       compatible = "semtech,sx9500";
> +       reg = <0x28>;
> +       pinctrl-names = "default";
> +       pinctrl-0 = <&pinctrl_sx9500>;
> +       interrupt-parent = <&gpio2>;
> +       interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
> +       reset-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;

Datasheet says the reset is active low.

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

* Re: [PATCH] iio: sx9500: add final devicetree support
@ 2016-09-02 14:53     ` Fabio Estevam
  0 siblings, 0 replies; 26+ messages in thread
From: Fabio Estevam @ 2016-09-02 14:53 UTC (permalink / raw)
  To: Christoph Fritz
  Cc: Jonathan Cameron, Vlad Dogaru, Hartmut Knaack, linux-iio, devicetree

On Fri, Sep 2, 2016 at 11:49 AM, Christoph Fritz
<chf.fritz@googlemail.com> wrote:

> +sx9500@28 {
> +       compatible = "semtech,sx9500";
> +       reg = <0x28>;
> +       pinctrl-names = "default";
> +       pinctrl-0 = <&pinctrl_sx9500>;
> +       interrupt-parent = <&gpio2>;
> +       interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
> +       reset-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;

Datasheet says the reset is active low.

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

* Re: [PATCH] iio: sx9500: add final devicetree support
  2016-09-02 14:53     ` Fabio Estevam
@ 2016-09-02 15:04         ` Christoph Fritz
  -1 siblings, 0 replies; 26+ messages in thread
From: Christoph Fritz @ 2016-09-02 15:04 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: Jonathan Cameron, Vlad Dogaru, Hartmut Knaack,
	linux-iio-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA

On Fri, 2016-09-02 at 11:53 -0300, Fabio Estevam wrote:
> On Fri, Sep 2, 2016 at 11:49 AM, Christoph Fritz
> <chf.fritz-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:
> 
> > +sx9500@28 {
> > +       compatible = "semtech,sx9500";
> > +       reg = <0x28>;
> > +       pinctrl-names = "default";
> > +       pinctrl-0 = <&pinctrl_sx9500>;
> > +       interrupt-parent = <&gpio2>;
> > +       interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
> > +       reset-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
> 
> Datasheet says the reset is active low.

Here on my board I'm using the reset pin as an open-drain with external
pullup, so GPIO_ACTIVE_HIGH is valid.

As this is an example, I don't care if it says _HIGH or _LOW.

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

* Re: [PATCH] iio: sx9500: add final devicetree support
@ 2016-09-02 15:04         ` Christoph Fritz
  0 siblings, 0 replies; 26+ messages in thread
From: Christoph Fritz @ 2016-09-02 15:04 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: Jonathan Cameron, Vlad Dogaru, Hartmut Knaack, linux-iio, devicetree

On Fri, 2016-09-02 at 11:53 -0300, Fabio Estevam wrote:
> On Fri, Sep 2, 2016 at 11:49 AM, Christoph Fritz
> <chf.fritz@googlemail.com> wrote:
> 
> > +sx9500@28 {
> > +       compatible = "semtech,sx9500";
> > +       reg = <0x28>;
> > +       pinctrl-names = "default";
> > +       pinctrl-0 = <&pinctrl_sx9500>;
> > +       interrupt-parent = <&gpio2>;
> > +       interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
> > +       reset-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
> 
> Datasheet says the reset is active low.

Here on my board I'm using the reset pin as an open-drain with external
pullup, so GPIO_ACTIVE_HIGH is valid.

As this is an example, I don't care if it says _HIGH or _LOW.

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

* Re: [PATCH] iio: sx9500: add final devicetree support
  2016-09-02 15:04         ` Christoph Fritz
@ 2016-09-02 15:12             ` Fabio Estevam
  -1 siblings, 0 replies; 26+ messages in thread
From: Fabio Estevam @ 2016-09-02 15:12 UTC (permalink / raw)
  To: Christoph Fritz
  Cc: Jonathan Cameron, Vlad Dogaru, Hartmut Knaack,
	linux-iio-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA

On Fri, Sep 2, 2016 at 12:04 PM, Christoph Fritz
<chf.fritz-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:

> Here on my board I'm using the reset pin as an open-drain with external
> pullup, so GPIO_ACTIVE_HIGH is valid.
>
> As this is an example, I don't care if it says _HIGH or _LOW.

Then probably it is better to remove "reset-gpios" from the example.

The driver does not parse this dt property and the reset is being done
via software command as far as I can see.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH] iio: sx9500: add final devicetree support
@ 2016-09-02 15:12             ` Fabio Estevam
  0 siblings, 0 replies; 26+ messages in thread
From: Fabio Estevam @ 2016-09-02 15:12 UTC (permalink / raw)
  To: Christoph Fritz
  Cc: Jonathan Cameron, Vlad Dogaru, Hartmut Knaack, linux-iio, devicetree

On Fri, Sep 2, 2016 at 12:04 PM, Christoph Fritz
<chf.fritz@googlemail.com> wrote:

> Here on my board I'm using the reset pin as an open-drain with external
> pullup, so GPIO_ACTIVE_HIGH is valid.
>
> As this is an example, I don't care if it says _HIGH or _LOW.

Then probably it is better to remove "reset-gpios" from the example.

The driver does not parse this dt property and the reset is being done
via software command as far as I can see.

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

* Re: [PATCH] iio: sx9500: add final devicetree support
  2016-09-02 15:12             ` Fabio Estevam
@ 2016-09-02 15:23                 ` Christoph Fritz
  -1 siblings, 0 replies; 26+ messages in thread
From: Christoph Fritz @ 2016-09-02 15:23 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: Jonathan Cameron, Vlad Dogaru, Hartmut Knaack,
	linux-iio-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA

On Fri, 2016-09-02 at 12:12 -0300, Fabio Estevam wrote:
> On Fri, Sep 2, 2016 at 12:04 PM, Christoph Fritz
> <chf.fritz-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:
> 
> > Here on my board I'm using the reset pin as an open-drain with external
> > pullup, so GPIO_ACTIVE_HIGH is valid.
> >
> > As this is an example, I don't care if it says _HIGH or _LOW.
> 
> Then probably it is better to remove "reset-gpios" from the example.
> 
> The driver does not parse this dt property and the reset is being done
> via software command as far as I can see.

What do you mean by "software command", to send a reset command by i2c?

The reset GPIO is fetched in sx9500 here:

See sx9500_gpio_probe():
...
        data->gpiod_rst = devm_gpiod_get_index(dev, SX9500_GPIO_RESET,
                                               0, GPIOD_OUT_HIGH);
...

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

* Re: [PATCH] iio: sx9500: add final devicetree support
@ 2016-09-02 15:23                 ` Christoph Fritz
  0 siblings, 0 replies; 26+ messages in thread
From: Christoph Fritz @ 2016-09-02 15:23 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: Jonathan Cameron, Vlad Dogaru, Hartmut Knaack, linux-iio, devicetree

On Fri, 2016-09-02 at 12:12 -0300, Fabio Estevam wrote:
> On Fri, Sep 2, 2016 at 12:04 PM, Christoph Fritz
> <chf.fritz@googlemail.com> wrote:
> 
> > Here on my board I'm using the reset pin as an open-drain with external
> > pullup, so GPIO_ACTIVE_HIGH is valid.
> >
> > As this is an example, I don't care if it says _HIGH or _LOW.
> 
> Then probably it is better to remove "reset-gpios" from the example.
> 
> The driver does not parse this dt property and the reset is being done
> via software command as far as I can see.

What do you mean by "software command", to send a reset command by i2c?

The reset GPIO is fetched in sx9500 here:

See sx9500_gpio_probe():
...
        data->gpiod_rst = devm_gpiod_get_index(dev, SX9500_GPIO_RESET,
                                               0, GPIOD_OUT_HIGH);
...






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

* Re: [PATCH] iio: sx9500: add final devicetree support
  2016-09-02 15:23                 ` Christoph Fritz
@ 2016-09-02 16:16                     ` Fabio Estevam
  -1 siblings, 0 replies; 26+ messages in thread
From: Fabio Estevam @ 2016-09-02 16:16 UTC (permalink / raw)
  To: Christoph Fritz
  Cc: Jonathan Cameron, Vlad Dogaru, Hartmut Knaack,
	linux-iio-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA

On Fri, Sep 2, 2016 at 12:23 PM, Christoph Fritz
<chf.fritz-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:

> What do you mean by "software command", to send a reset command by i2c?

Yes, by writing 0xDE into RegReset register.

>
> The reset GPIO is fetched in sx9500 here:
>
> See sx9500_gpio_probe():
> ...
>         data->gpiod_rst = devm_gpiod_get_index(dev, SX9500_GPIO_RESET,
>                                                0, GPIOD_OUT_HIGH);

but there is no code that actually reads the "reset-gpios" dt property.

Does your board work well without passing "reset-gpios" property?
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH] iio: sx9500: add final devicetree support
@ 2016-09-02 16:16                     ` Fabio Estevam
  0 siblings, 0 replies; 26+ messages in thread
From: Fabio Estevam @ 2016-09-02 16:16 UTC (permalink / raw)
  To: Christoph Fritz
  Cc: Jonathan Cameron, Vlad Dogaru, Hartmut Knaack, linux-iio, devicetree

On Fri, Sep 2, 2016 at 12:23 PM, Christoph Fritz
<chf.fritz@googlemail.com> wrote:

> What do you mean by "software command", to send a reset command by i2c?

Yes, by writing 0xDE into RegReset register.

>
> The reset GPIO is fetched in sx9500 here:
>
> See sx9500_gpio_probe():
> ...
>         data->gpiod_rst = devm_gpiod_get_index(dev, SX9500_GPIO_RESET,
>                                                0, GPIOD_OUT_HIGH);

but there is no code that actually reads the "reset-gpios" dt property.

Does your board work well without passing "reset-gpios" property?

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

* Re: [PATCH] iio: sx9500: add final devicetree support
  2016-09-02 16:16                     ` Fabio Estevam
@ 2016-09-02 16:47                         ` Christoph Fritz
  -1 siblings, 0 replies; 26+ messages in thread
From: Christoph Fritz @ 2016-09-02 16:47 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: Jonathan Cameron, Vlad Dogaru, Hartmut Knaack,
	linux-iio-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA

On Fri, 2016-09-02 at 13:16 -0300, Fabio Estevam wrote:
> On Fri, Sep 2, 2016 at 12:23 PM, Christoph Fritz
> <chf.fritz-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:
> 
> > What do you mean by "software command", to send a reset command by i2c?
> 
> Yes, by writing 0xDE into RegReset register.
> 
> >
> > The reset GPIO is fetched in sx9500 here:
> >
> > See sx9500_gpio_probe():
> > ...
> >         data->gpiod_rst = devm_gpiod_get_index(dev, SX9500_GPIO_RESET,
> >                                                0, GPIOD_OUT_HIGH);
> 
> but there is no code that actually reads the "reset-gpios" dt property.

But there is: devm_gpiod_get_index() calls gpiod_get_index() which calls
of_find_gpio() for of-string "reset-gpios".

> 
> Does your board work well without passing "reset-gpios" property?

I don't know, the driver looks that way. I'll check that. If so, I'll
fix the docu and add the reset-gpios property as optional. Okay?

Thanks
 -- Christoph

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

* Re: [PATCH] iio: sx9500: add final devicetree support
@ 2016-09-02 16:47                         ` Christoph Fritz
  0 siblings, 0 replies; 26+ messages in thread
From: Christoph Fritz @ 2016-09-02 16:47 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: Jonathan Cameron, Vlad Dogaru, Hartmut Knaack, linux-iio, devicetree

On Fri, 2016-09-02 at 13:16 -0300, Fabio Estevam wrote:
> On Fri, Sep 2, 2016 at 12:23 PM, Christoph Fritz
> <chf.fritz@googlemail.com> wrote:
> 
> > What do you mean by "software command", to send a reset command by i2c?
> 
> Yes, by writing 0xDE into RegReset register.
> 
> >
> > The reset GPIO is fetched in sx9500 here:
> >
> > See sx9500_gpio_probe():
> > ...
> >         data->gpiod_rst = devm_gpiod_get_index(dev, SX9500_GPIO_RESET,
> >                                                0, GPIOD_OUT_HIGH);
> 
> but there is no code that actually reads the "reset-gpios" dt property.

But there is: devm_gpiod_get_index() calls gpiod_get_index() which calls
of_find_gpio() for of-string "reset-gpios".

> 
> Does your board work well without passing "reset-gpios" property?

I don't know, the driver looks that way. I'll check that. If so, I'll
fix the docu and add the reset-gpios property as optional. Okay?

Thanks
 -- Christoph

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

* Re: [PATCH] iio: sx9500: add final devicetree support
  2016-09-02 16:47                         ` Christoph Fritz
@ 2016-09-02 18:25                             ` Fabio Estevam
  -1 siblings, 0 replies; 26+ messages in thread
From: Fabio Estevam @ 2016-09-02 18:25 UTC (permalink / raw)
  To: Christoph Fritz
  Cc: Jonathan Cameron, Vlad Dogaru, Hartmut Knaack,
	linux-iio-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA

On Fri, Sep 2, 2016 at 1:47 PM, Christoph Fritz
<chf.fritz-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:

> But there is: devm_gpiod_get_index() calls gpiod_get_index() which calls
> of_find_gpio() for of-string "reset-gpios".

Ok, great.

>>
>> Does your board work well without passing "reset-gpios" property?
>
> I don't know, the driver looks that way. I'll check that. If so, I'll
> fix the docu and add the reset-gpios property as optional. Okay?

My main concern was the gpio reset polarity. Not sure why active high
works in your case.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH] iio: sx9500: add final devicetree support
@ 2016-09-02 18:25                             ` Fabio Estevam
  0 siblings, 0 replies; 26+ messages in thread
From: Fabio Estevam @ 2016-09-02 18:25 UTC (permalink / raw)
  To: Christoph Fritz
  Cc: Jonathan Cameron, Vlad Dogaru, Hartmut Knaack, linux-iio, devicetree

On Fri, Sep 2, 2016 at 1:47 PM, Christoph Fritz
<chf.fritz@googlemail.com> wrote:

> But there is: devm_gpiod_get_index() calls gpiod_get_index() which calls
> of_find_gpio() for of-string "reset-gpios".

Ok, great.

>>
>> Does your board work well without passing "reset-gpios" property?
>
> I don't know, the driver looks that way. I'll check that. If so, I'll
> fix the docu and add the reset-gpios property as optional. Okay?

My main concern was the gpio reset polarity. Not sure why active high
works in your case.

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

* [PATCH v2] iio: sx9500: add final devicetree support
  2016-09-02 18:25                             ` Fabio Estevam
@ 2016-09-03 10:30                                 ` Christoph Fritz
  -1 siblings, 0 replies; 26+ messages in thread
From: Christoph Fritz @ 2016-09-03 10:30 UTC (permalink / raw)
  To: Fabio Estevam, Jonathan Cameron, Vlad Dogaru, Hartmut Knaack
  Cc: linux-iio-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA

This makes sx9500 driver usable on devicetree based platforms too.

Signed-off-by: Christoph Fritz <chf.fritz-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
---

Changes in v2:

 - fix docu: add optional property reset-gpios
 - adapt docu: change example "reset-gpios"

 .../devicetree/bindings/iio/proximity/sx9500.txt   | 24 ++++++++++++++++++++++
 drivers/iio/proximity/sx9500.c                     |  7 +++++++
 2 files changed, 31 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/proximity/sx9500.txt

diff --git a/Documentation/devicetree/bindings/iio/proximity/sx9500.txt b/Documentation/devicetree/bindings/iio/proximity/sx9500.txt
new file mode 100644
index 0000000..b301dd2
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/proximity/sx9500.txt
@@ -0,0 +1,24 @@
+Semtech's SX9500 capacitive proximity button device driver
+
+Required properties:
+	- compatible: must be "semtech,sx9500"
+	- reg: i2c address where to find the device
+	- interrupt-parent : should be the phandle for the interrupt controller
+	- interrupts : the sole interrupt generated by the device
+
+	Refer to interrupt-controller/interrupts.txt for generic
+	interrupt client node bindings.
+
+Optional properties:
+	- reset-gpios: Reference to the GPIO connected to the device's active
+	  low reset pin.
+
+Example:
+
+sx9500@28 {
+	compatible = "semtech,sx9500";
+	reg = <0x28>;
+	interrupt-parent = <&gpio2>;
+	interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
+	reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
+};
diff --git a/drivers/iio/proximity/sx9500.c b/drivers/iio/proximity/sx9500.c
index 66cd09a..a136b34 100644
--- a/drivers/iio/proximity/sx9500.c
+++ b/drivers/iio/proximity/sx9500.c
@@ -1025,6 +1025,12 @@ static const struct acpi_device_id sx9500_acpi_match[] = {
 };
 MODULE_DEVICE_TABLE(acpi, sx9500_acpi_match);
 
+static const struct of_device_id sx9500_of_match[] = {
+	{ .compatible = "semtech,sx9500", },
+	{ }
+};
+MODULE_DEVICE_TABLE(of, sx9500_of_match);
+
 static const struct i2c_device_id sx9500_id[] = {
 	{"sx9500", 0},
 	{ },
@@ -1035,6 +1041,7 @@ static struct i2c_driver sx9500_driver = {
 	.driver = {
 		.name	= SX9500_DRIVER_NAME,
 		.acpi_match_table = ACPI_PTR(sx9500_acpi_match),
+		.of_match_table = of_match_ptr(sx9500_of_match),
 		.pm = &sx9500_pm_ops,
 	},
 	.probe		= sx9500_probe,
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH v2] iio: sx9500: add final devicetree support
@ 2016-09-03 10:30                                 ` Christoph Fritz
  0 siblings, 0 replies; 26+ messages in thread
From: Christoph Fritz @ 2016-09-03 10:30 UTC (permalink / raw)
  To: Fabio Estevam, Jonathan Cameron, Vlad Dogaru, Hartmut Knaack
  Cc: linux-iio, devicetree

This makes sx9500 driver usable on devicetree based platforms too.

Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
---

Changes in v2:

 - fix docu: add optional property reset-gpios
 - adapt docu: change example "reset-gpios"

 .../devicetree/bindings/iio/proximity/sx9500.txt   | 24 ++++++++++++++++++++++
 drivers/iio/proximity/sx9500.c                     |  7 +++++++
 2 files changed, 31 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/proximity/sx9500.txt

diff --git a/Documentation/devicetree/bindings/iio/proximity/sx9500.txt b/Documentation/devicetree/bindings/iio/proximity/sx9500.txt
new file mode 100644
index 0000000..b301dd2
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/proximity/sx9500.txt
@@ -0,0 +1,24 @@
+Semtech's SX9500 capacitive proximity button device driver
+
+Required properties:
+	- compatible: must be "semtech,sx9500"
+	- reg: i2c address where to find the device
+	- interrupt-parent : should be the phandle for the interrupt controller
+	- interrupts : the sole interrupt generated by the device
+
+	Refer to interrupt-controller/interrupts.txt for generic
+	interrupt client node bindings.
+
+Optional properties:
+	- reset-gpios: Reference to the GPIO connected to the device's active
+	  low reset pin.
+
+Example:
+
+sx9500@28 {
+	compatible = "semtech,sx9500";
+	reg = <0x28>;
+	interrupt-parent = <&gpio2>;
+	interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
+	reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
+};
diff --git a/drivers/iio/proximity/sx9500.c b/drivers/iio/proximity/sx9500.c
index 66cd09a..a136b34 100644
--- a/drivers/iio/proximity/sx9500.c
+++ b/drivers/iio/proximity/sx9500.c
@@ -1025,6 +1025,12 @@ static const struct acpi_device_id sx9500_acpi_match[] = {
 };
 MODULE_DEVICE_TABLE(acpi, sx9500_acpi_match);
 
+static const struct of_device_id sx9500_of_match[] = {
+	{ .compatible = "semtech,sx9500", },
+	{ }
+};
+MODULE_DEVICE_TABLE(of, sx9500_of_match);
+
 static const struct i2c_device_id sx9500_id[] = {
 	{"sx9500", 0},
 	{ },
@@ -1035,6 +1041,7 @@ static struct i2c_driver sx9500_driver = {
 	.driver = {
 		.name	= SX9500_DRIVER_NAME,
 		.acpi_match_table = ACPI_PTR(sx9500_acpi_match),
+		.of_match_table = of_match_ptr(sx9500_of_match),
 		.pm = &sx9500_pm_ops,
 	},
 	.probe		= sx9500_probe,
-- 
2.1.4


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

* Re: [PATCH v2] iio: sx9500: add final devicetree support
  2016-09-03 10:30                                 ` Christoph Fritz
@ 2016-09-03 11:15                                     ` Fabio Estevam
  -1 siblings, 0 replies; 26+ messages in thread
From: Fabio Estevam @ 2016-09-03 11:15 UTC (permalink / raw)
  To: Christoph Fritz
  Cc: Jonathan Cameron, Vlad Dogaru, Hartmut Knaack,
	linux-iio-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA

On Sat, Sep 3, 2016 at 7:30 AM, Christoph Fritz
<chf.fritz-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:
> This makes sx9500 driver usable on devicetree based platforms too.
>
> Signed-off-by: Christoph Fritz <chf.fritz-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>

Reviewed-by: Fabio Estevam <fabio.estevam-3arQi8VN3Tc@public.gmane.org>

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

* Re: [PATCH v2] iio: sx9500: add final devicetree support
@ 2016-09-03 11:15                                     ` Fabio Estevam
  0 siblings, 0 replies; 26+ messages in thread
From: Fabio Estevam @ 2016-09-03 11:15 UTC (permalink / raw)
  To: Christoph Fritz
  Cc: Jonathan Cameron, Vlad Dogaru, Hartmut Knaack, linux-iio, devicetree

On Sat, Sep 3, 2016 at 7:30 AM, Christoph Fritz
<chf.fritz@googlemail.com> wrote:
> This makes sx9500 driver usable on devicetree based platforms too.
>
> Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>

Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>

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

* Re: [PATCH v2] iio: sx9500: add final devicetree support
  2016-09-03 10:30                                 ` Christoph Fritz
@ 2016-09-03 11:19                                     ` Vlad Dogaru
  -1 siblings, 0 replies; 26+ messages in thread
From: Vlad Dogaru @ 2016-09-03 11:19 UTC (permalink / raw)
  To: chf.fritz-gM/Ye1E23mwN+BqQ9rBEUg
  Cc: Fabio Estevam, Jonathan Cameron, Hartmut Knaack,
	linux-iio-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA

On Sat, Sep 3, 2016 at 1:30 PM, Christoph Fritz
<chf.fritz-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:
> This makes sx9500 driver usable on devicetree based platforms too.
>
> Signed-off-by: Christoph Fritz <chf.fritz-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>

Reviewed-by: Vlad Dogaru <ddvlad-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

> ---
>
> Changes in v2:
>
>  - fix docu: add optional property reset-gpios
>  - adapt docu: change example "reset-gpios"
>
>  .../devicetree/bindings/iio/proximity/sx9500.txt   | 24 ++++++++++++++++++++++
>  drivers/iio/proximity/sx9500.c                     |  7 +++++++
>  2 files changed, 31 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/iio/proximity/sx9500.txt
>
> diff --git a/Documentation/devicetree/bindings/iio/proximity/sx9500.txt b/Documentation/devicetree/bindings/iio/proximity/sx9500.txt
> new file mode 100644
> index 0000000..b301dd2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/proximity/sx9500.txt
> @@ -0,0 +1,24 @@
> +Semtech's SX9500 capacitive proximity button device driver
> +
> +Required properties:
> +       - compatible: must be "semtech,sx9500"
> +       - reg: i2c address where to find the device
> +       - interrupt-parent : should be the phandle for the interrupt controller
> +       - interrupts : the sole interrupt generated by the device
> +
> +       Refer to interrupt-controller/interrupts.txt for generic
> +       interrupt client node bindings.
> +
> +Optional properties:
> +       - reset-gpios: Reference to the GPIO connected to the device's active
> +         low reset pin.
> +
> +Example:
> +
> +sx9500@28 {
> +       compatible = "semtech,sx9500";
> +       reg = <0x28>;
> +       interrupt-parent = <&gpio2>;
> +       interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
> +       reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
> +};
> diff --git a/drivers/iio/proximity/sx9500.c b/drivers/iio/proximity/sx9500.c
> index 66cd09a..a136b34 100644
> --- a/drivers/iio/proximity/sx9500.c
> +++ b/drivers/iio/proximity/sx9500.c
> @@ -1025,6 +1025,12 @@ static const struct acpi_device_id sx9500_acpi_match[] = {
>  };
>  MODULE_DEVICE_TABLE(acpi, sx9500_acpi_match);
>
> +static const struct of_device_id sx9500_of_match[] = {
> +       { .compatible = "semtech,sx9500", },
> +       { }
> +};
> +MODULE_DEVICE_TABLE(of, sx9500_of_match);
> +
>  static const struct i2c_device_id sx9500_id[] = {
>         {"sx9500", 0},
>         { },
> @@ -1035,6 +1041,7 @@ static struct i2c_driver sx9500_driver = {
>         .driver = {
>                 .name   = SX9500_DRIVER_NAME,
>                 .acpi_match_table = ACPI_PTR(sx9500_acpi_match),
> +               .of_match_table = of_match_ptr(sx9500_of_match),
>                 .pm = &sx9500_pm_ops,
>         },
>         .probe          = sx9500_probe,
> --
> 2.1.4
>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH v2] iio: sx9500: add final devicetree support
@ 2016-09-03 11:19                                     ` Vlad Dogaru
  0 siblings, 0 replies; 26+ messages in thread
From: Vlad Dogaru @ 2016-09-03 11:19 UTC (permalink / raw)
  To: chf.fritz
  Cc: Fabio Estevam, Jonathan Cameron, Hartmut Knaack, linux-iio, devicetree

On Sat, Sep 3, 2016 at 1:30 PM, Christoph Fritz
<chf.fritz@googlemail.com> wrote:
> This makes sx9500 driver usable on devicetree based platforms too.
>
> Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>

Reviewed-by: Vlad Dogaru <ddvlad@gmail.com>

> ---
>
> Changes in v2:
>
>  - fix docu: add optional property reset-gpios
>  - adapt docu: change example "reset-gpios"
>
>  .../devicetree/bindings/iio/proximity/sx9500.txt   | 24 ++++++++++++++++++++++
>  drivers/iio/proximity/sx9500.c                     |  7 +++++++
>  2 files changed, 31 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/iio/proximity/sx9500.txt
>
> diff --git a/Documentation/devicetree/bindings/iio/proximity/sx9500.txt b/Documentation/devicetree/bindings/iio/proximity/sx9500.txt
> new file mode 100644
> index 0000000..b301dd2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/proximity/sx9500.txt
> @@ -0,0 +1,24 @@
> +Semtech's SX9500 capacitive proximity button device driver
> +
> +Required properties:
> +       - compatible: must be "semtech,sx9500"
> +       - reg: i2c address where to find the device
> +       - interrupt-parent : should be the phandle for the interrupt controller
> +       - interrupts : the sole interrupt generated by the device
> +
> +       Refer to interrupt-controller/interrupts.txt for generic
> +       interrupt client node bindings.
> +
> +Optional properties:
> +       - reset-gpios: Reference to the GPIO connected to the device's active
> +         low reset pin.
> +
> +Example:
> +
> +sx9500@28 {
> +       compatible = "semtech,sx9500";
> +       reg = <0x28>;
> +       interrupt-parent = <&gpio2>;
> +       interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
> +       reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
> +};
> diff --git a/drivers/iio/proximity/sx9500.c b/drivers/iio/proximity/sx9500.c
> index 66cd09a..a136b34 100644
> --- a/drivers/iio/proximity/sx9500.c
> +++ b/drivers/iio/proximity/sx9500.c
> @@ -1025,6 +1025,12 @@ static const struct acpi_device_id sx9500_acpi_match[] = {
>  };
>  MODULE_DEVICE_TABLE(acpi, sx9500_acpi_match);
>
> +static const struct of_device_id sx9500_of_match[] = {
> +       { .compatible = "semtech,sx9500", },
> +       { }
> +};
> +MODULE_DEVICE_TABLE(of, sx9500_of_match);
> +
>  static const struct i2c_device_id sx9500_id[] = {
>         {"sx9500", 0},
>         { },
> @@ -1035,6 +1041,7 @@ static struct i2c_driver sx9500_driver = {
>         .driver = {
>                 .name   = SX9500_DRIVER_NAME,
>                 .acpi_match_table = ACPI_PTR(sx9500_acpi_match),
> +               .of_match_table = of_match_ptr(sx9500_of_match),
>                 .pm = &sx9500_pm_ops,
>         },
>         .probe          = sx9500_probe,
> --
> 2.1.4
>

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

* Re: [PATCH v2] iio: sx9500: add final devicetree support
  2016-09-03 11:19                                     ` Vlad Dogaru
@ 2016-09-03 14:27                                         ` Jonathan Cameron
  -1 siblings, 0 replies; 26+ messages in thread
From: Jonathan Cameron @ 2016-09-03 14:27 UTC (permalink / raw)
  To: Vlad Dogaru, chf.fritz-gM/Ye1E23mwN+BqQ9rBEUg
  Cc: Fabio Estevam, Hartmut Knaack, linux-iio-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA

On 03/09/16 12:19, Vlad Dogaru wrote:
> On Sat, Sep 3, 2016 at 1:30 PM, Christoph Fritz
> <chf.fritz-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:
>> This makes sx9500 driver usable on devicetree based platforms too.
>>
>> Signed-off-by: Christoph Fritz <chf.fritz-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
> 
> Reviewed-by: Vlad Dogaru <ddvlad-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
This is simple enough I'm taking it without a device tree ack.

Applied to the togreg branch of iio.git - initially pushed out
as testing for the autobuilders to play with it.

Thanks,

Jonathan
> 
>> ---
>>
>> Changes in v2:
>>
>>  - fix docu: add optional property reset-gpios
>>  - adapt docu: change example "reset-gpios"
>>
>>  .../devicetree/bindings/iio/proximity/sx9500.txt   | 24 ++++++++++++++++++++++
>>  drivers/iio/proximity/sx9500.c                     |  7 +++++++
>>  2 files changed, 31 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/iio/proximity/sx9500.txt
>>
>> diff --git a/Documentation/devicetree/bindings/iio/proximity/sx9500.txt b/Documentation/devicetree/bindings/iio/proximity/sx9500.txt
>> new file mode 100644
>> index 0000000..b301dd2
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/iio/proximity/sx9500.txt
>> @@ -0,0 +1,24 @@
>> +Semtech's SX9500 capacitive proximity button device driver
>> +
>> +Required properties:
>> +       - compatible: must be "semtech,sx9500"
>> +       - reg: i2c address where to find the device
>> +       - interrupt-parent : should be the phandle for the interrupt controller
>> +       - interrupts : the sole interrupt generated by the device
>> +
>> +       Refer to interrupt-controller/interrupts.txt for generic
>> +       interrupt client node bindings.
>> +
>> +Optional properties:
>> +       - reset-gpios: Reference to the GPIO connected to the device's active
>> +         low reset pin.
>> +
>> +Example:
>> +
>> +sx9500@28 {
>> +       compatible = "semtech,sx9500";
>> +       reg = <0x28>;
>> +       interrupt-parent = <&gpio2>;
>> +       interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
>> +       reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
>> +};
>> diff --git a/drivers/iio/proximity/sx9500.c b/drivers/iio/proximity/sx9500.c
>> index 66cd09a..a136b34 100644
>> --- a/drivers/iio/proximity/sx9500.c
>> +++ b/drivers/iio/proximity/sx9500.c
>> @@ -1025,6 +1025,12 @@ static const struct acpi_device_id sx9500_acpi_match[] = {
>>  };
>>  MODULE_DEVICE_TABLE(acpi, sx9500_acpi_match);
>>
>> +static const struct of_device_id sx9500_of_match[] = {
>> +       { .compatible = "semtech,sx9500", },
>> +       { }
>> +};
>> +MODULE_DEVICE_TABLE(of, sx9500_of_match);
>> +
>>  static const struct i2c_device_id sx9500_id[] = {
>>         {"sx9500", 0},
>>         { },
>> @@ -1035,6 +1041,7 @@ static struct i2c_driver sx9500_driver = {
>>         .driver = {
>>                 .name   = SX9500_DRIVER_NAME,
>>                 .acpi_match_table = ACPI_PTR(sx9500_acpi_match),
>> +               .of_match_table = of_match_ptr(sx9500_of_match),
>>                 .pm = &sx9500_pm_ops,
>>         },
>>         .probe          = sx9500_probe,
>> --
>> 2.1.4
>>

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

* Re: [PATCH v2] iio: sx9500: add final devicetree support
@ 2016-09-03 14:27                                         ` Jonathan Cameron
  0 siblings, 0 replies; 26+ messages in thread
From: Jonathan Cameron @ 2016-09-03 14:27 UTC (permalink / raw)
  To: Vlad Dogaru, chf.fritz
  Cc: Fabio Estevam, Hartmut Knaack, linux-iio, devicetree

On 03/09/16 12:19, Vlad Dogaru wrote:
> On Sat, Sep 3, 2016 at 1:30 PM, Christoph Fritz
> <chf.fritz@googlemail.com> wrote:
>> This makes sx9500 driver usable on devicetree based platforms too.
>>
>> Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
> 
> Reviewed-by: Vlad Dogaru <ddvlad@gmail.com>
This is simple enough I'm taking it without a device tree ack.

Applied to the togreg branch of iio.git - initially pushed out
as testing for the autobuilders to play with it.

Thanks,

Jonathan
> 
>> ---
>>
>> Changes in v2:
>>
>>  - fix docu: add optional property reset-gpios
>>  - adapt docu: change example "reset-gpios"
>>
>>  .../devicetree/bindings/iio/proximity/sx9500.txt   | 24 ++++++++++++++++++++++
>>  drivers/iio/proximity/sx9500.c                     |  7 +++++++
>>  2 files changed, 31 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/iio/proximity/sx9500.txt
>>
>> diff --git a/Documentation/devicetree/bindings/iio/proximity/sx9500.txt b/Documentation/devicetree/bindings/iio/proximity/sx9500.txt
>> new file mode 100644
>> index 0000000..b301dd2
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/iio/proximity/sx9500.txt
>> @@ -0,0 +1,24 @@
>> +Semtech's SX9500 capacitive proximity button device driver
>> +
>> +Required properties:
>> +       - compatible: must be "semtech,sx9500"
>> +       - reg: i2c address where to find the device
>> +       - interrupt-parent : should be the phandle for the interrupt controller
>> +       - interrupts : the sole interrupt generated by the device
>> +
>> +       Refer to interrupt-controller/interrupts.txt for generic
>> +       interrupt client node bindings.
>> +
>> +Optional properties:
>> +       - reset-gpios: Reference to the GPIO connected to the device's active
>> +         low reset pin.
>> +
>> +Example:
>> +
>> +sx9500@28 {
>> +       compatible = "semtech,sx9500";
>> +       reg = <0x28>;
>> +       interrupt-parent = <&gpio2>;
>> +       interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
>> +       reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
>> +};
>> diff --git a/drivers/iio/proximity/sx9500.c b/drivers/iio/proximity/sx9500.c
>> index 66cd09a..a136b34 100644
>> --- a/drivers/iio/proximity/sx9500.c
>> +++ b/drivers/iio/proximity/sx9500.c
>> @@ -1025,6 +1025,12 @@ static const struct acpi_device_id sx9500_acpi_match[] = {
>>  };
>>  MODULE_DEVICE_TABLE(acpi, sx9500_acpi_match);
>>
>> +static const struct of_device_id sx9500_of_match[] = {
>> +       { .compatible = "semtech,sx9500", },
>> +       { }
>> +};
>> +MODULE_DEVICE_TABLE(of, sx9500_of_match);
>> +
>>  static const struct i2c_device_id sx9500_id[] = {
>>         {"sx9500", 0},
>>         { },
>> @@ -1035,6 +1041,7 @@ static struct i2c_driver sx9500_driver = {
>>         .driver = {
>>                 .name   = SX9500_DRIVER_NAME,
>>                 .acpi_match_table = ACPI_PTR(sx9500_acpi_match),
>> +               .of_match_table = of_match_ptr(sx9500_of_match),
>>                 .pm = &sx9500_pm_ops,
>>         },
>>         .probe          = sx9500_probe,
>> --
>> 2.1.4
>>


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

* Re: [PATCH v2] iio: sx9500: add final devicetree support
  2016-09-03 10:30                                 ` Christoph Fritz
@ 2016-09-12 15:44                                     ` Rob Herring
  -1 siblings, 0 replies; 26+ messages in thread
From: Rob Herring @ 2016-09-12 15:44 UTC (permalink / raw)
  To: Christoph Fritz
  Cc: Fabio Estevam, Jonathan Cameron, Vlad Dogaru, Hartmut Knaack,
	linux-iio-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA

On Sat, Sep 03, 2016 at 12:30:00PM +0200, Christoph Fritz wrote:
> This makes sx9500 driver usable on devicetree based platforms too.
> 
> Signed-off-by: Christoph Fritz <chf.fritz-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
> ---
> 
> Changes in v2:
> 
>  - fix docu: add optional property reset-gpios
>  - adapt docu: change example "reset-gpios"
> 
>  .../devicetree/bindings/iio/proximity/sx9500.txt   | 24 ++++++++++++++++++++++
>  drivers/iio/proximity/sx9500.c                     |  7 +++++++
>  2 files changed, 31 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/iio/proximity/sx9500.txt

Acked-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>

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

* Re: [PATCH v2] iio: sx9500: add final devicetree support
@ 2016-09-12 15:44                                     ` Rob Herring
  0 siblings, 0 replies; 26+ messages in thread
From: Rob Herring @ 2016-09-12 15:44 UTC (permalink / raw)
  To: Christoph Fritz
  Cc: Fabio Estevam, Jonathan Cameron, Vlad Dogaru, Hartmut Knaack,
	linux-iio, devicetree

On Sat, Sep 03, 2016 at 12:30:00PM +0200, Christoph Fritz wrote:
> This makes sx9500 driver usable on devicetree based platforms too.
> 
> Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
> ---
> 
> Changes in v2:
> 
>  - fix docu: add optional property reset-gpios
>  - adapt docu: change example "reset-gpios"
> 
>  .../devicetree/bindings/iio/proximity/sx9500.txt   | 24 ++++++++++++++++++++++
>  drivers/iio/proximity/sx9500.c                     |  7 +++++++
>  2 files changed, 31 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/iio/proximity/sx9500.txt

Acked-by: Rob Herring <robh@kernel.org>

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

end of thread, other threads:[~2016-09-12 15:44 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-02 14:49 [PATCH] iio: sx9500: add final devicetree support Christoph Fritz
2016-09-02 14:49 ` Christoph Fritz
     [not found] ` <1472827740.1929.26.camel-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2016-09-02 14:53   ` Fabio Estevam
2016-09-02 14:53     ` Fabio Estevam
     [not found]     ` <CAOMZO5BeL1EKOQvZQoXXObttHSKxL7UQ1s2r8H4EOuROOb_YnQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-09-02 15:04       ` Christoph Fritz
2016-09-02 15:04         ` Christoph Fritz
     [not found]         ` <1472828671.1929.32.camel-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2016-09-02 15:12           ` Fabio Estevam
2016-09-02 15:12             ` Fabio Estevam
     [not found]             ` <CAOMZO5BVDS=AaSyRS0ELBiEKx3RxdstXgA_xJ6ANUzKDxdyBxg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-09-02 15:23               ` Christoph Fritz
2016-09-02 15:23                 ` Christoph Fritz
     [not found]                 ` <1472829819.12668.3.camel-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2016-09-02 16:16                   ` Fabio Estevam
2016-09-02 16:16                     ` Fabio Estevam
     [not found]                     ` <CAOMZO5DbJLnH1wm2KuML+O36O-eSYWeGwrxE5pdKSRtB-Js-yA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-09-02 16:47                       ` Christoph Fritz
2016-09-02 16:47                         ` Christoph Fritz
     [not found]                         ` <1472834833.12668.11.camel-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2016-09-02 18:25                           ` Fabio Estevam
2016-09-02 18:25                             ` Fabio Estevam
     [not found]                             ` <CAOMZO5B8ttBvf-zimO5R_kgpzR2bxF73Ur0vZpBKUX8Ytbs8uQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-09-03 10:30                               ` [PATCH v2] " Christoph Fritz
2016-09-03 10:30                                 ` Christoph Fritz
     [not found]                                 ` <1472898600.1918.4.camel-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2016-09-03 11:15                                   ` Fabio Estevam
2016-09-03 11:15                                     ` Fabio Estevam
2016-09-03 11:19                                   ` Vlad Dogaru
2016-09-03 11:19                                     ` Vlad Dogaru
     [not found]                                     ` <CAA+rx9Th84nt8RQpXX8MhcN9ghhdJN1KBuGfd2oY59_77BiBGA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-09-03 14:27                                       ` Jonathan Cameron
2016-09-03 14:27                                         ` Jonathan Cameron
2016-09-12 15:44                                   ` Rob Herring
2016-09-12 15:44                                     ` Rob Herring

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.