From patchwork Tue Jul 25 13:41:54 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dong Aisheng X-Patchwork-Id: 793384 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xGzvD0NKKz9s7M for ; Tue, 25 Jul 2017 23:42:32 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751810AbdGYNm3 (ORCPT ); Tue, 25 Jul 2017 09:42:29 -0400 Received: from mail-by2nam03on0049.outbound.protection.outlook.com ([104.47.42.49]:18981 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751127AbdGYNm1 (ORCPT ); Tue, 25 Jul 2017 09:42:27 -0400 Received: from BN3PR03CA0059.namprd03.prod.outlook.com (10.167.1.147) by BY1PR0301MB0902.namprd03.prod.outlook.com (10.160.195.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1282.10; Tue, 25 Jul 2017 13:42:26 +0000 Received: from BN1AFFO11FD031.protection.gbl (2a01:111:f400:7c10::194) by BN3PR03CA0059.outlook.office365.com (2a01:111:e400:7a4d::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1282.10 via Frontend Transport; Tue, 25 Jul 2017 13:42:25 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=nxp.com; gmail.com; dkim=none (message not signed) header.d=none; gmail.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BN1AFFO11FD031.mail.protection.outlook.com (10.58.52.185) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1240.9 via Frontend Transport; Tue, 25 Jul 2017 13:42:25 +0000 Received: from b29396-OptiPlex-7040.ap.freescale.net (b29396-OptiPlex-7040.ap.freescale.net [10.192.242.182]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id v6PDg5fj024270; Tue, 25 Jul 2017 06:42:20 -0700 From: Dong Aisheng To: CC: , , , , , , , , , Alexandre Courbot Subject: [PATCH V4 RESEND 4/6] pinctrl: imx: remove gpio_request_enable and gpio_disable_free Date: Tue, 25 Jul 2017 21:41:54 +0800 Message-ID: <1500990116-3620-5-git-send-email-aisheng.dong@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1500990116-3620-1-git-send-email-aisheng.dong@nxp.com> References: <1500990116-3620-1-git-send-email-aisheng.dong@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131454637455803433; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(39840400002)(39380400002)(39410400002)(39400400002)(39850400002)(39860400002)(39450400003)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(54534003)(50226002)(189998001)(7416002)(47776003)(97736004)(36756003)(85426001)(8936002)(48376002)(50466002)(8656003)(305945005)(8676002)(81166006)(5660300001)(86362001)(356003)(81156014)(6666003)(76176999)(2906002)(50986999)(5003940100001)(68736007)(54906002)(6916009)(38730400002)(39060400002)(2950100002)(110136004)(77096006)(6306002)(966005)(626005)(498600001)(104016004)(69596002)(4326008)(2351001)(53936002)(106466001)(105606002)(33646002); DIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR0301MB0902; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD031; 1:dcK24qM470UdTFXAdwiF10ZHNJ0sWMmkloYO4p27d/ZZKIbZ/2+/XjWrQ5WwUMXWyyn/i8ju2zyadu9vvE5+uKsR5fpGLkJ7F+4TwMNOuajdGORbtj8ZpJtEtdOViTxvLCKw4bGdelXNpa3LdRL5bC48kd6kPOYpw19pyzagGmBVCdiHcvmcL5RlLqH1ln8WO5Qq9GB7WoCyH7v/SfLEff/mqWX3npyDReRNl3jWDNAkXnudOZ7fp6D27XpCqqeW08jeIlfQ9GD9dsRh3zMuDvEh6UfWemTjiOo4DcrpXA3pM/qliT6f22MSk+oSMmoaK5uF2/62wuF/2mbSrpNaQXsHHbI6R1eWffYmE8CPhnn+xLDR7AAa71gZ/yfEU+9p4r8PHIegxp5hyIA3gTzfmrO+YTn71onxatBQ6Qon196j5Fxu4mQXbmpDp10113FZTk/5Bol+FRz+XuqVYqrp4awHsXGqHVCSsPJ2/C4VFL49X3ZkMZoZKw1HImlZXQh+NdWSpYNPVgbQL+TEIu//+A7HYS7Pptr5UrDbG89f31Qcge0m/CzqsivAmOEdUPDUgDb/Iiwg4XQy4LKSdBBnrltIbdJM4eBHn8s0EzZ+V864JMYtY8dk98ZRm3PbFEzRKS7xxvArMpFT+jWgM4DUla0yGxtAra82YuL2eFw6tFrFav87QvLVbt9igoxLtPERsV4lB6lVR9j7jhwCKSurEHZeDGJXF9B3E/y+5ns9Uu9+VV1OpeeDZMTTuDDvf+1O8Lq5Di5Zbl2cSbBapZP4F14HovkOWz45+iB0ZCzpoXWvXuyEHsuATTuwRvrUgwcwWIUKa283s9N9kwXm33z5LlIe28bWzfL8tVZWINm/L3LmXtGpoe1Q/y65tCJFZS2Cme0tMK30/KqdzUmKdU2wxK6o8K+BEDRaf27e4PWG5q4= MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ca296ae9-e137-40b8-f39d-08d4d362fbfb X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(2017052603031)(201703131430075)(201703131517081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:BY1PR0301MB0902; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB0902; 3:GOscFp/5WxxQ3vmSu/2KW2NLckq2wWJvEXuejwQH5wCQsTOcjhvBaep35ZuBCgKPj0mRa6wEyTOfAxr/R71WBwjWN2QZhQf/9XAR7K6PfqnYWsLJZk5i+O5aJ1kpKjgEUMSdIzfj3iPGjUwJn2hNo8gPWBdva50/DyJTyRtyYhEfiDhZBW8MBlXrtx8PWynBNNMfAr0eDCRaKHhrcGh/ct+gd80H8G5dah90JK9txhe1baW93VDiZzsQ4Ici1A1n1K8NcihZS8sj3pcKBzkhELDp3uHnDy9plOMCS4V2AjgUA1hg3xq62PGj5QGBIbkPSi+pkTR2PWspvYxOOImXXfwkbDkMUGAEQV95zoWRs77ViktaykoOHjjzh8jJV5HnqPkOhssNMggTQhzKJzMch0YQ3/25am7kM6T3lWep7vZw2vxxUtjmrf7ATX2o7PvrEO8YGMou33GbL59QkaIi2YHSXwGhfnKKlrbn2U7A0z6QQ38bAyh5wwi0xYfeTgGMWFP/8+PluSRBN7Ean2yES/CgAIC4SEeNlxfxMKXQTN5p7ErYsjGGHPK7EHzw7Ar5/C7gJwKOFFnPGwReyuuvQAw8hQb2K+wRurUrIKEVWinVE6wbBHaRmhcpQ30sYsUjCgj60XwJNYGVYKjulf5j77omODaPSw1N7Q7RhKxz8t+MnJe3pRUcLmyAFTVNeOs2aLXxNJhjBoL6AE1WyoQX3vkeAR+B6qL9dFy9HSJp9/P8K1hL4ODRO8vnzpuH9xL50NxD01Ik/FUSeJzar5OuVRNJchdv8UtJw80gBk8iCGHVrsH+SKTuY7g7zp2I5TyQHCeB46k35bPGFiTDo1EcIHkd/t+/OkIUUrh59dmU0ZM= X-MS-TrafficTypeDiagnostic: BY1PR0301MB0902: X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB0902; 25:FHLfJ/++S4pVihKITMea4t73YtWD4W41t0Fw3zaDxSionZRWeMkACDoLshC7mHMAuJFxLvA/IThoQLRGwXUXNYAFfll4Ud0p7jPuSwlQPocI4anrAHAOXQVWKFXIlxQYegLjLwp4HY3pXx0oKagTtmN5qy6C/2cJzMHr1L5FfnSkQJiWDPbjifKB4sN5zpfHKcDvasTxSIv5fxUwbjPKOCpp8UgkqvbckB6brEcC0uKRaBhytf5FCMkXLgJluu6/2OFVuoSeR52nJoCpfbNQDg76AgNkPIsopWdvZwdvt3xQOHU/l4L1cv3i9IR6ojUEEb4EbaMzNS/pXlL5jDZ+1CkT9BHFffh42IBSxoMNacqfdrSGsD8dSpbrScXtJyhkTW71Kiwu9u2qB8AqOIeEwnadOgcC5IMQbwaBIX+ZmSEVdBemB68ZOeoWrgdlW6RVe4e4Q7S2r/nKw4dI5bM0Uxcrc2XCvc9dJD2uM0rQLA8ZNT8d18C9G/g1BMeZgz8VLk/bY6L+aaRFSON9BT4KYszrszOBPCHcqQ+xfaFHtbw1ZghaL0Nb4YvmoT6D/a8K/WTYV/OiLlYcOVSbRoO5lO9tU7FXSdspP+hr5dU6lMD9XZVWB6fQBVirJfiAcOzvEsehEAi9c6/aWEQ5IDpybMCDuKFQL+yEcUL0VwPF3rxMkj1dmMnlN1bFSpsw1YmylPZOyoZC+2QC36xOl+fQa6pQXOBKI0SM+MFwkiSAOG7Jqucf/IfkjqfgtsiOG8ci/y0d/kWOzk07NRFmXtoSlDXRBBbtx6PxycD2Bew8/06M0jRo+IhQ5A9k7fNiGd8pOvWsGB6M3WGivuhWZfgwQdLiK1dDdoBN+SuWHoGYpFo567tQLxQhtktnEx+sgLzEirSrhUfhOXHcaVZ6PavxmKA+LhobDZAIEQ+14qwGAw0= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB0902; 31:YB9o8zXlvgHK0NV9cNgTWBQaqhkrrGo4g+N4SMAt7vConzouzwa4NLse+paWvgNnNS5GrO9Rn9k139eb+3U+wvF9cDr8+nVDgceNpdbDQiNuOm4Wg4xdeKoj3zGxyvJBSBv3eXN+JZ2BQzLDLgEIHLN/D++Lkhe3A2wgh17yySKtoE2Ikps4cJpzBQ7FigNzMkZzbxmy9nOSGvnIdYNDoyVN3+uREDoIzgEb0aLRXRmSKUslAxtjqIUvx047D8vJN7/8iZFgTwp3ttyRl9TtRAoODkPGAHNevSyoJ8tQ8aGwJ0sEOxDUEh3LC2+o9vGBJJIwgeK4b9s1ZPhxwkvsXK+q4/nM4A5ZHM12qR9Qv5xxolwPS4hYRX1an5jYPIITXhXTATjC5qWdNaQwdybDKxEvS0XQoJm07SYZgit4c4Mkiz97zC2hfuhTM9AAYkwe6h/x4LfGFaXPKr/C4qHXO3VMNt+hSjJ+cLo+UPGrC1mDix19B6QpffPJA+gB59hypleQky5FFkhzjrQGWEru2bFLi/DkFOV+JCBA7fPqT4wI9rVP02WyE+T7B6XoY+FWXA5813OCYJKPV5FixIB28T0MI3VIPyswcE7fUPBrVrQFXAJIv4KadtA1d1MryAACxGt+2eUe2uM+cdr8wvQIokQkliBm54jNqPtcBM0jdv5HC7vZjE5kxFTpA/RcMll9 X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(8121501046)(13016025)(5005006)(13018025)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(3002001)(6055026)(6096035)(20161123565025)(20161123556025)(20161123563025)(20161123559100)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(20161123561025)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BY1PR0301MB0902; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY1PR0301MB0902; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR0301MB0902; 4:H0qCs+b6uLYp9qf81hd4Mk5tHwrhRc/EJ/rdBFJo?= =?us-ascii?Q?eY4c/eIy9RQFffMXgsUNectTM/M+L/1pw0+0z6c1Ps0XmqKu8qwljNQpnFR8?= =?us-ascii?Q?FSmXpJqMO6NB1Pt2eDnfdrMfiI6VlTMmZqCd7S7V3BNx5zFxZjzA7syiOcyc?= =?us-ascii?Q?3QuC3C5L5tC7hAZHgbon9juNMPLfYBA4oapen6Hhh2OJrGWUR5nRFu3CvOtt?= =?us-ascii?Q?aTw1wZ5ocMgX57Z8sGmxf3Z8KJY9NYzTw6If6OExovTyicqKaN5FxUE3tLc1?= =?us-ascii?Q?YAA6MR9+lo0HAcpP52CrE04sUjB6fA3UtUtnVqwBOW5GKcCAct4cDfH3kACb?= =?us-ascii?Q?740e3oEkZ3JqjTnYq5yHnll3ewxloJx+Y73eIA4mjMBBvmn+XW+8cYSmoY1Z?= =?us-ascii?Q?jgafv7z8hCoMDzrvyd+bWFBglIlqlCVELPhbQXHTYzRtArWi4ivGXohZe3tD?= =?us-ascii?Q?MTqvYS5OVPiLSDthv6x/X0IVRhEGRaDuar/P/1Ym2LABIQy9LNbmqMyZYQ0U?= =?us-ascii?Q?bk8ADG9NHLytH2Rzok/t7qt2Ug0oirN6TKjzXTdxlzIfBb433KArnEkknAxf?= =?us-ascii?Q?eeX40CK9PxSxVG2U4s+/3JoIcIqN3Ev8Sl82TMuXFKCF6ehFyfioefXvTYHA?= =?us-ascii?Q?w+KJ24B0/wCZdM03w2wrk09K4+Bn4Ap8/M1TCo/jydIL9CrbxgINoDMHExMI?= =?us-ascii?Q?YRZxMMJr0OVoLxzZxf8Wf9EOY+E5fbwFFVMOcMKyxuKJbWddElLDnqV4moZL?= =?us-ascii?Q?bAr2aeoEGrfGdkE3bnjzHX/01JsnTqqFD+3DIvIZqWHEp/Fr3QNWT28BlkNk?= =?us-ascii?Q?kp+tdc/6okMWSIlNFq7SB8YBkR/TlGpPerTkcdxNeQZu3kN5RON6ay17xljl?= =?us-ascii?Q?0R2zsQGdji2PVOifa/drclV60r2Qpp1gC2HKIzJsgtkMTf7XRKRCI1HkMG52?= =?us-ascii?Q?9Sh1QOO/+Ac3TkdvgaRoAHfDnXYy4FVUAX5sXw3yWk26dKl3HlYs/sEJOsL2?= =?us-ascii?Q?5n3N+FLjIdm6k6j042u9HafBD70Qw0Vd6TXAOWDyyZTW0Kkl91++ZmQbDsEB?= =?us-ascii?Q?MMbEw7BT7z5hG2iNM596w9RB0X6vrz5L3UU4gBtzY8M5NwiP54J1Nt8ep1b4?= =?us-ascii?Q?SZkOr3bEIBERBsrk242ekKYEsNVyhA0kVYmdqf8witf8hRVsQA/rZjIYHZaO?= =?us-ascii?Q?I0NlhcxJsuS+sfyLPRZUHUbxcKn9bvx/bciBjP4+5lqUW9VamBzhtz977jKm?= =?us-ascii?Q?5TocT83NuoaONRhLtck=3D?= X-Forefront-PRVS: 03793408BA X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR0301MB0902; 23:koaiwmiBSWTAiTf61zHHBoQaBAhS1nxHEARPtg0?= =?us-ascii?Q?iCUHO6LZiCNnQe0XNOWh/NQ5Yf34lAIUJ44n/fUWQMSrFm2USCccYwfwXquZ?= =?us-ascii?Q?Kv4iMsEjT75Aodl8pbRAhRdlUDL9Vjaq3YYqoLO+6xV530XRubO3hOf8/cFY?= =?us-ascii?Q?J59dlXBUiIB+NyH8nrSeBJEUf67I1btnTebSo88t5XRb4MACeoK1CjS0rIbW?= =?us-ascii?Q?WirFFpyblmj9XVypu/xqK3bUGnx7slZTUYMxQMO/y/J3cg3T6xd/WnOfXCjP?= =?us-ascii?Q?efKw99nAaGG77rT1AlNfvlMKkaRIn3mvdIyHgnKellh9pxxrkaNu1n9UxKsz?= =?us-ascii?Q?87ZUOGznmUlqmtmf+0MG23OowAuNYcL8Kcm+L5X7SjREm3K3ztly2nBbJ7H+?= =?us-ascii?Q?HXU3HB94Q2MeYi9pytfNPC8lTwL5Vh/eJpMgJL9zSjsmHmDL6PARgfjjQM1N?= =?us-ascii?Q?IeJTYVbBFfcERcth4sOLZayc7hFa2uMux+42iaX1ijoYGJyJkewELL33DpDH?= =?us-ascii?Q?jkh4YsB+78fU4kIX7EQRac6Qr0oTfhlAhfi6FlBUfyxPs/7ZfHYnD8qDxoXk?= =?us-ascii?Q?T0xXVlimKQO4jGyc4ULp3U4PyA+LIiunWC/OAsKbzD3QKCPubirQafn4c7qo?= =?us-ascii?Q?G2P/4AnbREFddZdGreu7E8F6qlM5gZF4Gs6u+nM5/dAOrvOVio0sbicgObLT?= =?us-ascii?Q?Mw/92RlgL0YgA9UVFbJxXeoeiCG4gzKX95T9X7F1J8inN76a/3UgGSPzqWqw?= =?us-ascii?Q?sErqb1R1WY8j7bOXarDCRYcoB5EH478Hr0Ug8hSKkIi0+XrnhtknbbSEmeN9?= =?us-ascii?Q?Q8/OqUAtibFC1it3jZV/0Cos+QgL0smpiJDc0JcYiHUPUav4GeQl1YK87zpc?= =?us-ascii?Q?Y2Wz0Z1exSw0usueB5+ZHQhAr/itZyYPXG7hJci0BjXJd1aS5DqbdJCQXp2L?= =?us-ascii?Q?alzcx/p3n3/Z7ltig4Dn3BETZ2IsA1AAeEiCrtwSa2vVQxyhsV8BzE4hjCKT?= =?us-ascii?Q?hPfgIH5CPpNH33RaN5Eb8dPO3l8Z2Ku4pOp2o/O3t3dfPptsQDn17xESMud2?= =?us-ascii?Q?j/zV+ptRiHYoSwyt8CwXMqMVeSWeTA3VxJR69GMP+/WX7BsK2V4gChu/pc6V?= =?us-ascii?Q?QjCf/b9StAwA6bGzB91b25eXldEMU47lFpDdIEyNWPb0uGSaeq7dxqyWE9IA?= =?us-ascii?Q?LfzxFz17ehlscxXVD0On/SW9lAW1yQYqjqP+iOGdvoQz1d8VFXLuFaWHtf5P?= =?us-ascii?Q?SVby1sx5wM5OKXPb0OP/0JWQtfgEiSJMgV1+L34K75WHY5k7+qam5uhe+qRf?= =?us-ascii?Q?hjf/VZwMAdeL0H7MZuzEKNovPvQe/8wV4JtaSShBxCOT6n5bDw6Hrp/bnqA7?= =?us-ascii?Q?J9hYIzuFXjO0yix6DpwkvGpXNrjrWGp87ElsD/WAQyClQbCq0U7t/ekveijE?= =?us-ascii?Q?+kc2CLvLmHg=3D=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR0301MB0902; 6:U+S8xsgrgCq6L4pX2wNuJVkt65nWTISq4Xh7CpsM?= =?us-ascii?Q?XvV54hSDg26qAeEJsqsDNHxrlSsJnnx6yhAVRwZc2P00a0jxIt3HVxZZxMYw?= =?us-ascii?Q?YGyaABsFjABfSD0wLIEzCJhOx7tvNvCZbi7/KHqFqoyHlhQs7tq+8WOQ67ZE?= =?us-ascii?Q?BOv49AMQodTj+OFaH7NHtV1PA9BvsaLV0LU24/x9SB0GRFVfGqCcusuDEiYa?= =?us-ascii?Q?1MILEmcwhDR50OXjlqEzZE/Wle4K0XYdvfrJrS+cFwstepoKOQx3k7ZxYenv?= =?us-ascii?Q?H7VE4UcK7MK29SnHBEseIQr118K0vwR3MZSYl2SG832CAWrkgiS8pHFT2/5Z?= =?us-ascii?Q?0Q4q/sfy8/TAjQOacDzCpN14z/cM5xsGhLwsNyPIprsncAO7aNZ8y233HVzp?= =?us-ascii?Q?/Jj8Ei2VS/aaOYOyi57rKhzbQK2X3nLp32c5J0lPox0nKvDiwnknF4eOXTxA?= =?us-ascii?Q?eOOefTaJSvReknuDthT0L8ftQjU/Vtm1n2mdp/tsOmFnYuTL3I0yPE7mQz8w?= =?us-ascii?Q?UmkxMFJhnjMwLQdLV0/0PBtLPZOQk5/x35VFMNKHdL52vbheUE+tG4ecxvKa?= =?us-ascii?Q?YfPljhz8kwoW2nsXUfieonUconTsAt2RP6fEKqPNTZLyiR75Pb+TWdSNrvj5?= =?us-ascii?Q?fj71JND+XD9gf7WR8Gku3Bj7SNJ97GD56bxMy0TyYQRAphY6YR8ECgaEW+5r?= =?us-ascii?Q?1/9Gmg6nlcdBEDjKexbgnaT+/PwRXIl9DHoJ7itH+cRpJid6J/6LuwLYQ1s/?= =?us-ascii?Q?r/EeBJ7PdUuAIouZSVFnBbSBtlJ8tFgoq+QyZs8ziicM8W2VTAbh3N2IAuXL?= =?us-ascii?Q?S350Vx0YaIMo+gcAbFT/BupylmFtFq5erRbT6wUq6/jzPdOCywA1D29BUxEk?= =?us-ascii?Q?W2mY68sjQ9A5Vud3a+xmjwpk3lsaIUsRNF5rmVEZRDE+5PO4hYqLpeaZj+oO?= =?us-ascii?Q?xxeHNcfHtgFi4rq72W5Ve8t6mh+1dcQZnkMgKpKLkw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB0902; 5:RdQ9ZTwPOCuzHM9lYxQ+fisrnqBSekfmKsqI42tR0zkf17675v3diH+VzIsgCmNP9XkOwczXjEm8QCOUXQ2gMWrqcj8zLDr4890uR2nebCuRiKeWGrJRDP+w4RnKUKiobaZYzIaVaooDVzMcM+dkhMsBbwrGpsRYmDTyBXFlCL4+Wxp7BshQe3NuyzS9MQdCMDHMf9eMrk3zYNR/zR37dTqy894T9ylv0Idpv3kqA+ZJVohiD2FJ3mrE4g64y94w5bTS1bH021vWlsSNSF/FOs/otshSbLTgtCgwej7W9rIZy6CNZ8SEuHgjfrJg5EZHDjwyPJxhMDUGwEPvmqMZoqpzak/ONqZAKJw/Qo5khpLTBwtgDpoHbNWQx+QOHSoRIVSF7Y8vIY+aWQ43yE6nyG5z0UoHtIK6r4uLO2L2fFsvehMWiXRx3uVSBuW9CitmmpBGqCiRU8dD+LjHn7Gm2uSIJxwYfzNeSWQ2tTmX2Bfv2kRjyUnZ9Us3M8epfr3oSc8iM5woylWRNSwOUl/XGg==; 24:AL8k9NcLORENWJYX8eeJqWFPeTd68TUK1xUzWf3IH6+5FDxRZ46iIxn4W6FBMdOoTdRwE5oDLMlYEFnZIW+JailkkRVgLgvVjfOb15Ezq6M= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB0902; 7:bm3S35WDyqLEikxbbcc+ARc4ZJWxJSD8w9Lg8YVzs9OictTxj+olY++PyfgZJY7+NLCkt5t37j0Nf3e7LfUA67RBtxx+N7zHTwNi5NQubIRqr/x8QVS7j+X1/VL9OZcv/W+cvZAgm+JLxIf9joeTpijaqYFJRFXtnBNPKLWTN1QEow5+n85Vn5NlyDw5rxmoX2gT/Xmh5usljRee9qPJVwZfkgvsubj1Fi2AoMap7DW/oDCmJGK53MEGTtb3NafcAxXBf/aweh+3NbaIU3udcDGi5g5kDa1sVlOZB6ZkWoxYPVwwVEGy02zuHYlGGndqT/ap3NAoNzsGYSLgCbLK5FCxyXf1Auu1QT3WhY9mPXH/Ocfgi5QtmQYRkoWvMhUYFqbBAl8qQsxYBYGrv7fY4nGr95l7pJzWpFU+sckm06FGR6l+1aboOOoKZsjbM3nSqSkLY6NOjJ+oEqvqxIO2O84ZdJrwVntMfBQfQnkSUaR/aC5CJlyVzmMyhvCd6MP4M1Qo7mnClC05rwmz4KOqD7sW7dUIFoNUgzIk4EuoRylVGZT2JJjNqFDOFDJsLhSo3JvZ3pHAxkW69004O2L0yzJUy23v88bvTTwstkqTXPF3o2wm+pn19YXlG2NudXHCfWQE4KUE7rdqqExIc/ERlAC3BGv+n9i5nGuXHnYjdLAHnDu5wK/lHXep/JU7RSmMsVml2C8oN2hVwbU0BEBPw0E80AhlYkDO5K2xReg6UfA8PE6Fs+LTcpDu5eSJKshJcaXwP8hWNe+GYLkMur+fgv9p1dTdaJq/kE4q9jKxDGA= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2017 13:42:25.1435 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0301MB0902 Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org gpio_request_enable/disable_free actually are not quite necessary as standard IMX pinctrl binding already sets GPIO mux from device tree, e.g. VF610_PAD_PTB20__GPIO_42 or MX7D_PAD_SD2_CD_B__GPIO5_IO9 No need to do it again in gpio_request_enable. And according to Stefan: "For all GPIO I checked in upstream device trees we assign a pinctrl to the same node, so in all cases gpio_request_enable/disable is really unnecessary." So it should be safe to simply remove it. Note that this changes semantics for Vybrid, e.g. "The two functions have been introduced for Vybrid (through SHARE_MUX_CONF_REG) and mux pins as GPIOs automatically when a GPIO gets requested. The automatic mux is optional by the pinmux/gpio subsystem semantics, and other NXP devices do not use it, instead an explicit pinctrl node is added in the device tree to mux GPIOs where required. Hence this change aligns Vybrid to other NXP (i.MX) devices. Note that all upstream device tree assign proper pinctrl properties where GPIOs are used so no change is necessary for device trees." Cc: Linus Walleij Cc: Alexandre Courbot Cc: Shawn Guo Cc: Fugang Duan Cc: Bai Ping Acked-by: Stefan Agner Signed-off-by: Dong Aisheng --- ChangeLog: Rebased version: * add more comments about Vybrid history of using gpio_request_enable in commit message. v4: * New patch. Instead of fixing gpio_request_enable/disable, we decided to remove it after dicussion with Stefan (see blow). https://www.spinics.net/lists/arm-kernel/msg583154.html --- drivers/pinctrl/freescale/pinctrl-imx.c | 69 --------------------------------- 1 file changed, 69 deletions(-) diff --git a/drivers/pinctrl/freescale/pinctrl-imx.c b/drivers/pinctrl/freescale/pinctrl-imx.c index fc1ba3c..505fe79 100644 --- a/drivers/pinctrl/freescale/pinctrl-imx.c +++ b/drivers/pinctrl/freescale/pinctrl-imx.c @@ -255,73 +255,6 @@ static int imx_pmx_set(struct pinctrl_dev *pctldev, unsigned selector, return 0; } -static int imx_pmx_gpio_request_enable(struct pinctrl_dev *pctldev, - struct pinctrl_gpio_range *range, unsigned offset) -{ - struct imx_pinctrl *ipctl = pinctrl_dev_get_drvdata(pctldev); - struct imx_pinctrl_soc_info *info = ipctl->info; - const struct imx_pin_reg *pin_reg; - struct group_desc *grp; - struct imx_pin *imx_pin; - unsigned int pin, group; - u32 reg; - - /* Currently implementation only for shared mux/conf register */ - if (!(info->flags & SHARE_MUX_CONF_REG)) - return 0; - - pin_reg = &info->pin_regs[offset]; - if (pin_reg->mux_reg == -1) - return -EINVAL; - - /* Find the pinctrl config with GPIO mux mode for the requested pin */ - for (group = 0; group < pctldev->num_groups; group++) { - grp = pinctrl_generic_get_group(pctldev, group); - if (!grp) - continue; - for (pin = 0; pin < grp->num_pins; pin++) { - imx_pin = &((struct imx_pin *)(grp->data))[pin]; - if (imx_pin->pin == offset && !imx_pin->mux_mode) - goto mux_pin; - } - } - - return -EINVAL; - -mux_pin: - reg = readl(ipctl->base + pin_reg->mux_reg); - reg &= ~info->mux_mask; - reg |= imx_pin->config; - writel(reg, ipctl->base + pin_reg->mux_reg); - - return 0; -} - -static void imx_pmx_gpio_disable_free(struct pinctrl_dev *pctldev, - struct pinctrl_gpio_range *range, unsigned offset) -{ - struct imx_pinctrl *ipctl = pinctrl_dev_get_drvdata(pctldev); - struct imx_pinctrl_soc_info *info = ipctl->info; - const struct imx_pin_reg *pin_reg; - u32 reg; - - /* - * Only Vybrid has the input/output buffer enable flags (IBE/OBE) - * They are part of the shared mux/conf register. - */ - if (!(info->flags & SHARE_MUX_CONF_REG)) - return; - - pin_reg = &info->pin_regs[offset]; - if (pin_reg->mux_reg == -1) - return; - - /* Clear IBE/OBE/PUE to disable the pin (Hi-Z) */ - reg = readl(ipctl->base + pin_reg->mux_reg); - reg &= ~0x7; - writel(reg, ipctl->base + pin_reg->mux_reg); -} - static int imx_pmx_gpio_set_direction(struct pinctrl_dev *pctldev, struct pinctrl_gpio_range *range, unsigned offset, bool input) { @@ -357,8 +290,6 @@ static const struct pinmux_ops imx_pmx_ops = { .get_function_name = pinmux_generic_get_function_name, .get_function_groups = pinmux_generic_get_function_groups, .set_mux = imx_pmx_set, - .gpio_request_enable = imx_pmx_gpio_request_enable, - .gpio_disable_free = imx_pmx_gpio_disable_free, .gpio_set_direction = imx_pmx_gpio_set_direction, };