All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fabrice Gasnier <fabrice.gasnier@st.com>
To: Rob Herring <robh@kernel.org>
Cc: <jic23@kernel.org>, <linux@armlinux.org.uk>,
	<linux-arm-kernel@lists.infradead.org>,
	<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-iio@vger.kernel.org>, <mark.rutland@arm.com>,
	<mcoquelin.stm32@gmail.com>, <alexandre.torgue@st.com>,
	<lars@metafoo.de>, <knaack.h@gmx.de>, <pmeerw@pmeerw.net>,
	<benjamin.gaignard@linaro.org>, <benjamin.gaignard@st.com>,
	<linus.walleij@linaro.org>
Subject: Re: [PATCH v3 1/6] dt-bindings: iio: introduce trigger providers, consumers
Date: Fri, 3 Mar 2017 10:32:47 +0100	[thread overview]
Message-ID: <df84b9b2-dc93-287a-1ed2-52c818a64a01@st.com> (raw)
In-Reply-To: <20170303062126.5bewa5u6o7wu7sy4@rob-hp-laptop>

On 03/03/2017 07:21 AM, Rob Herring wrote:
> On Tue, Feb 28, 2017 at 05:51:14PM +0100, Fabrice Gasnier wrote:
>> Document iio provider and consumer bindings.
>>
>> Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com>
>> ---
>>  .../devicetree/bindings/iio/iio-bindings.txt       | 38 ++++++++++++++++++++++
>>  1 file changed, 38 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/iio/iio-bindings.txt b/Documentation/devicetree/bindings/iio/iio-bindings.txt
>> index 68d6f8c..01765e9 100644
>> --- a/Documentation/devicetree/bindings/iio/iio-bindings.txt
>> +++ b/Documentation/devicetree/bindings/iio/iio-bindings.txt
>> @@ -95,3 +95,41 @@ vdd channel is connected to output 0 of the &ref device.
>>  		io-channels = <&adc 10>, <&adc 11>;
>>  		io-channel-names = "adc1", "adc2";
>>  	};
>> +
>> +==IIO trigger providers==
>> +Sources of IIO triggers can be represented by any node in the device
>> +tree. Those nodes are designated as IIO trigger providers. IIO trigger
>> +consumer uses a phandle and an IIO trigger specifier to connect to an
>> +IIO trigger provider.
>> +An IIO trigger specifier is an array of one or more cells identifying
>> +the IIO trigger output on a device. The length of an IIO trigger
>> +specifier is defined by the value of a #io-trigger-cells property in
>> +the IIO trigger provider node.
>> +
>> +Required properties:
>> +#io-trigger-cells:
>> +		Number of cells in an IIO trigger specifier; Typically
>> +		0 for nodes with a simple IIO trigger output.
>> +
>> +Example:
>> +	trig0: interrupt-trigger0 {
>> +		#io-trigger-cells = <0>;
>> +		compatible = "interrupt-trigger";
>> +		interrupts = <11 0>;
>> +		interrupt-parent = <&gpioa>;
>> +	}
>> +
>> +==IIO trigger consumers==
>> +Required properties:
>> +- io-triggers:	List of phandle representing the IIO trigger specifier.
>> +
>> +Optional properties:
>> +- io-trigger-names :
>> +		List of IIO trigger name strings that matches elements
>> +		in 'io-triggers' list property.
>> +
>> +Example:
>> +	some_trigger_consumer {
>> +		io-triggers = <&trig0>;
>> +		io-trigger-names = "mytrig";
>> +	}
>
> I have some reservations about this. We could just as easily add the
> interrupt directly to the consumer node and use "trigger" for a standard
Hi Rob,

Thanks for reviewing.

I hope I don't miss your point here... However, if I correctly
understand it:
Yes, this can be one way to get interrupt(s) directly from consumer 
node. Then, I understand consumer has to do exact same as what is being 
done in "iio_interrupt_trigger" for instance, basically:
- request irq, alloc and register trigger, do irq handling to call
trigger poll routine.

With current patchset, consumer is able to use standard trigger like
"interrupt-trigger" from DT. Please note I propose to add OF support
for it in current patchset (e.g. PATCHs 2 & 3). Currently only platform
data is supported.

-> And, please refer to PATCHs 5 & 6, I need to have some way to 
identify interrupt line (connected in HW to STM32 ADC IP). Currently,
this is best I came up with, trying to re-use, be generic, and to 
describe this HW in DT.

Of course, the other way is still valid. Also, I want to highlight,
STM32 has other IP, e.g. DAC, where same can be re-used then. This
will avoid having duplicates.

> interrupt name. So the question is whether this extra level of
> indirection is needed?

Purpose is to be able to get one or more named trigger(s) on consumer
side. Idea is to adopt similar 'philosophy' as in other bindings like
pinctrl, clk... where consumer has possibility to get them by name.
I hope this clarifies.

Please advise,
Best Regards,
Fabrice

>
> Rob
>

WARNING: multiple messages have this Message-ID (diff)
From: Fabrice Gasnier <fabrice.gasnier@st.com>
To: Rob Herring <robh@kernel.org>
Cc: mark.rutland@arm.com, devicetree@vger.kernel.org,
	benjamin.gaignard@linaro.org, lars@metafoo.de,
	alexandre.torgue@st.com, linux-iio@vger.kernel.org,
	pmeerw@pmeerw.net, linux@armlinux.org.uk,
	linux-kernel@vger.kernel.org, jic23@kernel.org,
	mcoquelin.stm32@gmail.com, knaack.h@gmx.de,
	linus.walleij@linaro.org, linux-arm-kernel@lists.infradead.org,
	benjamin.gaignard@st.com
Subject: Re: [PATCH v3 1/6] dt-bindings: iio: introduce trigger providers, consumers
Date: Fri, 3 Mar 2017 10:32:47 +0100	[thread overview]
Message-ID: <df84b9b2-dc93-287a-1ed2-52c818a64a01@st.com> (raw)
In-Reply-To: <20170303062126.5bewa5u6o7wu7sy4@rob-hp-laptop>

On 03/03/2017 07:21 AM, Rob Herring wrote:
> On Tue, Feb 28, 2017 at 05:51:14PM +0100, Fabrice Gasnier wrote:
>> Document iio provider and consumer bindings.
>>
>> Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com>
>> ---
>>  .../devicetree/bindings/iio/iio-bindings.txt       | 38 ++++++++++++++++++++++
>>  1 file changed, 38 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/iio/iio-bindings.txt b/Documentation/devicetree/bindings/iio/iio-bindings.txt
>> index 68d6f8c..01765e9 100644
>> --- a/Documentation/devicetree/bindings/iio/iio-bindings.txt
>> +++ b/Documentation/devicetree/bindings/iio/iio-bindings.txt
>> @@ -95,3 +95,41 @@ vdd channel is connected to output 0 of the &ref device.
>>  		io-channels = <&adc 10>, <&adc 11>;
>>  		io-channel-names = "adc1", "adc2";
>>  	};
>> +
>> +==IIO trigger providers==
>> +Sources of IIO triggers can be represented by any node in the device
>> +tree. Those nodes are designated as IIO trigger providers. IIO trigger
>> +consumer uses a phandle and an IIO trigger specifier to connect to an
>> +IIO trigger provider.
>> +An IIO trigger specifier is an array of one or more cells identifying
>> +the IIO trigger output on a device. The length of an IIO trigger
>> +specifier is defined by the value of a #io-trigger-cells property in
>> +the IIO trigger provider node.
>> +
>> +Required properties:
>> +#io-trigger-cells:
>> +		Number of cells in an IIO trigger specifier; Typically
>> +		0 for nodes with a simple IIO trigger output.
>> +
>> +Example:
>> +	trig0: interrupt-trigger0 {
>> +		#io-trigger-cells = <0>;
>> +		compatible = "interrupt-trigger";
>> +		interrupts = <11 0>;
>> +		interrupt-parent = <&gpioa>;
>> +	}
>> +
>> +==IIO trigger consumers==
>> +Required properties:
>> +- io-triggers:	List of phandle representing the IIO trigger specifier.
>> +
>> +Optional properties:
>> +- io-trigger-names :
>> +		List of IIO trigger name strings that matches elements
>> +		in 'io-triggers' list property.
>> +
>> +Example:
>> +	some_trigger_consumer {
>> +		io-triggers = <&trig0>;
>> +		io-trigger-names = "mytrig";
>> +	}
>
> I have some reservations about this. We could just as easily add the
> interrupt directly to the consumer node and use "trigger" for a standard
Hi Rob,

