From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754007AbdCMSM1 (ORCPT ); Mon, 13 Mar 2017 14:12:27 -0400 Received: from mail-ve1eur01on0085.outbound.protection.outlook.com ([104.47.1.85]:64240 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752513AbdCMSMU (ORCPT ); Mon, 13 Mar 2017 14:12:20 -0400 Authentication-Results: spf=pass (sender IP is 188.184.36.50) smtp.mailfrom=cern.ch; gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=bestguesspass action=none header.from=cern.ch; Subject: Re: [PATCH] spi: Add spi-bits-per-word binding. To: Mark Brown References: <20170217101151.hyzmz5a4lgdy7p5m> <20170220153512.6563-1-adrian.fiergolski@cern.ch> <20170221190830.xyubgimyc2w5p5v6@sirena.org.uk> <983e943b-30f2-7d80-294a-df29bca11738@cern.ch> <20170313175504.mpwjxqbhc4yxk434@sirena.org.uk> CC: , , , , , From: Adrian Fiergolski Organization: CERN Message-ID: <12c66ecf-8472-c108-d2b4-1d6c3a8e6e74@cern.ch> Date: Mon, 13 Mar 2017 19:12:13 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: <20170313175504.mpwjxqbhc4yxk434@sirena.org.uk> Content-Type: text/plain; charset="windows-1252" X-Originating-IP: [128.141.234.143] X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:188.184.36.50;IPV:NLI;CTRY:CH;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(39450400003)(39410400002)(39850400002)(39840400002)(2980300002)(438002)(189002)(199003)(24454002)(83506001)(8676002)(8746002)(54356999)(2906002)(50986999)(8936002)(76176999)(93886004)(4326008)(31686004)(36756003)(230783001)(106466001)(86362001)(31696002)(74482002)(65806001)(66066001)(6116002)(3846002)(189998001)(47776003)(2950100002)(6916009)(6706004)(54906002)(6246003)(4001350100001)(33646002)(356003)(23746002)(65956001)(39060400002)(305945005)(38730400002)(110136004)(65826007)(64126003)(50466002)(7636002)(5660300001)(229853002)(53546007)(7736002)(3940600001);DIR:OUT;SFP:1101;SCL:1;SRVR:DBXPR06MB432;H:CERNMX11.cern.ch;FPR:;SPF:Pass;MLV:ovrnspm;MX:1;A:1;PTR:cernmx11.cern.ch;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;VE1EUR02FT035;1:aKaJiWBAKb4ikdTexXlY8s4e0DySPlkhNzvSMdztJliFD+CjT7pppqit6eSWg4EetTxuhD9zxe3i0o6gAtxmq+eLC5lpWfYayv1XWek4YvqRvJPCnyqNyfLFWATYlqIvgz14rSHBBbQcw9WUGIkfTg5U8ay0HW/NAIprDADHqKtKgHF597onyrCzuPA5RDgYaSfdMrRel87sAByXEzqDYrxx9iiF9+MtVCnjt3iDgYU7l1yyzMAYlvKD6x75Tp4EuyynUsm5Bwkf9IdTGhEpESrcNBWGKAln8FaZvrtLrZk7UBNmBU7gb1MiSMa9O2xQP1m5AQ9bAfqpTIyEZOfgfIaXrU+jDC8tu4uVdgxfltfYAhhZVYTSrI1oU899KXVtIDKkOuTWigu2Zm5Qj2Vbx5iS7i0KT3FSLTgwkPvn3t2KjZ5heN5H4NSFB/2ffQRXnot0XO8qlW2RhSHud39mRDsZSCpqkA3hHodmD16honJtpY/S8CkuDm/RTBEDPgVNBTmSWR4m0yFKnWlilx4ppX/rohzEskSnNEIVGefRYWKoFdJjMQB7sZwLThNciGVZ X-MS-Office365-Filtering-Correlation-Id: 8677b190-ec46-476a-0ae2-08d46a3c7ac7 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(8251501002);SRVR:DBXPR06MB432; X-Microsoft-Exchange-Diagnostics: 1;DBXPR06MB432;3:BXLT7jkIdvYWqdhkMCFssuHaJMNyNFwvJmj5L+x4RXi39NtbuI8LR5zpU/rtG3HdnGmzw80rsrfLHXOfXEqwhXZmRK1GnPpX69Xw2oermmNg+0eAUtlooakegqNAnPfm6RLpDhUhNF7BBv3PFpqH3XUl/p5E25XZgJl9v5T+yLwqpp7adWchSiv9fS9E7fPgSzPwkS7GOa8sQpfTmL/0U+zsJKrWV8iP/G2bEh5N5Qw4ZtryGppD2iEwKeSsYIVUQp60WkLZ2LkRzUvNlu83egmLOGQh2TIqVZBs0Z0fuXVVOjhVlcmxnAFSubNPeWdoehmh8L+SoLeaRYjkpT1Nynsjdvxoj5/PHhARBYhaako+++l9jqws4yZBSoR1bxcrWIAWBQqHf4DLh2O1TZ0yQQ==;25:2u+O0RtLy5jYswiV+2nIvz9DJkcXT+7ddl47OV2mruVE+0XDi8IIMTUFqMtWUN+yfJWdZqifamd6q4ZRta0BzcOLaYpHstsvthe94CZ1YVybDc5uFluUaQ5R+bhb0dkT2WGLN2mWczyHnv0n5+Ba1gvbrnrcp8KplPYJ3P2b3mOIanA5IVcLdXe5chCTjxBC8aEiexyP/syDXoA7UzxXk2RAGG85sdNlPBmUO7J9RndW/sJyEBpJPOM/9KC5/d8uQfHxKeR4o/Ntws7txEszA7G9+or9gU+pLZSvdLmJaFm+zFIc/AyhpKSqJhKamFkRuwdJK6kpC7UWV6JIi+8eOr+JEyAhYp3CjCK/gyvCbMB63+tA8gTzdajzX/s+9N/a+tutZ76X5UNsj2DF72aWQHL0aH8yz0rkbo22IZXHpkcu0Ta0bNiKpIJwhxHLfiO3zoXfgpx65+XwNot6bzgUXA== X-Microsoft-Exchange-Diagnostics: 1;DBXPR06MB432;31:1iOFZMtUN4ECEjqUkCbzr42BtAAHd6XFI0Df8ZDF8SMKUsLOq274qy6KGzWc1KZkAP4EF7GeJeAmzDQIvJApNkBiRdEp0Ws2nsa6lICtWFS970Wk4q8LDFvcSrA5n1n6bFeTVsNcgOjtXUBoA9BulKj72pM+LslG/tHmtlUrhDX0x4+cjv5LbL3wIdr2pWjv4Ge8/31f1buxvzVtJTm0WbiQid9bpsE6/z1YTMv+8YS21k4juMd6+BtfHhabmWVlRn5RjHftWsoXR+Sbd/4ODQ==;20:CXFlu4TeEkzRtAeBNSjK7I3wHN5zMZzdbIXSWZbrUn/wM+Zn28C0EbwfE+veazK7wyiYLUQmjkdibkViduB5GFslNa4W2/I1Og/pLSttSbtd5uv9/mlZlan9uULyFsc6suU8KIwiaHfJr0aOnXTvGk3GkalTsaOF6zWfmcutXc+prc4nM/Sis7Pur7dmfe4wKwyPb9O/I7zLlnqF6dt32pQkCb3x9d+MtCVSSn8o7ow4DPh3NQyQt5m1zk2yNx/Xhi1TGVhZd8a0xK5YjAQ8FxKaKg/E5t0+acJ/iK5hBY0VwGdnzP9S2C2pphRSOSHQhdsv94r9xwlUouE5aX/P1z2Hwm+dtobq91i221y3EKHDO8WDHlQEUGpfOYkA0Uiep6knkaREIYyfBkq0GzurlpF8Dsu91oUmPGwZKO6YwZWrmhTrSTrV7oGAytWWYwlub5QcYxuKRT/hdlM81+x59DyQqRx8mWaatw3m8MIw9/PNmHrm5//R2oMces+XvmWi X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(13016025)(13023025)(13024025)(13018025)(10201501046)(3002001)(6041248)(20161123555025)(20161123564025)(20161123560025)(20161123558025)(20161123562025)(6072148);SRVR:DBXPR06MB432;BCL:0;PCL:0;RULEID:;SRVR:DBXPR06MB432; X-Microsoft-Exchange-Diagnostics: 1;DBXPR06MB432;4:2qN+4CGGY45RRHIsQMygKLokgzyGJnFjNjow29NmnyjtRgzCZCOcqVTR9JACMwIEuX9c2RTC7LaN1OS1rA6dLdSA4TZdnCOJv081vN4fRBqSjdugaY49tpNONCZqFO3YQ6ijg2LY+BrfHK5sMAdRqMSt1CLGCh089L0Yye6Jz/jqeF+7xxdC43ie6YR/oCeerpkavU4NbsXd982pnOHAQEsHFjb5I0a4pY8BQTqXOybXd4HdVALlenffBc2keM+O0mNEszmc8XgKunUr0p3WMc8336SEK79VOWX9zIINWqpxVI/YYGDrGLwaxJGUzJQx9SWyRunB7QGWf7CFYun64kC8B1wI1niQ/OdYEv6+J72wkck3XDD0zqC+fFPOKw5zdlW/x7VGLPARpzW3nuNcjFab/Eq1+diJI0SOdgrTdupBsHf/CNNCoQ6ufrZBi37sKJIDjkHoiu+atRT//XOvtGFJw0iWCYGbzUihjaQLd56DhNSHp0eCQLU7JZR2ZWWYb5/0tgQgKP0YOW1doFi8SGxdVN+a6wbom+iydhPGX8WOCWDfbyM6xglGAnFUDJld3nEGOMyN60Hb/7SP1UuE8ryh4OQUBKRp/ZotqsWV55lUzQ5zezV/ibtk+nVWBMuuOoMoMjQ4kPbz1xTCXw34qQpF9YdxgLlZG0/eb1EHVgY= X-Forefront-PRVS: 0245702D7B X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;DBXPR06MB432;23:L/34bTs5dUL2vyzHTVupcRQDTLG4cwRD9aE369?= =?Windows-1252?Q?U5yQasxvwOynGmls6VyrLn+0QymgmFwn/rHQjdivQerzjtKTGLzQHixf?= =?Windows-1252?Q?9JMK4YVLudDuRVfwaWyPl7sKmgc6OC3f2aDSjTLVrtFzJbfeNSGlWg0n?= =?Windows-1252?Q?MjwbLBv6jRvGTCu29FkA+NevRJG7qeuSrM2fONJ2PxmpurchwzZcKSnw?= =?Windows-1252?Q?Z75mZnNp9YICx+kxmsrv0tFHtT8ZdW11el9iWfpz7X4BuMBczMbxXACc?= =?Windows-1252?Q?ZJgHXTRxRPBWfS5SapaXUUPzb84aWFX9n8U1AyFV9BLxxusg0wbcRvLm?= =?Windows-1252?Q?ZiG5lx56eTGV/D/2oU1zDiPMXdfnsqGdyLWNIowft/pv41m4veiT2itC?= =?Windows-1252?Q?r1JZk0c/sofCRCRq02Nj4Vo3rGb1ozb5G20bFEieWpbuM6hmYWoBeb8L?= =?Windows-1252?Q?buv2lNzQMcwhif7mlh0OZHbgAdX4XMwuFFqSVBYcN2c+AXfjTP86Vo+0?= =?Windows-1252?Q?ei/YY+UClcvPEHcXyDUejqzqDXiEBd0THA4Z25Vhk/oDYd6WG/nJg/15?= =?Windows-1252?Q?R63UFuf6jG7QdnIZisGW6Crng13KrLtE9b349PJtXTXWdppGeEAcLuTD?= =?Windows-1252?Q?wyvr0OqIkwvpIxpdXLrcNMKhlM0oI/NEKnuG2rRLkuA0kReEHgI1z5qI?= =?Windows-1252?Q?z8YMRKjK/pU0hmmrwccaa+F+eBXxS0VrjDbMw5k/mEFkUQJrrRCUAkLx?= =?Windows-1252?Q?IZrsZdAuiHrcN4iu8SFQtzJt3yKZuueXMQ5zb7AVSwqfrNosGMIVVW97?= =?Windows-1252?Q?WxKyXQ0yOjvsgudxjiTts9kqjqRK+g7SVad+TARyapui8TvjVJdM4VW5?= =?Windows-1252?Q?1xD0sHGxHwGatF7qGBQ49GsUvkWGR6ZJnuE5yZf3I+X/GDZMec5lw6ba?= =?Windows-1252?Q?Hiw2qJFr2l/Ixj26ONnpmKJY83YDSsHLCrUs9vzeyKrKhX9ej8LrqFuc?= =?Windows-1252?Q?kNebNeOOFwSf2knY3P8BbW9hxHY9cNGaXnc0M8nsxEeKkDbrWbG16owf?= =?Windows-1252?Q?kqlTctn8/8sF1dJlGbWRSZjT35yhLcl6CH2IQ5Es6WkG9JeiCiy4dxn6?= =?Windows-1252?Q?Pwf9rZ/c93jnoBUcjDSEetgBDr//JIH6LrgHngT9OLSnIwakxyeZFY7l?= =?Windows-1252?Q?MAuSBkfQ/xmDDaloQamUcZvgxRiyu6tQaFjHM2Mv7KjpEiUxuITr0J+1?= =?Windows-1252?Q?FzQD00Sf3asNl2ngV9r9l0SffzjmpFoTRpipSzHNBzka9tM9Pfm4BHUG?= =?Windows-1252?Q?CETayT2SslasVMAnhkOWAc8vd3Ni0YwcIgLQVs9+S5oWSmC4ogNWNrPq?= =?Windows-1252?Q?i+IrAHmNoUyzfRu7S8SIuexwmMl8trNRVouy6C2nC/piMo+ItqFF/yx2?= =?Windows-1252?Q?Ts+/g/4RbidhW5jZjC?= X-Microsoft-Exchange-Diagnostics: 1;DBXPR06MB432;6:ofd7/eN//agrB01+xUUHltLBc12DCsooyrwPsqhbsy4Jr0ijXGWOKtKUUsdMjvC8QoFjVpjhHj8LWwvB6DZ0qgSxhMWoVZWKVNZQLPhOel9Yx6r/X7gDPgVWOxVawjk15lKsXsUuVUt0XYmReVxSJdJls5omgEMwPMD3DpJotSRDI0abv94wy1XARtoi1D70t3BzvILgmLMAT1w4zIE+d9PEQVKOWIqL6ETZwjR/aYilYGC1rnDUbhNqHdwEZSPT5WWmZNvskyWugmzuffLviZUdLJG5TGwSNIMNsdRASqL5vPSq3bpIVvYjOdiDPg9IgnTxV/qCnX0Sh6OBttCbfgLUBdmd8PImEWcLNKzSVPjnsxFWNwz5hKo61LYYC8dhONXB1yF25udFdJWiBEqoBA==;5:VRcAPh8JCTJIWCupV/3txaArLg9io1op+FwmEFEEGhRDHSUd7hehZGmja7Nq4y8qp/I7FAOKgUMjZUUKbbMueRoESc6VVsve0QVkxWsBcIXvm62B2XRCVELutgnsoqP61ZH1/aA2GRbqRZ2zVJtt2g==;24:gcAWXsiZ63xqFg6c3fVkDMDv28AkbOObPOALMuNgoidXaoqvSd+PQBYKb4vsMSrHvRaKb1WT7017BELU+qzt2o4Anm6J7KBCCjxEH0oQzls= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DBXPR06MB432;7:Qf42PbR4BceU0GhUAJZSt8a/wgLFXPMwOSetU7augHo1QTQGaVb0tbqqZ/bkMuZQY3aDuwzkHRg2AR1A9km9D7Vos1Fa0S55YQw9C/Jt4Sii/htdjRKGF2nFrD+pbv5tHl12hYBgAIGcJR+TS1IF8QORiszEWlrHrvRd3667EW1+Zr6t3XFQr9BxCRD3VwNpLKM/IDVEnSemoql+kLHI2/+WboPITP2HnKT1bIFUpUkV/1Xiz946aHAT4nUNqxICR3aJIldIn4ezGEPwZCRTbwtHXV3Ok9mZhtNJuS5NWyqMxaSzlkt+mP+u1m34eE9dqtTd3ZwE7qwEzF5wpyuzLw== X-OriginatorOrg: cern.ch X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2017 18:12:15.1529 (UTC) X-MS-Exchange-CrossTenant-Id: c80d3499-4a40-4a8c-986e-abce017d6b19 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c80d3499-4a40-4a8c-986e-abce017d6b19;Ip=[188.184.36.50];Helo=[CERNMX11.cern.ch] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBXPR06MB432 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id v2DICZ0K017985 On 13.03.2017 at 18:55, Mark Brown wrote: > >> In my case, xilinx_spi_probe function (of spi-xilinx controller) sets >> bits_per_word_mask of spi_master struct only to 16 bits support. Later, >> xilinx_spi_probe calls of_register_spi_devices, which calls >> of_register_spi_devices. The last one allocates an empty spi_device >> struct and configures different options of the spi_device according to a >> device tree. bits_per_word are not covered here (why?), thus it is left >> 0 (value after allocation), which, by convention, means 8 bits support. >> At the end, the same function (of_register_spi_device) calls >> spi_add_device which finally calls spi_setup. The last call, according >> to convention, changes bits_per_word to 8 and calls >> __spi_validate_bits_per_word which fails, as master doesn't support 8 >> bit transmission. This fails registration sequence of a device driver. >> As you see, the device driver doesn't have possibility to modify >> bits_per_word during the registration process, thus it can't provide >> support for such limited controllers. > I can't see any way in which it follows from the above that it's a good > idea to try to override bits per word settings in the device tree, that > just wastes user time and is an abstraction failure. We need better > handling of defaults done purely in the kernel. If enforcing by device tree specific for a given device driver SPI_CPHA, SPIC_CPOL, SPI_CS_HIGH, max_speed_hz, etc. if fine form the abstraction point of view, why it doesn't apply to bits_per_word ?