Message ID | 1474625137-9022-1-git-send-email-navam@xilinx.com |
---|---|
State | New |
Headers | show
Return-Path: <linux-gpio-owner@vger.kernel.org> X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3sgbcR4cffz9t15 for <incoming@patchwork.ozlabs.org>; Sat, 24 Sep 2016 00:40:07 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b=dppyrdOM; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760499AbcIWOkG (ORCPT <rfc822;incoming@patchwork.ozlabs.org>); Fri, 23 Sep 2016 10:40:06 -0400 Received: from mail-bl2nam02on0085.outbound.protection.outlook.com ([104.47.38.85]:47616 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1760488AbcIWOkF (ORCPT <rfc822;linux-gpio@vger.kernel.org>); Fri, 23 Sep 2016 10:40:05 -0400 X-Greylist: delayed 16448 seconds by postgrey-1.27 at vger.kernel.org; Fri, 23 Sep 2016 10:40:05 EDT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=fK5ok9IS1h2QDbGZlruH7opxTnH3TeWnK0miJfK+OiI=; b=dppyrdOM/MJr4ttQliQgMKCbaSy4Ch8EC+V7BJrs/R2fbyWapGEz5EQLfSAvJzXKB3Zc8LSgAJCRAga0ivaY/q4ktt6leFl/Cdpb3wZInpmWi6GCV/gvlUojRrIiOgFDIRophbWMabUhIHHWt6GiRvHTpwzeuHR7T7tDINYRKDM= Received: from BY2PR02CA0118.namprd02.prod.outlook.com (10.163.44.172) by CY1PR02MB1977.namprd02.prod.outlook.com (10.166.189.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.629.8; Fri, 23 Sep 2016 10:05:54 +0000 Received: from BL2NAM02FT034.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e46::203) by BY2PR02CA0118.outlook.office365.com (2a01:111:e400:5261::44) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.639.5 via Frontend Transport; Fri, 23 Sep 2016 10:05:48 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.100) smtp.mailfrom=xilinx.com; gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.100 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.100; helo=xsj-pvapsmtpgw02; Received: from xsj-pvapsmtpgw02 (149.199.60.100) by BL2NAM02FT034.mail.protection.outlook.com (10.152.77.161) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.629.5 via Frontend Transport; Fri, 23 Sep 2016 10:05:47 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66]:44231 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63) (envelope-from <nava.manne@xilinx.com>) id 1bnNMb-0005kx-4L; Fri, 23 Sep 2016 03:05:49 -0700 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from <nava.manne@xilinx.com>) id 1bnNMY-0001sp-Mz; Fri, 23 Sep 2016 03:05:46 -0700 Received: from [172.23.146.172] (helo=xhdl3764.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from <navam@xilinx.com>) id 1bnNMT-0001rP-3J; Fri, 23 Sep 2016 03:05:41 -0700 Received: by xhdl3764.xilinx.com (Postfix, from userid 26085) id 4566B1A20397; Fri, 23 Sep 2016 15:35:40 +0530 (IST) From: Nava kishore Manne <nava.manne@xilinx.com> To: <linus.walleij@linaro.org>, <gnurou@gmail.com>, <michal.simek@xilinx.com>, <soren.brinkmann@xilinx.com>, <linux-gpio@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>, <linux-kernel@vger.kernel.org> CC: Nava kishore Manne <nava.manne@xilinx.com>, Nava kishore Manne <navam@xilinx.com> Subject: [PATCH v2] gpio: Added zynq specific check for special pins on bank zero Date: Fri, 23 Sep 2016 15:35:37 +0530 Message-ID: <1474625137-9022-1-git-send-email-navam@xilinx.com> X-Mailer: git-send-email 2.1.2 X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.0.0.1202-22594.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.100; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(438002)(199003)(189002)(2201001)(7846002)(81166006)(81156014)(36386004)(305945005)(45336002)(356003)(4326007)(46386002)(586003)(33646002)(8936002)(229853001)(36756003)(8676002)(47776003)(2906002)(19580405001)(50986999)(106466001)(19580395003)(103686003)(52956003)(50226002)(626004)(63266004)(189998001)(42186005)(50466002)(48376002)(90966002)(87936001)(5660300001)(15650500001)(107886002)(86362001)(4001430100002)(5001770100001)(92566002)(5003940100001)(107986001)(5001870100001)(2101003); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR02MB1977; H:xsj-pvapsmtpgw02; FPR:; SPF:Pass; PTR:xapps1.xilinx.com,unknown-60-100.xilinx.com; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2NAM02FT034; 1:bnd14/47qc/CrR6uq45DlIEtoERDu8SRpPGqq/GJWQ3pVs8OUcxVc3BEK5IAB4mEyhDxlnDsQzbyGlqA9WiQQLD8unkKv5lWSfYUaqlS+Hgc/IobdLGAUj7OoTQbGkadcng/REE3TW4ShYjR4favPoFFZ+j8LaTd3MiDBkw7/I5pimoDSNDvIT8ntDLvs2QwnJrCDpSCj2UVcTv+OZ7uL1DwEeC654qLnaMQGpcPdzBhp7tI5lwJP7185G9M6zp5F6u7VbTag4om8UNfLZ954lGSsVfxV4d+HdZvD01WsauSu2x7/8sye0vR7Xy+lAGHGlCAaSXViMaGIUi6rlERqEYkuhwE0+Iw0Fpm5bvM29xezhJw48vduRwOjZi5u1w5VoFeOI3G4/HD5fQci+uX/45kj/op63po+6NJ/8XLfwJMB42oud6obKJAAI9CVFsXRKReSIvF6oPh0REGAbdYbkhiT1kzrAXkLtdyaCqA5egoeUk+yMQaSkMSU97SDUec4vRGxGeAzDVlcZ+NxPmEkPW/0l0CLFgM33QsI+NrJtH+1kyg5iKkv7hOIxGZYQXLjwWKag6uPI3SRBXasOZNJ4yNJ9G5zUfhfIaBPD4lB9E= MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: b59071fd-f720-45b8-1309-08d3e39930c4 X-Microsoft-Exchange-Diagnostics: 1; CY1PR02MB1977; 2:JqeAgAX7t1splof8y0CwW01louSJBb9aATBU1+dHGn5Ny62Y8E46HFtcWq3At0wftu6YS6SXffCX5ddpAAijPq0K1oKhhi+acBOHswO+/rJNYr9nJ6SgJAuFtDIEJFR+xpXGzOxLKDEpIna3sEgqVi3UU8sKq4siMIpolKIzr2WXFglRCgW9W0nE4x766o6J; 3:sYktJFKwrAj4gQHnuSVled5iZhT08Y0pbfkT8IM3Pnb2O+tU8gQQ3+vgdctCV5oBtPFKN0Kpxzr5YhBWG/lgmrJyl14mNZuS/WIY1c3lAdYYaKShzpI0kmunqbcnJpR733EMkqB8G3Y8UmCM05MRoAoS3aiXD8RQ6G6/R5B51oiL5lNYO4U5nMmIeXZro54QCixkSgGx7zWhcVYH/sNxwYnNKPiU/oj9mhiqUxCSjbv8d2UkHdcTO2XNCUrjONxYN7VvhNjLAwZZQzdtdfv7PQ==; 25:DCV4vhyA7Ua2ZKUSJPdsShWVikwJOEF6hE/1DajQRA3wyEtoyQHUhRvDRgwb8f4d6HMK2WI4pj0OJ1v740ZbYONEblDDW3IP5m2+XZcct5RsLUiY3FnExBTApNSghRAUbjhdMR5YZ0xNX4/J41d3QdM2Vx1B0JWazmxnrEfyclkLdLYoWMe1TvDkMLtiZglsq2+ypebhgrjYT3E4OTVWmzLqAIPbMBHHDTqZdIEfkRZX850kiMfIhQ4frgvg6q/9cZuffTS+qzRbKW8uAzbbYcjRSzKFu5uOO8tA1EKgRicdp8ne431foB7u3F7yixIy84jDoLsg9u76lnVRsPxWqa5/eYS+aoUpkhfmQafWnoA2ZM5MdqjcJeLSaGKrWUwS4yctmVBCiEMAU2Yyn2q4fZ8F3dqqqJPkvjqI4MhHehY= X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(8251501002); SRVR:CY1PR02MB1977; X-Microsoft-Exchange-Diagnostics: 1; CY1PR02MB1977; 31:FN00Atu0mFXVnmFIDKGs8XxqPd1ALYQXNbI/Xq/kA+ywuKdOB4q9702PFkfzrrc/cW5GN+QlBKQvOM2a6jj/OiO4u6LY0xRwoolzmzKGi9rcd+r6abZZg261wAQntp+XKMPHEg3k+63jSxag+K2jwj9X5u7jedyQnfdgmYWG5eZFGBji0a8BdtwZe3up/Z4WPJJhZUZp8HNY3PmXOKG3cBw8Y6siVnUBD1P9nIf9dlQ=; 20:a4+Af3PHiTtbyG79yMbncdgPvDDHOz4HD6gsTfIh1b/qiTUXYtY9T4oP6exhbz6is++brgwMaXyzQEaJRQ3YK21oNJyJYV7wlh/um98LilSgGn/CIojB1ysQ8jYkPgxwNvVuzefZ3KoYdVvLvciDzQc29WXkpfV6J3aGRITipSUp5xhVaLEPxDQBcJmTKg1WDhFgd1KVkPoXav+VzqK38NwkbzcuSczXljk0pIGHOu50nWzQaxUnn0nxY1cMCgXSzZkgcAEoMx5tSJ7z/3/Zbna+w6qsl7+yuC0eYAM8jUECpQn4yfXiJTiBiBSGrQl9HKKwbu/4KLFEBt+bPFARAqyp4lsJP13dHPxzXpzmCAXUcSv3SnSxi90H6Mb3b3TDgDVtjXZVkBpAYroOQpzPhSuaeQFQxpV5iYXrn5vR284NQYAjMYbzdWrIH6pZ6O0nsd5HeXLFSCK+0CYcyXAu3b6lkaDx/IkCEIsspvRjzE5Sh1fh16mne2+3hORlS2a/ X-Microsoft-Antispam-PRVS: <CY1PR02MB1977EE16EAB29B721CCFE906E8C80@CY1PR02MB1977.namprd02.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(13017025)(13018025)(5005006)(8121501046)(13015025)(13023025)(13024025)(10201501046)(3002001)(6055026); SRVR:CY1PR02MB1977; BCL:0; PCL:0; RULEID:; SRVR:CY1PR02MB1977; X-Microsoft-Exchange-Diagnostics: 1; CY1PR02MB1977; 4:Ai5O7LSFQCn/cT2bVaXygJJvTPE5uc0F3Aipe6sqHqjGUgBYxWSpwmp204wy4JMtpsF5xXF5l1nu73/w5Vyd5xGRkpGmfCocPd5knkez00Hs8HQEMjgKH/1V1Y0fARhFk3KRdTsbi+GuSLzs3T+3QXgT2bsrIFZFaxyajDUjSwqSHqLe7zs4IRoeqnsifvc15K8+gHRG1GL6QaX5f4Bh+fX9wcrNMSB4FfgJPRwnXbn9hT+ytO1309Oj3YWwbL5kXTxCGxG3YbdX/NA6x4JzcBqWv3WiTH4kMBBQLv02eAMwAbuOmE/AWjt9AFxAdzknn5yNLN0MEFqcvdEZ/Qd4Nrvk+NmPUiphvUJOSqky6xXzq1yfcFjy5TS1t2UDxA+oOmKFemj16cetc50GVtM1cTYbUCVwaHkSGkmHB2Hd5dffgJPLtWYeQrrDe657nMgX9ICLDzYeHVPZTGQDPUvVlOrGCIvrClqhgZLSpiMbAda//W4MVrngLQZHVmO1RIIe8ISRSQZJ1KD4+nqeJeJC169Ws/4X+3s6BRY9Kv3RTek= X-Forefront-PRVS: 0074BBE012 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR02MB1977; 23:3XiPp08r+4S4auBx84nK8rYMsMz4ksk6skI/a5Aty?= =?us-ascii?Q?QEa+OT/5fpLI5IUzbdMoNMZvX6VXgnzitqNQDe/QG+MYwRO4DfOy1yhd1FJg?= =?us-ascii?Q?OISbYKjaU20/LJmJi8iurNrl1wf/UYlJf6+UmqBFHdw0q1QhjcMS7rN7IGgO?= =?us-ascii?Q?FgSp324Fn+Fbd1F075uhuFfkBHi7Lfe/I9HJwImATVDdtBEVEdNkBEtEV6KP?= =?us-ascii?Q?MfTFqjS9o+E9eg6+UQLwpA8pcvC9+0oN1hELTYLg/Ca0JTdzTNAxKG6nvUAE?= =?us-ascii?Q?ivUWyJyoGD511L0J9MhBMGgsjQrfoiRC8wb6ZGoE9MBSwafcZ74Yp/9tITh0?= =?us-ascii?Q?u/BdYkFM/0MhxjGOhhoh3lb4xy7cFWGF6TPAQlFk5HwPSk22dd1AavA8q9nc?= =?us-ascii?Q?pJpBqQe1yiP4bwS6gPBkbrEUQRBXowegk+ky/CvoOeqos1LZJTxa0rlMyJXQ?= =?us-ascii?Q?qSb7/IdoITpMvqx5H89nHW9VcSwVh4vHfnVNL0Ju9+WRo+kyXNUtvpN6uR7C?= =?us-ascii?Q?UF4FmGNfXQhEh+MpsA1n+SOM+bb6EdZQwUaVdL644bFQ2ZBJwbgv2EG4gJOh?= =?us-ascii?Q?6u7Jrf+3zBx/z+CSqqPDkccxJPF3ROBqn52ImiVNGZVLwpgK3a2bd5jpl7Vp?= =?us-ascii?Q?F2YqsOY6LhAAfnLGTd7EAmvoGCFARfAJMbx2kBf6Hq21aFtEdQsUUhP1trmP?= =?us-ascii?Q?bJ3HucbOxJKBT+M9225WUMhjNGnwiTOZ+VsF7J5gRrFRlOL7Oi7SwHtM2qJ5?= =?us-ascii?Q?LEO+lWI3JZaBxE6hWZRd0dQffCXrIM0/1m4QVvtG9mA2LCBOulF1Q+Wy66Tj?= =?us-ascii?Q?s88ve8JEsuUHmLv04TIOkCmu8Q84jq/vBcxMbNEHoF42VZuPOTmB68nKCCzK?= =?us-ascii?Q?EufwIBEI0BRv9MooRAEIJY2TQ9RiWneT3JJq66Sbr2/X6MB1jOAln7O85e+Z?= =?us-ascii?Q?bRtWgMH3u5Y4weNVdF1v4TcaQCwwpWPRhfZfKYZ4V/iKfkNFNQN0IZPwGGiQ?= =?us-ascii?Q?aaiwTN1hPSEg6fAR3dsh97NUD1j8IMJoGL1CDmb7WLHc5OLW2BveeJBP+cou?= =?us-ascii?Q?sk6Dv0cmgDkjzg74rRhy4z78g629aL+hoof9HvRtJHJOm4BRPuFp/GyJgHAj?= =?us-ascii?Q?z6FQY07UFDVMRP3hWGOCFLKK4eBachRtLm7Ke6JGULtqR49XwAbLhzendqF7?= =?us-ascii?Q?NbfFJkmVqgTl40XH/ZhCUfics46pThfvefY/fCQekNYV/nC7/6o+YgZSg=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR02MB1977; 6:yXNdNS1gbPWNY91eHb1LxNKDMgiUo7vuyqigkTxSH8VC/xdX1DWr6GS27tR0CBs8AOFqW6tggzJuv292zR6gMQ3B7IxcaauwXlUlvdyREL3Wlpx60DsbXU39yZdqdMb86yqjRnzT8EyUbbHCgl3IxTC8bh4VLx2Rqg7FzVx63JJTsLs+zoEvE//oL5B41+EitcAZCCuR7ByTd+1QJI2ww6HQv2tBLqtHNZVlrYSFWsmh9xO8xbjHJSOWqON4EpN5A4Za+w2mBCESYQ3k3Zcr3ZEKaVgNaBV7BcsKdQMvMFlxYXl2y+CZHPDDukj6fds3+2HO46aqdN4RA5lX7yCJjw==; 5:JUonS2FMukvKWNsjsBGN67c4dvEMuusV1cdtmuhYoh9ZZlZGvbkldabC6/wSxapb9Ylys6zUlDsncTm7Ig8rjKPIflNuMUbEvOQmJ5ta9rZa6D0hxsMLKc49HScz8tFf+ZSwc6XFqnp1wftd5NkdGw==; 24:SMhtNkVuZPQZbRSkFbiNI7zpOX9u+tIWUzmkuSmyi6Rf7h4jquDx6dm8ASW0od4agX+Iu+sWlbkL5hBOFK9pSIe+rzWrheSCcJLoOc8cTDU=; 7:G5+SV0ugULnO/hmftGIB1Svtf3MgTJSMLDwdd/ttxGJfC3McXb5hoBGVIofdDIpql14FCv5lEII51DbGKOiu6b99st1xsI4nU1rGyPobNFeWH38jgp9G4xKY0VMcGkSrYWiadYOQpkh5bdbvWVs1hgPBgxz7QVF5HIOvoPzI3gIXsytDH+Z6bhuQ+hzyAFKRVRx6fo4N3AIRJzFVnFlHmVA8EEzIsdZq7/LXM5zVb/Wo/yHuq8TbAhPTWF2CFGWhzM7qcLdqNXeS8CZ9IiZtZT7LRRB4e2x/6PmKnB8gaZNlyDcjSqvNaucmQZ+lm3yd SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2016 10:05:47.4998 (UTC) X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.100]; Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR02MB1977 Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: <linux-gpio.vger.kernel.org> X-Mailing-List: linux-gpio@vger.kernel.org |
diff --git a/drivers/gpio/gpio-zynq.c b/drivers/gpio/gpio-zynq.c index e72794e..2b689e8 100644 --- a/drivers/gpio/gpio-zynq.c +++ b/drivers/gpio/gpio-zynq.c @@ -96,6 +96,9 @@ /* GPIO upper 16 bit mask */ #define ZYNQ_GPIO_UPPER_MASK 0xFFFF0000 +/* For GPIO quirks */ +#define ZYNQ_GPIO BIT(0) + /** * struct zynq_gpio - gpio device private data structure * @chip: instance of the gpio_chip @@ -122,6 +125,7 @@ struct zynq_gpio { */ struct zynq_platform_data { const char *label; + u32 quirks; u16 ngpio; int max_bank; int bank_min[ZYNQMP_GPIO_MAX_BANK]; @@ -238,13 +242,19 @@ static void zynq_gpio_set_value(struct gpio_chip *chip, unsigned int pin, static int zynq_gpio_dir_in(struct gpio_chip *chip, unsigned int pin) { u32 reg; + bool is_zynq_gpio; unsigned int bank_num, bank_pin_num; struct zynq_gpio *gpio = gpiochip_get_data(chip); + is_zynq_gpio = gpio->p_data->quirks & ZYNQ_GPIO; zynq_gpio_get_bank_pin(pin, &bank_num, &bank_pin_num, gpio); - /* bank 0 pins 7 and 8 are special and cannot be used as inputs */ - if (bank_num == 0 && (bank_pin_num == 7 || bank_pin_num == 8)) + /* + * On zynq bank 0 pins 7 and 8 are special and cannot be used + * as inputs. + */ + if (is_zynq_gpio && bank_num == 0 && + (bank_pin_num == 7 || bank_pin_num == 8)) return -EINVAL; /* clear the bit in direction mode reg to set the pin as input */ @@ -627,6 +637,7 @@ static const struct zynq_platform_data zynqmp_gpio_def = { static const struct zynq_platform_data zynq_gpio_def = { .label = "zynq_gpio", + .quirks = ZYNQ_GPIO, .ngpio = ZYNQ_GPIO_NR_GPIOS, .max_bank = ZYNQ_GPIO_MAX_BANK, .bank_min[0] = ZYNQ_GPIO_BANK0_PIN_MIN(),