From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AC7F6C433F5 for ; Thu, 16 Dec 2021 08:12:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=0LaM+x9nyRqAbZKB91k9tNHNkUK2SkzBXmOGL9HYEo8=; b=3ZHXxWPRxOEP6j VEee2yFNu099nTJy3bQjt2ejB2BeRNvjyzeTG2pI6BE8ftb+gSLDXxtic2bEDLfSzJ0LYwlptmCWy k9rGYOn2ZryUF49xamCXsQPKmH0jWQebs2i/+bqAJDq3UKcKkEInzfyJT8Z5Xk9+0RfSZDcb4CMpv /i0p4BwFsNtkNyCE+ihEajoOGpEoUKEtGfO05TOSiEeJMundaX5GMk/s9xCQbJu/l7UAUiFjVes2g b2H7340+VxL98/CU3shr0G0tsGr/9v1JnFndMb7RXme3SrG6L0Vag36ZeOY8kNFw6Wo1cl17sHUf4 HoH8VjXMrUEULDPUio7g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mxlrv-0044Ny-VS; Thu, 16 Dec 2021 08:12:04 +0000 Received: from relay3-d.mail.gandi.net ([217.70.183.195]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mxlrs-0044MC-HS for linux-mtd@lists.infradead.org; Thu, 16 Dec 2021 08:12:02 +0000 Received: (Authenticated sender: miquel.raynal@bootlin.com) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 0235A6000F; Thu, 16 Dec 2021 08:11:53 +0000 (UTC) Date: Thu, 16 Dec 2021 09:11:52 +0100 From: Miquel Raynal To: Boris Brezillon Cc: Richard Weinberger , Vignesh Raghavendra , Tudor Ambarus , Pratyush Yadav , Michael Walle , , Mark Brown , , Julien Su , Jaime Liao , Thomas Petazzoni , Xiangsheng Hou Subject: Re: [PATCH v5 12/13] spi: mxic: Use spi_mem_generic_supports_op() Message-ID: <20211216091152.1c6e7596@xps13> In-Reply-To: <20211215194538.0becb14b@collabora.com> References: <20211214114140.54629-1-miquel.raynal@bootlin.com> <20211214114140.54629-13-miquel.raynal@bootlin.com> <20211214172410.2b26c17e@collabora.com> <20211215184426.67fd3912@xps13> <20211215194538.0becb14b@collabora.com> Organization: Bootlin X-Mailer: Claws Mail 3.17.7 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211216_001200_883077_E1D63573 X-CRM114-Status: GOOD ( 39.82 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org SGkgQm9yaXMsCgpib3Jpcy5icmV6aWxsb25AY29sbGFib3JhLmNvbSB3cm90ZSBvbiBXZWQsIDE1 IERlYyAyMDIxIDE5OjQ1OjM4ICswMTAwOgoKPiBPbiBXZWQsIDE1IERlYyAyMDIxIDE4OjQ0OjI2 ICswMTAwCj4gTWlxdWVsIFJheW5hbCA8bWlxdWVsLnJheW5hbEBib290bGluLmNvbT4gd3JvdGU6 Cj4gCj4gPiBIaSBCb3JpcywKPiA+IAo+ID4gYm9yaXMuYnJlemlsbG9uQGNvbGxhYm9yYS5jb20g d3JvdGUgb24gVHVlLCAxNCBEZWMgMjAyMSAxNzoyNDoxMCArMDEwMDoKPiA+ICAgCj4gPiA+IE9u IFR1ZSwgMTQgRGVjIDIwMjEgMTI6NDE6MzkgKzAxMDAKPiA+ID4gTWlxdWVsIFJheW5hbCA8bWlx dWVsLnJheW5hbEBib290bGluLmNvbT4gd3JvdGU6Cj4gPiA+ICAgICAKPiA+ID4gPiBUaGlzIGRy aXZlciBjYW4gYmUgc2ltcGxpZmllZCBhIGxpdHRsZSBiaXQgYnkgdXNpbmcKPiA+ID4gPiBzcGlf bWVtX2dlbmVyaWNfc3VwcG9ydHNfb3AoKSBpbnN0ZWFkIG9mIHRoZQo+ID4gPiA+IHNwaV9tZW1f ZGVmYXVsdC9kdHJfc3VwcG9ydHNfb3AoKSBjb3VwbGUuIFRoZSBhbGxfZmFsc2UgYm9vbGVhbiBp cwo+ID4gPiA+IGludmVydGVkIHRvIGJlY29tZSBhIGR0ciBib29sZWFuLCB3aGljaCBjaGVja3Mg aWYgYXQgbGVhc3Qgb25lIG9mIHRoZQo+ID4gPiA+IG9wZXJhdGlvbiBtZW1iZXIgdXNlcyBkdHIg bW9kZS4gVGhlIGlkZWEgYmVoaW5kIHRoaXMgY2hhbmdlIGlzIHRvCj4gPiA+ID4gc2ltcGxpZnkg dGhlIGludHJvZHVjdGlvbiBvZiB0aGUgcGlwZWxpbmVkIEVDQyBlbmdpbmUuCj4gPiA+ID4gCj4g PiA+ID4gU2lnbmVkLW9mZi1ieTogTWlxdWVsIFJheW5hbCA8bWlxdWVsLnJheW5hbEBib290bGlu LmNvbT4KPiA+ID4gPiAtLS0KPiA+ID4gPiAgZHJpdmVycy9zcGkvc3BpLW14aWMuYyB8IDEwICsr Ky0tLS0tLS0KPiA+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgNyBkZWxl dGlvbnMoLSkKPiA+ID4gPiAKPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zcGkvc3BpLW14 aWMuYyBiL2RyaXZlcnMvc3BpL3NwaS1teGljLmMKPiA+ID4gPiBpbmRleCA0ODVhN2YyYWZiNDQu LjVlNzFhYTYzMDUwNCAxMDA2NDQKPiA+ID4gPiAtLS0gYS9kcml2ZXJzL3NwaS9zcGktbXhpYy5j Cj4gPiA+ID4gKysrIGIvZHJpdmVycy9zcGkvc3BpLW14aWMuYwo+ID4gPiA+IEBAIC00NTIsNyAr NDUyLDcgQEAgc3RhdGljIHNzaXplX3QgbXhpY19zcGlfbWVtX2Rpcm1hcF93cml0ZShzdHJ1Y3Qg c3BpX21lbV9kaXJtYXBfZGVzYyAqZGVzYywKPiA+ID4gPiAgc3RhdGljIGJvb2wgbXhpY19zcGlf bWVtX3N1cHBvcnRzX29wKHN0cnVjdCBzcGlfbWVtICptZW0sCj4gPiA+ID4gIAkJCQkgICAgIGNv bnN0IHN0cnVjdCBzcGlfbWVtX29wICpvcCkKPiA+ID4gPiAgewo+ID4gPiA+IC0JYm9vbCBhbGxf ZmFsc2U7Cj4gPiA+ID4gKwlzdHJ1Y3Qgc3BpX21lbV9jb250cm9sbGVyX2NhcHMgY2FwcyA9IHt9 Owo+ID4gPiA+ICAKPiA+ID4gPiAgCWlmIChvcC0+ZGF0YS5idXN3aWR0aCA+IDggfHwgb3AtPmFk ZHIuYnVzd2lkdGggPiA4IHx8Cj4gPiA+ID4gIAkgICAgb3AtPmR1bW15LmJ1c3dpZHRoID4gOCB8 fCBvcC0+Y21kLmJ1c3dpZHRoID4gOCkKPiA+ID4gPiBAQCAtNDY1LDEzICs0NjUsOSBAQCBzdGF0 aWMgYm9vbCBteGljX3NwaV9tZW1fc3VwcG9ydHNfb3Aoc3RydWN0IHNwaV9tZW0gKm1lbSwKPiA+ ID4gPiAgCWlmIChvcC0+YWRkci5uYnl0ZXMgPiA3KQo+ID4gPiA+ICAJCXJldHVybiBmYWxzZTsK PiA+ID4gPiAgCj4gPiA+ID4gLQlhbGxfZmFsc2UgPSAhb3AtPmNtZC5kdHIgJiYgIW9wLT5hZGRy LmR0ciAmJiAhb3AtPmR1bW15LmR0ciAmJgo+ID4gPiA+IC0JCSAgICAhb3AtPmRhdGEuZHRyOwo+ ID4gPiA+ICsJY2Fwcy5kdHIgPSBvcC0+Y21kLmR0ciB8fCBvcC0+YWRkci5kdHIgfHwgb3AtPmR1 bW15LmR0ciB8fCBvcC0+ZGF0YS5kdHI7ICAgICAgCj4gPiA+IAo+ID4gPiBBcmUgeW91IHN1cmUg dGhhdCdzIHdoYXQgeW91IHdhbnQgdG8gZG8/IHNwaV9tZW1fY29udHJvbGxlcl9jYXBzIGlzCj4g PiA+IHN1cHBvc2VkIHRvIGVuY29kZSB0aGUgY29udHJvbGxlciBjYXBhYmlsaXRpZXMsIG5vdCB3 aGV0aGVyIHRoZQo+ID4gPiBvcGVyYXRpb24gY29udGFpbnMgYSBEVFIgY3ljbGUgb3Igbm90LiBJ J2QgZXhwZWN0IHRoaXMgY2FwcyBvYmplY3QgdG8gYmUKPiA+ID4gc3RhdGljYWxseSBkZWZpbmVk LCB3aXRoIHBvc3NpYmx5IG9uZSBpbnN0YW5jZSBwZXItY29tcGF0IGlmIHRoZSBjYXBzCj4gPiA+ IGRlcGVuZCBvbiB0aGUgSFcgcmV2aXNpb24uICAgIAo+ID4gCj4gPiBJbiBvcmRlciB0byBrZWVw IHRoZSBzZXJpZXMgZWFzeSB0byByZXZpZXcgSSBkZWNpZGVkIHRvIGdvIGZvciB0aGUKPiA+IGZv bGxvd2luZyBhcHByb2FjaDoKPiA+ICogSW50cm9kdWNlIHRoZSBzcGlfbWVtX2dlbmVyaWNfc3Vw cG9ydHNfb3BfaGVscGVyKCkgd2hpY2ggdGFrZXMgYQo+ID4gICBjYXBhYmlsaXRpZXMgc3RydWN0 dXJlLiBUaGlzIGhlbHBlciBnYXRoZXJzIGFsbCB0aGUgY2hlY2tzIGZyb20KPiA+ICAgc3BpX21l bV9kZWZhdWx0X3N1cHBvcnRzX29wKCkgYW5kIHNwaV9tZW1fZHRyX3N1cHBvcnRzX29wKCkuIFRo ZXNlCj4gPiAgIHR3byBoZWxwZXJzIG5vdyBjYWxsIHRoZSBuZXcgb25lIHdpdGggZWl0aGVyIGEg TlVMTCBwb2ludGVyIGluIHRoZQo+ID4gICBmb3JtZXIgY2FzZSwgb3IgYSBzdHJ1Y3R1cmUgd2l0 aCB0aGUgLmR0ciBwYXJhbWV0ZXIgc2V0IHRvIHRydWUgaW4KPiA+ICAgdGhlIGxhdHRlci4KPiA+ ICogQ2hhbmdlIHRoZSBBUEkgb2Ygc3BpX21lbV9kZWZhdWx0X3N1cHBvcnRzX29wKCksIHRoaXMg aW52b2x2ZXMKPiA+ICAgdXBkYXRpbmcgbWFueSBkaWZmZXJlbnQgZHJpdmVycyBzbyB0aGlzIGNo YW5nZSBkb2VzIG9ubHkgdGhhdCBpbiBhCj4gPiAgIHZlcnkgdHJhbnNwYXJlbnQgd2F5LCB3aXRo IG5vIGZ1bmN0aW9uYWwgY2hhbmdlcyBhdCBhbGwuIEFsbCB0aGUKPiA+ICAgZHJpdmVycyBwcm92 aWRlIGEgTlVMTCBwYXJhbWV0ZXIgZm9yIHRoZSBjYXBhYmlsaXRpZXMgc3RydWN0dXJlLgo+ID4g KiBBY3R1YWxseSBtYWtlIHVzZSBvZiB0aGUgbmV3IHBhcmFtZXRlciBvZgo+ID4gICBzcGlfbWVt X2RlZmF1bHRfc3VwcG9ydHNfb3AoKSBpbiB0aGUgZHJpdmVycyBDYWRlbmNlIGFuZCBNYWNyb25p eCwKPiA+ICAgd2hpY2ggZG8gaGF2ZSBEVFIgc3VwcG9ydC4gVGhpcyBraWxscyB0aGUgc3BpX21l bV9kdHJfc3VwcG9ydHNfb3AoKQo+ID4gICBoZWxwZXIuCj4gPiAqIEtpbGwgdGhlIHRlbXBvcmFy eSBzcGlfbWVtX2dlbmVyaWNfc3VwcG9ydHNfb3AoKSBoZWxwZXIgYnkgbW92aW5nCj4gPiAgIGFs bCB0aGUgbG9naWMgYmFjayBpbnRvIHNwaV9tZW1fZGVmYXVsdF9zdXBwb3J0c19vcCgpLgo+ID4g Cj4gPiBUaGlzIGFwcHJvYWNoIGlzIHJlYWxseSBzdHJhaWdodGZvcndhcmQgYW5kIGVhc2lseSBi aXNlY3RhYmxlIGlmCj4gPiBuZWVkZWQuICAKPiAKPiBJIGRvbid0IHJlYWxseSBzZWUgdGhlIGJl bmVmaXQgb2YgY29udmVydGluZyBkcml2ZXJzIG9uZSBieSBvbmUgZm9yCj4gc3VjaCBhIHRyaXZp YWwvbWVjaGFuaWNhbCBjaGFuZ2UgdG8gYmUgaG9uZXN0LiBBZnRlciBhbGwsIHdlJ3JlIHRhbGtp bmcKPiBhYm91dCBhZGRpbmcgYSBjYXBzIGFyZ3VtZW50IHRvIHNwaV9tZW1fZGVmYXVsdF9zdXBw b3J0c19vcCgpIGFuZAo+IG1ha2luZyBhbGwgZXhpc3RpbmcgY2FsbGVycyBwYXNzIGEgY2FwcyBv YmplY3QgdGhhdCdzIHplcm8gaW5pdGlhbGl6ZWQuCj4gSSBob3BlIHdlIGNhbiBnZXQgdGhpcyBy aWdodCBpbiBvbmUgc2hvdC4uLgoKSSdtIG5vdCBjb252ZXJ0aW5nIHRoZW0gb25lIGJ5IG9uZSwg YnV0IGFsbCBpbiBvbmUgcGF0Y2guIE9uZSBieSBvbmUgaXMKbm90IGV2ZW4gYW4gb3B0aW9uIGJl Y2F1c2UgaXQgd291bGQgY29tcGxldGVseSBicmVhayBiaXNlY3RhYmlsaXR5LgpXaGF0IEkgbWVh bnQgaXMgdGhhdCBpbiBhIHNpbmdsZSBwYXRjaCwgSSB3YXMgY29udmVydGluZyBhbGwgdGhlCmRy aXZlcnMgdXNpbmcgc3BpX21lbV9kZWZhdWx0X3N1cHBvcnRzX29wKCkgdG8gcGFzcyBhIHRoaXJk IHBhcmFtZXRlci4KSW4gKmFsbCogY2FzZXMsIHRoaXMgcGFyYW1ldGVyIHdvdWxkIGJlIE5VTEwg KGJlY2F1c2UgSSBmaW5kIHRoaXMKY2xlYW5lciB0aGFuIHByb3ZpZGluZyBlbXB0eSBzdHJ1Y3R1 cmVzIGZvciA5NSUgb2YgdGhlIGRyaXZlcnMpLiBJbiB0aGUKbmV4dCBwYXRjaCwgSSB3b3VsZCBh Y3R1YWxseSBjb252ZXJ0IHRoZSB1c2VycyBvZgpzcGlfbWVtX2R0cl9zdXBwb3J0c19vcCgpIHRv IHVzZSBzcGlfbWVtX2RlZmF1bHRfc3VwcG9ydHNfb3AoKSBieQpwcm92aWRpbmcgdGhlaXIgc3Rh dGljIGNhcGFiaWxpdGllcyBkZWZpbml0aW9uLgoKVGhhbmtzLApNaXF1w6hsCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXggTVREIGRp c2N1c3Npb24gbWFpbGluZyBsaXN0Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtbXRkLwo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 536E4C433EF for ; Thu, 16 Dec 2021 08:12:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229598AbhLPIL7 convert rfc822-to-8bit (ORCPT ); Thu, 16 Dec 2021 03:11:59 -0500 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:56583 "EHLO relay3-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234769AbhLPIL7 (ORCPT ); Thu, 16 Dec 2021 03:11:59 -0500 Received: (Authenticated sender: miquel.raynal@bootlin.com) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 0235A6000F; Thu, 16 Dec 2021 08:11:53 +0000 (UTC) Date: Thu, 16 Dec 2021 09:11:52 +0100 From: Miquel Raynal To: Boris Brezillon Cc: Richard Weinberger , Vignesh Raghavendra , Tudor Ambarus , Pratyush Yadav , Michael Walle , , Mark Brown , , Julien Su , Jaime Liao , Thomas Petazzoni , Xiangsheng Hou Subject: Re: [PATCH v5 12/13] spi: mxic: Use spi_mem_generic_supports_op() Message-ID: <20211216091152.1c6e7596@xps13> In-Reply-To: <20211215194538.0becb14b@collabora.com> References: <20211214114140.54629-1-miquel.raynal@bootlin.com> <20211214114140.54629-13-miquel.raynal@bootlin.com> <20211214172410.2b26c17e@collabora.com> <20211215184426.67fd3912@xps13> <20211215194538.0becb14b@collabora.com> Organization: Bootlin X-Mailer: Claws Mail 3.17.7 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org Hi Boris, boris.brezillon@collabora.com wrote on Wed, 15 Dec 2021 19:45:38 +0100: > On Wed, 15 Dec 2021 18:44:26 +0100 > Miquel Raynal wrote: > > > Hi Boris, > > > > boris.brezillon@collabora.com wrote on Tue, 14 Dec 2021 17:24:10 +0100: > > > > > On Tue, 14 Dec 2021 12:41:39 +0100 > > > Miquel Raynal wrote: > > > > > > > This driver can be simplified a little bit by using > > > > spi_mem_generic_supports_op() instead of the > > > > spi_mem_default/dtr_supports_op() couple. The all_false boolean is > > > > inverted to become a dtr boolean, which checks if at least one of the > > > > operation member uses dtr mode. The idea behind this change is to > > > > simplify the introduction of the pipelined ECC engine. > > > > > > > > Signed-off-by: Miquel Raynal > > > > --- > > > > drivers/spi/spi-mxic.c | 10 +++------- > > > > 1 file changed, 3 insertions(+), 7 deletions(-) > > > > > > > > diff --git a/drivers/spi/spi-mxic.c b/drivers/spi/spi-mxic.c > > > > index 485a7f2afb44..5e71aa630504 100644 > > > > --- a/drivers/spi/spi-mxic.c > > > > +++ b/drivers/spi/spi-mxic.c > > > > @@ -452,7 +452,7 @@ static ssize_t mxic_spi_mem_dirmap_write(struct spi_mem_dirmap_desc *desc, > > > > static bool mxic_spi_mem_supports_op(struct spi_mem *mem, > > > > const struct spi_mem_op *op) > > > > { > > > > - bool all_false; > > > > + struct spi_mem_controller_caps caps = {}; > > > > > > > > if (op->data.buswidth > 8 || op->addr.buswidth > 8 || > > > > op->dummy.buswidth > 8 || op->cmd.buswidth > 8) > > > > @@ -465,13 +465,9 @@ static bool mxic_spi_mem_supports_op(struct spi_mem *mem, > > > > if (op->addr.nbytes > 7) > > > > return false; > > > > > > > > - all_false = !op->cmd.dtr && !op->addr.dtr && !op->dummy.dtr && > > > > - !op->data.dtr; > > > > + caps.dtr = op->cmd.dtr || op->addr.dtr || op->dummy.dtr || op->data.dtr; > > > > > > Are you sure that's what you want to do? spi_mem_controller_caps is > > > supposed to encode the controller capabilities, not whether the > > > operation contains a DTR cycle or not. I'd expect this caps object to be > > > statically defined, with possibly one instance per-compat if the caps > > > depend on the HW revision. > > > > In order to keep the series easy to review I decided to go for the > > following approach: > > * Introduce the spi_mem_generic_supports_op_helper() which takes a > > capabilities structure. This helper gathers all the checks from > > spi_mem_default_supports_op() and spi_mem_dtr_supports_op(). These > > two helpers now call the new one with either a NULL pointer in the > > former case, or a structure with the .dtr parameter set to true in > > the latter. > > * Change the API of spi_mem_default_supports_op(), this involves > > updating many different drivers so this change does only that in a > > very transparent way, with no functional changes at all. All the > > drivers provide a NULL parameter for the capabilities structure. > > * Actually make use of the new parameter of > > spi_mem_default_supports_op() in the drivers Cadence and Macronix, > > which do have DTR support. This kills the spi_mem_dtr_supports_op() > > helper. > > * Kill the temporary spi_mem_generic_supports_op() helper by moving > > all the logic back into spi_mem_default_supports_op(). > > > > This approach is really straightforward and easily bisectable if > > needed. > > I don't really see the benefit of converting drivers one by one for > such a trivial/mechanical change to be honest. After all, we're talking > about adding a caps argument to spi_mem_default_supports_op() and > making all existing callers pass a caps object that's zero initialized. > I hope we can get this right in one shot... I'm not converting them one by one, but all in one patch. One by one is not even an option because it would completely break bisectability. What I meant is that in a single patch, I was converting all the drivers using spi_mem_default_supports_op() to pass a third parameter. In *all* cases, this parameter would be NULL (because I find this cleaner than providing empty structures for 95% of the drivers). In the next patch, I would actually convert the users of spi_mem_dtr_supports_op() to use spi_mem_default_supports_op() by providing their static capabilities definition. Thanks, Miquèl