Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752640AbdFTXJN (ORCPT ); Tue, 20 Jun 2017 19:09:13 -0400 Received: from mail-sn1nam01on0072.outbound.protection.outlook.com ([104.47.32.72]:11146 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751773AbdFTXJK (ORCPT ); Tue, 20 Jun 2017 19:09:10 -0400 Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=synaptics.com; From: Andrew Duggan To: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Andrew Duggan , Dmitry Torokhov , Benjamin Tissoires , Nick Dyer , Jiri Kosina Subject: [PATCH] Input: synaptics-rmi4 - Only read the F54 query registers which are used Date: Tue, 20 Jun 2017 16:08:48 -0700 Message-Id: <1498000128-31037-1-git-send-email-aduggan@synaptics.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [192.147.44.15] X-ClientProxiedBy: DM5PR13CA0041.namprd13.prod.outlook.com (10.168.240.155) To DM5PR03MB3209.namprd03.prod.outlook.com (10.174.240.38) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 284cd1d8-0ce2-48d6-724d-08d4b8315aa1 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:DM5PR03MB3209; X-Microsoft-Exchange-Diagnostics: 1;DM5PR03MB3209;3:aBa3wtxUPH9c+IMuZ2RcnSIZJsHCQOwxoAipNCb5cQrhZMyuYdaLf/vWwc7xc2hMiB5JXSs6HYHn0aFWho/J+6azrJygg98v/G/buOM4lLHdfCnbE7TMl3DXAdTRgvva+hbyzYpfLe8oatmioK4NpfLmk7/h/60iRCvMGO3S92CLDdLTfTQKZd97/EvtSHwvVlllCEptCb9/NKK7AQzKTAzaGouEN5slecyDM41jD/dbyHiSBzsbVgP0FFF3wlR/O8K4mOIEEi+Q8RpTZXinvp6vHpl1yOzLAPEPT/Jq+AZXJdYJ7J8CGxzK0xMYMzzlp33Um67XaDmDpBAXdi8Shw== X-MS-TrafficTypeDiagnostic: DM5PR03MB3209: X-Microsoft-Exchange-Diagnostics: 1;DM5PR03MB3209;25:UWZR7771/b+YlSqEHm7dgoX+1hffhK7VhyhyLmBs2uwZ5ZP614JQzRejQkWxsVLmofhdMhToEJcDHmW8r9x0LZTYcrfitvdSP8TEO8C07iBNLVT4wySftZ062nuj03P+dPC2Aj+ZOX0BER5Pa0LYNwBdVPireWX/FxX0oUTmMmFGCNVV9xkUnFQYVti1c3/2gJtw6P0kcxvwJzlyGQ+SDjldC8wz6u3/b/f3U/aRwIi2lVCqdmVwVd+FbMHRtknS6nj2S6EbQpH0TstzZV5ozcbkOikHtj7LZEWaHfnIl4OKX4xdyYYH9v7WJ5lZKLJv6uH2esuf7XBviwVzy04OA0CmQiyPQwEm36FX9ytLrnxLy0VcjZ7XBWEPHGhAMX44aGZ0FzimDoRg32GpZCRW4wmag1mMNHujuW1v4QzMC1YmJGIQVXT66iYBCVN4veepG1mdpWAN3AjegDpZ11X5eeIBdMaQq80DWXDBl+vINSivxdA2HeMeHBQWbql1C5/gTXreWvOEkgc3ebjMYbEiX/ks49mKd7033vjqXmqHaMQdOYJYxmc0FcQs+6B+0l7jI+mkoClhj1FF4l8I24ty4D4n6qI1qgltpMVnO5l0DXY+E3/1e31FHwtPJex/6XkQA5BrEcq+k0gUbi9Obw6VoKILVIvD/gdiyGqAxfzrTBKgxBPewvTvvD2xnmGHGEWNOIEdrCM764WwVP+gjPvjjntizKpJ/30Kn9Xr/cWISOXMjcK5TAySbZVqNHZ1dvzGfH7nSpuxr1h6amT7QHJ+56KV5UHTQ6BfBEuEupA/HEqpzS64OWH9SFmTTbGprDm2F0BigTRxXFLFQpUppjyW6uaxnsV7d+1V/sJYEBZO1MCk5LgvdJPnu4Y7MCO/sdS5e0wo1FGG25SDi7Xgwt/V+0PVdFBVfkVrDJq4avS5cjA= X-Microsoft-Exchange-Diagnostics: 1;DM5PR03MB3209;31:gwN6IZxj6pFCrWbh+ruylve+y6/E7FNJTz+F6MbGOFAvvafiswVOnHh9igAUZ1P79ddCf7zF3ycBY64+pt7kMmFxyG0xnMNSme0wbIvPY6/vk5nq7heTeWEY8Fyl8bqkJkAVoZKsWl/MiH8uBMkTWZtp2j4YltLNQdVrPgOLzgVQ7IWsXmARFPTUJYJJW4i6Ckxq53QGBFXzqQ13UzpS1f6RIbQrhkUIHThEmIQkWFcoRaQ8bO8b+YYUYgSuHTBtaHRARx2oRbuS65PpBqNtFWcRNxDcBE5Txu6EwNo0J7R/T9YkYna3I9VDLI5qayVCpBYnA6IkeSwlT+q6GXaKQwzxXpwYHlNO6FvkXVsw4Te9arIe68sU7y8S5GS9MLxHx6zNMSeB2HG+/D9B6kT8JIvvxhrt1zLSfp5mrTsyZSnor5QYXXRjBBY9U8qjvQANnjKMFCdkwn0tChiVkWqTr0m04uIxZe/tP3zvGKL3tY7eWveA+l/ysDZjctOoDwop92n/OonpRj7nRwSX1VvMC5aeBVQdsUJOXBjwE/ya6Glypj0FM4YLg+mgH93yu0GfAuC4TrzVpkht8GrZFVZ0X2ucC5klk40SBGU7H0bFh6MEh0ogEzf+XwPnjensQefRBnUh34hoMquLQF16sWc4+rBCS9v3aGJ/rtqBVi+1Fz4= X-Microsoft-Exchange-Diagnostics: 1;DM5PR03MB3209;20:3VVSLXbz0y2run8KKeXEdkBNMyNZdZ0bxdGkSuFJzCKz9RViqD9vTwWunGGsQ1KcdhdY4kBR51Ei/dzQQ9fnE//nsNQQZ1UPRDGRZ7wS4vxCS1mToVK2fqB57eY48zRhj5SOoS+zKg6iTN6bwyXaIfgXSW15y/h1XTXjt1iefVycTohIcns3PLGgVdDh/sNrmXwWGXZx0odbCQr0Jhjdx3EFObOyVNLMkr622SuHqC+DHRtqqIk5wk+7z+r2klaPKwtsTBqv7TBkqhwCJR3kL9LeXLC16qn07Gi20bK9XuNOd+D4+CMJ7K73DTf0+wwhO+SWI6LMD+ncaQulpNePami8OPO8sCnv48fu6jNqw6ypSPBl4RqgAsWlvwSrIJb5Tb37FVJHoMKOku86KwxcUyuW/cCuhTy/+QRvwiMR/2E= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(20558992708506); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(10201501046)(93006095)(93001095)(3002001)(6041248)(20161123555025)(20161123560025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123558100)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DM5PR03MB3209;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DM5PR03MB3209; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM5PR03MB3209;4:y4gO9HELkM/80rFwvtCJcIqpWTetOBtSIRNCO2HhEU?= =?us-ascii?Q?cZyFErt/hnI09RrCDu94GY9tx1pEWCS4Q9Kq0Vcb2w3cPCwn5KBMQtWhh049?= =?us-ascii?Q?EOnbEv7n101a45StGw0pMrm9sxU5X2LQ2k2Ddpu4MI9URfo7BZyeO+7WXjkU?= =?us-ascii?Q?HNCtsgw2ITSD5jgRTO62fXU/3qSTlhDi/gn8mPoxtG4Wh3rq8k71WZdrr069?= =?us-ascii?Q?vyD/BmZ75Uwn3AF+JHKFqsal1KREEqUlMsvaHwi8bVK1DyH8qN2++T8ywU4b?= =?us-ascii?Q?Ki6q9XLr51Ux1/UuUq4FZ80lTRvgVM3qz/XeK6/xwqBP0r9H1A3apgv08AhR?= =?us-ascii?Q?5HNNW4HLLXGxvbqmJYDWst+NcrqcBoPKcyKhx4dVljIVaAJCk/KG6ADb1HQ1?= =?us-ascii?Q?7UcuUNCsj24xEJOicBwWfrNPf30PsEhX1DxuzrrndJs3+VnxavMtSQts2R2Z?= =?us-ascii?Q?fsk4qYFOO9F9xfthMphrYREx4x+4XCnzKj6f5MDzUGl439vnUpelOEj7evJw?= =?us-ascii?Q?z8GrH5pmyBJYQ71tSjYvfZfav4Ul2EGk1NyWiDSy5sPZQXsxl0vTnZ+up/BX?= =?us-ascii?Q?qe/xLISxSh6MtsUJgiMy5HAmyNIE37zRdF2Ca+JxVH61fh61qAnkBEheSKwr?= =?us-ascii?Q?gpwO32lUiLJ8QMZc/7+iAvwLMK3c6ou/SYC7zk2LYPcT9abgbmuDTfDNSsdm?= =?us-ascii?Q?GUk9jDbewYAmxAUvHtawTHpUszyuVZ/ccteLLOutggEjcUFS3zhfxdW8+cuh?= =?us-ascii?Q?3sisxjs7wdCfD5PFKjKlJVJS+zAk4v4Ugmj+qO2UstXKJz+ojXSX8m7cHQqR?= =?us-ascii?Q?q/NjBrZfur6aJjdXYkubGgkdRvHxAGMd+6QbZLI38xSUIBYbVj5uIT6fU5dV?= =?us-ascii?Q?l4qTB2Uhb7xz6kY4khDSrVmRPYhR4N4qFdeOX8+3CgLDyIa2U1qEZ/nZZkB/?= =?us-ascii?Q?EPO59gGTr/v9Y0A5Kom6EDihj+QGoXcI1a+wmUFyQqGEp+BUdIzSh/+bQCkF?= =?us-ascii?Q?orrMLTA9nNIU1RUuTjTkImn8yLqfFiDpI3yZna7SnozOC4+xHLKoAtLc99tM?= =?us-ascii?Q?CSnnXm2pgTWtXe6tfcrLoq/WGp6Q7qpC34Uye8q/scXT8SKcJJCLrX6N9v/f?= =?us-ascii?Q?wK/BlXk90daMho1lU2FibA4JiUTacYbg2I3s7Bc+c3o0VimeTngZw5xE38WH?= =?us-ascii?Q?JQc2FrtPx/YkI=3D?= X-Forefront-PRVS: 03449D5DD1 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(39840400002)(39450400003)(39410400002)(39400400002)(7736002)(966005)(6666003)(48376002)(6486002)(2906002)(50466002)(42186005)(33646002)(4326008)(86362001)(25786009)(50226002)(5003940100001)(478600001)(36756003)(110136004)(53936002)(8676002)(5660300001)(6116002)(3846002)(6506006)(189998001)(47776003)(38730400002)(54906002)(81166006)(6512007)(305945005)(6306002)(50986999)(66066001);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR03MB3209;H:noble.synaptics-inc.local;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM5PR03MB3209;23:CGJSbcxASa1nCROJT6PatPcf1G3WYmTpsysA/IN4n?= =?us-ascii?Q?AUaNbX84JMjcMkZOZcYWXc2NzGWmM95uqObx99JpON2cYv3pkesiyOY4WN53?= =?us-ascii?Q?c9GfEBgDMiXEWVzpTIgK55axqLve7EmZcnBHJggq8dG4NPktAS+FP2qUzKSM?= =?us-ascii?Q?dstHBzg/SFpVwEZ8TeQC83M6mmwtik2OoGbyQ3iOUfgqPI95jZt6+yn0vMbF?= =?us-ascii?Q?sDLOy9CT5YD2YsKPXrFGO4NCip7c0I0OKcVz+6JP9Q2CZcPW/DkvToJbRrkP?= =?us-ascii?Q?5Znfo27s/eamwotFuON0iWkWIYMUlhXRx2qYxyubYQA+9KdgbBjOZZm/6z10?= =?us-ascii?Q?S+jODBT19V3xFFiKSaEv+GA+qrvCLG0OCzFiNwUIj7ldMV1mW1BOxoBWmD5D?= =?us-ascii?Q?rdQtlSws+HsEdRYyM80Nq8ewc9aveix4NaXZL/fmM+FkiF6QDBgWuZ7X2peZ?= =?us-ascii?Q?C0ozyW8OwTpZO4G1CLkCecAFBgawBsguwrPiL7YwGVarXzagY34iBFBh/lNo?= =?us-ascii?Q?THvjLXnoX6b/EhqRBy5nv78NZ+UAQpUgLXtKGDnWowGvVt8j0b6jECnAE7+F?= =?us-ascii?Q?vNOJKb+pV9hQFtdNch9iEg+60cvfy9gSRcsscl+7c6/OcJTkK9Whix/2d5oR?= =?us-ascii?Q?ZoEAZTtRLO5LKlwfh0U3WTX81b0KlFI1jszFEKLKkxr6GoojM3ifonLwY/HW?= =?us-ascii?Q?uTt2LqaCHAZ/duSkByjUzruQtSdCN/W9TZU/7gXP32wmjWWTCD/2hmFdwmIO?= =?us-ascii?Q?qtakczCCO8oytCpVaW+suG8XQUVwjTxM9a1mZnXiZEMk8/Jr6IsiohXXyIp3?= =?us-ascii?Q?mkcO7ys1CDEDJU/yP1iI8RISs/5h2NRPVmNZeLymZs3JFBfqBkdUAQbfvS73?= =?us-ascii?Q?pocyAVlSEip5OWgJQDsgQAEbVoAqhCwFqoe0F9QedGebqu/DDH+o7ez8WV19?= =?us-ascii?Q?x4a09uiDvE2nhblXjPGVT61o9HpzwCuseIy9VvdHNeyjXGt8jUlzXr/o7ADk?= =?us-ascii?Q?jM=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM5PR03MB3209;6:qH5sPiBBvBDbNBl3CWzViuCxs++hyksjtvgNLifU1m?= =?us-ascii?Q?CC68USGP4BElbiBdQkzb4cR6x7EhC72XHYPDi66aQSObZAaZe07YOe2rX1nh?= =?us-ascii?Q?sd1445GTHaowQAQDo+gM3Pi1ElP/5XxLTtwBd+/ClYPmZK3vTO6O/awjxvyu?= =?us-ascii?Q?vKDOnA9i267Aj9H8oMw4v7Ak017qz4Qnd2Z4EvE7ufZRO/EhoRR2WpKi6KiW?= =?us-ascii?Q?ICuPdiPhUm+jHPT4QcpOxpPD+Mce3Ppv/v38LBVguFXyjKU/0hCTnu1Axfpa?= =?us-ascii?Q?mUaDtktpK2bqlZCKRneNHAcBplG9qJPiNtDI6mEaSrVpm6bPoQ7roMfIORUk?= =?us-ascii?Q?/igYgzllL32G8pMeOepqVWS/hUQDxXHEEZVColZuqq8ts10agmIyMS1uHKt9?= =?us-ascii?Q?e3qegN+aBOuWphxggSLNjwNSVLcbNlJGaRUycKKaQx4nPTZlfagRRk+dyb3f?= =?us-ascii?Q?lwJzRCmXDMS/Sh6YoaWhxee+hu4WqW8ibvNkMYjyR6prmiJUHgqzp6QEVf74?= =?us-ascii?Q?d4DBMWT4rIknxkRZzx6kL9Epi2y+kg9hls7XMc5JOFozQCNCL52KnTgv5OOf?= =?us-ascii?Q?VEAKzSTwFyCgrJzdwu1LWnMWSt4CvoFyI7srHvAHa1ywwzNiZYhFjtk7WIpg?= =?us-ascii?Q?P71u/oT+2sA1bPgn75BLWdv20q0BP6IU7wcjEpoHBs1M3EGsHPi++pZLvT5j?= =?us-ascii?Q?zhof78/3t28khPuZqe5YFJEVvVczYY3oYGLPBRM2hdqMl3NwWhfnbhg5IEPf?= =?us-ascii?Q?OEyyQZ9RPn6fS+9WKCf7MXNcsaOXrVFtpMA3IeRq/pewHp33Sv2jIfjfx2Sc?= =?us-ascii?Q?KSx8APwWDwCzr7Eyp4+wGgMpUQ4k8nO7jGuRvtbj1yKVokGKKKII90g5AWA9?= =?us-ascii?Q?53m7oXg+TxntsbxlKZyzyKcB+rFLt1/LIw/LoYMEkIcsisWzNV1btYlZm2WO?= =?us-ascii?Q?hluAwmfwA9QjINy3v8UWHSMhde831Zj6Hp/O563mlOSYn5xLPI6uA/PAW/EY?= =?us-ascii?Q?A=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR03MB3209;5:R/+OqoJYlOb/VmaqJhaSSQby29OtDDbWEjs1f17n1F6oBDdNX5ffGbPolvytT/zIIP/NGxmiauyMEu76Q6XtxSF/09mEUc6YZvyjDxPr1UPRLs3CScZvST0/Z7yLK0UhDENh/5IdODT9DMA1rn/ccb78UNpkef2oLs0zWsurZGU1e6oEF1gqJ7L3QsgXvt2WRtH332YiAo7JN3xDtkpqt+gTZnA9G0g5fIkcasEo9iXcL0Nj7F65aC02rHuj19D+P5KXm+QBQaKKoL3bL0lT5YS2xtjER2cKZAw7B7eDWyUTZzGQE1ybe+j+Q8niRYP4zkQP/Tc2i9hvSKuos7FxMppU12ufKI9M1tGddGGUNddRFvtAhUXFAnefwj+s1rimQNTlofJ+DGPy5aZakoWg1it31zgI/ZNGmvQ/iH82iSyHHYO+hu+pUZJAWgjObBf4430PSPKgWTEu2re0r7pMd3nOmzo5pw0Rpn3rtwO9ACteC5gNMd5eqGky1rsUOTjW;24:Fc8IaikXnbOoeADJkNHZ42MC7WnguOIGevMElg4RmdXAZ5AIj0KcckShbdbzZs5oWU5PD0zavb1VU9VEbzw74yMb9qhxdFrMPwtjdkNriBs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR03MB3209;7:PYRU2pDyLJBj4vE1NaJWl9y+BjkIu2b85zbppdbzqNskRNjMZhe7kjzN0kWEXXRwLLHVYPZ4gjDnIz7Yh0Q5+gQdEIFjYLBRakLUE6KWn4CviQJW/S4TUvLJMP8oGgH98IHJstxqTGzxrGu47Dt14R+0UKGeANHs4rAPN1nM4zgt/92OdtpmkRv9aQUfNrZhgILCsWhII1iukUUtQwtlss5DC0KPwFwmRimgKlKLxyWXg9OZtOBAmiYNVivBfnj4Xp1rSMw7MiQCIiFqE7fO9IZgqFTILEQh/eQ/gu5p/Mcpjw8qfFuQmMjAkcuY78/QlFmKpR6TvHJ0bgMWp/zbTiUTIdH5END+6VUH+qpJsEjzYvtMnAJjMvqjbqpgv6k0spFoAf3CEUfizGspTTr/6Am43GdHu7hNC3WULvRC5SeCTD4EgK0TmkTWlme0kL+UUE+t6kLsNW1xcs5Q7KvYlldu5GkRKp7R9OYIblD3jLH5MtY/2EVUngyBIYXqkKUgQ/PBrm0zdW7PxGvIS0I/mEY3MOERDkUcdbfiuYLzV4odwr12WA4vtk4BL3E/cKqAUp/xysB6WEYmmXAdjjGh+MlikfIskTwytZjOUpA+ZJPe+Jk0Qnq1tD7myddWKSCj6ivkYAVJkbI/TJgpxJW9cf8QBf7crfPOXTpUp3kMvqJDwj2VcBmahXmbfsMCzEG7V66ta6Ba7EZELkWVVw4rIFH+M1RHJpi3LYUczTBclFJOFlDYhwSpPbSdQKSgf2vtHRVc3PHG08WjOAmlW5Mf1Xqj6HFM5hJIjHAOKhqJ/kM= X-OriginatorOrg: synaptics.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jun 2017 23:09:07.4677 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB3209 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2594 Lines: 80 The F54 driver is currently only using the first 6 bytes of F54 so there is no need to read all 27 bytes. Some Dell systems (Dell XP13 9333 and similar) have an issue with the touchpad or I2C bus when readiing reports larger then 16 bytes. Reads larger then 16 bytes are reported in two HID reports. Something about the back to back reports seems to cause the next read to report incorrect data. This results in F30 failing to load and the click button failing to work. Previous issues with the I2C controller or touchpad were addressed in: commit 5b65c2a02966 ("HID: rmi: check sanity of the incoming report") Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=195949 Signed-off-by: Andrew Duggan --- Also, in addition to changing the size of the read I moved the query buffer. I figured that since the query buffer is only acceessed in the rmi_f54_detect function it was not necessary keep it in f54_data. The parsed values are already being stored in f54_data. Thanks, Andrew drivers/input/rmi4/rmi_f54.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/drivers/input/rmi4/rmi_f54.c b/drivers/input/rmi4/rmi_f54.c index dea63e2..f5206e2 100644 --- a/drivers/input/rmi4/rmi_f54.c +++ b/drivers/input/rmi4/rmi_f54.c @@ -31,9 +31,6 @@ #define F54_GET_REPORT 1 #define F54_FORCE_CAL 2 -/* Fixed sizes of reports */ -#define F54_QUERY_LEN 27 - /* F54 capabilities */ #define F54_CAP_BASELINE (1 << 2) #define F54_CAP_IMAGE8 (1 << 3) @@ -95,7 +92,6 @@ struct rmi_f54_reports { struct f54_data { struct rmi_function *fn; - u8 qry[F54_QUERY_LEN]; u8 num_rx_electrodes; u8 num_tx_electrodes; u8 capabilities; @@ -632,22 +628,23 @@ static int rmi_f54_detect(struct rmi_function *fn) { int error; struct f54_data *f54; + u8 buf[6]; f54 = dev_get_drvdata(&fn->dev); error = rmi_read_block(fn->rmi_dev, fn->fd.query_base_addr, - &f54->qry, sizeof(f54->qry)); + buf, sizeof(buf)); if (error) { dev_err(&fn->dev, "%s: Failed to query F54 properties\n", __func__); return error; } - f54->num_rx_electrodes = f54->qry[0]; - f54->num_tx_electrodes = f54->qry[1]; - f54->capabilities = f54->qry[2]; - f54->clock_rate = f54->qry[3] | (f54->qry[4] << 8); - f54->family = f54->qry[5]; + f54->num_rx_electrodes = buf[0]; + f54->num_tx_electrodes = buf[1]; + f54->capabilities = buf[2]; + f54->clock_rate = buf[3] | (buf[4] << 8); + f54->family = buf[5]; rmi_dbg(RMI_DEBUG_FN, &fn->dev, "F54 num_rx_electrodes: %d\n", f54->num_rx_electrodes); -- 2.7.4