[PATCH linux dev-4.10 1/2] ARM: dts: aspeed: Add gpio-keys-polled for fan presence

Andrew Jeffery andrew at aj.id.au
Tue Jul 18 11:49:06 AEST 2017


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.

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";
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: This is a digitally signed message part
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20170718/0f93fed2/attachment.sig>


More information about the openbmc mailing list