lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 10 Apr 2015 17:31:15 +0200 From: Bert Vermeulen <bert@...t.com> To: Mark Brown <broonie@...nel.org> CC: ralf@...ux-mips.org, linux-mips@...ux-mips.org, linux-kernel@...r.kernel.org, linux-spi@...r.kernel.org, andy.shevchenko@...il.com, jogo@...nwrt.org Subject: Re: [PATCH v6] spi: Add SPI driver for Mikrotik RB4xx series boards On 04/09/2015 11:50 PM, Mark Brown wrote: > On Thu, Apr 09, 2015 at 11:31:12PM +0200, Bert Vermeulen wrote: >> The m25p80-compatible boot flash and (some models) MMC use regular SPI, >> bitbanged as required by the SoC. However the SPI-connected CPLD has >> a "fast write" mode, in which two bits are transferred by SPI clock >> cycle. The second bit is transmitted with the SoC's CS2 pin. > >> Protocol drivers using this fast write facility signal this by setting >> the cs_change flag on transfers. > >> The cs_change flag is used here instead of the openwrt version's >> spi_transfer.fast_write flag. The CPLD driver sets this flag on a >> per-transfer basis. > > No, this is broken - it's abusing a standard API in a way that's > completly incompatible with the meaning of that API which is obviously a > very bad idea, especially since good practice is to offload the > implementation of that standard API to the core. It *sounds* like > you're just trying to implement two wire mode which does have a standard > API, please use that. Can you please advise what kind of solution would be acceptable then? I need to signal from an SPI protocol driver to an SPI master on a per-transfer basis. Adding a flag to struct spi_transfer for this one driver, as openwrt does, seems stupid -- I agree. And sure, using spi_transfer.cs_change is a little dodgy. But I don't see a standard way to do it otherwise, and I don't really want to keep trying things until you approve of one. So tell me how you would do it, and I'll implement it that way. I just want to get this code in. Also, I have no idea what you mean by two-wire mode. This "fast mode" is SPI + one extra pin. -- Bert Vermeulen bert@...t.com email/xmpp -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists