[PATCH linux dev-4.10 1/2] ARM: dts: aspeed: Add gpio-keys-polled for fan presence
Christopher Bostic
cbostic at linux.vnet.ibm.com
Wed Jul 19 02:27:53 AEST 2017
On 7/17/17 8:49 PM, Andrew Jeffery wrote:
> On Mon, 2017-07-17 at 16:27 -0500, Christopher Bostic wrote:
>> Define gpio-keys-polled. Add pca-955x chip IO as GPIO source.
>>
>>> Signed-off-by: Christopher Bostic <cbostic at linux.vnet.ibm.com>
>> ---
>> arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts | 34 ++++++++++++++++++++++++
>> 1 file changed, 34 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts b/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts
>> index 34c5dfc..d60a1db 100644
>> --- a/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts
>> +++ b/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts
>> @@ -62,6 +62,38 @@
>>> };
>>> };
>>
>>> + gpio-keys-polled {
>>> + compatible = "gpio-keys-polled";
>>> + #address-cells = <1>;
>>> + #size-cells = <0>;
>>> + #poll-interval = <100>;
>>> + autorepeat;
>> +
>>> + fan0-presence {
>>> + label = "fan0-presence";
>>> + gpios = <&pca0 4 GPIO_ACTIVE_LOW>;
>> + linux,code = <232>;
> I think I replied about your choice of codes in the previous series.
> The thought that I eventually came to (after replying IIRC) was what
> has sort-of happened naturally here by way of the PCA card being unable
> to provide interrupts, forcing you to define a separate node using
> gpio-keys-polled.
>
> Anyway, the thought was to have one gpio-keys{,-polled} node per
> gpiochip device. That gives us the namespacing that the gpiochip
> phandle provides - i.e. all keys in a node must use the same gpiochip
> phandle. This isolates the keys behind separate input devices, and thus
> their codes don't need to be globally unique.
>
> So in this case I'm suggesting:
>
> fan0-presence {
> label = "fan0-presence";
> gpios = <&pca0 4 GPIO_ACTIVE_LOW>;
> linux,code = <4>;
> }
>
> And likewise for the nodes below.
Hi Andrew,
I'll update per your suggestion.
Thanks for the input,
Chris
>
> Cheers,
>
> Andrew
>
>> + };
>> +
>>> + fan1-presence {
>>> + label = "fan1-presence";
>>> + gpios = <&pca0 5 GPIO_ACTIVE_LOW>;
>>> + linux,code = <233>;
>>> + };
>> +
>>> + fan2-presence {
>>> + label = "fan2-presence";
>>> + gpios = <&pca0 6 GPIO_ACTIVE_LOW>;
>>> + linux,code = <234>;
>>> + };
>> +
>>> + fan3-presence {
>>> + label = "fan3-presence";
>>> + gpios = <&pca0 7 GPIO_ACTIVE_LOW>;
>>> + linux,code = <235>;
>>> + };
>>> + };
>> +
>>> leds {
>>> compatible = "gpio-leds";
>>
>> @@ -224,6 +256,8 @@
>>> reg = <0x60>;
>>> #address-cells = <1>;
>>> #size-cells = <0>;
>>> + gpio-controller;
>>> + #gpio-cells = <2>;
>>
>>>> fan0: led at 0 {
>>> label = "fan0";
More information about the openbmc
mailing list