Thanks for reviewing.

I hope I don't miss your point here... However, if I correctly
understand it:
Yes, this can be one way to get interrupt(s) directly from consumer 
node. Then, I understand consumer has to do exact same as what is being 
done in "iio_interrupt_trigger" for instance, basically:
- request irq, alloc and register trigger, do irq handling to call
trigger poll routine.

With current patchset, consumer is able to use standard trigger like
"interrupt-trigger" from DT. Please note I propose to add OF support
for it in current patchset (e.g. PATCHs 2 & 3). Currently only platform
data is supported.

-> And, please refer to PATCHs 5 & 6, I need to have some way to 
identify interrupt line (connected in HW to STM32 ADC IP). Currently,
this is best I came up with, trying to re-use, be generic, and to 
describe this HW in DT.

Of course, the other way is still valid. Also, I want to highlight,
STM32 has other IP, e.g. DAC, where same can be re-used then. This
will avoid having duplicates.

> interrupt name. So the question is whether this extra level of
> indirection is needed?

Purpose is to be able to get one or more named trigger(s) on consumer
side. Idea is to adopt similar 'philosophy' as in other bindings like
pinctrl, clk... where consumer has possibility to get them by name.
I hope this clarifies.

Please advise,
Best Regards,
Fabrice

>
> Rob
>

WARNING: multiple messages have this Message-ID (diff)
From: fabrice.gasnier@st.com (Fabrice Gasnier)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 1/6] dt-bindings: iio: introduce trigger providers, consumers
Date: Fri, 3 Mar 2017 10:32:47 +0100	[thread overview]
Message-ID: <df84b9b2-dc93-287a-1ed2-52c818a64a01@st.com> (raw)
In-Reply-To: <20170303062126.5bewa5u6o7wu7sy4@rob-hp-laptop>

On 03/03/2017 07:21 AM, Rob Herring wrote:
> On Tue, Feb 28, 2017 at 05:51:14PM +0100, Fabrice Gasnier wrote:
>> Document iio provider and consumer bindings.
>>
>> Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com>
>> ---
>>  .../devicetree/bindings/iio/iio-bindings.txt       | 38 ++++++++++++++++++++++
>>  1 file changed, 38 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/iio/iio-bindings.txt b/Documentation/devicetree/bindings/iio/iio-bindings.txt
>> index 68d6f8c..01765e9 100644
>> --- a/Documentation/devicetree/bindings/iio/iio-bindings.txt
>> +++ b/Documentation/devicetree/bindings/iio/iio-bindings.txt
>> @@ -95,3 +95,41 @@ vdd channel is connected to output 0 of the &ref device.
>>  		io-channels = <&adc 10>, <&adc 11>;
>>  		io-channel-names = "adc1", "adc2";
>>  	};
>> +
>> +==IIO trigger providers==
>> +Sources of IIO triggers can be represented by any node in the device
>> +tree. Those nodes are designated as IIO trigger providers. IIO trigger
>> +consumer uses a phandle and an IIO trigger specifier to connect to an
>> +IIO trigger provider.
>> +An IIO trigger specifier is an array of one or more cells identifying
>> +the IIO trigger output on a device. The length of an IIO trigger
>> +specifier is defined by the value of a #io-trigger-cells property in
>> +the IIO trigger provider node.
>> +
>> +Required properties:
>> +#io-trigger-cells:
>> +		Number of cells in an IIO trigger specifier; Typically
>> +		0 for nodes with a simple IIO trigger output.
>> +
>> +Example:
>> +	trig0: interrupt-trigger0 {
>> +		#io-trigger-cells = <0>;
>> +		compatible = "interrupt-trigger";
>> +		interrupts = <11 0>;
>> +		interrupt-parent = <&gpioa>;
>> +	}
>> +
>> +==IIO trigger consumers==
>> +Required properties:
>> +- io-triggers:	List of phandle representing the IIO trigger specifier.
>> +
>> +Optional properties:
>> +- io-trigger-names :
>> +		List of IIO trigger name strings that matches elements
>> +		in 'io-triggers' list property.
>> +
>> +Example:
>> +	some_trigger_consumer {
>> +		io-triggers = <&trig0>;
>> +		io-trigger-names = "mytrig";
>> +	}
>
> I have some reservations about this. We could just as easily add the
> interrupt directly to the consumer node and use "trigger" for a standard
Hi Rob,

