Re: [PATCH v3 2/2] Input - soc_button_array: bail out earlier if gpiod_count is null

From: Dmitry Torokhov
Date: Fri Nov 25 2016 - 14:38:48 EST


On Fri, Nov 25, 2016 at 05:36:42PM +0100, Benjamin Tissoires wrote:
> The PNP0C40 device of the Surface 3 doesn't have any GPIO attached to it.
> Instead of trying to access the GPIO, request the count beforehand and
> bail out if it is null or if an error is returned.
>
> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
> ---
>
> no changes in v3
>
> changes in v2:
> - hunk moved down for better integration with later patches
> ---
> drivers/input/misc/soc_button_array.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/input/misc/soc_button_array.c b/drivers/input/misc/soc_button_array.c
> index bbd433c..5467d04 100644
> --- a/drivers/input/misc/soc_button_array.c
> +++ b/drivers/input/misc/soc_button_array.c
> @@ -167,6 +167,11 @@ static int soc_button_probe(struct platform_device *pdev)
>
> button_info = (struct soc_button_info *)id->driver_data;
>
> + if (gpiod_count(&pdev->dev, KBUILD_MODNAME) <= 0) {
> + dev_info(&pdev->dev, "no GPIO attached, ignoring...\n");

Changed this to dev_dbg() and applied, thank you.

> + return -ENODEV;
> + }
> +
> priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
> if (!priv)
> return -ENOMEM;
> --
> 2.7.4
>

--
Dmitry