From patchwork Mon Oct 1 21:49:05 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 977488 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.b="HxgL1m8V"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 42PGBt1n7Dz9s3x for ; Tue, 2 Oct 2018 07:49:10 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726647AbeJBE3A (ORCPT ); Tue, 2 Oct 2018 00:29:00 -0400 Received: from mail-pg1-f196.google.com ([209.85.215.196]:38215 "EHLO mail-pg1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726332AbeJBE27 (ORCPT ); Tue, 2 Oct 2018 00:28:59 -0400 Received: by mail-pg1-f196.google.com with SMTP id r77-v6so10396740pgr.5 for ; Mon, 01 Oct 2018 14:49:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ei10IMDTH9p7ZNfD8xEmYEMq7A1+pvhdDRd1zGw788U=; b=HxgL1m8V0/yiK2g6wuzWbeSx9bV7dCYP0GOyp3bzaCftTGsCV3YAboTnIk2C9vC4I8 DPH3aiFUAq42F7ltfWOs8NCw/tSoxGQDOI0DpznF7K6yR42CYK1Gv6D+BzjA/0Bv6jrU D8vncwGl0f6fdpw8eDjHIJnSNEJZjsU+ydnRk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ei10IMDTH9p7ZNfD8xEmYEMq7A1+pvhdDRd1zGw788U=; b=rsEE/Tb3urZUCjdWhM/tkQjFXhwS8kJEn0m0RuWWGXI9YGxUdbO13b7PlnpNEPOo9i bpeW6b43DNd0tRQS2MsB5nE4MJg6Kcm9q6j+ufi6ejuDveFRH0mnBeGyEhB/3ws08AZD M1nNNc31KtTrupBKenqmseQL9IIeTVleWjsLuAQtPmZc111sC6yLQKnsSjFcNvFtGSNR TOMV85WXvKr7Gx7xAqN/1WNd+X1JN3iMeHa95Hw8c0P7J07DXU+FEmGMzQBgqD3+RuYA 1OQ3s/pivjdigcvFSqV48F2RrF8EBGKyeLU4SlShcTWA1PN1hqKn2SYEn8X3s1Yq7UVk rwsQ== X-Gm-Message-State: ABuFfoi5PH7ezQt9uxpWUYfFA3eoNbhf2Xb9iTPrRBiH9t2I7VEsnKVw GltI9OnWIkhs6jXv/MD9ZxN4sg== X-Google-Smtp-Source: ACcGV60jjmbUzmpk5/aScoNEuZJyQBvAeMw/nbwNmMfvzeHomOHXUr5ixO2O6xGG0VccbDqEu7pxSg== X-Received: by 2002:a17:902:a9c9:: with SMTP id b9-v6mr13020814plr.225.1538430547028; Mon, 01 Oct 2018 14:49:07 -0700 (PDT) Received: from smtp.gmail.com ([2620:15c:202:201:7e28:b9f3:6afc:5326]) by smtp.gmail.com with ESMTPSA id g88-v6sm27159070pfd.181.2018.10.01.14.49.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 01 Oct 2018 14:49:06 -0700 (PDT) From: Stephen Boyd To: Linus Walleij Cc: linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-gpio@vger.kernel.org, Doug Anderson , Bjorn Andersson , Niklas Cassel Subject: [PATCH] pinctrl: msm: Actually use function 0 for gpio selection Date: Mon, 1 Oct 2018 14:49:05 -0700 Message-Id: <20181001214905.12149-1-swboyd@chromium.org> X-Mailer: git-send-email 2.19.0.605.g01d371f741-goog MIME-Version: 1.0 Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org This code needs to select function #0, which is the first int in the array of functions, not the number 0 which may or may not be the function for "GPIO mode" per the enum mapping. We were getting lucky on SDM845, where this was tested, because the function 0 matched the enum value for "GPIO mode". On other platforms, e.g. MSM8996, the gpio enum value is the last one in the list so this code doesn't work and we see a warning at boot. Fix it by grabbing the first element out of the array of functions. Cc: Doug Anderson Cc: Bjorn Andersson Cc: Niklas Cassel Reported-by: Niklas Cassel Fixes: 1de7ddb3a15c ("pinctrl: msm: Mux out gpio function with gpio_request()") Signed-off-by: Stephen Boyd Reviewed-by: Bjorn Andersson Tested-by: Niklas Cassel --- drivers/pinctrl/qcom/pinctrl-msm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c index 1684b2da09d5..b925b8feac95 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm.c +++ b/drivers/pinctrl/qcom/pinctrl-msm.c @@ -188,7 +188,7 @@ static int msm_pinmux_request_gpio(struct pinctrl_dev *pctldev, return 0; /* For now assume function 0 is GPIO because it always is */ - return msm_pinmux_set_mux(pctldev, 0, offset); + return msm_pinmux_set_mux(pctldev, g->funcs[0], offset); } static const struct pinmux_ops msm_pinmux_ops = {