[PATCH] Input: pmic8xxx-pwrkey - Set sane default for debounce time

Dmitry Torokhov dmitry.torokhov at gmail.com
Mon Mar 31 14:23:15 EDT 2014


On Mon, Mar 31, 2014 at 11:14:24AM -0700, Stephen Boyd wrote:
> If the debounce time is 0 our usage of ilog2() later on in this
> driver will cause undefined behavior. If CONFIG_OF=n this fact is
> evident to the compiler, and it emits a call to ____ilog2_NaN()
> which doesn't exist. Fix this by setting a sane default for
> debounce.
> 
> Reported-by: Arnd Bergmann <arnd at arndb.de>
> Signed-off-by: Stephen Boyd <sboyd at codeaurora.org>
> ---
>  drivers/input/misc/pmic8xxx-pwrkey.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/input/misc/pmic8xxx-pwrkey.c b/drivers/input/misc/pmic8xxx-pwrkey.c
> index 1cb8fda7a166..27add04676e1 100644
> --- a/drivers/input/misc/pmic8xxx-pwrkey.c
> +++ b/drivers/input/misc/pmic8xxx-pwrkey.c
> @@ -92,7 +92,7 @@ static int pmic8xxx_pwrkey_probe(struct platform_device *pdev)
>  	bool pull_up;
>  
>  	if (of_property_read_u32(pdev->dev.of_node, "debounce", &kpd_delay))
> -		kpd_delay = 0;
> +		kpd_delay = 15625;

What if somebody supplied 0 via DT? Can we check and return -EINVAL?

>  
>  	pull_up = of_property_read_bool(pdev->dev.of_node, "pull-up");
>  
> -- 
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> hosted by The Linux Foundation
> 

-- 
Dmitry



More information about the linux-arm-kernel mailing list