From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756740AbcJGOvD (ORCPT ); Fri, 7 Oct 2016 10:51:03 -0400 Received: from mail-co1nam03on0056.outbound.protection.outlook.com ([104.47.40.56]:55323 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753368AbcJGOuy (ORCPT ); Fri, 7 Oct 2016 10:50:54 -0400 X-Greylist: delayed 139588 seconds by postgrey-1.27 at vger.kernel.org; Fri, 07 Oct 2016 10:50:54 EDT Authentication-Results: spf=fail (sender IP is 66.35.236.227) smtp.mailfrom=opensource.altera.com; mseidel.net; dkim=fail (signature did not verify) header.d=altera.onmicrosoft.com;mseidel.net; dmarc=none action=none header.from=opensource.altera.com; Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=tthayer@opensource.altera.com; From: To: CC: , , , , , , , Subject: [PATCHv2 2/2] spi: Add Flag to Enable Slave Select with GPIO Chip Select. Date: Fri, 7 Oct 2016 09:56:34 -0500 Message-ID: <1475852194-27690-2-git-send-email-tthayer@opensource.altera.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1475852194-27690-1-git-send-email-tthayer@opensource.altera.com> References: <1475852194-27690-1-git-send-email-tthayer@opensource.altera.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [64.129.157.38] X-ClientProxiedBy: BY2PR05CA036.namprd05.prod.outlook.com (10.141.250.26) To CY1PR03MB1407.namprd03.prod.outlook.com (10.163.17.141) X-MS-Office365-Filtering-Correlation-Id: ca1c60ed-bae9-4dd3-97e3-08d3eec1559b X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1407;2:QI7U0T7jpmtsgoJ4S5p5WvgSYEjT8j54hb77D7HP2fGt0oiyy9QZOn9kLj/TmD/HI8k9vD+eYaMBRhPVYZuZg4cYnyo95wjYYwnd5tN7am7GiFLAyUpuTTI5vCrLEZ9oqv1uLlW+0GQ6llCbawuHI8F9x+6BmvtXA7XrWcpdOoM7BNZqzqeJUrqZXZRbCbub3g1mYczbXS/R3B2Icni0Ew==;3:BMi8TRha7mELbgD3E9AAfffe4+e+gIvk5t0QwuJjQJ+B/gZSzokJlHWeNV11OlBJ9v54JxuhHoZlyWqT8WOJUhD/WRYml10xAjxZCU2WOC7OO+n0YVmcDm8AjixawRHkXiOTo3678oinURZre3Py4g== X-Microsoft-Antispam-Untrusted: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1407; X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1407;25:OLuJ88VezC71F7DVlh1cRILOf/CEnSjEFUZ3bMtfIYcx2CbtyZ4ydtER2zAlBrukl3CpTVl4+1DyfIDcvWP3Khiiga0RLzGWGjKCCKDsjSJeO9KsS+4jwTv13TVuXXS8HOhd3H2f2relNjkFuhzstiTsBJUEEk5l5EcicB+yQXTXnKblVLD9JNqH07n2MNHfd3iBKk9F8m92G85mRoaRdBF24a5LKuvs5H41OKdyZz9o8uVyrE3NK8CuAbTcKT9+YkoF9i+O+SQz3hjGnqKAs7uKNPqXQJckZf4QEQ0/GSwYDo6FJ85CPDAl9Fxsf0ZcOLfN5Ib8s8uNFlGxnyb+bP3z/zX0ejybI5249mbR44BoZlp2oZk2HzkKK0fGDbkezvJ3+Op3IGEJ6ZCL/OWB4YaUAHHplMaDGwu7GAWr1AXHCKZoRTeiO+lBNDCrEDMNrl3FQFZkPpoc+zJZ8mybsStl4DxbdlVBzPevYfX5uEpAmcXug5OU+0PG7dW4STrMt3IFbdFfpyZQV6Ye8HHTd7JPu3soEenTNc2SoLgrEeKGKqf5E4Dp9E7IAqkUEuAYfQ3lEvGwdll8bkmwQhUsMbiZ8+DpOuInG4PzSad+1R60VCJ2Wr6Eiq3wDa3S6g8H1MC7ryrV1YxWbPvIsvo1FpdUfLSWJ/dbePmWWUaBRC9yBYAqlkO9Vr6h5OzCRuALJNEvGpnniRvctRig/uakit1kyIa5MMdSJtmNaUTx9l0= X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1407;31:X/WnvzHHkePxjmdVjZRotlizjFabRvdshOzPwqn4WE0rwAeVtf17TYuCLFtylzd22mzHPw7vDIRKZTHxVpy/qPt0pjh08CQoMES++ZsHWU7198LXhqk/TWKlNETas3scm+G6QtEXhOxv6pJDmB/aCSs4cO2yN+bBjOkjnrE9BzUk9euH49cGxUFAJix52Bm4ol7nssZKny8I1Mo/XXPI/ku7s8PQz38ZsnOOBexHtvK0o0i8QX1M2d9dLlBUyRiAblOhiJlbypWq2huYg2u5i0NQbozpFQH0YOk9jGFywFs=;20:MZjoZWkP5ULjJeImt6sSUyT7AA/EiIGfeoaXDrBcyLT09+3tPOWXrKelUV6WNakuVPnYQdcCpgA8XJ8XyGoehSWrFVWa35exp3pEf/rw4csL9Dj1ljIItxT6dp5BWewcsJv+O9ZhHWay+7zD4eleSDBYaTov5F75Zveu7KStYeA=;4:R+4PDQMV4fQogP4bLDMw0K4e3y630itjZjZ/khSJwXy7Vwg5iDk5ra4y5cChbXqVAZPOT02fX4W+dfLhC63zan0Q2wWksDn6OWWb4TTfI+8Nm3t/zjm+QK00reRLOArf9FtpWTDur2vcw2JJc3YL5aYB9TEWipf5IpUBahnPWfxvmwkjD6JKHE0Dav/YyFYlpVkNyfa15OB4LzFH0l2u/ij9DQYLD23Vq7mdLqHLnODPe/sRXKfmACfeyToVxAh/Na8Tawii7PDZh0dxDvKOAqbrnJMyML1M9weoys8Qd2+xMnOOXYoGU9rv3yz+nE61ANBc7y9Gsaeq88ia7n/70wyAUtv9MwfYCra24eHrwOIZG9dbqAwPVZua4r0DKIW7AaZyaDq5KapmJ9u1350Kxv258rCccnXUYEui3PUgv/z0HvAxjsEre/rSTORgYLT+jtv7irbYtTOGn9OePVFNixZ+Yzmbu6KNFbq0suWrEic= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(80048183373757);UriScan:(80048183373757); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026);SRVR:CY1PR03MB1407;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1407;BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(13015025)(13023025)(13018025)(13017025)(13024025)(8121501046)(5005006)(3002001)(10201501046)(6055026);SRVR:BL2PR03MB484;BCL:0;PCL:0;RULEID:;SRVR:BL2PR03MB484; X-Forefront-PRVS: 0088C92887 X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(4630300001)(6049001)(6009001)(7916002)(189002)(199003)(81156014)(81166006)(47776003)(106356001)(8676002)(42882006)(66066001)(48376002)(6916009)(2950100002)(19580395003)(5660300001)(33646002)(50466002)(5003940100001)(586003)(77096005)(7736002)(6666003)(7846002)(4720700003)(229853001)(97736004)(2361001)(2351001)(6116002)(305945005)(105586002)(3846002)(92566002)(42186005)(68736007)(4001430100002)(85782001)(189998001)(76176999)(50986999)(107886002)(86362001)(19580405001)(110136003)(2906002)(50226002)(101416001)(85772001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR03MB1407;H:tthayer-HP-Z620-Ubuntu.137.57.187.33;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:0;LANG:en; X-Microsoft-Exchange-Diagnostics-untrusted: =?us-ascii?Q?1;CY1PR03MB1407;23:bM9nU8ZcuqoVXqNsQ/yDkut0wQFB4VaLRVdNHQhSp?= =?us-ascii?Q?RD0kaoFigcF1kWSheOkZI8bUFB01VDZBPlqrZJmZ5i/i0z5OAjSMD0HIRdOV?= =?us-ascii?Q?oZieV7ES2f0iLkixEc6GR27+MMMYrQBArCPfB72thNuZb69Pw/OGBYzb2O36?= =?us-ascii?Q?4IQgVKlebSWDWDGzXulIWCFIquTYw1UueQQpW3b+i6rcUyz1hXnG2wlJzs+u?= =?us-ascii?Q?BXwfZ2KVTJcuc+CTKUKdLzVOV0NsbJV+OumhCRDiV8TmkSTOtJjsd1eeRKZF?= =?us-ascii?Q?p1nwqnYBmd0k8j3djK1xgyzhTZsh3wTM6hy59l8MAJ5iI8eYEY9c09mnp0ru?= =?us-ascii?Q?wmYh8sNQdxDhBvMl5eVyBWDgj9hBE+bDx4iZL6Nyfsw8He7VmyncCtcRjC5p?= =?us-ascii?Q?AXuQyLJhuT9/mpymkTrEhX+GwFr5Ha3EqkNzsqXxGFfXBjXm5D6Oxim5UBHw?= =?us-ascii?Q?IHnWypG9jhQ+32ODk+cFXbVb36RK3U+TJIXSkosymhM/cRKQ7F6kS4KAZ42V?= =?us-ascii?Q?xGWgXuH+Hcy9eHNsYPA/Cy/xcoCU7RenJ1TCimueA5493kkRNOveDopB+EQc?= =?us-ascii?Q?QKkpf62n1fqKgjmb3zA3od7QLQxT/YOkVpHUNr6YnZfYcZgdLxXX061ImkQW?= =?us-ascii?Q?cCHJdRUlqxXtIe4+jlwJZLYZPltxCws9BGGJQhM7P1MUWV0dt91QF6GbSbMT?= =?us-ascii?Q?UbLrf0BZ19Piv4WNO5X9sV4H9PfzT3srHo4zF/K3VXLoMEBLI9wLDlrzTA8W?= =?us-ascii?Q?5uWvIQeYrENKB/KlloHsSiMTDQ0j8ws6GJPgrcrBATo5pGwzMTrbn9QkWDbp?= =?us-ascii?Q?QluvcxVKTRu+6RkzpNsimuy94a8M3A/SLAuDgnuFFF0aIYFvZJmkCVwxpD0v?= =?us-ascii?Q?4dvwUq9Qy2SKqOdJL2RL69gOqWvUU7le5vFsxpjDaFDAVwyYCcoWAo/hicOf?= =?us-ascii?Q?o/O9JCdxr1VwJerJTbvy+xZoiZ4GNWrEH7Ifqrk8YLJGt+NHe0SwfBURjgmL?= =?us-ascii?Q?RkBuGax5UKPvjW/fbx+OooVXpUE7a2Elexjxuz8MKfJHAjJR4n/+se7BUk2U?= =?us-ascii?Q?PABHB/+2zT842jUzA1ACkHFHYPg8HbOD7nIgkmClTNRX9eKKZJABdil9eQSJ?= =?us-ascii?Q?0WDlT6vZAo8bEs+13u5kl2FuJx+Q/OqRUnChjOhcpZkllu9N+m4ZeG5VWIhr?= =?us-ascii?Q?kUee2rmjo3saV9wv7+raX7SexDt2rzhQ5kOzD32GMdAOKIBgkSA16LrIw=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1407;6:Az6+oNhg2Cur9cXKLqckQjP9mLGuA5sXmGtCJ2izn4kXC1EiL542wcI1YqyWRPvW7tOZ2pb+kUM8RWuD+kbpuPRC6UXTl+QfoACgE0LC6TPuwRBezxxitI2K5ayV6xSRLEWHaTfDc/cKpovwDeNsC07ubDpS0EulRK5ZHewzhqEDYMoO6Hg1WVEvkzFuvYi2N8YWYBoigPsMM2EBcB4Yix4H+vaZdyxpgy5Lp746AzQEzke2emg7++xP9vXsft8+IAi6bsFPyVxY8UtW1yaUTjAjaYPr66tm9QhMR334zIzgB+Umeo/rVity6a/RchjTMsvP11ZkO1vVXm5nDAYo8+QzllJJbF56Yu2wHp7HHNQ=;5:MBx1Xh1/wG7PHJsJwZJ0b/DhTEe4cxMjAJDNa8cEYhrGPT4RSkKeuQHgrpM1vNtTlRDhKCb1LTHw4xCjMzljggzZRbRObpsDrNbjpNJbSEAiSuY/RvBmS3xQOpg74XAHDHCR7NCwmb7p2kS5RpwERVdCccy3kuLWVsRr+dGYQFk=;24:wU4YHdV1o24hLM39GcKei49ndUfCzAEkrwGoHXaBK2SsytFEkR+KPjleOeuBHGmAzJJIEq/Y1DJgFFgU3MpfRc5ss9efVeAYXyzhs6b/s/A= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1407;7:tv/LyO2ac1UFC6NS6JQPeuMtiAFzQOLVrF9zyyocBkLaYyLu2s3ngVLvSXuN+KzE7fYpnItwNnOZhWKQiW9BnBluaGdSxO5Unu3zstb+hHz7YGmalwDfLQcro2+16RTwChacb8I70Ym9jNEBKnQs9WdNScQcZI5TAm/z50FYgaDenCewQeuy23OkQa//PFSOWfSNfFJW3UB/iQtocJr2RcGnfkfp30dNiKXgRNaoxKHo+iOl5/W5dvU3XV/IfrFS8YPtXfE2cooKgnVcI59jhXy/Tv4WcubaA+WRp3ra0KZkQA3QxIzy3A5kg4q2FB6L/VhrbXoXVLjvergia9uwoA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR03MB1407 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:66.35.236.227;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(229853001)(956001)(47776003)(2950100002)(33646002)(42882006)(6916009)(8936002)(6666003)(5003940100001)(2351001)(19580405001)(19580395003)(66066001)(626004)(8676002)(86152002)(7736002)(81166006)(81156014)(7846002)(305945005)(50226002)(189998001)(68736007)(356003)(87936001)(11100500001)(4720700003)(86362001)(85426001)(110136003)(76176999)(50986999)(4326007)(4001430100002)(48376002)(2906002)(107886002)(336002)(97736004)(6070500001)(5660300001)(50466002)(3846002)(586003)(6116002)(106466001)(2876002)(92566002)(105606002)(77096005)(3720700001)(7099028);DIR:OUT;SFP:1101;SCL:1;SRVR:BL2PR03MB484;H:sj-itexedge03.altera.priv.altera.com;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;MX:1;A:0;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD020;1:z6ZC0cvGN/Ljw7lpBxViDbdfDb9osdZwv0yI2+wsOob0mUXV906e64CV2ZI00Dtt+wlVDbxsRTn3jDCJ5UKYLOzh30i+2BMM9ktmSS//p6yBxmCKb9+chFqoN0bH5Flu7vetibxmnx0C7PdK9i4+sriF2LxbU1wKyy4tzFAa4I805WqbR1bpCvPeOMyNRCCBHejF+7We84xyHuVxtD0x9t57BeEbGWzsJxcE/aQmPuv0QhS6nWQo+HY1xOwer/CLKM/H/N9P6qSSuvaP41hc40WxWIxPpDEO4eFencUsLiBAG8B8soRw2LRZ8JzbGYkfnmLVxbz9oLlq0C47ShkdIXuyRkne8t/mWlOt4mL3OLwi/Oi6f+5U0iP9KQ1dNSdvsQJ9O14j+0utGdSdQ91sqOBv2XPiXkxHyU3RzEwOVgmXMVwEGZf+Se9sdS+lk1xo/8e8bXp6jy0vI0y4hpqvv7vNTLJd7xDfbhrUYtaY2lXlBE6mHAVE0j9DCN2nMVJHeFmSYUnDdMwHv0mHjpu5S6x9npfNsXDl0hMG4tBOtqYrN+i9ROMo3oc8Ob3asTFhn1J4AYnNK54iCViJFtd+XEbdpJwXo8ssDR2Y+ul15EM= X-MS-Exchange-Transport-CrossTenantHeadersStripped: BN1AFFO11FD020.protection.gbl X-Microsoft-Exchange-Diagnostics: 1;BL2PR03MB484;2:Vsfd6JI0o/cVQcVbJaed1XzOjPLH54KPhDOvKEvtJdCnh0kN6RZZqaKxxvjtYKnrQg8MmkhiW7NvQxN53CKTVYomL9YVIsrZlg7JGHL/Q4OhYLM4DAQbYPquTLa6hA/U32JRK5MoIyFJ7H1NmJFJV0wCTd6NweCexBkQ7/S26f4v8tbvub3Udxa/bBiCIyGTGWYw8l3g/FCPQIBAqvyL3A==;3:ppdqTpzofzZsepgyPK12GXHz6MloBt1z0B2uTe+pm15hF2euzQJvRSHRcZ3wUee9q06GmmrWMszHOoVKrwgz16n6TvRoLASUYO020TstuQcuJvkIrOcT671ASLIe7CL1crpJ7pEOZim2pxRW6M/PCMG5DqB6TKif+R3sYCjA9YkodpL5YYFxXCKKPcShiuutdvo2sZE+3DENIZWE5mtn605ZIWpXb+fGrp09EzGYViY1yyJGefflaKzCDL9DhsnKWhg8s1YAPgIqAbMa/UKfDQ==;25:Ov3nU2r49Evr1mu98sTfXGMrlsg13TPCgKeEL4U6n2+arWXAsQN13pwgHJPn6gkTAnZWmOZMPzpfRYuvQB0YW5W3WlrY8OmYtp+PJcmk0Jj/Y8D2xnNeEkHSy1v/rMH1uWWVcm0WB1pMsXmzrXrSBfRem3RbsUEdZpRKWHYLMQx7wL/RqAChyB2jQGkMFsCRwWQur66A55JTGZy0q4LYXsTAiDi1tPFZZkg7Z9n1Jy30jE9DwgL/K+K+myhOyq+wpCdCKZvVUv5VAL3d4Qp3M+U48SlKbi9suEsNhbDp6FYeOHmxRP4/t3Qc7P+CboSqVcCWmBkadbIYKRsAuR32/f3jSqgHWGLeWCHmrQyg6RaxzjxaFHdXCh0ycbBSVW4SSrhJv+WsRSsmb7aeM1StTPXT6B7G2UNopvtOi+wgOO60uf3m/Ai05BjopbJ/eFTa X-DkimResult-Test: Failed X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(3002016);SRVR:BL2PR03MB484; X-Microsoft-Exchange-Diagnostics: 1;BL2PR03MB484;31:IHsIEfwWjW3sDmwOmaHH5aiLBy59xeFpcHuEQ5qPDOxVFTH0jqqVxkCLT2uKz+bKaqs33cWaXTITHa96mkToBxBunlYiFe8YZ/OGtBgmU1aV6iTFJVoWNkPl6kDkMyv7j9g3StfpRkZncruX3IEvFoEMegD6JNDZ4QchgJvtIhKRC5+ueyVlGAvx4AdHRpZ5dm8xyyedh8ieqldkgTe9iE6Pqzjw9hcT9u/IBeIy7YdGguUyNV8E5pL7uG2PqYBGu9tqvUp96Y3cq0RvRBl/Tw==;20:PIxFnQ9xuijIfogeNZzcENyjG1tgIKISzoYlErBfdeP+Yn4Y38j/OR9+aPZRGOoZcjMENbeHXSF21J9NG8VbtXCRzFHEriMHB2zLoMzwqVl85wU2BVnptXtTVHUsai64nlqkRoiNKbDTpiEdp0qzk0CZ8RLutcwUmujQIVstVv8= X-Microsoft-Exchange-Diagnostics: 1;BL2PR03MB484;4:EsJRcGRSj5DyvyJDwI56J/PAjvnyUWgFCvHR9mJXLHpdROYwG01dRk5J9bdAHx3EBtRDvLvfceKJX/r4cUaw50OqTrQWaUaKVviCVJ19SmW07DydIPj4RJC22zfDeV4DEXhqJwhHIAqlvGSPJqI7zPriwDrFxC5lF5a47gA1kN+Z3zABuEcc6J8YatAs3llVepnRpV2Ou/UxmaGS5HjzDtlggaWM0WIvyMFG3zFmyQ0upIy5IFcepGBQ0fOxisKnVxRM0lCXMhq+9LmP6w1FIqQRxCe8sbqnWFODR8srDUtkXglH6y7iIZYp7dJtPvFoJK7h4ODNqqTNikk/n6pRtZNLyOBCImckaLPpTXK6TQolhl8x+IiNxNr8Y8a38hW5rccHiCx6ZPVsLnqJSdu1HcMvGDFOmsSpDnRxrG0AAycDLrFrDWl4Somk8pXrOc3ucLoYR3nc079QwBunSJYuwTbiit4n4QkzUOe8mVcEuOfju1ruglaKq1dokIHmvK24WoH0NTEYIyyo715nWQeLCrOx80vj6ME4k9YNDnDgUiQHmCv0fHuovE9kLu2lOjCv X-Forefront-PRVS: 0088C92887 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BL2PR03MB484;23:wHLzCm/zwsm5mOK0toqITMFS8Q5D+L9bTY6z5JUCt/?= =?us-ascii?Q?6LPHIWGyA1B5+TNM7REonqHz3ISsjJ90ShkKyT9oZgjoht58pGG4LJOadXd9?= =?us-ascii?Q?OJ1eD/NGdvXZNGDT1lu9Qd+auXjg0say0zjcWiba4MDvux9p9SN8u1ZAZlE0?= =?us-ascii?Q?QBBgTBCHGDp5f31PLF+1qpm2pBl0oPjysazvMU1hsj8GpWDV9TzEC1B870N3?= =?us-ascii?Q?uOztq6KndtpIdiCk2+N97c5vioa/mBnrsVXRoJOCp79d7kqCVTl8o2o7xMcs?= =?us-ascii?Q?cdxHR6wOqRGnxbQpepC9wq8PL1FLeNQH2mFIinZO95qqeQYbbLhhAMsv9GmN?= =?us-ascii?Q?hYfKqhKtPG4IzWTBKcA7ZcasjNU/tM2eTSZEP1E/Jld6Qx8dXSwhDLF9pdpc?= =?us-ascii?Q?/eymfdZZyFnVi09lCNLCuPf1Ikn7iP/LkQCzoG+cUjDL61hlXmHldtAlZR7U?= =?us-ascii?Q?rShd3GXHM3NQY7cfZCDjHPgj/yhKdGadY/GBFzVZJwg+Gb8hcp+lmHPpm22W?= =?us-ascii?Q?iz/gj1aVIq6rBz7t9D1ZJ/p25TeJwkLPVGifA5DOtMYLIG4JQSObf6EzmB0c?= =?us-ascii?Q?C+v/jcs5wwNQ3TWZsU7TDef5EHLrJma7fmofo2sandLTq+aXIpiYAo2/S8oX?= =?us-ascii?Q?IfRpha1ZmIlYFxlMKdvg/f1MS8VQjh3FPUlT3N/iH06kILPM5JdUJ/pVrk8i?= =?us-ascii?Q?Sy2zUrMS6hoo6AcTqC0DHmh8/ZUU8H9We1+DJwKoNjZ1LWnqB4Kj7l/WxpKh?= =?us-ascii?Q?o2jy/zBqirptqf4AS5kqJ9tJK/B5Ay33fdPAqHThpduFwQJ/Vb4vZuVURHnz?= =?us-ascii?Q?JRlo0p0emN7oM5fnkDpnSlWyLfZL1JPCZOOM+wM7by/+tICouYKh4WxixRO3?= =?us-ascii?Q?VCbYpUPyI+tawcSUeM9WNRtW/Y/7uqI+oCXmRGFQseTboqP1pttzvj211q3b?= =?us-ascii?Q?DsxRpynANeMHUvUqIiUNto8eVQcVb5KNd9rJ1bBAzX/u+5d+BFIk+iwdQX0G?= =?us-ascii?Q?iqmPn8+bB+Q+445ddFd5uIitOVbyuAT6JEHqDJuZhw2cQpvPEjLSutMoIri2?= =?us-ascii?Q?j/N6gMeEyyhRh8memkgm/1arbSqzU90CNnJY9/FEwdiROglt4POKsq1mHAEG?= =?us-ascii?Q?xacMBZdUnjUYMtrZWxfoi8WnTdkQt5xCyi3aXoF8ju8cq4vUEfRZa0AtAAIz?= =?us-ascii?Q?PBtazL11Gn7jYXFEINSDMwPAkzDM5lKPrvt10Ua7eehc5Z3uVZijdFfMfPHv?= =?us-ascii?Q?QRaWHhosYK93oQ8mmCn47U9gBbKzfacHCOF8TU0TeHnm6uMXEBdsmOR8TO9e?= =?us-ascii?Q?DoOrFNwNpLhXJY7fau7VDdtFeSfDcYralj78aE0lbfgXdsptgYIQIi5f9RMA?= =?us-ascii?Q?xuW3ZVHw6eKuhPWXg2/N1egeOvW/Ef/oJWSD9qHK9aR0lcxo/Uqpy4AlzDtB?= =?us-ascii?Q?XoWz5+7ctcN9RpEziAGq7vPIzSDIhWGVsSYl5weuq8wGMNTTNT?= X-Microsoft-Exchange-Diagnostics: 1;BL2PR03MB484;6:KrdkZQkn0E6fn/YSb2OVhr+HveLvNxgdo1Ylrz8DWkyKJyhgqpGrMpGzqF3Ptk/UXDopP1ZRgJQbKGzdRwAk3+ngbabfImjwvbLy38Rb/hjO5ORd2MHARyaFiUf9Qt8CeDIGfCBfOdRRUjtR3HKr3ir1jDfSTV/fM6XGXVnhwQ3P97crMFMpTPG2i1b/LpvXtWCN3Lwwq8xPGjQEcc5krIBR3LDILAfJNHkrk+TplULlOSu6wlQpGrri1morYeAfnwTjSXJhGdYqDzj09WstQeyxnfHOfpwIDSohaVQ9YbIRKu3BmmIZfltEX4/R7U+5hPMZ+oZgTDyhYw0jNqo33TRMWVpJUZt/YuWbFg7zreU=;5:uDT7CJuImOUux6GcJh+jqT+4lRArorPDGFQaJXEELnc1MCTJHmTWBEmCo6ttrXy7dmTgNNpQxxCxVa7R9436fBQPhVM/aRnLikeL38h0rkqbgMaFOxkA9l/p4FRoGOv+UZi/zK2O6wN4dzQKAKFYSfwf+gR592DSWaRZiWB82eI=;24:39wXtDko/odTGcEqtOQFOJJ8NO5gg5j/GQ+kcKEslspfQREQrjwTHvaGgNhUf9l7PuyV0rqT5xSPJrkUxiZyGdak/GDlnaf8pZkXAODwfxA=;7:XIU9Xis1RlzQ6c3iuMfnj8fG7FH7jCS166c/bkDIIWFFlY6WY6Xfq1Rm0oAaiPQOmhLdnh4iOJ0bhUVy2Y0YMcx/eLt91o3kp7a998VB/5FMcdJAHRkIuCTVrroz5yHTzzc1NTCFvrTSZJM1ClJJwMGJF+ua/FWRP8HdjldKbJ+ZrWsV6r+KSSdkLfc4NaAEEkIzmeQhZ+OIJS1ZTRrOLCvWCZae6x9BkAaHOi5sAErbAPLjEG1Q/YPImmowLJsA91m7J26niewhe626GSLN/Y4vWyAFlII2ZqI5i76HQTI= X-OriginatorOrg: opensource.altera.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2016 14:50:51.5649 (UTC) X-MS-Exchange-CrossTenant-Id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fbd72e03-d4a5-4110-adce-614d51f2077a;Ip=[66.35.236.227];Helo=[sj-itexedge03.altera.priv.altera.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL2PR03MB484 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Thor Thayer Some SPI masters require slave selection before the transfer can begin [1]. The SPI framework currently selects the chip using either 1) the internal CS mechanism or 2) the GPIO CS, but not both. This patch adds a boolean variable to indicate both the GPIO CS and the internal chip select should be used. Tested On: Altera CycloneV development kit Compile tested for build errors on x86_64 (allyesconfigs) [1] DesignWare dw_apb_ssi Databook, Version 3.20a (page 39) Signed-off-by: Thor Thayer --- v2 Move changes to SPI framework based on maintainer comments Add a new SPI master boolean variable. --- drivers/spi/spi.c | 10 ++++++++-- include/linux/spi/spi.h | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index 5787b72..c042a8c 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -697,10 +697,14 @@ static void spi_set_cs(struct spi_device *spi, bool enable) if (spi->mode & SPI_CS_HIGH) enable = !enable; - if (gpio_is_valid(spi->cs_gpio)) + if (gpio_is_valid(spi->cs_gpio)) { gpio_set_value(spi->cs_gpio, !enable); - else if (spi->master->set_cs) + /* Some SPI masters need both GPIO CS & slave_select */ + if (spi->master->set_cs && spi->master->gpio_ss) + spi->master->set_cs(spi, !enable); + } else if (spi->master->set_cs) { spi->master->set_cs(spi, !enable); + } } #ifdef CONFIG_HAS_DMA @@ -1845,6 +1849,8 @@ static int of_spi_register_master(struct spi_master *master) for (i = 0; i < nb; i++) cs[i] = of_get_named_gpio(np, "cs-gpios", i); + master->gpio_ss = of_property_read_bool(np, "gpio-ss"); + return 0; } #else diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h index 4b743ac..0437995 100644 --- a/include/linux/spi/spi.h +++ b/include/linux/spi/spi.h @@ -551,6 +551,7 @@ struct spi_master { /* gpio chip select */ int *cs_gpios; + bool gpio_ss; /* statistics */ struct spi_statistics statistics; -- 1.7.9.5