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 <robh+dt@xxxxxxxxxx> > Cc: Arnd Bergmann <arnd.bergmann@xxxxxxxxxx> > Cc: Pawel Moll <pawel.moll@xxxxxxx> > Cc: Mark Rutland <mark.rutland@xxxxxxx> > Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> > Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> > Cc: Andy Gross <agross@xxxxxxxxxxxxxx> > Cc: Vinay Simha BN <simhavcs@xxxxxxxxx> > Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> > Cc: Stephen Boyd <stephen.boyd@xxxxxxxxxx> > Cc: linux-arm-msm@xxxxxxxxxxxxxxx > Cc: devicetree@xxxxxxxxxxxxxxx You don't have to mention everyone here... > Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> > --- > v2: > - Add wakeup-source entry as suggested by > Sudeep Holla <sudeep.holla@xxxxxxx> > > 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 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html