Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751984AbdGaWUv (ORCPT ); Mon, 31 Jul 2017 18:20:51 -0400 Received: from mail-sn1nam01on0049.outbound.protection.outlook.com ([104.47.32.49]:56641 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751708AbdGaWUm (ORCPT ); Mon, 31 Jul 2017 18:20:42 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=alex.g@adaptrum.com; Subject: Re: [PATCH 4/5] mtd: spi-nor: Add driver for Adaptrum Anarion QSPI controller To: Marek Vasut , linux-snps-arc@lists.infradead.org, linux-kernel@vger.kernel.org References: <20170728220707.13960-1-alex.g@adaptrum.com> <20170728220707.13960-5-alex.g@adaptrum.com> <135fdf95-1029-2d34-2802-1283a73588e5@gmail.com> <83a4e27a-b96c-0558-fbb5-10e64f9bf59b@adaptrum.com> Cc: David Woodhouse , Brian Norris , Boris Brezillon , Richard Weinberger , Cyrille Pitchen , Rob Herring , Mark Rutland , linux-mtd@lists.infradead.org, devicetree@vger.kernel.org From: Alexandru Gagniuc Message-ID: Date: Mon, 31 Jul 2017 15:20:23 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [198.0.218.81] X-ClientProxiedBy: BN6PR16CA0007.namprd16.prod.outlook.com (10.172.212.145) To MWHPR04MB0848.namprd04.prod.outlook.com (10.172.168.146) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 89ba0d83-880c-4329-af56-08d4d8625a36 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(2017082002075)(300000503095)(300135400095)(201703131423075)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:MWHPR04MB0848; X-Microsoft-Exchange-Diagnostics: 1;MWHPR04MB0848;3:JYZKjah7Q7LfaYrqa/irE0VscVhqZxdzytcn2pYKMchERKuuCApvWTrfA9Y+3gUxaFb4PV+bdSthQ1tRfpZmqGpg/2CJv2TbW6MUE+tGGZ5d29yPKxVornX76Z5RJcm3YCW3nB19eQv6tneyvhJT0GvreIEE8v3mTkUEbydVwcneQJIkxXpHPRxa8wYMCEm6IGZD9KK520ni1D83JXP2RASLWd9hJVXn19UIBguArcwui5TyYbCGGikqU7omnkgo47uJL6O7ffBnUWJZjEGjSyh7nyue8mERqvrvdYlTB5EzKMFIuONtf7poniR30/MeU2ekV6WZqFybR4Ru0/kcYgfu7pQ3DklwAq9cLXEoSsW8rJDUI926eCTj6NnKwaoVr5YDZ513h3JccccSUxnGGBrqZq6GHlI75G4HQ9kSTf9C8HyOrdHwxSLQEvaMvT7dRsGHETcMlCSM5G/eSYKDe0mRJd+U1+q20cL7IpYDdgMT0XCPiaUBC23mJxs4bFEPaHsbSSpjGpA0/hu/pfSTWZmBOWoYyJe++KCWmQOdBEYJn2i78AhLFHvJqTfrVA+0Im5IE7f40DRfInpLslKcPz28Zti7GflnzjfBGZK14qb+Ji7rzHSzEFGU68v29Tha5+O9acyDAspwE+TF0335lu3Rwj6OSqShlXav61cww69ZjPdJWKQRKpXLJ/wGk62sEYrQLen/qnCEH1p9kL7MgyTuNgNaUFffj1l2u8lBOtsPHfpEnlevqWUQ0L+Dp+erWBxyICubDcO6SyZ0kJc8ZWm+GQN/e1YkrI6KKqwjRXo= X-MS-TrafficTypeDiagnostic: MWHPR04MB0848: X-Microsoft-Exchange-Diagnostics: 1;MWHPR04MB0848;25:IMdxUBEwA3Y9PVjBB6Wq7rYGbRhEthKLX2Z54uio3LZKv1MqRrkC2Bficw6fuixkT049Rk+RVdiT8x1m+7wprbkXO2A5RLLIR+CLv/H0VUafet38ywrrEr2LjewqWRrnPNtbnmT9mORfTIxZFD0DXmq7+uXCUb4TUBsmFm3Qp7RMTwpKAZ/r6bQG02vz/6nnNUsUB7TvM3ydw2k1Fg3z/JvbXa1hFtk61w8c1rp6kqfMK1uYWjrO1ESm1zjAp9ngDNLq/rBUp0CfUW6KY1wQKOtTZ2KD1+jYl9NZLLMltAonf6YShE5wbcN9wSc3fj/2h3O1Dnu5zuu9qXOp6BH4ANKlXu/dAjJ4hMGMFrgCmtunm0xEQ0h+FmimkWMj50i868GuNKJCk04ZN/wjlW2lHzX9LoduJiB3USB7PacOTdHG+sLJLrjXrfDBZ9fOc1iBLLzR1rl++WHJmQz+U53ZWhQmecGHfiQuMVlYb+kxiM/5Ff3Srn1SuMrbXQs//3UNbe/0HaRteKvkz13oCF0RbFMZlBOF1GkxVS2FBIJxbHReiIX9iwjYLid4v0v9k38AtTiwWcS7CWy8WUnvmh650enkqamyPQJWmG7SA08tkm4bZj72CxtFFfLd2moc/BxgJcACTkVNWlIydoKTNuJf6EQg315yt8gfubG9HfSPEX9vapqTLDD+U/2JEMwRFjfbgLh0qKNetz1kJMyuuQqqPOCep7vZWGvM+BuNnrOJU8f+kg7Mq3dcd42VJOXgd+9zmAxtjQaeTQcEknSwf0BTQAUJlYi0WTyN7Evl487hfg3sQKp2WG8m2bJvi0jg5eAVcOk6FWI/pJp8siMIQDSasZbnpel50USTCgXXm8VN5MplBUTsgoaoxPE9M4d+zIbZKW4wJX9gHavNbAlHxxbm5ZK91lAj/FMnVPvV1E5FSxs= X-Microsoft-Exchange-Diagnostics: 1;MWHPR04MB0848;31:+gbUaRkKyUnrfZ9TBjmUcDCMsf63salRzIk8zLP1IQdBWiRMGeTRFBZJY4umW6WvPRyIeZACny/3H2ONsTlKQ33+0UukeBsUCGJJtv7e5XPMlH1BcaHEFew2fey98Ry6Q/kwLDuIJB20TECAOdxihq1WCFUXozL/wdyBZqQ1ADVo9tPuivrq47y3EKbHcXsB3SGzsqAiecF9RzqtjA/Vy72fGybUZAzynbhm4eVsEZkhqwbyEqxb8kcXtRlL0ifqwVVHxHD1bpB9MzHrsISdnETKy4uKxzLz5h45j6MblZ6NQOTrwknGX7yt50nkuFGZyFvJVdfbvH81n7wPBq4iegq772Y1U6XEGjrWt5HozDEeN+iPnHm2Ksz2TMex7EELWj6vBWh3l4mEiNUmzrcWdbkVF0iYxFTrTnViW9jVCrF6BMo+JDJciG9NDl4mBUTnVaADT8Zh21IrnKBWdpp7mJyuJQb1jFzR2U+Dy7gnkTvBbq0KUZchj34yoRgey3Z6pxB5JJWFlarw2ftJzrb5idqD1ML9oTL4p938k/b9n/AtXk1NGJEHHWYvlzWJZtXfNHA/qW33o2dDgQnbAhkiqEMTMj26dJoqGX0o8xIYOFEND9MJiMcTREIG2oNCrL5SVRMVWbk0l0Bn4u8ymVMxhf9uO2u/7moc6v0DHt6tsan/3Ri0aTWuK430S2AHPeeL X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(6041248)(2016111802025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(20161123560025)(20161123558100)(6043046)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:MWHPR04MB0848;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:MWHPR04MB0848; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjA0TUIwODQ4OzQ6Z2kxa3RqT1E5MnREMGlMZUVua0ovVDdKR2tG?= =?utf-8?B?NVlwMk0yUEhrbXRSNHhKNU5oL1NmTlFSKytYYkNSYlJqTThJUGFvN3Vpcnli?= =?utf-8?B?VUdoWm43WWNCdmZSQndMRWZLTG9BTHpDNnYwQ1VKSWU2c21YYVEyN1VqQ2Fk?= =?utf-8?B?bXFhem1IWVpNQ2NBVHNxQ2RUaFQ0Qi9pdFZVU0VnVjhPTjNZUXRvZjEyUkk3?= =?utf-8?B?L1lDeUdFMmoyN2NXRWdmOEFMakxIdmNTNUZvM3RIcWJPdkwwbTl0MkRIeTYz?= =?utf-8?B?VGtBMjhkUldVaGdnSTIwYXVXR2NLcStOd05WNUJzY2dWTzVBbHhXcThHQ1pL?= =?utf-8?B?NjNDYjVlVlFnN2laWGpzd0dsVmV4V3lyRkJFa1NOVVZNbUM1a1ByMmdXckFJ?= =?utf-8?B?bHVoQnFUVVlYc2xrRERNZVBaL3lNT3FHUVROc085NHA3ZTlrblJFckdLM2V1?= =?utf-8?B?MlVkT240OEtpN2pUMmswNXJNcjZkNzFrZHpCdmJoRWRmUU4xQUwzRkk2QTlt?= =?utf-8?B?R2gxdW1HV3pZSStPK1ZIc21tQ1dRRUpFazVSRldVeWZzbEFtcDQ4cDZiTlQr?= =?utf-8?B?UmFDQ1U2TUJHdGV5SFg1Vi9vU1E0dnF5OHdxK3UveG9ub0ladzdTWUJoREt2?= =?utf-8?B?clJ5OEZsdFVQWjVrZllMVVFzZ21jWUNCd2d6V1N4TUtKSDV1aFcyOE8wNk1a?= =?utf-8?B?WHlnd3VoZjN4TmhoSnJ6bXhkdWJsZVFWM1FmUmZhQTJIRWNrREN2OWxMOFlh?= =?utf-8?B?aDdKSmRFaWNqV3pDTDVCN1F1dTJlZTREUU93YmdiRDhyN3JES0FxVjFPZVRI?= =?utf-8?B?VmdLTGhHTTBTNnlXOE4zRHNiQkE2OTc0dGJJaDU4R2ZULzJvd3dlaHBmbEMr?= =?utf-8?B?Ylg1Q0VWV3dJTng1UjkyWXBDR1F5dy9vV3hrY2h1eWtWN0ZiQjcxb0ZXWGFF?= =?utf-8?B?TmpoQ3d5WGZpY2NTSlpadUl2T2xCV2pDdWxwNHJRU3MzUER1WWJESEI0cktY?= =?utf-8?B?TTVRUVRtMGFvbXdNTjc5UzhNbTg5RDljMmZjc0MvVWQzRS8yeWNkQnc1cDEy?= =?utf-8?B?YXhsdXg3SnNHcHhGaE5VTDl4aWp5b2ZSeDlFdEgydGRqSGlXSWRpZytXOEJk?= =?utf-8?B?djY5REE0czc2MDRFY0lYN0l0Q1RQRjF2eWIvdmZpRzhJaEpXN0tJNXRJL29w?= =?utf-8?B?ejA1bkRsTDBuaGtROHRYM3ZvNUZhRklaTysvNmJsM1BaZk14M2hqU3o3YWZi?= =?utf-8?B?QVY4WjVueUZ6dGhRNjhXTDdlMzBpRWszNzEvT1Vqem81U1lseDFrWm81WWQr?= =?utf-8?B?aHIza1Y3NHFDUHJrM1dxd0RUaWY2aFZxZUdCR2FaeGRYL3NwT3hKWEJrQ3Vu?= =?utf-8?B?TzNxUjd5Vzlrb1pSRUxiWXhKdGViVVJkaGlGVzRlOGF4cm96bjFlWVliY1d5?= =?utf-8?B?bXlYS1RlSDR2MUNWcjNwQTlrSDZiSFZ2Ymo2N1hodWoyaVNua3A5R0sySEtn?= =?utf-8?B?TG9BRFRGTHloc0JPdjM3VmViRmlwcklROTBRQVlhaXJIaXVYc2hxYjIyZjlr?= =?utf-8?Q?s0IvVEMzp/PUewRrWfzIVO3Ur7N3bkYvuFje+FL2p5s=3D?= X-Forefront-PRVS: 03853D523D X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(7370300001)(4630300001)(6009001)(39450400003)(39830400002)(39400400002)(39410400002)(189002)(199003)(24454002)(377454003)(2950100002)(6666003)(305945005)(189998001)(54906002)(6512007)(7736002)(97736004)(23676002)(50466002)(6246003)(3846002)(6116002)(31696002)(68736007)(110136004)(38730400002)(86362001)(53546010)(36756003)(53936002)(25786009)(230700001)(478600001)(93886004)(65806001)(5660300001)(64126003)(33646002)(31686004)(7350300001)(83506001)(65826007)(105586002)(101416001)(106356001)(47776003)(2906002)(65956001)(50986999)(66066001)(81166006)(81156014)(8676002)(7416002)(6486002)(4001350100001)(42186005)(6506006)(76176999)(54356999)(4326008)(229853002);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR04MB0848;H:dev2.adaptrum;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjA0TUIwODQ4OzIzOkFMdkxhYklwOG4rN1FDUkFYdDBlTk5xU2xP?= =?utf-8?B?SXgyNTZyMlZtSUpIa0hjMUZSOWxpQ1VSQ3gvb1dHMVN1YVFGc2VRNEFUWjlt?= =?utf-8?B?V3ZSc3N4SEJUdUFkR2ovYTNVSS9XYmJTdUN1R3h0eW9tWUFVbURLVWpoUVpy?= =?utf-8?B?ZTRZQ1hwMW9Gb1ZpQ3g1QXpBcFBiNktJUjg1MFVWMlRTSWx3OGlxWW9UT3Fn?= =?utf-8?B?MytxQ2lBU3BtQXRLcm9IcVJnKzU5NVdJaytRNnErVjUyOXRCMVkrNk82cGlz?= =?utf-8?B?MnVhS1RHZFhUT0ZOQXNsa0Zva1VMNHg3V2QzWmdHVkt6Y1EvNHI5VmlnNHg0?= =?utf-8?B?TWJVallvTjBsTDc2L2tFcHRGYVVFRjZLOXVvQno3M2NKQTVqb2VIdmpMNTRs?= =?utf-8?B?TlZVdk9JVFdSN0VoOGlyYithdGJYRWlPWGJMOUx3WlZKKzJSb1JpSnpNaXgw?= =?utf-8?B?UnJXQ3lBWVdGUnpNT2ptVXpNbzFZZGxHMWZ0YzVzSWpKNTVXUi8rYk5GU0xh?= =?utf-8?B?dVdGTVBicnEwNFcvNUxIVVd5WFg5R3djb2U4OXdhOWt6Um8rK0p6ZEsyOTVr?= =?utf-8?B?aHRXbkg0cTdlc21BTUpQaE1ZNDJZdlB2NUY1UDZRUndZUGlBbHJQN09MZzFJ?= =?utf-8?B?bEUvY0V0MHlvWEZnOVZRV0lSSkZ0Z3VPZEkwVEpyTklWVmR6MTNnY0svRWlG?= =?utf-8?B?bzhvWElSZXlpbnFWNE1wY0dtVmw4S2didm1oY0xhU09oaG1pb1pQS3dtQzAz?= =?utf-8?B?T2YvZXMzU00wZUFqTTRhc0Q5dUQvSG9QMEhsKzAyRVAxQXRmSDB1YkpxeGY4?= =?utf-8?B?UGUwUmR4R093Mm1nc04xU0x2b0p2OHlmTGM1eW5wTithcDlTNHdTaHc5NVJP?= =?utf-8?B?emZJa3BKYjJKMjYycW5velpsY3dvSmVzTyt5clh6WUVNQTFQTmxWNllCU2Zl?= =?utf-8?B?SUUwN1BLRExPbGhpVHJiK0RPVVhKb0VOMGVULzhldFAwaERLTFlBaFNic1lS?= =?utf-8?B?WVBRaHpTVEZXSkkzQmtEa0g3cTVHSU5DZitGL0F4NVB0UzNuU25ObGpoZnQx?= =?utf-8?B?TWk5OFplaGpRTTdzWjNVaGV2T0JVTnNvY1VDc0x1blR5UStHQkgvck5FTTVP?= =?utf-8?B?K1F2d0g4NnZCS0tqakNSb29KZnFaRUNRTHlzWGt4dklXTVQ3RFJmTnFFVlFM?= =?utf-8?B?cENaTWxMdjFXUmJNVDVsMTc3REU4aWVNdDQ1RmVGRlpZWFdvMU1qd3lpUTht?= =?utf-8?B?RGNUQmFXb09vNnlaSms3UklJUHNYMWRnUjg3Y2Q3VCtIbHdvTjZTeEdMaElV?= =?utf-8?B?TmsycTF1eTdIbkpIK2RQdkRaU0cwVVhxaUFvNnpTRVIyeEpyVjQ2dUVDVmdo?= =?utf-8?B?VnZRemd3UGZzdWx2SnlNRkRTMWhDM2dCanhXRXZoUEt6NFFxNzhVUm9ldFU3?= =?utf-8?B?WVI1Y2VaZUdUeW9ldE04cFZuNDV0NldmOWVjTFNsenRXMzZsQURqMzdnMzZk?= =?utf-8?B?RGRrSVBSdjNianRvU3lYMDNpSWhvTEJneXZIakdlRDUrNHhrSGhvbkZsNG5Q?= =?utf-8?B?YW9ZWWRHdnJRYlovRldySmVLUEZyNGx5YTBjd0QycW5CU082cWhOWXFEMEhz?= =?utf-8?B?VFZLWHdpcEtMV3RKaTh6S1E0QXJaV3ZTQWJYQ2l5aVNKUUt2alNxUXpXd09U?= =?utf-8?B?TGN5UFhSVU9waHJXRmw2S1dHNWI0Nm5NUWVibWRyeThoQThPTDhEc05weDIy?= =?utf-8?B?YU1sdFVRZG9WR3QrcUsyOWNQM2EycnEwa1FDOGhZMWhLb3g1UENFZDJZOEFn?= =?utf-8?B?N1JmQzJzUVY0amhkVkFqTVI0ME1LNzlZVHNuenYxMWx3dElIZjZvbjh2OHB3?= =?utf-8?B?WGlQS20wczFKZ1Voclh0VW42Snd3cG9qM3ZUZlRNYmxKZUpBN3k1WU9KZlNh?= =?utf-8?B?NjNDakdVQ2RVK1Q0S1Zlek5HeUhLS1ZVVm5LSHVHeVVRcnQ5ZEt1emQ0Q01T?= =?utf-8?B?ZjN4UGxFVzlBQTcrenJ1bzZKd3lyQlBPTUZkaTRxL0xsdTd4aXlmb3pteGMx?= =?utf-8?B?OTFoM1RrZTRiS2crTC9YandEMW5ZSWFVblh1QjE0VVlGUkU1L3FUMEI4QXVO?= =?utf-8?B?N2c9PQ==?= X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjA0TUIwODQ4OzY6ZWxJR1JmQmZnS0JTNjhYWmxTZVlsM2pFTmtW?= =?utf-8?B?aUJNQWJ4d0pxUkpnZEVCbTJmSmZZdlIzcEFmSzV1UDUwc1YvcUo5UkJwbkhq?= =?utf-8?B?dHJidVorZzFkRXdNRXpjRzRTSm90bUttS2ZQV2t4d0dpUkVmRXd4SjRUYS9q?= =?utf-8?B?LzR6MFluKzh4YXBNVmM4Y1h6MW1ablFtUHhlalk4SjNQVUpKQTlwaE5VTVA2?= =?utf-8?B?YitTUS9tRXBtOENsekRWK2toWkFpd3hKV2tMK2sycUl5NVE3N0lGdFM5dzgz?= =?utf-8?B?REJWYVN6alpQSXRPZXlhbllLRThRcFJjV0FpN1NDSndHRitjdDNUVm9MOVdy?= =?utf-8?B?WGdxOXBKWTVoc2JyVzJiWlk3Y25XWnVDOGl4UUZYMmd1M2dyT3pUNzd4VjBZ?= =?utf-8?B?bVl5ei84c2NhWXo4WVQ1cGZiY1VwekdGTVQ1Z3JxbC9LOExmbXBucytrMmZ3?= =?utf-8?B?R09DYktzaGg5VnNnRm41citQakpicEg0SWMvZFV3SjlYOEMwUFZCK290RnhX?= =?utf-8?B?UHg0MkViSVpVREkySjI1Qm5zZWNvc0lva3JsSEQyRWN5dkt0eEQ5NHk2ejR1?= =?utf-8?B?ZStUblBJRVNocHFIdHBlWFhmL2Rtb2VBeFgwOUhoL1lpaXJlTXRFMW02d2Fs?= =?utf-8?B?czF4b3dpc29KV2UrQmplNm9rSFBjck1FWFc3Q2VwN0krT0hiTlJhU21jWVF4?= =?utf-8?B?WWlMQkpUZmlQMGo0Z3VkSzFUeXRGdFFsdXhNb0FvaU9QZGJOQW1qVERtNUp3?= =?utf-8?B?dlJPUEMydWRmZXpScWFQTFpsSzRMVC85SFBaVWJ0Rk1oNGxGcGpsN1pvdWpS?= =?utf-8?B?am9IenJXeC9hWFZtWnlpQkxrTHZTMjFqWlBKUFhKcU1QaGNDSWpkdSt1eHkz?= =?utf-8?B?TXdqOUFwck1MUVBJTzhwY2xYcVVwNmw0LzJTSjlvZ2FMOUFqTlR4RkJUbVpW?= =?utf-8?B?U0E1Z0I5K3l0TGR5QXQ0VUx5SGtZbHFzOFMrM2lNcmppcU5VK3lrek9PUFZv?= =?utf-8?B?QnU3dXpEcTlZenJ5K2puSFgxSXdXYXgvbFZ0angwN1EwcTR2Z2NnZ3Y1eVhm?= =?utf-8?B?WkpQNDBVMmV0SzdhaWI3cEZ5SFdZMVhTdVVldGVWVUt3dU5WZ0xoR3B5amNL?= =?utf-8?B?V2pNL0tpT080OElVRnZnVnE4eStCTVFnWHNSOU9yMmQweEhrWTZ1YW1aKzls?= =?utf-8?B?TGNydkkwQm5jYzFFYnVsZU0vS0owTGpQYVVFdERoUFZ3MUpjOHZheU40L1R6?= =?utf-8?B?RE1WWUYyVGU3OEpiQ2gyaTl3N1IvUnRxT01SOEdjbGNQN095aTQvZ21scHUw?= =?utf-8?Q?GDHm680KAwa7zU1x4qLDLaSTonH4Ygo=3D?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR04MB0848;5:uJ69kqOEXV+Sfry2aH2OyowMeLd8GyQPYWPmaEfk+9J4Wb6tucXC1SObPdao8TzVgts80BnuHhZnFdMEBsntMHM13Ct8Emmptv3fc5vEzXhUJ8vjXz/c+iFo4LtXvsPdywwQnuHWCGoobYCEJMaHknxi4RIxn7OBs6JtTGLONY4R7TQzNlKQnlC7LtPWLP+5vAhCNwCFt9za3SmSgcRvnvf9nzWA5sWV+qbrCV/f2KIXrzkomdPBkSNNxKNWZ0SOUj5C6SwxJuzKx3r4kk54upxFpeQnyJND/Rd+ifrjX6skGkX/tmJ47JYfWQTtQFN3lUof+7BU7duc7DZFCr06AlID5fL9TqMkPFTKa6XV7H9GX7EShXaji7v5MmVj0oEET1VL5g3TnmebihqWX4obKAkbwrCb9KRW1lp8F+VangO9zCIYSGXCoQbA/Lhb/KkOiGR98EZwvexjHkYkS8dcO+ji9l6OO9WeXmiSqjCCNRsVSj55gXrTAgy/buAH3rXi;24:7MzDMclT+ly8DYtq9bpCtjq1GGq4YrsftzextTAklZo9OEbCQlZVq5mHsfpZFzHFvIt0TTL+zV5A4E+j8MSi2Tk2QlrrBpYzR38kroxzAk8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR04MB0848;7:fnrXfTyODczCX3lkr14BqrXUC1Ui+CU5jXuANX83cf7O5hmaVCD98v+MYDAKy7PZEALS3JVOgaEjREcEiMdyB2vfuwA3+NDelaPyiJZCmBXETMq3Zaqd9qpBMqs7rDgvrhvlDpIZp6UimkpZe4xzZ5U+Ix1+h8opH0jEU/0JRClCGFp7z8ztpLxrFrTY/Fm+4akwhe8X2RJcOrXTvtWLZj2M5Wo1gueuP4ESghCDWc9pnAzFrvMRP1EizEG8MsT5lSoGVKi/mhl2zFGgjH3qt0lemei/zZBorZCksgGvigS9vGkfMk8nR/MBuKcHIBM5Nx+E0vVE+SGtz/40/rIhrLrhfXdorkWH90pzPFFv9HScdWdVEVmp04kZZYKluXliyeCPFz9pi6elJGJQOfHklw8y3OPcgeXa8oaY7F9nqCVsJCpAV3klS5YrDNI2serrp3RQy4MEMdwOWBr1TVHaQ7pFXgteCCE4fy5a56o4Vw1hvx/EHb4OXTMZ/RnOwhA8a5kme/8X9SryZTzOr5PfkrAYpg83ccmVmEjNnv/oTLylzPlCyYJMLbWTT4svGJXOsJXq40ppiJU6vl88dglgsoNbhTYHf6THNDC9nnIedPFb86jn627+c8AUS+tFpG/yYcPQ5Ozpb+RUoFlgdelCLnJ5k4L9ZJ9BXtbUywWg+Fuo/n+BocHOFSUybax+FfV+YOlHJCzoXvHKRyFu3Pv2sH4tI2nDO6jkV1pmgaFzsCF7JozVkXngchCzseWETS7ziAhpV9l3Vj10hgmxsvMZqHVejFJdPfvtbTxOHij8LWQ= X-OriginatorOrg: adaptrum.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2017 22:20:27.6760 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR04MB0848 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2191 Lines: 72 On 07/31/2017 02:33 PM, Marek Vasut wrote: > On 07/31/2017 07:17 PM, Alexandru Gagniuc wrote: Hi Marek, Thank you again for your feedback. I've applied a majority of your suggestions, and I am very happy with the result. I should have v2 posted within a day or so. [snip] >>>> +/* >>>> + * This mask does not match reality. Get over it: >>> >>> What is this about ? >> >> Each stage of the QSPI chain has two registers. The second register has >> a bitfield which takes in the length of the stage. For example, for >> DATA2, we can set the length up to 0x4000, but for ADDR2, we can only >> set a max of 4 bytes. I wrote this comment as a reminder to myself to be >> careful about using this mask. I'll rephrase the comment for [v2] > > Please do. > Staged for [PATCH v2] >>>> + * DATA2: 0x3fff >>>> + * CMD2: 0x0003 >>>> + * ADDR2: 0x0007 >>>> + * PERF2: 0x0000 >>>> + * HI_Z: 0x003f >>>> + * BCNT: 0x0007 >>>> + */ >>>> +#define CHAIN_LEN(x) ((x - 1) & ASPI_DATA_LEN_MASK) >>>> + >>>> +struct anarion_qspi { >>>> + struct spi_nor nor; >>>> + struct device *dev; >>>> + uintptr_t regbase; >>> >>> Should be void __iomem * I guess ? >> >> I chose uintptr_t as opposed to void *, because arithmetic on void * is >> not valid in C. What is the right answer hen, without risking undefined >> behavior? > > What sort of arithmetic ? It's perfectly valid in general ... ISO/IEC 9899:201x, Section 6.5.6, constraint(2) is not met when the one of the operands to addition is a void pointer. Section 6.2.5 (19) defines void to be an incomplete type. [snip] >>> Is this stuff below something like ioread32_rep() ? >>> >>>> + aspi_write_reg(aspi, ASPI_REG_BYTE_COUNT, sizeof(uint32_t)); >>>> + while (len >= 4) { >>>> + data = aspi_read_reg(aspi, ASPI_REG_DATA1); >>>> + memcpy(buf, &data, sizeof(data)); >>>> + buf += 4; >>>> + len -= 4; >>>> + } >> >> That is very similar to ioread32_rep, yes. I kept this as for the >> reasons outlined above, but changing this to _rep() seems innocent enough. > > What reason ? Being able to share the code between the different codebases where it is used. Alex