From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932296AbcEMQHN (ORCPT ); Fri, 13 May 2016 12:07:13 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42422 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753545AbcEMQGC (ORCPT ); Fri, 13 May 2016 12:06:02 -0400 From: Benjamin Tissoires To: Dmitry Torokhov , linux-input@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Bastien Nocera , Lejun Zhu , Fabio Estevam Subject: [PATCH v2 2/6] Input - soc_button_array: bail out earlier if gpiod_count is null Date: Fri, 13 May 2016 18:05:50 +0200 Message-Id: <1463155554-11747-3-git-send-email-benjamin.tissoires@redhat.com> In-Reply-To: <1463155554-11747-1-git-send-email-benjamin.tissoires@redhat.com> References: <1463155554-11747-1-git-send-email-benjamin.tissoires@redhat.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Fri, 13 May 2016 16:06:01 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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"); + return -ENODEV; + } + priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); if (!priv) return -ENOMEM; -- 2.5.0