On Thu 14 Apr 14:07 PDT 2016, John Stultz wrote: > Since the pmic8xxx-pwrkey driver is already supported in the > qcom-apq8064.dtsi, and the pmic8xxx-pwrkey supports logic to > configure proper device shutdown when ps_hold goes low, it is > better to use that driver then a generic gpio button. > > Thus this patch remove the gpio power key entry here, so we > don't get double input events from having two drivers enabled. >
This part has my ack. > The one gotcha with the pmic8xxx-pwrkey is it has a fairly > long debounce delay, which we shorten here to make the button > behave as expected. > It's set to 15ms, so this sounds like a bug. > Cc: Rob Herring <[email protected]> > Cc: Arnd Bergmann <[email protected]> > Cc: Pawel Moll <[email protected]> > Cc: Mark Rutland <[email protected]> > Cc: Ian Campbell <[email protected]> > Cc: Kumar Gala <[email protected]> > Cc: Andy Gross <[email protected]> > Cc: Vinay Simha BN <[email protected]> > Cc: Bjorn Andersson <[email protected]> > Cc: Stephen Boyd <[email protected]> > Cc: [email protected] > Cc: [email protected] You don't have to mention everyone here... > Signed-off-by: John Stultz <[email protected]> > --- > v2: > - Add wakeup-source entry as suggested by > Sudeep Holla <[email protected]> > > arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dts | 16 ++++++++++------ > 1 file changed, 10 insertions(+), 6 deletions(-) > > diff --git a/arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dts > b/arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dts [..] > @@ -190,6 +184,16 @@ > }; > }; > > + /* override default debounce for power-key */ > + qcom,ssbi@500000 { > + pmic@0 { > + pwrkey@1c { > + debounce = <1>; The debounce is specified in microseconds, so if the 15625us that's specified in the dtsi is too much for you we have a bug in the driver. Further, comparing the math with downstream indicates that we're quite off. Could you please try the downstream calculation of "delay", by changing pmic8xxx_pwrkey_probe() to include: delay = (kpb_delay << 6) / USEC_PER_SEC; delay = ilog2(delay); Unfortunately I don't have the register documentation for this pmic. Stephen, can you shed some light on the trig-delay (what I presume is the bark timer in later versions) bits in PON_CNTRL_1 (0x1c) on PM8921. > + wakeup-source; The driver already enables wakeup on itself, so I don't think this should be necessary (i.e. you should be able to drop this entire node from the dts). > + }; > + }; > + }; > + Regards, Bjorn

