Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2080168imu; Wed, 28 Nov 2018 22:01:41 -0800 (PST) X-Google-Smtp-Source: AFSGD/XfD0AbuzBsa+Ok5tu1FhGSi56zf5fufxVNmCECNZQGAboAbreuM9oTxF2EYOhMsZXI6kiS X-Received: by 2002:a62:13c3:: with SMTP id 64mr174552pft.93.1543471301761; Wed, 28 Nov 2018 22:01:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543471301; cv=none; d=google.com; s=arc-20160816; b=kuURFJkWzUCkvXJsPvmILD8oZB+IM93BzBC0nn5zWe0T0oTAgwJcH1qyUwqLp2omNo hRr3Je9nXcBg0RJki+T8Pd+TppFZScjCYY89C/CHkbjpet3WZlVV26DjPvIswxV28jOt 2f/1On5s6c3pFwu9/g4degML0NT7AX6+ttrQEXQI8An69h1ZgmEGbpG1P1MSXvM8uKvj oZiiuqYykU/crYVCus9bPpAl2Po8Cjn/xNnoXqAi7sfBCt1p/X7gDUKgVDFE11JQqeEr ZsJpS1TVwSf1WMb6/gjbXGSQ1TdFLGh4ccXkrZEb/MBprx6CMFZ2m+3XkaecVhCUn7CG L8pQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=T8d8wr2Ird0Y4Ui/clzMD2ZpOMGelwxyoE/k3q/YFTQ=; b=Xmorrx9FgOsLtadPQxoMfU6zwM+wnH/D259UiPlsyqY/4F6niHuQDnyBOMIJ6vd7Db dFcYSDa8pzb+fnzWskdY0B9lxrU8a9z5EtUINKhpr+R5tZ9WsYB68qjLy06D+ixamBIM zPy0oKbU64dmsKhRY9jsjCzFdhd+sxctUeeYgpLLqKFQ4zzXbLQWg4tDqzRlXTVcPeaV zkjiuCQj0SlkiQFSLlIyNsbN7J53U6/jzi6ab6J8sx0ZY3J2Jr4pza8aBkC1Df4hAihr aobArVDoxGls33rgMjlViYSl8RSjdwvUQ+7K4ny5SnpK8Ouy8uxKU4hxriWltPJabkCF LQIg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=d+MbMBpj; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s125si1238854pfc.60.2018.11.28.22.01.26; Wed, 28 Nov 2018 22:01:41 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=d+MbMBpj; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728642AbeK2RC7 (ORCPT + 99 others); Thu, 29 Nov 2018 12:02:59 -0500 Received: from mail.kernel.org ([198.145.29.99]:36890 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727758AbeK2RC6 (ORCPT ); Thu, 29 Nov 2018 12:02:58 -0500 Received: from sasha-vm.mshome.net (unknown [37.142.5.207]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id BD3AC21019; Thu, 29 Nov 2018 05:58:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1543471128; bh=fFKpfbevERKuJ0HR+RidacUbSRP0hhr6IonocRrMfqc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=d+MbMBpj9TwF1U4X53S4doytDonPnM1F0SeIby+UuGD8Ktcx5qY7hIbipRybUuyK+ GSqM0FVKmW4+9j81OnQNX9k7qvMKPL+l5SUVUMxvpehP/4F7tonvX8bk690V49I2PW mMl3jn0nY36vNpOp+aAzcyWuS8PV1tqDozfWXIYo= From: Sasha Levin To: stable@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Robert Jarzmik , Linus Walleij , Sasha Levin , linux-gpio@vger.kernel.org Subject: [PATCH AUTOSEL 4.19 33/68] gpio: pxa: fix legacy non pinctrl aware builds again Date: Thu, 29 Nov 2018 00:55:24 -0500 Message-Id: <20181129055559.159228-33-sashal@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181129055559.159228-1-sashal@kernel.org> References: <20181129055559.159228-1-sashal@kernel.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Robert Jarzmik [ Upstream commit 70cdb6ad6dc342d9643a00c9092e88f0075f2b9a ] As pointed out by Gregor, spitz keyboard matrix is broken, with or without CONFIG_PINCTRL set, quoting : "The gpio matrix keypard on the Zaurus C3x00 (see spitz.c) does not work properly. Noticeable are that rshift+c does nothing where as lshift+c creates C. Opposite it is for rshift+a vs lshift+a, here only rshift works. This affects a few other combinations using the rshift or lshift buttons." As a matter of fact, as for platform_data based builds CONFIG_PINCTRL=n is required for now (as opposed for devicetree builds where it should be set), this means gpio driver should change the direction, which is what was attempted by commit c4e5ffb6f224 ("gpio: pxa: fix legacy non pinctrl aware builds"). Unfortunately, the input case was inverted, and the direction change was never done. This wasn't seen up until now because the initial platform setup (MFP) was setting this direction. Yet in Gregory's case, the matrix-keypad driver changes back and forth the direction dynamically, and this is why he's the first to report it. Fixes: c4e5ffb6f224 ("gpio: pxa: fix legacy non pinctrl aware builds") Tested-by: Greg Signed-off-by: Robert Jarzmik Signed-off-by: Linus Walleij Signed-off-by: Sasha Levin --- drivers/gpio/gpio-pxa.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpio/gpio-pxa.c b/drivers/gpio/gpio-pxa.c index c18712dabf93..9f3f166f1760 100644 --- a/drivers/gpio/gpio-pxa.c +++ b/drivers/gpio/gpio-pxa.c @@ -268,8 +268,8 @@ static int pxa_gpio_direction_input(struct gpio_chip *chip, unsigned offset) if (pxa_gpio_has_pinctrl()) { ret = pinctrl_gpio_direction_input(chip->base + offset); - if (!ret) - return 0; + if (ret) + return ret; } spin_lock_irqsave(&gpio_lock, flags); -- 2.17.1