From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752778AbcEJPiG (ORCPT ); Tue, 10 May 2016 11:38:06 -0400 Received: from mx1.redhat.com ([209.132.183.28]:37259 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751566AbcEJPiE (ORCPT ); Tue, 10 May 2016 11:38:04 -0400 From: Benjamin Tissoires To: Dmitry Torokhov , Wei Yongjun Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org, Bastien Nocera , Alexandre Courbot , Lejun Zhu Subject: [PATCH 2/3] Input - soc_button_array: bail out earlier if gpiod_count is null Date: Tue, 10 May 2016 17:37:52 +0200 Message-Id: <1462894673-26560-3-git-send-email-benjamin.tissoires@redhat.com> In-Reply-To: <1462894673-26560-1-git-send-email-benjamin.tissoires@redhat.com> References: <1462894673-26560-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.27]); Tue, 10 May 2016 15:38:03 +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 --- 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 9cbe874..70002a3 100644 --- a/drivers/input/misc/soc_button_array.c +++ b/drivers/input/misc/soc_button_array.c @@ -165,6 +165,11 @@ static int soc_button_probe(struct platform_device *pdev) if (!id) return -ENODEV; + if (gpiod_count(&pdev->dev, KBUILD_MODNAME) <= 0) { + dev_info(&pdev->dev, "no GPIO attached, ignoring...\n"); + return -ENODEV; + } + button_info = (struct soc_button_info *)id->driver_data; priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); -- 2.5.0