From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753049AbcHZJ5H (ORCPT ); Fri, 26 Aug 2016 05:57:07 -0400 Received: from mout.kundenserver.de ([212.227.126.134]:50999 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751758AbcHZJ5G (ORCPT ); Fri, 26 Aug 2016 05:57:06 -0400 From: Arnd Bergmann To: linux-arm-kernel@lists.infradead.org Cc: Russell King - ARM Linux , Robert Jarzmik , Yoshinori Sato , Nicolas Pitre , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, "David S. Miller" Subject: Re: [PATCH] smc91x: remove ARM hack for unaligned 16-bit writes Date: Fri, 26 Aug 2016 11:56:16 +0200 Message-ID: <4142998.LszVVqOYjE@wuerfel> User-Agent: KMail/5.1.3 (Linux/4.4.0-34-generic; KDE/5.18.0; x86_64; ; ) In-Reply-To: <1899384.M1jdqOztqi@wuerfel> References: <20160825144314.1850730-1-arnd@arndb.de> <20160825223743.GK1041@n2100.armlinux.org.uk> <1899384.M1jdqOztqi@wuerfel> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:7SYS51gsbwlja19PVNn0fWfGeoR8TL8PwO56xoiSme6FXuz4doP VW2O0VJ60v8yMGR6lmHympNxBYdzPrMnntZAcThsv/p5eKZXpvjto3BtxOCHWeEoOxuC/zy jCst7eJiXLz2F7O9qhMVuT+lH9NasZjKOt6TUa5RqNHxMDsCIV7sSxTVR7BPY4DbCzOjJCw GnbPwTycXproz8f8X+LLA== X-UI-Out-Filterresults: notjunk:1;V01:K0:1nGr9HI6vA8=:hnoDbS3S6OvYxL1Uzf9GwG 1lQHEAJ+MH4n2YpfPRneq9e9MIUXXJMfG7Pz/CkyBSCHrV08wlq7ra6ZS2i8HbohLtshzEjH9 GI7p/k+e/RHtw/RdzZD0EVdxsk+KX9cC9bUaYOYEFccj1codXYHWB3b6QPTSMmJwE+8KTR5o/ nXEubfq7bRzbg6hYGfF91vt00oXTaluKz/kxJxCBUoJJZ4asZU/5PE0+b9L3X5vsNhRTUYo7w uGkt0BJP1InqlaGWaJUBy+4bMAyJkjrjbMJ0KmbpSSx/nB3VApqBT+YeIGVCZfYMbVA97fKpW 1RzM63vaa2duutcnzQfFszkEsmEv+/XxhGfmNgpDHwHMy8flrk3tfdFQZI/z6Z7xCCmJFPORo 3GSekpxrymMHrbP3+bCcKS8IN1iH93MrD8W9UpZ7G3QWrZC5XqNoVgdm9uLV+aorRSG8/VITK blvYarw1ky2xZnNMjVQ781ospX8F9PsBbHjBPQLZ8ZmDIEA3paFXiyXpvLdf4QCpSpOEqZHPt 8+C6sqN02peCeKBqACWFjRAKHIblFbQx5kbVw9mENEDU4n7pDCzRfXU3PvnIMnxqy7hVaJ+AD VLmD+NLggvFI+qWDbrOK80vcjXxRuOi3uUPUUKp4UcEc5S30XAIRebrZjVAq5b3tgMU/7/PKT /8MnYVP9fbjXDW1aAwwSlEbwsocK+QvOjZzGHYzbbRg6lnD01VE2lWLlXaZo62EMZyL9J0hJc mA6OO/H6myZwD+H6 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Friday, August 26, 2016 11:41:21 AM CEST Arnd Bergmann wrote: > > I think this breaks machines that declare a device that just lists > SMC91X_USE_32BIT but not SMC91X_USE_16BIT. Right now, the way this > is interpreted is to use 32-bit accessors for most things, but > not avoiding 16-bit reads. I guess my patch has the same problem here, with the if (SMC_CAN_USE_8BIT && !SMC_16BIT(lp)) check that is true when a platform device is declared with 32-bit I/O only but all three are enabled at compile-time. The best check I can think of here (aside from redefining how the flags work) would be #define SMC_8BIT_ONLY(p) \ (((p)->cfg.flags & (SMC91X_USE_8BIT |SMC91X_USE_16BIT | SMC91X_USE_32BIT)) == \ SMC91X_USE_8BIT) Arnd