From patchwork Fri Aug 18 16:43:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Asmaa Mnebhi X-Patchwork-Id: 136123 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b82d:0:b0:3f2:4152:657d with SMTP id z13csp1976304vqi; Sat, 19 Aug 2023 04:50:17 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF5PnxwbnQYKQCHcT/BEmKWcuP3wIHmxqmYlbQbmFQJ5lmMACYVfqOQXvMxG9KRX6VievDF X-Received: by 2002:a17:90a:694d:b0:269:1d16:25fa with SMTP id j13-20020a17090a694d00b002691d1625famr1378223pjm.12.1692445817374; Sat, 19 Aug 2023 04:50:17 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1692445817; cv=pass; d=google.com; s=arc-20160816; b=G1UZ7LETV1FF+gVLoz1ICpjtHbx7fw7HYY0sEm2MwCR3d2dkhW8fEC90JnFcBEFfIz NPQ5y8M0BAEASvQVFBZo7GkV2dGePouTWUkILi7jDg241mTm5g25sSNlY0Snt5dRGrxQ SNE+AsXovmSip4lvivbpLJeuJcWlH72Pd9IWgS/t0V76K27AKnkjihINFZF3YgTcKDxz ALsaTFu86FdQPsrvUeLmXs89zXQ56k1YTxiRGdjehsEQPKAFttE2GTxZWoxb/I1qfWJv hnf2w+8khJG7fxQLCahmFhcZL95nmUUY0oDpyEwpIQeoHGAysZv3S05sY54tXtjS+uth DpZQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=/WqQJFsLQUBYIRPZCKhAYWp2wHDjWtViNgDtgzXD+J4=; fh=7qbSxU9dH5+sUJR2dXmeYv4xiAoNhPeipQoVicRwnbQ=; b=OqcLfVYt9TBUlBpPlbFgo3aAQ+u9hj6TpHUdN3pddhafoofFSMZQe6syGg8bD9qp0v ycL3zt3OzlPetmIlFH6ZX0obH8lT0pYxDwKBQ2l2O98RIGXN8LomFT9efLFSF9SIQoXb ySPqot7rs3L08oRPC8XO5DRxqayRnUcv7P8tVlPyOdVmo+ypsFRIzt8Iz1RyB5FrRmmW 0u2atNal/2hiZDbG8pB6+2gNvq6/xS5Mh7FJbHfo5cv4JN/13gChGueylsGYnxGsKbd2 EflInAyz1R+ClzS7paNM3maw/cDiQys5juaAm7nRfrPfOGXB3IHte4zBkK79HZBLIYnN Gjuw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@Nvidia.com header.s=selector2 header.b=Z+9P+ZT1; arc=pass (i=1 spf=pass spfdomain=nvidia.com dmarc=pass fromdomain=nvidia.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=nvidia.com Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id mu13-20020a17090b388d00b0026b2602b969si3365892pjb.43.2023.08.19.04.50.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Aug 2023 04:50:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@Nvidia.com header.s=selector2 header.b=Z+9P+ZT1; arc=pass (i=1 spf=pass spfdomain=nvidia.com dmarc=pass fromdomain=nvidia.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=nvidia.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id B9B03701C4; Sat, 19 Aug 2023 01:35:21 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378745AbjHRQom (ORCPT + 99 others); Fri, 18 Aug 2023 12:44:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44686 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378782AbjHRQoW (ORCPT ); Fri, 18 Aug 2023 12:44:22 -0400 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2074.outbound.protection.outlook.com [40.107.220.74]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4FA3444AD; Fri, 18 Aug 2023 09:43:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AdhFpdZxU+mTsYYKg6HZTWcsUqPOlDulTp2AOt/CJx3so8TGiqcFZSGvBrUF6g4XmUmJejnpolokQCbrJFPHYdNFC4oNyAkh9BhwL3We6NCFSRBS7h6CwSHzArHoF11VaFnoq9zUKa+Y6ZmlY/5kHvHpDDS6bAB/LlFndPFx4N5SPiF2ShxrVSdITnrp0Dcknr7DetegehLpHhLqMeCKMvZXbEdJzi8JJ6c/MQ/aDHKejCwdtCFfnm/leN5lb8p2SgH63mVIisniR8WLMVWfFJ60Ja3/d0zVy7/OG9k7yS5p2n8x777eQEWnYxN0cWYfZhhZj4DofrTrWUE+nez+7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/WqQJFsLQUBYIRPZCKhAYWp2wHDjWtViNgDtgzXD+J4=; b=Y1pMcF9+NEXhgbL9ehrXCxP2rWhWfWw4OnIQ7zQlesLrLgmfDvpfW8D1HZ1kJVpyd71IdCf0zw45tyTIMx4BcrERbC8tomk8a5T9eZZpe5j9WfBJk+cQB4V8hLyb1yWbR75qFasOR+0I8Yy5LMCi9yG6qTKwGpgPtv59RD6tI1xrX58Xe10y1IN4+cKGWYn50gtiFWFwBAx3BVuEhb/ENLxiltT+6hGfOs+qfyqZtdzu4LOeALzaZBK+X/ANVuiQjewXOzvbWpIh/HaMpmHdyu5tQ2f6PTpKw+SFMqrQrQ19VhwvvUrxhMsQuQBNYSmLTAo8KH9ZUg5Id/TFDf+m5Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.233) smtp.rcpttodomain=gmail.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/WqQJFsLQUBYIRPZCKhAYWp2wHDjWtViNgDtgzXD+J4=; b=Z+9P+ZT1xzmNh8qr3Os9m45QJdeOwY1Cw0JTKaDHcr7I1ZnnX6yszJtGlkL8m3SBr8hsWo6UK8FemAxdc1hMwW2xV7uRZ71kXWPm9/ZpfePfFlnHMQJXfyfr1FtdgWFwjo4UR8gTs+8zezYCwXBJdNDf6/ZI7PX4CxXr1hZK6uG1WDhCSHo2olbCeXBYEvzRHIGm6mKX3e9O7+M9mInGkratczkN9PGm6De9WuasQe5GPPAEDjyqt5oNZUjjFxPOpVjmTpALlMyfY9T6/aWiFg6RivhksnHIhkejDzXnuFvX2SE42sGkbeWjz61biEkbFIMVbkSjChalpFKfBfLDgA== Received: from CY5PR19CA0085.namprd19.prod.outlook.com (2603:10b6:930:83::9) by BL3PR12MB6546.namprd12.prod.outlook.com (2603:10b6:208:38d::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Fri, 18 Aug 2023 16:43:28 +0000 Received: from CY4PEPF0000E9D2.namprd03.prod.outlook.com (2603:10b6:930:83:cafe::ff) by CY5PR19CA0085.outlook.office365.com (2603:10b6:930:83::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend Transport; Fri, 18 Aug 2023 16:43:28 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.233) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.118.233 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.233; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.233) by CY4PEPF0000E9D2.mail.protection.outlook.com (10.167.241.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.15 via Frontend Transport; Fri, 18 Aug 2023 16:43:28 +0000 Received: from drhqmail201.nvidia.com (10.126.190.180) by mail.nvidia.com (10.127.129.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.5; Fri, 18 Aug 2023 09:43:20 -0700 Received: from drhqmail202.nvidia.com (10.126.190.181) by drhqmail201.nvidia.com (10.126.190.180) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.37; Fri, 18 Aug 2023 09:43:19 -0700 Received: from vdi.nvidia.com (10.127.8.14) by mail.nvidia.com (10.126.190.181) with Microsoft SMTP Server id 15.2.986.37 via Frontend Transport; Fri, 18 Aug 2023 09:43:18 -0700 From: Asmaa Mnebhi To: , , , , , CC: Asmaa Mnebhi Subject: [PATCH v5 1/2] pinctrl: mlxbf3: Remove gpio_disable_free() Date: Fri, 18 Aug 2023 12:43:13 -0400 Message-ID: <20230818164314.8505-2-asmaa@nvidia.com> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20230818164314.8505-1-asmaa@nvidia.com> References: <20230818164314.8505-1-asmaa@nvidia.com> MIME-Version: 1.0 X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D2:EE_|BL3PR12MB6546:EE_ X-MS-Office365-Filtering-Correlation-Id: 26b763b2-2ff3-4738-28fb-08dba00a3fdd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kV2aYZS4kKiMZcOe/z9SnZlQTAl797WyMjloLHg3MDGeiSGbOACybhFFTBTf1Wc4Q3ycxFIBWLWT2aaGGk/s6ctrV7z4bexdvHuivZhPkPsWH6vHXdy1JXp362U8G+ESMTWjUVQ4AC+1pD/KsXST5BkVzFeybEO3Lt9nJWcvwLUenMkwSLce725Ey8pbOYF+KHheOctGengnLYr/F1nc+RzyB0RppSevjj/RMWSPJzGyFkY2ZzwGLXWhbOIXJ3Di6cuYK+Ab0em66TjXGPVXXyGXNgURRd7wHCcIzsUxhCePUYxLioyc1TRGFxEMQQqoxBnmX2E5SCpOzvsJDg50Mwwb5gZWbG0rAkw5mO4X98I6aU6ZjGA6YhsbLOOk3DSn6kPFouwTkhWAtKuoqwHG2nFcPNBOJ1frHt7fky2vmerL/ppLPvBJ/DNlSSEZk7WmU2dJ4s+RzYkUEU+cQ+Cm3D+pcRhCTmIFQQ5mWiL6XKelimOUoKAm7mK3jYxVMm3ByMGX/l9wKIlc8wJwXjJaMfkXCfJmJ+7Kjx60qkj+RG63OTthK5oKuk9IOSfD1VK7nzlBgXlV5iecvGnGJH1x9cFqJWl5nrUt3e6F4Irij0S7kyDhAKmHynhqYhTrZgXIW7QTprYUGPIoZ9jiR1p5wPHbs56WgZU45seO6fuUtD9n96mgp0fpiBvRxanTryPdOr44pZfJZxTfzFJaxBE2bDH0s4RH8aVkuaPpfUW9eq7MgAFGesDSv1G7PHxoHav/nKVz0nGfgYOw+KiHz/wH2g== X-Forefront-Antispam-Report: CIP:216.228.118.233;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge2.nvidia.com;CAT:NONE;SFS:(13230031)(4636009)(136003)(346002)(376002)(396003)(39860400002)(186009)(1800799009)(82310400011)(451199024)(46966006)(40470700004)(36840700001)(6666004)(7696005)(40460700003)(86362001)(426003)(336012)(107886003)(26005)(40480700001)(1076003)(83380400001)(36860700001)(47076005)(36756003)(7636003)(82740400003)(356005)(2616005)(2906002)(316002)(41300700001)(70206006)(70586007)(110136005)(5660300002)(8676002)(4326008)(8936002)(478600001)(2101003);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 16:43:28.3695 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 26b763b2-2ff3-4738-28fb-08dba00a3fdd X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.233];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000E9D2.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6546 X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1774658065779983834 X-GMAIL-MSGID: 1774658065779983834 Remove support for gpio_disable_free() because it is called when the libgpiod command "gpioset" is invoked. This gives the GPIO control back to hardware which cancels out the effort to set the GPIO value. Reminder of the code flow to change a GPIO value from software: 1) All GPIOs are controlled by hardware by default 2) To change the GPIO value, enable software control via a mux. 3) Once software has control over the GPIO pin, the gpio-mlxbf3 driver will be able to change the direction and value of the GPIO. When the user runs "gpioset gpiochip0 0=0" for example, the gpio pin value should change from 1 to 0. In this case, mlxbf3_gpio_request_enable() is called via gpiochip_generic_request(). The latter switches GPIO control from hardware to software. Then the GPIO value is changed from 1 to 0. However, gpio_disable_free() is also called which changes control back to hardware which changes the GPIO value back to 1. Fixes: d11f932808d ("pinctrl: mlxbf3: Add pinctrl driver support") Signed-off-by: Asmaa Mnebhi --- v4->v5: - No changes v3->v4: - No changes v2->v3: - No changes v1->v2: - No changes drivers/pinctrl/pinctrl-mlxbf3.c | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/drivers/pinctrl/pinctrl-mlxbf3.c b/drivers/pinctrl/pinctrl-mlxbf3.c index d9944e6a0af9..0e852a0d5ec2 100644 --- a/drivers/pinctrl/pinctrl-mlxbf3.c +++ b/drivers/pinctrl/pinctrl-mlxbf3.c @@ -223,26 +223,12 @@ static int mlxbf3_gpio_request_enable(struct pinctrl_dev *pctldev, return 0; } -static void mlxbf3_gpio_disable_free(struct pinctrl_dev *pctldev, - struct pinctrl_gpio_range *range, - unsigned int offset) -{ - struct mlxbf3_pinctrl *priv = pinctrl_dev_get_drvdata(pctldev); - - /* disable GPIO functionality by giving control back to hardware */ - if (offset < MLXBF3_NGPIOS_GPIO0) - writel(BIT(offset), priv->fw_ctrl_clr0); - else - writel(BIT(offset % MLXBF3_NGPIOS_GPIO0), priv->fw_ctrl_clr1); -} - static const struct pinmux_ops mlxbf3_pmx_ops = { .get_functions_count = mlxbf3_pmx_get_funcs_count, .get_function_name = mlxbf3_pmx_get_func_name, .get_function_groups = mlxbf3_pmx_get_groups, .set_mux = mlxbf3_pmx_set, .gpio_request_enable = mlxbf3_gpio_request_enable, - .gpio_disable_free = mlxbf3_gpio_disable_free, }; static struct pinctrl_desc mlxbf3_pin_desc = { From patchwork Fri Aug 18 16:43:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Asmaa Mnebhi X-Patchwork-Id: 136212 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b82d:0:b0:3f2:4152:657d with SMTP id z13csp2245733vqi; Sat, 19 Aug 2023 17:04:35 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF4EPPNL/nL9KMh2rgkfeVSX6zWf8AeBmSe7TlK/t4A7xTjdm/AflFmxmUSng7R8GZar99u X-Received: by 2002:a25:cb92:0:b0:d4c:f456:d55b with SMTP id b140-20020a25cb92000000b00d4cf456d55bmr3331981ybg.31.1692489875156; Sat, 19 Aug 2023 17:04:35 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1692489875; cv=pass; d=google.com; s=arc-20160816; b=lz0Hze+wopsYGkvcgLQd6nQXv2qrRg3mJWp1ok+y4FvMWhdUk8bKPCSKGvRyHb9+T7 mxXeBGlYzRqsrZASW5q+o4KUbkm1atMQd4aLkCUvjoWqKdKOFaoxqQQVp2Veitejdvoc Bdc7wSy47y9MboyZRe0ckNaKa8QWVc7w50AZ8HreFB1jmcaUZbGcW/K2QMy2onJ1ziiz SQOnUHEPqPcUPjxXup7TQViCcc8PIhErxSQSgMK/qQiszhgridl3cM3P4HQ1fQNd0sM9 oF+fvXlWaM9S6G7444m/b1WZ61ghUX4zfwPqUK2fHEIsY6kh4SdJfRWB6qmaA4R9wnRU b8uQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=73CXLqmtumSMwo/EvnPe9QfD0RBLp6OunUQqzto1Dmc=; fh=7qbSxU9dH5+sUJR2dXmeYv4xiAoNhPeipQoVicRwnbQ=; b=DIFCzpuCaZF1FrJJnskPeU3hASAf4KtTJTwIwx/bqy1UUNMMydU1oAj5Ds2ydNhIc9 dZnECA+cslEDzDnN7SbxGkvH2YNCR53ujSe0Tc91PgSMM07ZTItJTrnEwRNu2mXNETUz 5Gj0gHWNak04rHdgKKnfcdAIhy3XK7+15VgMRX6e/8fHmb6KlW7tWpBgnSyhYdygwVUY dEhlHa/v2d/zu1erHm594RvKVD2JrjDU4AzC811mC2OP3Dl6Rac0YSUOWIAnVwoQm5Lu VHLeeHLi44MNYz/HvC5wT6fuCJ1ss9uNdKN+nKqyhCCj21uD3XXFdWu/y8S8BO37ca8g KYxA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@Nvidia.com header.s=selector2 header.b=aGl896ZF; arc=pass (i=1 spf=pass spfdomain=nvidia.com dmarc=pass fromdomain=nvidia.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=nvidia.com Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id l19-20020a637013000000b0055fc5e67d56si4108688pgc.7.2023.08.19.17.04.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Aug 2023 17:04:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@Nvidia.com header.s=selector2 header.b=aGl896ZF; arc=pass (i=1 spf=pass spfdomain=nvidia.com dmarc=pass fromdomain=nvidia.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=nvidia.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 58F21C844C; Sat, 19 Aug 2023 11:06:55 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378728AbjHRQoi (ORCPT + 99 others); Fri, 18 Aug 2023 12:44:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44678 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378776AbjHRQoV (ORCPT ); Fri, 18 Aug 2023 12:44:21 -0400 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2064.outbound.protection.outlook.com [40.107.223.64]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2AA1644AC; Fri, 18 Aug 2023 09:43:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ENyWAfsHZbdP+ZNUEPQ78xIU88q9TJQ2eQ5PK4ymA311tHrI9PTRZIlA9f5s4LzGcp4MaeygjpyyOrMHN4+yPNrNT5E+8y959rMTozET9x17kQHPsgNyRVNATp8MEBw2Psj66Pv5fE9VhKDUPmAe79TZp7ds24+HPnVFCs1ZFl4Sjwx0hnKL/eUtOgj3qPkcqB/ytgW7lQFkJYKnj2AufqVnK3iW1yuNtjube+7YSARAQLZQnfP5NpSsQKWcOjCI3HNfkFgPvTbmGM5vnKQx+rx49zvsUACO3tYDgYbtuLUMrx2pfARcodX0nAhEud4Gc19rJkDvg9ri3kTY8i/W1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=73CXLqmtumSMwo/EvnPe9QfD0RBLp6OunUQqzto1Dmc=; b=lXey+2k00qrY0Reep8aSMBcylYxuVvJQb+ppNsOBJvzy6ckGhz/V1lV3bbmdY6rDaOHDjW1i+GS4bY3gzO2Il55cxbFDZFc7ixvteQb8CorqArnT4LLZNwFoSc4Sz2Ab6xeYvXk7d60b+D/qO4646bf16/lRsLx4REF6KHe/pgrtft1AhJsb8NJ5hV6hQm5NsqOTjcyRIbJ9hf2eoNZ79RZY58cz3cC7MyRnnGPD+RUSa509y6bMJ3LxVG4DKygY8so/pvCCeWL8A7h9CbHFG1vzIUDOp7khKJ/yEeQNeiVq1W44htKf0UrI7UI8S2PChl7JpJR5XzAUm77EfHfjSw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.232) smtp.rcpttodomain=gmail.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=73CXLqmtumSMwo/EvnPe9QfD0RBLp6OunUQqzto1Dmc=; b=aGl896ZFpaOLKiuB6PvaMXomZER542nBMzmymQygydgJDeEeWdYkpIFwAUEkqU20B1DiLGRhJU5ubrebLxEEB+Se9MwasERr+pBGn3innQ34cMyCEM0728IDrq2yErOvAzFOviwnezPp1MaS3HaeCGdtpU4tAO+1Wto7nnOHy43iA2Vrr3f93FiZWA7gfNJ+qSDvI19ZMiLtDHHIjMcZKHSOB4X88BK2SPo+cOZA73m4GAXFi9ir+tY14oU/gekrIf4WVyzRR9GqlDTTxGIAP9eGztACgp3LweUql3k+qAG/8mo5BqOty/Vt19h/mXR3hny+1qSLdfRg6i4sw7DhFQ== Received: from CYXPR02CA0076.namprd02.prod.outlook.com (2603:10b6:930:ce::14) by DM6PR12MB4388.namprd12.prod.outlook.com (2603:10b6:5:2a9::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Fri, 18 Aug 2023 16:43:32 +0000 Received: from CY4PEPF0000E9DC.namprd05.prod.outlook.com (2603:10b6:930:ce:cafe::c0) by CYXPR02CA0076.outlook.office365.com (2603:10b6:930:ce::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend Transport; Fri, 18 Aug 2023 16:43:32 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.232) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.118.232 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.232; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.232) by CY4PEPF0000E9DC.mail.protection.outlook.com (10.167.241.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.14 via Frontend Transport; Fri, 18 Aug 2023 16:43:32 +0000 Received: from drhqmail201.nvidia.com (10.126.190.180) by mail.nvidia.com (10.127.129.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.5; Fri, 18 Aug 2023 09:43:22 -0700 Received: from drhqmail202.nvidia.com (10.126.190.181) by drhqmail201.nvidia.com (10.126.190.180) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.37; Fri, 18 Aug 2023 09:43:21 -0700 Received: from vdi.nvidia.com (10.127.8.14) by mail.nvidia.com (10.126.190.181) with Microsoft SMTP Server id 15.2.986.37 via Frontend Transport; Fri, 18 Aug 2023 09:43:20 -0700 From: Asmaa Mnebhi To: , , , , , CC: Asmaa Mnebhi Subject: [PATCH v5 2/2] gpio: mlxbf3: Support add_pin_ranges() Date: Fri, 18 Aug 2023 12:43:14 -0400 Message-ID: <20230818164314.8505-3-asmaa@nvidia.com> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20230818164314.8505-1-asmaa@nvidia.com> References: <20230818164314.8505-1-asmaa@nvidia.com> MIME-Version: 1.0 X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9DC:EE_|DM6PR12MB4388:EE_ X-MS-Office365-Filtering-Correlation-Id: 0ef31c9d-890f-47dc-f5f0-08dba00a4221 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rdwal9YxxMh7R8QKBmEWGYHnXLNdPUAHxqIFkWOuCgziKhSGd3x8pP+IbF41C3PC4YEjQxtufATBvvZi2DBAB1mmN3iPk09Xe63e5XCnQbucX+iWBcWmj+AsML8q6FlPR+wDaiTOKtbZuRx/6mK5kzJertfckK34AcXuPl/+r+vyOO6ysSFetNlM76Mqzg3omJrYg0HB6l0e+K/jjoPkCN0Mp7oc3FUNZ+0zj7S2zGOFP8fL1Io9CeFIUgNKjVSxZ0sv1B0PuPqEcKeta642qwz1Fwl/deZgJsTQ8Nl9jXH0YZUWK8tDoeX5pZzI8TncpfVac4KOUSo6pZpwrRjo6fFWIrETzLiCvK6slsJPKtFZN4MX9dGk1yGD32HHiuZEoiC4036tz1pOPbs/f5usdtA3JDFPA4XTw/bFocYLdMR8GdBPgpilH5tXwOaVTUhrn2VNdUfps7eccszcfbtokYHRUPgD4pGJpnAZYtNqeDTY5XIp8Q2TSoUGmS+WGKLXKKmIXAeQG9HPaS+xweShm7UuKtKmHqg6/7885DrYNh2GvSVl3asv4sifMJHE3HCCdC4c9KI0d/ykMbZAtgkpOgd3RU8fMOyTvA1lxLfiDCmDczmJTyqnLf/AzTrcT2qrGy7Y1hvDgXTum7TUwb6A0AzC8l+6VLNLnrK4bzbuDAsuGtDjs6KiF/iL9JqcShB7NWSLx+q42gto/noISsVB86BiqpPpB3wNQGwX4BArWDA7+0+rl7niCHkcGROVBG7uMwbdgJHfwOuwmkVq7yAyzw== X-Forefront-Antispam-Report: CIP:216.228.118.232;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge1.nvidia.com;CAT:NONE;SFS:(13230031)(4636009)(136003)(396003)(39860400002)(346002)(376002)(186009)(1800799009)(82310400011)(451199024)(36840700001)(40470700004)(46966006)(36756003)(40480700001)(86362001)(7636003)(40460700003)(356005)(316002)(70206006)(478600001)(110136005)(70586007)(41300700001)(82740400003)(6666004)(47076005)(36860700001)(7696005)(26005)(426003)(1076003)(336012)(2616005)(107886003)(8676002)(5660300002)(4326008)(8936002)(2906002)(83380400001)(2101003);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 16:43:32.1602 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0ef31c9d-890f-47dc-f5f0-08dba00a4221 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.232];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000E9DC.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4388 X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1774704263539190027 X-GMAIL-MSGID: 1774704263539190027 Support add_pin_ranges() so that pinctrl_gpio_request() can be called. The GPIO value is not modified when the user runs the "gpioset" tool. This is because when gpiochip_generic_request is invoked by the gpio-mlxbf3 driver, "pin_ranges" is empty so it skips "pinctrl_gpio_request()". pinctrl_gpio_request() is essential in the code flow because it changes the mux value so that software has control over modifying the GPIO value. Adding add_pin_ranges() creates a dependency on the pinctrl-mlxbf3.c driver. Fixes: cd33f216d24 ("gpio: mlxbf3: Add gpio driver support") Signed-off-by: Asmaa Mnebhi Reviewed-by: Andy Shevchenko --- v4->v5: - Add "Reviewed-By" Tag v3->v4: - Drop the common define for MLXBF3_GPIO_MAX_PINS_BLOCK0 v2->v3: - Replace boolean logic by clear switch statement logic in mlxbf3_gpio_add_pin_ranges() v1->v2: - Cleanup mlxbf3_gpio_add_pin_ranges() drivers/gpio/gpio-mlxbf3.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/drivers/gpio/gpio-mlxbf3.c b/drivers/gpio/gpio-mlxbf3.c index e30cee108986..0a5f241a8352 100644 --- a/drivers/gpio/gpio-mlxbf3.c +++ b/drivers/gpio/gpio-mlxbf3.c @@ -19,6 +19,8 @@ * gpio[1]: HOST_GPIO32->HOST_GPIO55 */ #define MLXBF3_GPIO_MAX_PINS_PER_BLOCK 32 +#define MLXBF3_GPIO_MAX_PINS_BLOCK0 32 +#define MLXBF3_GPIO_MAX_PINS_BLOCK1 24 /* * fw_gpio[x] block registers and their offset @@ -158,6 +160,26 @@ static const struct irq_chip gpio_mlxbf3_irqchip = { GPIOCHIP_IRQ_RESOURCE_HELPERS, }; +static int mlxbf3_gpio_add_pin_ranges(struct gpio_chip *chip) +{ + unsigned int id; + + switch(chip->ngpio) { + case MLXBF3_GPIO_MAX_PINS_BLOCK0: + id = 0; + break; + case MLXBF3_GPIO_MAX_PINS_BLOCK1: + id = 1; + break; + default: + return -EINVAL; + } + + return gpiochip_add_pin_range(chip, "MLNXBF34:00", + chip->base, id * MLXBF3_GPIO_MAX_PINS_PER_BLOCK, + chip->ngpio); +} + static int mlxbf3_gpio_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; @@ -197,6 +219,7 @@ static int mlxbf3_gpio_probe(struct platform_device *pdev) gc->request = gpiochip_generic_request; gc->free = gpiochip_generic_free; gc->owner = THIS_MODULE; + gc->add_pin_ranges = mlxbf3_gpio_add_pin_ranges; irq = platform_get_irq(pdev, 0); if (irq >= 0) { @@ -243,6 +266,7 @@ static struct platform_driver mlxbf3_gpio_driver = { }; module_platform_driver(mlxbf3_gpio_driver); +MODULE_SOFTDEP("pre: pinctrl-mlxbf3"); MODULE_DESCRIPTION("NVIDIA BlueField-3 GPIO Driver"); MODULE_AUTHOR("Asmaa Mnebhi "); MODULE_LICENSE("Dual BSD/GPL");