From patchwork Wed Jun 27 11:49:03 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Cercueil X-Patchwork-Id: 935439 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=fail (p=none dis=none) header.from=crapouillou.net Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=crapouillou.net header.i=@crapouillou.net header.b="VJpSCV7x"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 41G1Zf6wh5z9s2L for ; Wed, 27 Jun 2018 21:55:54 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934087AbeF0Lzx (ORCPT ); Wed, 27 Jun 2018 07:55:53 -0400 Received: from outils.crapouillou.net ([89.234.176.41]:35978 "EHLO crapouillou.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753627AbeF0LzD (ORCPT ); Wed, 27 Jun 2018 07:55:03 -0400 From: Paul Cercueil To: Linus Walleij Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, Paul Cercueil Subject: [PATCH 4/5] pinctrl: ingenic: Implement pinmux callback .gpio_get_direction Date: Wed, 27 Jun 2018 13:49:03 +0200 Message-Id: <20180627114904.10890-5-paul@crapouillou.net> In-Reply-To: <20180627114904.10890-1-paul@crapouillou.net> References: <20180627114904.10890-1-paul@crapouillou.net> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=crapouillou.net; s=mail; t=1530100166; bh=lMB3Kcfp70Si2MDWAF6ZTiqsNFXanURFN68wtgxyH0A=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References; b=VJpSCV7xLwde6xko82biiZ5uJk6FScLTFr0C5gOE+5yotIAF3+q8pbn10F1rbgvag1x+M/hMswynia5AGF2KeXhwprm8BsmGSFvljnxTKy+Gp6Qyz+dKFsa1+soosSZ976lwIYO6pW7Nu+i7PH+B4YOhit6JKDuEW575FCceo5c= Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org This will allow the GPIO driver to use the previously introduced pinctrl_gpio_get_direction function to implement its .get_direction callback. Signed-off-by: Paul Cercueil --- drivers/pinctrl/pinctrl-ingenic.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/pinctrl/pinctrl-ingenic.c b/drivers/pinctrl/pinctrl-ingenic.c index 6a1b6058b991..2dab52cf119b 100644 --- a/drivers/pinctrl/pinctrl-ingenic.c +++ b/drivers/pinctrl/pinctrl-ingenic.c @@ -543,12 +543,25 @@ static int ingenic_pinmux_gpio_set_direction(struct pinctrl_dev *pctldev, return 0; } +static int ingenic_pinmux_gpio_get_direction(struct pinctrl_dev *pctldev, + struct pinctrl_gpio_range *range, + unsigned int pin) +{ + struct ingenic_pinctrl *jzpc = pinctrl_dev_get_drvdata(pctldev); + + if (jzpc->version >= ID_JZ4770) + return ingenic_get_pin_config(jzpc, pin, JZ4770_GPIO_PAT1); + else + return !ingenic_get_pin_config(jzpc, pin, JZ4740_GPIO_DIR); +} + static const struct pinmux_ops ingenic_pmxops = { .get_functions_count = pinmux_generic_get_function_count, .get_function_name = pinmux_generic_get_function_name, .get_function_groups = pinmux_generic_get_function_groups, .set_mux = ingenic_pinmux_set_mux, .gpio_set_direction = ingenic_pinmux_gpio_set_direction, + .gpio_get_direction = ingenic_pinmux_gpio_get_direction, }; static int ingenic_pinconf_get(struct pinctrl_dev *pctldev,