Thanks for reviewing.

I hope I don't miss your point here... However, if I correctly
understand it:
Yes, this can be one way to get interrupt(s) directly from consumer 
node. Then, I understand consumer has to do exact same as what is being 
done in "iio_interrupt_trigger" for instance, basically:
- request irq, alloc and register trigger, do irq handling to call
trigger poll routine.

With current patchset, consumer is able to use standard trigger like
"interrupt-trigger" from DT. Please note I propose to add OF support
for it in current patchset (e.g. PATCHs 2 & 3). Currently only platform
data is supported.

-> And, please refer to PATCHs 5 & 6, I need to have some way to 
identify interrupt line (connected in HW to STM32 ADC IP). Currently,
this is best I came up with, trying to re-use, be generic, and to 
describe this HW in DT.

Of course, the other way is still valid. Also, I want to highlight,
STM32 has other IP, e.g. DAC, where same can be re-used then. This
will avoid having duplicates.

> interrupt name. So the question is whether this extra level of
> indirection is needed?

Purpose is to be able to get one or more named trigger(s) on consumer
side. Idea is to adopt similar 'philosophy' as in other bindings like
pinctrl, clk... where consumer has possibility to get them by name.
I hope this clarifies.

Please advise,
Best Regards,
Fabrice

>
> Rob
>

  reply	other threads:[~2017-03-03  9:53 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-28 16:51 [PATCH v3 0/6] Add EXTI GPIO trigger support to STM32 ADC Fabrice Gasnier
2017-02-28 16:51 ` Fabrice Gasnier
2017-02-28 16:51 ` Fabrice Gasnier
2017-02-28 16:51 ` [PATCH v3 1/6] dt-bindings: iio: introduce trigger providers, consumers Fabrice Gasnier
2017-02-28 16:51   ` Fabrice Gasnier
2017-02-28 16:51   ` Fabrice Gasnier
2017-03-03  6:21   ` Rob Herring
2017-03-03  6:21     ` Rob Herring
2017-03-03  6:21     ` Rob Herring
2017-03-03  9:32     ` Fabrice Gasnier [this message]
2017-03-03  9:32       ` Fabrice Gasnier
2017-03-03  9:32       ` Fabrice Gasnier
2017-03-05 11:45       ` Jonathan Cameron
2017-03-05 11:45         ` Jonathan Cameron
2017-03-05 11:45         ` Jonathan Cameron
2017-03-05 11:43     ` Jonathan Cameron
2017-03-05 11:43       ` Jonathan Cameron
2017-03-05 11:43       ` Jonathan Cameron
2017-03-05 12:13       ` Jonathan Cameron
2017-03-05 12:13         ` Jonathan Cameron
2017-03-15 19:25         ` Rob Herring
2017-03-15 19:25           ` Rob Herring
2017-03-15 19:25           ` Rob Herring
2017-03-17 15:59           ` Fabrice Gasnier
2017-03-17 15:59             ` Fabrice Gasnier
2017-03-17 15:59             ` Fabrice Gasnier
2017-03-19 22:58             ` Jonathan Cameron
2017-03-19 22:58               ` Jonathan Cameron
2017-03-19 22:58               ` Jonathan Cameron
2017-02-28 16:51 ` [PATCH v3 2/6] iio: trigger: add OF support Fabrice Gasnier
2017-02-28 16:51   ` Fabrice Gasnier
2017-02-28 16:51   ` Fabrice Gasnier
2017-03-05 12:11   ` Jonathan Cameron
2017-03-05 12:11     ` Jonathan Cameron
2017-03-05 12:11     ` Jonathan Cameron
2017-03-14 15:22   ` Linus Walleij
2017-03-14 15:22     ` Linus Walleij
2017-03-14 15:22     ` Linus Walleij
2017-03-14 15:22     ` Linus Walleij
2017-02-28 16:51 ` [PATCH v3 3/6] dt-bindings: iio: document interrupt trigger support Fabrice Gasnier
2017-02-28 16:51   ` Fabrice Gasnier
2017-02-28 16:51   ` Fabrice Gasnier
2017-03-05 12:16   ` Jonathan Cameron
2017-03-05 12:16     ` Jonathan Cameron
2017-03-05 12:16     ` Jonathan Cameron
2017-03-15 19:29     ` Rob Herring
2017-03-15 19:29       ` Rob Herring
2017-03-15 19:29       ` Rob Herring
2017-02-28 16:51 ` [PATCH v3 4/6] iio: iio-interrupt-trigger: device-tree support Fabrice Gasnier
2017-02-28 16:51   ` Fabrice Gasnier
2017-02-28 16:51   ` Fabrice Gasnier
2017-03-05 12:18   ` Jonathan Cameron
2017-03-05 12:18     ` Jonathan Cameron
2017-03-05 12:18     ` Jonathan Cameron
2017-02-28 16:51 ` [PATCH v3 5/6] dt-bindings: iio: stm32-adc: add external interrupt trigger Fabrice Gasnier
2017-02-28 16:51   ` Fabrice Gasnier
2017-02-28 16:51   ` Fabrice Gasnier
2017-02-28 16:51 ` [PATCH v3 6/6] iio: adc: stm32: add support for EXTI trigger Fabrice Gasnier
2017-02-28 16:51   ` Fabrice Gasnier
2017-02-28 16:51   ` Fabrice Gasnier
2017-03-03 11:45   ` Lars-Peter Clausen
2017-03-03 11:45     ` Lars-Peter Clausen
2017-03-03 11:45     ` Lars-Peter Clausen
2017-03-03 13:00     ` Fabrice Gasnier
2017-03-03 13:00       ` Fabrice Gasnier
2017-03-03 13:00       ` Fabrice Gasnier
2017-03-03 15:46       ` Lars-Peter Clausen
2017-03-03 15:46         ` Lars-Peter Clausen
2017-03-03 15:46         ` Lars-Peter Clausen
2017-03-03 15:47         ` Lars-Peter Clausen
2017-03-03 15:47           ` Lars-Peter Clausen
2017-03-03 15:47           ` Lars-Peter Clausen
2017-03-05 12:21   ` Jonathan Cameron
2017-03-05 12:21     ` Jonathan Cameron
2017-03-05 12:21     ` Jonathan Cameron
2017-03-05 12:28     ` Jonathan Cameron
2017-03-05 12:28       ` Jonathan Cameron
2017-03-05 12:28       ` Jonathan Cameron

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=df84b9b2-dc93-287a-1ed2-52c818a64a01@st.com \
    --to=fabrice.gasnier@st.com \
    --cc=alexandre.torgue@st.com \
    --cc=benjamin.gaignard@linaro.org \
    --cc=benjamin.gaignard@st.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jic23@kernel.org \
    --cc=knaack.h@gmx.de \
    --cc=lars@metafoo.de \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=pmeerw@pmeerw.net \
    --cc=robh@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.