From patchwork Tue Jul 25 13:41:56 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dong Aisheng X-Patchwork-Id: 793386 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 3xGzvM5ldPz9s7F for ; Tue, 25 Jul 2017 23:42:39 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751897AbdGYNmj (ORCPT ); Tue, 25 Jul 2017 09:42:39 -0400 Received: from mail-sn1nam02on0055.outbound.protection.outlook.com ([104.47.36.55]:6368 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751657AbdGYNmh (ORCPT ); Tue, 25 Jul 2017 09:42:37 -0400 Received: from BN6PR03CA0012.namprd03.prod.outlook.com (10.168.230.150) by BN3PR0301MB0900.namprd03.prod.outlook.com (10.160.156.142) 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:35 +0000 Received: from BN1AFFO11OLC002.protection.gbl (2a01:111:f400:7c10::122) by BN6PR03CA0012.outlook.office365.com (2603:10b6:404:23::22) 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:35 +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 BN1AFFO11OLC002.mail.protection.outlook.com (10.58.53.73) 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:35 +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 v6PDg5fl024270; Tue, 25 Jul 2017 06:42:31 -0700 From: Dong Aisheng To: CC: , , , , , , , , , Alexandre Courbot Subject: [PATCH V4 RESEND 6/6] pinctrl: pinctrl-imx7ulp: add gpio_set_direction support Date: Tue, 25 Jul 2017 21:41:56 +0800 Message-ID: <1500990116-3620-7-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: 131454637554859201; (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)(39860400002)(39400400002)(39840400002)(39450400003)(39380400002)(39410400002)(39850400002)(2980300002)(1109001)(1110001)(339900001)(189002)(54534003)(199003)(7416002)(48376002)(8936002)(81166006)(81156014)(50226002)(8676002)(76176999)(50986999)(97736004)(626005)(50466002)(104016004)(4326008)(47776003)(33646002)(2351001)(105606002)(5660300001)(498600001)(2950100002)(68736007)(6916009)(6666003)(106466001)(86362001)(38730400002)(85426001)(110136004)(5003940100001)(69596002)(54906002)(2906002)(189998001)(305945005)(356003)(77096006)(53936002)(39060400002)(8656003)(36756003); DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR0301MB0900; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11OLC002; 1:os7OvuGuW8bel1Wc4UE2g9IeJTfcssuIVEMCA6MTxf6q1LZz9Z8RLkf2PlkZNNTI7WofXCkNLl/Ex85VeUXj8WzQBBivrDh386S9YQR85GGYTfdhFpf9vg+h//8GyzNEXSg7KuKoZtTN22C8S2nVhVo4sBFdhutW5FtvJtK5BbJZhgMKgdnUMFSkmoa2SC+y9atvdSok2v8KJ3uz+d2USJwF0EWNw0tbxtOzZvhhy2MkUHenVxU6Ne/zRrso2pw5xPqVvwdS6hhKEsoAsAgm8E+0WsHWic8oO8r9LGoECLRYiYDz53JbCK6qqYejuPuS0N7s3hc09ZnsNTaYxXGhyhsBNdoS88ZKOHie1tdsxvsF0J8xaDZ9l4Dv6pdUsI1NjGESLQOs95n2mZQ43h1OrMy5QHP78bqr/6B3LY53QQenwHcADQ35Ilc9xfsH5E1jQGAk+0fF6aPXCFhbrtJHLxSMFzgRTpv9o6dRh0u9oBoZFQTJwJGlv6l2lkdjtunwrRUFbFFeczP2/xYR+B2apr8c19uaU4Xu06vZjL/GMtEN7hExKqVq3FOIU4lrknjCbF16yAvPk6X+6nLxBc7cH4fVOSEid+1mlaXzGxuZvhnfYSSRLSTSJsoIFSvhDZwa/H6O+cQZBTHapHUR9y2N5gkftZ4TBD2iAIg0INi6SCF4jH4WcIUv6/wnVK+5YI1GWXThByz8P6ViPI5Q5A4xqbjj5lCHql8A8p7q8ic7O+4R+b9OGu2EXY/YbW7FHOsQaYFUUV/5JgwXTdXPGyBgvceYNhfQzIXpbm47Mv1TRg2GGvQ59gk6ejPpulOZVMQzMLvVVZnqxHqAwSQRdCQBdTmZuSVlusCwIsUtA8NBqn0sgqGdDCrT5Jwkj9Rz8fP+REpwG0eb0uLqME3lWOB179BHO8OoSayUGGCxOhX3V/o= MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 521bc453-2812-4c21-9b61-08d4d36301fd 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:BN3PR0301MB0900; X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB0900; 3:79WrDREkyLz8mbNHP4xybWSkkdBe6Ycbf5pnXTXBIkYD2j1Tt1P4BoEcDKNbR/+6DvgVccc+xlj3rFgUk8YxNGyunQ6Rp0RmXgPyKOgAMM81hYvggn9gnHEITTgdXnW9oKrVnXatcingZBbpOX2RHmDv/MsebbEI7jqJWRphUQ9pkerZTeI6M3nrRHFOmiKPeqMfrAmXdJxDHy21LPAuVokh+RLXLVEbWP4UzgDzURC7ucnAres8JEpm3qfueCVvnQE+jzUPyXhY8ej8t2kHzrmGKEZAgH9kJISFq1ArvZxjhN61k3dygA3zGA1z+AG2sJbQ0Ig42SX+n6fgQi+yKTjphBkwZO9BH1ujKIa+4/exI/951t9xf5tFkWkrn7cQLFCdXXsN3YZ0qu7wean86LqMLXdiJTbwE12I1xfZsJqN0o7oCjPT0BHQM9LqquodHgyOcHVDNhJMNJrtSgpwwqiN7zM/INEN3EOsIYBxWCYV7DL8I4XL7j4SRbQuFQot9Y+AjuqT6akN9uNrHc31oMp1EFoslxldB6D5Qxs4DHnhQyX68lTXbrDvrM2s+oknREIKYnGdkpw5UNWay9vw0OuxfSDvWUyM09pJBLdgcvdIOdaEP6xNwr8liIiBpoAzEZOr0RI10P9NGeBu5srZ2BdFkMp57vBJ8pwyUGYpUzHpXyt7xdC08F+/fRqAzKx1r/0PIWt1jj/ftCCwvXcVVWEqY5Zb1up+5x2xy1xGl+6LSrB2TywfsFRAKEHdofrCVvip86D/AlvWgQbzii+tONUGJ/VM3XNpbIGEZuLqAuvckElxr7hz9z2adAzmf/qDORKb4DluBRUE0l0b2sv5MoJfPUFNoJP96PzhCg/ospg= X-MS-TrafficTypeDiagnostic: BN3PR0301MB0900: X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB0900; 25:l6i8sgpEWjbx4L7mdwwNB8sHyx0IHaaVab6IIvfpnayfNCt+QKOuE9FIUHHqFEVQlNo1MtRgIazeYeCayO7tDUgOef6rGQHg4CNU75Fi9hu3GvpCu6/ZadTqmB4fcy5uzoEkLSAVC+QkMA12GsKciYLgNKAkKbuCZRIxiXVR5JoqX8tIYk8fVBEFhb8kN14thJmgxWWMaaxR+3Lp8kT/zpA+jiYwxA2Wh9aI1lGNEDgRYKr3vtI4+xNw1ZI+EOxYvbsj1ptoB7z+hEZCblVzbnVgYWyCbotG/CUGZo0A8XWoe4KYrXDidYhWXvucspfG7QzGagTMvpWbezJSKfYGvihd76iyVP9HVOmWQQiRGQ/Cv1GtyGRZFbK+eVEjpRTMi2qa2WS08gPExxVak9hyoHw1Me/gOimwfgn2Qw614w5jCobefUMzO3DPwH/23kskaKH/7SfZDf3WPgJNnx+T7CGUu1tl+HD32WhyED1gIK90lwreTeeyz8poaXhGK27Daya1ddg5igqtMQG2rPtC1XhRFwqnjrmziddz6ilebfhD4idvB39GZ9nvv9ZFiDrlvZ7fpZXEm34hIuP5zySPxj2I5kYERdMxUGUio9OvGr7y/Afc1V5bnj8g97GxPYhiiSZEijshaF4ldNnKhOs4zWW9xXkIFTb8l9D6DDaufm4unt1iu8dtFcLqdgNuu/rkX7ax3zKY/CvYRZC4IMGQji0Xrp1wZ8B/ky3TNj9HyZ416DDlgIqIcNkZS9MIZcNW1e6AwLPbvicoaQjBKQo3jOhpijv1pu8/iYK0qd4ZB2igjrqAwOlOwClEHfrozH595/v1CndTcNY933PtIpy/bCOGq1LvIWJprrPCb3puuIzlg/mfxYhwUvlP5sC2bxfC/fKhlVmBCVqF3dQtDRQTwuFtWAzYqmp6wxp5D2IZxhU= X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB0900; 31:LSrWbMEP/TeIsiW+SlQnmSXLF+yfCUxDoAGakonYTHyYsK6YW5mAw8O2Mu5/kA4Zv2qeSc4rkXTIaEqWZ1Xt1RpOJagRrtARzgO2AG+TTu6Ds/XnbidbWdnoWN0yA6Raqp+XKzCnDIdCh9aNel/EfIcM6KLs7unOFLWSibxrW104LkVJATvbjssusZydqslBGnUgrMKr1zWt5utxIYJb4/U9FqsRsXuzycarqjMtlCd+2/iVDfUFHX1xhqGWLOsqcLLIls2XeLOCs3gU9o/yaHupV+PSzCCyJNrbDzRcgDG6LWSxpIV5USZNPDUoLTvFZh5RaYcnaapvf3FwLpMIyWEfYXcTZi1EBDUfqcc7svZSF+LW/vjhoHFW11z2jZw+ti/3pfhSt8T7ysYWVGHy6AKguJ+qDkwvj6xwbSpbCUdBP0HokScH1Ictedv5Mz4k/FcM/scGikqEkidAx8lTIdM307EtHosJrgH/b0Lo9n4qvPcWOzqMJwAZx9Sg0zZ6dZic9JBX/zI0zFHgFwEdHhuhACeXgqNSgzYmqXTYVIVYbGob9a4fgrHe92kmWybpy4dKIH1r7PY4SZgqhrg/8n7jAtu0wU9Yshz7e0kY2u0KbEJWRRq3aFhTfCme4K6oNVQO+NXm9vBi660N+IpIjhbrMI3AkyuMidwCZ08zzzviALcFIECagqRmto706Mz0zDiGG10bt91Rhfd4b4zXkg== 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)(13016025)(5005006)(13018025)(8121501046)(3002001)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(6055026)(6096035)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(20161123556025)(20161123565025)(20161123561025)(20161123563025)(20161123559100)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BN3PR0301MB0900; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BN3PR0301MB0900; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR0301MB0900; 4:0KiaQ11eX9sb6eV5J6N2cJHWYlpp+JuDcmrM+XDD?= =?us-ascii?Q?icWWcv5DdCzggKU3X1pRZTovxqHAK6Dmr35/qjib6MxmLBCs+8pSzKVjxPhU?= =?us-ascii?Q?X/5oFZez3TMxsGDtg91XKOvDnkNrwzYIWseKv8B1ySpsvlm/kCOE5BcRjZ9k?= =?us-ascii?Q?5zqoRWOIuD7MOvvGFDMM3hz/VCwiqL/icbSB3DN25TKgs8DeAxocP2Qk1OgV?= =?us-ascii?Q?xWnVcfbGjvuyBQVQuRJTVBKqT25iL9YHUNjszzpHEg7SJdhRtOXClEXDo63H?= =?us-ascii?Q?vG469fwY1YC/bKWyF6PckWyLiJFsOKiCUvYofgr1wFds9xejXC3+ZsotNWEj?= =?us-ascii?Q?Tlxmyo9b5WA3rAe8N8IEXgpSHysw+G57kclio7LK3Qn+adLFkWxBH0kOA2Av?= =?us-ascii?Q?rxhNrpH9ulbjSuOAi6rq4W9AYk+5VxRmpddvzqLHmqTgzfARrjAPzhNi8tMW?= =?us-ascii?Q?0/hfh6eU7MR/0j/FSZykgPlZVkffQjd1OpRco3tUxKbu01j+pd2qeaUkbmXx?= =?us-ascii?Q?Ilhp5J2ATvrt7nVbzGY5+Czo93ZVnKBhsxA+7l8IMufFjjiSNgYbawTdwl/G?= =?us-ascii?Q?RxDtYHlcSTe8nXdUdBZwRDLQm/mP7wOKRL+jTK1QOAD1EkDlON6JdQVmWqwL?= =?us-ascii?Q?uTrQ/yCFlxqPaUEQm4stSKiiUSG73UK6Hn1sbp5clGvaBk6WBVQ6M5ZV7ltE?= =?us-ascii?Q?DhW7Yrh0PJiEh1O/57bug4tlL8M4PePd2efEzn3xcx6HzE2GBU56KD37GPTt?= =?us-ascii?Q?seyhDsxv6gUzU9yv9cU3WQzBq6qs3gL/xKAtxd0N7fLVhD87yPpQfmCiStZv?= =?us-ascii?Q?pyk/Q23V9RWrQc2AkP4XjYJZQgjE4Ks7nVppIdtHviOgD5whIbe+p0lPUvl9?= =?us-ascii?Q?JGKdJUkKI0umlWRijbR3NeMKHGx+TRCreI6x8Abm2a5xFpXUMEjjHhEUpB1T?= =?us-ascii?Q?U0jyXcHWnSc6RUpSsSCWFU8Fm+7DDcszeRLmUN+NYQfEs+lPLlMQkUMKDhpA?= =?us-ascii?Q?DT8LvyyS+X/Sr/sRby7pU55Om6l4d7woeT7hy3zz40OF/D06nBFLRPNbyooo?= =?us-ascii?Q?veolQni1ppNm5glQf/DvfAaCmRzUPsw5xXKGTEDGhJW6j+2STVqhM14QgFOJ?= =?us-ascii?Q?bVL4G+qalc7dBUom9CDn3NEO/4JTDhKzJawhZKmQpaixKBBYsJBozRVphqdT?= =?us-ascii?Q?n3usob5uB30l2o9fWUkOB8ckaPsgyHZKAsaImWxjQ5VfpxsJQfNGxIxGpPit?= =?us-ascii?Q?+L95WM00b6CgsfmCAjWWIcIKz+QKg9mrSehMlvgF?= X-Forefront-PRVS: 03793408BA X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR0301MB0900; 23:96BNiSkCEQ6RcMskpVnXWGXmouQYQfrl/+XeGkZ?= =?us-ascii?Q?bSWC1VTMh5OaYxTfVkdfGzf5EYBhOjFqTI3y29NJVYYBd6fUI3KOQ5z1NhCh?= =?us-ascii?Q?H9iDUG0CawbjpKIwCVQgIZ4aBdLMdgoTb2MlnBOb8OUvMIt4aR54tTCGXNRA?= =?us-ascii?Q?iRJje4B5/7YvAsIKnG++XWaMS8dxWtdXUjjnXdlV6R3+aoNWAHn8V4yoczDE?= =?us-ascii?Q?kL7zpmwBYHf/iGbtc0ON8B5YI4Bo2PRwzQXNsBCfGebSrdXjhtkwe27TI4sc?= =?us-ascii?Q?2GyTyBNMWJtX4mYiKPRt9CvtavdbiMKukX3n8iUAvIBHTXwQ8C76xKGtU+3l?= =?us-ascii?Q?5H8jASGVzKAIMk+/jmSnDZk+lgbCIKAO8cTfRaRUJo5spaJU9P4WSqm4/JWl?= =?us-ascii?Q?DlHO5vJoPa5J1scWflyazGY52GGoUBu46UR4uSDKW2Asw2pqyK2jFu9f+jMJ?= =?us-ascii?Q?4i9/EM39og1r+RA9Vn73Lfnkgxls0CLAv0NSOygHLV1kiUhNi+t6KLs4fOo5?= =?us-ascii?Q?8d1DvQHcDIBZFh+xujs568/s4fHcftd9ouMFwvzAFmVym6fMeqVx6uPe/42/?= =?us-ascii?Q?eB4TkGbdc3AVOPe7bpaYWSPgTkV+2fT5XxZ9npTy4LA9SCKWpGUrgYQ1wsqe?= =?us-ascii?Q?unCn3+ButLRNxMLCLPJOe+1z9p0wbQfP+SKUPDMXSjW3L/MwExP9DnHmkNKm?= =?us-ascii?Q?ewZGQrRDLoE1hvbgwa+YcUb+ksUXUam5LGb/+9ybcE40eu3Q2izoZbMlZz0Z?= =?us-ascii?Q?bWQssjS7lohBewgaQix+fHPnBQXSNfjOAfjUTiLL4mNWiQbc9rw4fnjaCNlC?= =?us-ascii?Q?CUr8whRm/7a1Bl3IUzC8IQUzAPAzuquhQooJ26uX3vOHA+eONNFNGz34ZSB+?= =?us-ascii?Q?Ipe26gpxdMriSxGtzGvXbDsKlXV5fn6TZNC1hrRno3CBCaDSgutdCcT2GqQ6?= =?us-ascii?Q?ZmTbhFP/qVlIqrrtk1KhLq8C5QlggTs/yoPY8LD8c4/f6q7cSZf1EESBDkVa?= =?us-ascii?Q?nhzc+60YfFQRT26AT5TbQSLYd72jiNmcyimB9yHMZJI4gasHGOFYOIFPg8RN?= =?us-ascii?Q?SEh/rtWQ57zgrHmlV0xjAvjWw+93p0R1PgZmF1MVPCd8mF6liysLnSNlVTpi?= =?us-ascii?Q?RSw1rSIba5ToUjrONriJPVcwp5xAjlc5nWcZiL9HKP7S9r96hK6m3znpceUH?= =?us-ascii?Q?N9aReKVdHwBYf1xrh0cjRPy/tEPAnE9CBkO44sTrhU4uGgWM7H7OX5mcogdu?= =?us-ascii?Q?qzOtLSSR/+afMOi/CgfetX/apRS0DMaZG+l25wo8AxEny+yZk52RZyf1AecJ?= =?us-ascii?Q?uSsf/IjvP20FYu0U+ef7y4bH6djSEpzfiuJ6aqEnxjvZ9k8tIUX+9NLq7PJ3?= =?us-ascii?Q?089IUNQ0luvgUe72V3wdcZEGMJE8=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR0301MB0900; 6:xnrYFkpU7f0Qb7AImnWENk2GKii3AYtqQspuEZLQ?= =?us-ascii?Q?UQQU6Nr6l76VCqRS3mPyLUyX26R4pfqhs2y9Ar4k7FTzLcy1EFfuX5msS17B?= =?us-ascii?Q?wkk82375dewNkO5Nbjv8mpMn9w7rfR1NC5QfqwjulofXNQsDa/g2sRwC+fFL?= =?us-ascii?Q?+9EpmiXrjroq3R931Gz25MWLNhfH74AYTVL02rVQB7drS24+rPZE4su3vB6s?= =?us-ascii?Q?OX0RRSFQ6DfBSsPPexHfzmVD2TPxFkmP2/bvnzI7ZsRGyYkKxX0eOkwVRRLf?= =?us-ascii?Q?EaWWvwLf19UJ//n46b29YdjpuFb0fG+ckMYtqy6zvDTV3RPk31wYUbrAteIQ?= =?us-ascii?Q?9YXEtIvmU2BmYcvfnyHC4wqM9cmM7kjTWrH9IfeZLMphmnGx1DVA9hb+7O80?= =?us-ascii?Q?rh5JleQ5p+i+BRZk0ge1wuF7d56UgHh9boa/3lBGlVkU2A73I2Z0OBp+w6JX?= =?us-ascii?Q?HlCcKjld0Vkf2jMAfj8w5bynEIsPRCXoKa1A3JuE40/AtW67Gc10FfA/3KfL?= =?us-ascii?Q?rYmI86EYoYes5HVnMYm7u5zaYjudT8bpC+c4utK8JEce01cvo/IvmyXApOJ0?= =?us-ascii?Q?5lFKjZ/OMNu2GTS5f4SCvraMLmMnpEkGxNbhuRwvQs96IbW9s4ET/UhlPs+S?= =?us-ascii?Q?LSUDPP10/LXtldbBoTINw1I1VwTn4quZgws24Z768/FEoL/leZgrIO7AZ48y?= =?us-ascii?Q?CrWz0hodTSiXaNwBotkztJqBIgMRPEtbSR7DJBfhZY3Bzo2N/1udkB6ybV5A?= =?us-ascii?Q?oe//VHqZM1QMI80xX6efp3pu0sq/qrvTdahykwYTum5Za1wx/oBOiD6fu0qG?= =?us-ascii?Q?y0FNpWAtO089AFEi9KwEdxjOA4iNb2cAjMbc7y84T9YqVIgqcmbtRw22ze6O?= =?us-ascii?Q?XFDr01Zfw0Bd682Y45Ke2Z1PK7aiSF3IZNsac/7erkdUiqNjkfX+4Z2Aa3k1?= =?us-ascii?Q?+sab57Q7ttVio2cBPSxByoK3oXpjUcidXgWMS8TNGpfabEDRwEKltiI+20jU?= =?us-ascii?Q?tR8=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB0900; 5:mrJKN/pYq1bCeSZMHBWbuBGg05iKtGMozOhMXNH8yVGzcW+LJ11vOWtvsDwimBWEaiQHQlVxv4eX/V7UXkTV4GMNVoPGNmN/MV1RqZLN6/8Nq1ZaEsE4ozG+zyJu/dw+w5nWXCLvXIrGqZezXeT6/IGIAaDbvzPqEpwgp/qnE6VHaXPwEFToE17HzFreXS+FkDsgSYtBpI/9QxqWDZ66n4V111YTKqwLIUBxAT3w5sk6KQtM05acZK33HKPbJA0KXxruCMYvnZc/PeCHMp9EZhJw2IxOU5jlX55Dy4e/cKYEiw6+nSItbCQaVo8SgYnEgIl5+LdtjzF4MQBNfrOtxaV7yi9pV83UrmI8n/jur29aPj1UefDW2lr37rrpu8q1B/jafo7eDdeuxHvEViyAJNkB2BsUQPLpQveJNahwbgp152fx2e9PQOVLfOwjpllQTwc0fv+oYSayOkBVb8iKaj4YFXFXYuC9yk5JL6L33dH/UMEc3JyC3YKhSMxeZOI7gbeIRnJYKHPOsHWSZzA4Sg==; 24:jx3HbkbsoqEBr/hyJbo0bKDhh9Tj+Bs7vETf+ikHACcas1j3++jtS7oeuncr0PEPs5MupmXL6txeFEARFRPPMI3VoQiU0r2DNvGeEmJZj1g= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB0900; 7:savnNRvRC1RX8bNfNZlK40XseSKYIloJX4n9Xl9GlK9W7Qbrt1EYVL53vWbezWi2kEyLYoCxluouKOcpiU05iRoDSoHPZ5xm+u1hLlIZWwVDCBIA43NFw4JKZWs4EthU1ZvGgt1OLNvOw2xmerMxH2OVE0qnKsdeyd/QiKzxWQVH/mbnRf7Q9kdckkmH5qOtRRaUnTZgNYsSEzmXKptVy/daLnIpz1Ai0VU4yACfP74t5bptf6o1qZepoT09fxBYhOUbk7lWr63Itc0eQyBQ93EAljiGvwdinqOQIaKjUZ8lA+6d7z+IFKxjBPZEqeobyB68reuQgZ64PsiGxuDPSglddP5xF5q9Ya1JoDswl+X3kZn/kXaqZgx9hXYDKGB3y6KZP/tpNg6/bj/g8guxltz6vEWAx1d9plfAa0mB4ZY/jmzBtUVr9LpZdXqPjPd5KwGQfaJjqyOO4N1uk6ud9bVb7viQMHANHK8GsoAO4RXotuSsHJg81lPQwyjCzwYNnWpcQUUQGtNR1TtF36fDoLGshPPQ5vkZofD0Necn/f1sa1Qp+PYf+F5IsSEXKYHmrhP/uhb6cyrq02vjxXXyiYyqIDQPBCi0lRWiDdHzHFUL1ywkdoHrMEBopIuq9cdb6jj1B7YU5Vtrfzk7mUz3xRigYndnuhb1HVYZdjBb4CMkzZiCoiBpVA/3hoJS5YzoExR+cKBl7ZooeqTe8U4latsYHyPkhulC8q3J9QphPcUVibthijDYXdTA8JSpUEdKFclxWiwTl7bLBwAwSItRLisQh4YFU4HOOoMZIg6n87Y= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2017 13:42:35.2363 (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: BN3PR0301MB0900 Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org Add gpio_set_direction support. This makes the driver support GPIO input/output dynamically change from userspace. Cc: Linus Walleij Cc: Alexandre Courbot Cc: Stefan Agner Cc: Fugang Duan Cc: Bai Ping Acked-by: Shawn Guo Signed-off-by: Dong Aisheng --- ChangeLog: * New patch. Derived from the original: [PATCH 1/2] pinctrl: pinctrl-imx: add IBE and OBE SoC property --- drivers/pinctrl/freescale/pinctrl-imx7ulp.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/drivers/pinctrl/freescale/pinctrl-imx7ulp.c b/drivers/pinctrl/freescale/pinctrl-imx7ulp.c index 96127dc..b7bebb2 100644 --- a/drivers/pinctrl/freescale/pinctrl-imx7ulp.c +++ b/drivers/pinctrl/freescale/pinctrl-imx7ulp.c @@ -259,6 +259,8 @@ static const struct pinctrl_pin_desc imx7ulp_pinctrl_pads[] = { IMX_PINCTRL_PIN(IMX7ULP_PAD_PTF19), }; +#define BM_OBE_ENABLED BIT(17) +#define BM_IBE_ENABLED BIT(16) #define BM_LK_ENABLED BIT(15) #define BM_MUX_MODE 0xf00 #define BP_MUX_MODE 8 @@ -300,10 +302,34 @@ static void imx7ulp_cfg_params_fixup(unsigned long *configs, } } +static int imx7ulp_pmx_gpio_set_direction(struct pinctrl_dev *pctldev, + struct pinctrl_gpio_range *range, + unsigned offset, bool input) +{ + 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; + + pin_reg = &info->pin_regs[offset]; + if (pin_reg->mux_reg == -1) + return -EINVAL; + + reg = readl(ipctl->base + pin_reg->mux_reg); + if (input) + reg = (reg & ~BM_OBE_ENABLED) | BM_IBE_ENABLED; + else + reg = (reg & ~BM_IBE_ENABLED) | BM_OBE_ENABLED; + writel(reg, ipctl->base + pin_reg->mux_reg); + + return 0; +} + static struct imx_pinctrl_soc_info imx7ulp_pinctrl_info = { .pins = imx7ulp_pinctrl_pads, .npins = ARRAY_SIZE(imx7ulp_pinctrl_pads), .flags = ZERO_OFFSET_VALID | SHARE_MUX_CONF_REG, + .gpio_set_direction = imx7ulp_pmx_gpio_set_direction, .mux_mask = BM_MUX_MODE, .mux_shift = BP_MUX_MODE, .generic_pinconf = true,