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 X-Spam-Level: X-Spam-Status: No, score=-15.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_2 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DE17EC433E0 for ; Fri, 15 Jan 2021 16:18:57 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 865F5238EB for ; Fri, 15 Jan 2021 16:18:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 865F5238EB Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=bootlin.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-ID: Subject: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=L1bnwCFkb1sTRIiT/J6Zc0+wa64H6nh+rURiDAW19LE=; b=LazlpFXdQc3x1JyeNz/9ZrIsX 8Ck8rKr6Pl6qk1dRhmZF9PIwIS3zTM2FXDGzn0huZ2fLmsK+/iIK/ABsV0194PYJgy0heNV+wKHjn S4fQ0SGoqFxmghWWkaFn4xiyy8vSBu0ia5FnAXLUU/Ld8MCkGGkEryH3ZeHkxqw2+geAMGNd6trDB 8ACqwGDA5+TKLiGKgiRtzW7a4cA61SxVSn6O1/iM1akp7Cq5wca7JpLdqx7wXk5LTFJd7UQYmvvJ5 xXDkvMwqCZRPT5MZsCNwDCrqiOsmQntKiD+fLUed8u77T/5v/+ZdDmdPNjHCfqhK//dlPMLSYaOqE OksQmuTTA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1l0RnI-00027i-LI; Fri, 15 Jan 2021 16:17:48 +0000 Received: from relay1-d.mail.gandi.net ([217.70.183.193]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1l0RnF-00027I-FK for linux-mtd@lists.infradead.org; Fri, 15 Jan 2021 16:17:47 +0000 X-Originating-IP: 91.224.148.103 Received: from xps13 (unknown [91.224.148.103]) (Authenticated sender: miquel.raynal@bootlin.com) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id 828AA240014; Fri, 15 Jan 2021 16:17:38 +0000 (UTC) Date: Fri, 15 Jan 2021 17:17:36 +0100 From: Miquel Raynal To: Adam Ford Subject: Re: [PATCH 04/20] mtd: nand: ecc-bch: Stop exporting the private structure Message-ID: <20210115171736.1c837c29@xps13> In-Reply-To: References: <20200929230124.31491-1-miquel.raynal@bootlin.com> <20200929230124.31491-5-miquel.raynal@bootlin.com> <20210111112027.7cbda0ba@xps13> <20210112153534.5ba93cde@xps13> <20210114164224.5d21c170@xps13> Organization: Bootlin X-Mailer: Claws Mail 3.17.4 (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-20210115_111745_709636_F5BA4697 X-CRM114-Status: GOOD ( 44.28 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Vignesh Raghavendra , Tudor Ambarus , Julien Su , Richard Weinberger , ycllin@mxic.com.tw, linux-mtd@lists.infradead.org, Thomas Petazzoni , Linux-OMAP 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 SGkgQWRhbSwKCkFkYW0gRm9yZCA8YWZvcmQxNzNAZ21haWwuY29tPiB3cm90ZSBvbiBGcmksIDE1 IEphbiAyMDIxIDEwOjA2OjE0IC0wNjAwOgoKPiBPbiBGcmksIEphbiAxNSwgMjAyMSBhdCA2OjIz IEFNIEFkYW0gRm9yZCA8YWZvcmQxNzNAZ21haWwuY29tPiB3cm90ZToKPiA+Cj4gPiBPbiBUaHUs IEphbiAxNCwgMjAyMSBhdCA5OjQyIEFNIE1pcXVlbCBSYXluYWwgPG1pcXVlbC5yYXluYWxAYm9v dGxpbi5jb20+IHdyb3RlOiAgCj4gPiA+Cj4gPiA+IEhpIEFkYW0sCj4gPiA+Cj4gPiA+IEFkYW0g Rm9yZCA8YWZvcmQxNzNAZ21haWwuY29tPiB3cm90ZSBvbiBUdWUsIDEyIEphbiAyMDIxIDExOjIw OjI0IC0wNjAwOgo+ID4gPiAgCj4gPiA+ID4gT24gVHVlLCBKYW4gMTIsIDIwMjEgYXQgMTA6MDEg QU0gQWRhbSBGb3JkIDxhZm9yZDE3M0BnbWFpbC5jb20+IHdyb3RlOiAgCj4gPiA+ID4gPgo+ID4g PiA+ID4gT24gVHVlLCBKYW4gMTIsIDIwMjEgYXQgODozNSBBTSBNaXF1ZWwgUmF5bmFsIDxtaXF1 ZWwucmF5bmFsQGJvb3RsaW4uY29tPiB3cm90ZTogIAo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBI aSBBZGFtLAo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBNaXF1ZWwgUmF5bmFsIDxtaXF1ZWwucmF5 bmFsQGJvb3RsaW4uY29tPiB3cm90ZSBvbiBNb24sIDExIEphbiAyMDIxCj4gPiA+ID4gPiA+IDEx OjIwOjI3ICswMTAwOgo+ID4gPiA+ID4gPiAgCj4gPiA+ID4gPiA+ID4gSGkgQWRhbSwKPiA+ID4g PiA+ID4gPgo+ID4gPiA+ID4gPiA+IEFkYW0gRm9yZCA8YWZvcmQxNzNAZ21haWwuY29tPiB3cm90 ZSBvbiBTYXQsIDkgSmFuIDIwMjEgMDg6NDY6NDQgLTA2MDA6Cj4gPiA+ID4gPiA+ID4gIAo+ID4g PiA+ID4gPiA+ID4gT24gVHVlLCBTZXAgMjksIDIwMjAgYXQgNjowOSBQTSBNaXF1ZWwgUmF5bmFs IDxtaXF1ZWwucmF5bmFsQGJvb3RsaW4uY29tPiB3cm90ZTogIAo+ID4gPiA+ID4gPiA+ID4gPgo+ ID4gPiA+ID4gPiA+ID4gPiBUaGUgTkFORCBCQ0ggY29udHJvbCBzdHJ1Y3R1cmUgaGFzIG5vdGhp bmcgdG8gZG8gb3V0c2lkZSBvZiB0aGlzCj4gPiA+ID4gPiA+ID4gPiA+IGRyaXZlciwgYWxsIHVz ZXJzIG9mIHRoZSBuYW5kX2JjaF9pbml0L2ZyZWUoKSBmdW5jdGlvbnMganVzdCBzYXZlIGl0Cj4g PiA+ID4gPiA+ID4gPiA+IHRvIGNoaXAtPmVjYy5wcml2IHNvIGRvIGl0IGluIHRoaXMgZHJpdmVy IGRpcmVjdGx5IGFuZCByZXR1cm4gYQo+ID4gPiA+ID4gPiA+ID4gPiByZWd1bGFyIGVycm9yIGNv ZGUgaW5zdGVhZC4KPiA+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4gU2lnbmVkLW9m Zi1ieTogTWlxdWVsIFJheW5hbCA8bWlxdWVsLnJheW5hbEBib290bGluLmNvbT4KPiA+ID4gPiA+ ID4gPiA+ID4gLS0tICAKPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiBTdGFydGluZyB3 aXRoIHRoaXMgY29tbWl0OiAgM2MwZmUzNmFiZWJlLCB0aGUga2VybmVsIGVpdGhlciBkb2Vzbid0 Cj4gPiA+ID4gPiA+ID4gPiBidWlsZCBvciByZXR1cm5zIGVycm9ycyBvbiBzb21lIG9tYXAycGx1 cyBkZXZpY2VzIHdpdGggdGhlIGZvbGxvd2luZwo+ID4gPiA+ID4gPiA+ID4gZXJyb3I6Cj4gPiA+ ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gICAgIG5hbmQ6IGRldmljZSBmb3VuZCwgTWFudWZh Y3R1cmVyIElEOiAweDJjLCBDaGlwIElEOiAweGJjCj4gPiA+ID4gPiA+ID4gPiAgICAgbmFuZDog TWljcm9uIE1UMjlGNEcxNkFCQkRBM1cKPiA+ID4gPiA+ID4gPiA+ICAgICBuYW5kOiA1MTIgTWlC LCBTTEMsIGVyYXNlIHNpemU6IDEyOCBLaUIsIHBhZ2Ugc2l6ZTogMjA0OCwgT09CIHNpemU6IDY0 Cj4gPiA+ID4gPiA+ID4gPiAgICAgbmFuZDogdXNpbmcgT01BUF9FQ0NfQkNIOF9DT0RFX0hXX0RF VEVDVElPTl9TVwo+ID4gPiA+ID4gPiA+ID4gICAgIEludmFsaWQgRUNDIGxheW91dAo+ID4gPiA+ ID4gPiA+ID4gICAgIG9tYXAyLW5hbmQgMzAwMDAwMDAubmFuZDogdW5hYmxlIHRvIHVzZSBCQ0gg bGlicmFyeQo+ID4gPiA+ID4gPiA+ID4gICAgIG9tYXAyLW5hbmQ6IHByb2JlIG9mIDMwMDAwMDAw Lm5hbmQgZmFpbGVkIHdpdGggZXJyb3IgLTIyCj4gPiA+ID4gPiA+ID4gPiAgICAgODwtLS0gY3V0 IGhlcmUgLS0tCj4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gVGhlcmUgYXJlIGZldyBj b21taXRzIHVzaW5nIGdpdCBiaXNlY3QgdGhhdCBoYXZlIGJ1aWxkIGVycm9ycywgc28gaXQKPiA+ ID4gPiA+ID4gPiA+IHdhc24ndCBwb3NzaWJsZSBmb3IgbWUgdG8gZGV0ZXJtaW5lIHRoZSBleGFj dCBjb21taXQgdGhhdCBicm9rZSB0aGUKPiA+ID4gPiA+ID4gPiA+IEVDQy4gIElmIHRoZSBidWls ZCBmYWlsZWQsIEkgbWFya2VkIGl0IGFzICdiYWQnIHRvIGdpdCBiaXNlY3QuICAKPiA+ID4gPiA+ ID4gPgo+ID4gPiA+ID4gPiA+IEkgYW0gc29ycnkgdG8gaGVhciB0aGF0LCBJIHJlZ3VsYXJseSBy ZWJhc2Ugd2l0aCBhIG1ha2UgcnVuIGJldHdlZW4gZWFjaAo+ID4gPiA+ID4gPiA+IHBpY2sgYW5k IHB1c2ggbXkgYnJhbmNoZXMgdG8gYSAwLWRheSByZXBvc2l0b3J5IHRvIGhhdmUgcm9ib3RzIGNo ZWNrCj4gPiA+ID4gPiA+ID4gZm9yIHN1Y2ggZXJyb3JzLCBidXQgc29tZXRpbWVzIEkgZmFpbC4K PiA+ID4gPiA+ID4gPiAgCj4gPiA+ID4gPiA+ID4gPiBOZXdlciBjb21taXRzIGhhdmUgcmVtZWRp ZWQgdGhlIGJ1aWxkIGlzc3VlLCBidXQgdGhlIEludmFsaWQgRUNDCj4gPiA+ID4gPiA+ID4gPiBs YXlvdXQgZXJyb3Igc3RpbGwgZXhpc3RzIGFzIG9mIDUuMTEtUkMyLiAgCj4gPiA+ID4gPiA+ID4K PiA+ID4gPiA+ID4gPiBPayBzbyBsZXQncyBmb2N1cyBvbiB0aGVzZS4KPiA+ID4gPiA+ID4gPiAg Cj4gPiA+ID4gPiA+ID4gPiBEbyB5b3UgaGF2ZSBhbnkgc3VnZ2VzdGlvbnMgb24gd2hhdCBJIGNh biBkbyB0byByZW1lZHkgdGhpcz8gIEkgYW0KPiA+ID4gPiA+ID4gPiA+IHdpbGxpbmcgdG8gdHJ5 IGFuZCB0ZXN0LiAgCj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiBHbGFkIHRvIGhlYXIgdGhh dC4KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IENhbiB5b3Ugc2hhcmUgdGhlIE5BTkQgY29u dHJvbGxlciBEVCBub2RlIHlvdSBhcmUgdXNpbmc/Cj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4g PiBBbHNvLCBjYW4geW91IHBsZWFzZSBhZGQgYSBmZXcgcHJpbnRrJ3MgbGlrZSBiZWxvdyBhbmQg Z2l2ZSBtZSB0aGUKPiA+ID4gPiA+ID4gPiBvdXRwdXQ/ICAKPiA+ID4gPiA+ID4KPiA+ID4gPiA+ ID4gV2lsbCB5b3UgaGF2ZSB0aGUgdGltZSB0byBjaGVjayB0aGVzZSBzb29uPyBJIGFtIHJlYWR5 IHRvIGhlbHAgYW5kCj4gPiA+ID4gPiA+IHdvdWxkIGxpa2UgdG8gZml4IGl0IGFzYXAuICAKPiA+ ID4gPiA+Cj4gPiA+ID4gPiBTb3JyeSBmb3IgdGhlIGRlbGF5LCBJIGhhdmUgdG8gc3BsaXQgbXkg dGltZSB3aXRoIDMgZGlmZmVyZW50Cj4gPiA+ID4gPiBwcm9qZWN0cy4gIEkgYW0gaG9waW5nIHRv IGdldCB5b3UgZGF0YSBsYXRlciB0b2RheS4KPiA+ID4gPiA+ICAKPiA+ID4gPiBNaXF1ZWwsCj4g PiA+ID4KPiA+ID4gPiBIZXJlIGlzIHRoZSBkdW1wIGZyb20gbXkgYm9vdCBzZXF1ZW5jZToKPiA+ ID4gPgo+ID4gPiA+IFsgICAgMi42MjkwODldIG9tYXAyLW5hbmQgMzAwMDAwMDAubmFuZDogR1BJ TyBsb29rdXAgZm9yIGNvbnN1bWVyIHJiCj4gPiA+ID4gWyAgICAyLjYzNTI1M10gb21hcDItbmFu ZCAzMDAwMDAwMC5uYW5kOiB1c2luZyBkZXZpY2UgdHJlZSBmb3IgR1BJTyBsb29rdXAKPiA+ID4g PiBbICAgIDIuNjQyMTUwXSBvZl9nZXRfbmFtZWRfZ3Bpb2RfZmxhZ3M6IHBhcnNlZCAncmItZ3Bp b3MnIHByb3BlcnR5IG9mIG5vZGUgJy9vKQo+ID4gPiA+IFsgICAgMi42NTM5MDBdIGdwaW8gZ3Bp b2NoaXA2OiBQZXJzaXN0ZW5jZSBub3Qgc3VwcG9ydGVkIGZvciBHUElPIDAKPiA+ID4gPiBbICAg IDIuNjYwMzM5XSBuYW5kOiBkZXZpY2UgZm91bmQsIE1hbnVmYWN0dXJlciBJRDogMHgyYywgQ2hp cCBJRDogMHhiYwo+ID4gPiA+IFsgICAgMi42NjY5MDBdIG5hbmQ6IE1pY3JvbiBNVDI5RjRHMTZB QkJEQTNXCj4gPiA+ID4gWyAgICAyLjY3MDk1OV0gbmFuZDogNTEyIE1pQiwgU0xDLCBlcmFzZSBz aXplOiAxMjggS2lCLCBwYWdlIHNpemU6IDIwNDgsIE9PQiBzaTQKPiA+ID4gPiBbICAgIDIuNjc4 NzEwXSBuYW5kOiB1c2luZyBPTUFQX0VDQ19CQ0g4X0NPREVfSFdfREVURUNUSU9OX1NXCj4gPiA+ ID4gWyAgICAyLjY4NDIzNF0gd3JpdGVzaXplIDIwNDgsIHN0ZXBfc2l6ZSA1MTIsIG5zdGVwcyA0 Cj4gPiA+ID4gWyAgICAyLjY4OTMwMF0gc3RyZW5ndGggOCwgc3RlcCBzaXplIDUxMiwgY29kZV9z aXplIDEzICAKPiA+ID4KPiA+ID4gVW50aWwgaGVyZSwgZXZlcnl0aGluZyBsb29rcyBmaW5lLgo+ ID4gPiAgCj4gPiA+ID4gWyAgICAyLjY5NjgwN10gY291bnQgZWNjYnl0ZXMgMCAgCj4gPiA+Cj4g PiA+IFRoaXMgaXMgdGhlIGNhdXNlIG9mIHRoZSBlcnJvciwgdGhlIE1URCBPT0IgbGF5b3V0IHJl cG9ydHMgbm90IEVDQyBieXRlLgo+ID4gPgo+ID4gPiBDYW4geW91IHBsZWFzZSBjaGVjayB0aGF0 IHdlIGVmZmVjdGl2ZWx5IGNhbGwgdGhlIGxhcmdlIHBhZ2UgaGVscGVycwo+ID4gPiAoaW4gcGFy dGljdWxhciBuYW5kX29vYmxheW91dF9lY2NfbHAoKSkgLiBJIGJldCB0aGlzIGZ1bmN0aW9uIHJl dHVybnMKPiA+ID4gLUVSQU5HRSBvbiBpdHMgZmlyc3QgY2FsbCwgd2hpY2ggcmVkdWNlcyB0aGUg ZWNjYnl0ZXMgdmFyaWFibGUgYWJvdmUgdG8KPiA+ID4gemVyby4gIAo+ID4KPiA+IEkgd2lsbCBk byB3aGF0IEkgY2FuLCBidXQgSSBhbSBvdXQgb2YgbXkgZWxlbWVudCB3aXRoIHRoaXMgbXRkIGFu ZCBuYW5kIHN0dWZmLgo+ID4KPiA+IEkgYWRkZWQgYSBwcmludGsgdG8gdGhlIGJlZ2lubmluZyBv ZiBuYW5kX29vYmxheW91dF9lY2NfbHAoKSBhbmQgaXQncwo+ID4gbm90IGFwcGVhcmluZywgc28g SSB3b25kZXIgaWYgbmFuZF9vb2JsYXlvdXRfZWNjX2xwKCkgaXMgbm90IGdldHRpbmcKPiA+IGNh bGxlZC4KPiA+Cj4gPiBJIGFsc28gYWRkZWQgc29tZSBwcmludGsncyB0byB0aGUgZHJpdmVycy9t dGQvbmFuZC9yYXcvb21hcDIuYyB0byBzZWUKPiA+IHdoYXQncyBiZWluZyBkZWZpbmVkIGZvciBz ZWN0aW9uIGFuZCBlY2Muc3RlcHMuCj4gPgo+ID4gWyAgICAyLjYyMTk3OF0gbXRkb29wczogbXRk IGRldmljZSAobXRkZGV2PW5hbWUvbnVtYmVyKSBtdXN0IGJlIHN1cHBsaWVkCj4gPiBbICAgIDIu NjI5Njk5XSBvbWFwMi1uYW5kIDMwMDAwMDAwLm5hbmQ6IEdQSU8gbG9va3VwIGZvciBjb25zdW1l ciByYgo+ID4gWyAgICAyLjYzNTg2NF0gb21hcDItbmFuZCAzMDAwMDAwMC5uYW5kOiB1c2luZyBk ZXZpY2UgdHJlZSBmb3IgR1BJTyBsb29rdXAKPiA+IFsgICAgMi42NDI3NjFdIG9mX2dldF9uYW1l ZF9ncGlvZF9mbGFnczogcGFyc2VkICdyYi1ncGlvcycgcHJvcGVydHkgb2YKPiA+IG5vZGUgJy9v Y3BANjgwMDAwMDAvZ3BtY0A2ZTAwMDAwMC9uYW5kQDAsMFswXScgLSBzdGF0dXMgKDApCj4gPiBb ICAgIDIuNjU0NTEwXSBncGlvIGdwaW9jaGlwNjogUGVyc2lzdGVuY2Ugbm90IHN1cHBvcnRlZCBm b3IgR1BJTyAwCj4gPiBbICAgIDIuNjYwOTQ5XSBuYW5kOiBkZXZpY2UgZm91bmQsIE1hbnVmYWN0 dXJlciBJRDogMHgyYywgQ2hpcCBJRDogMHhiYwo+ID4gWyAgICAyLjY2NzUxMF0gbmFuZDogTWlj cm9uIE1UMjlGNEcxNkFCQkRBM1cKPiA+IFsgICAgMi42NzE1NjldIG5hbmQ6IDUxMiBNaUIsIFNM QywgZXJhc2Ugc2l6ZTogMTI4IEtpQiwgcGFnZSBzaXplOgo+ID4gMjA0OCwgT09CIHNpemU6IDY0 Cj4gPiBbICAgIDIuNjc5MzIxXSBuYW5kOiB1c2luZyBPTUFQX0VDQ19CQ0g4X0NPREVfSFdfREVU RUNUSU9OX1NXCj4gPiBbICAgIDIuNjg0ODQ0XSB3cml0ZXNpemUgMjA0OCwgc3RlcF9zaXplIDUx MiwgbnN0ZXBzIDQKPiA+IFsgICAgMi42ODk5MTBdIHN0cmVuZ3RoIDgsIHN0ZXAgc2l6ZSA1MTIs IGNvZGVfc2l6ZSAxMwo+ID4gWyAgICAyLjY5NDgyNF0gbmFuZC0+ZWNjLmN0eC50b3RhbCA9IDUy Cj4gPiBbICAgIDIuNzAwOTg4XSBvbWFwX3N3X29vYmxheW91dF9lY2Mgc2VjdGlvbiAwLCBjaGlw LT5lY2Muc3RlcHMgMAo+ID4KPiA+IG9tYXBfc3dfb29ibGF5b3V0X2VjYygpIHJldHVybnMgLUVS QU5HRSBpZiBzZWN0aW9uID0+IGNoaXAtPmVjYy5zdGVwcwo+ID4gd2hpY2ggYXBwZWFycyB0byBi ZSB0aGUgY2FzZSBoZXJlLgo+ID4KPiA+IElzIGl0IHNhZmUgdG8gYXNzdW1lIHRoYXQgZWNjLnN0 ZXBzIHNob3VsZCBiZSA0IGlmIG5zdGVwcyBpcyA0Pwo+ID4KPiA+IFsgICAgMi43MDcwMzFdIGNv dW50IGVjY2J5dGVzIDAKPiA+IFsgICAgMi43MDk5MzBdIG9tYXBfc3dfb29ibGF5b3V0X2VjYyBz ZWN0aW9uIDAsIGNoaXAtPmVjYy5zdGVwcyAwCj4gPiBbICAgIDIuNzE1ODIwXSBJbnZhbGlkIEVD QyBsYXlvdXQKPiA+IFsgICAgMi43MTkwNTVdIG9tYXAyLW5hbmQgMzAwMDAwMDAubmFuZDogdW5h YmxlIHRvIHVzZSBCQ0ggbGlicmFyeQo+ID4gWyAgICAyLjcyNTA2N10gb21hcDItbmFuZDogcHJv YmUgb2YgMzAwMDAwMDAubmFuZCBmYWlsZWQgd2l0aCBlcnJvciAtMjIKPiA+IFsgICAgMi43Mzg5 ODNdIDg8LS0tIGN1dCBoZXJlIC0tLQo+ID4gIAo+ID4gPgo+ID4gPiBXaGF0IGlzIHN0cmFuZ2Ug aXMgdGhhdCwgdGhlIG9ubHkgcmVhc29uIHRoaXMgd291bGQgaGFwcGVuICh0byBteSBleWVzKQo+ ID4gPiBpcyBuYW5kLT5lY2MuY3R4LnRvdGFsIGJlaW5nIDAuIENhbiB5b3UgcGxlYXNlIGNoZWNr IGl0cyBlZmZlY3RpdmUKPiA+ID4gdmFsdWU/ICAKPiA+Cj4gPiBbICAgIDIuNjk0ODI0XSBuYW5k LT5lY2MuY3R4LnRvdGFsID0gNTIKPiA+ICAKPiA+ID4KPiA+ID4gSSBkbyBub3Qgc2VlIHRoZSBp bW1lZGlhdGUgcmVhc29uIGJlY2F1c2UgbmFuZC0+ZWNjLmN0eC50b3RhbCBpcyBzZXQgdG8KPiA+ ID4gbnN0ZXBzICg0KSAqIGNvZGVfc2l6ZSAoMTMpIHJpZ2h0IGJlZm9yZSBjYWxsaW5nCj4gPiA+ IG10ZF9vb2JsYXlvdXRfY291bnRfZWNjYnl0ZXMoKS4KPiA+ID4KPiA+ID4gQ2FuIHlvdSBwbGVh c2UgdmVyaWZ5IG15IHNheWluZ3MgYW5kIHBlcmhhcHMgdGFja2xlIHRoZSByb290IGNhdXNlIG9m Cj4gPiA+IHRoaXMgaXNzdWU/IFBsZWFzZSBkbyBub3QgaGVzaXRhdGUgdG8gYXNrIHF1ZXN0aW9u cywgSSdsbCBkbyBteSBiZXN0IHRvCj4gPiA+IGhlbHAgYmVjYXVzZSB0aGlzIGlzIGEgY3JpdGlj YWwgc2VjdGlvbiB0aGF0IGlzIG5vdCBvbmx5IGJyZWFraW5nCj4gPiA+IE9NQVAgYm9hcmRzLCB1 bmZvcnR1bmF0ZWx5LiAgCj4gCj4gSSBhcHBlYXIgdG8gaGF2ZSB0aGUgTkFORCBmbGFzaCB3b3Jr aW5nIHdpdGggdGhlIGZvbGxvd2luZyBwYXRjaDoKPiAKPiBAQCAtMjQ3LDExICsyNTMsMjEgQEAg aW50IG5hbmRfZWNjX3N3X2JjaF9pbml0X2N0eChzdHJ1Y3QgbmFuZF9kZXZpY2UgKm5hbmQpCj4g ICAgICAgICBuYW5kLT5lY2MuY3R4LnByaXYgPSBlbmdpbmVfY29uZjsKPiAgICAgICAgIG5hbmQt PmVjYy5jdHgudG90YWwgPSBuc3RlcHMgKiBjb2RlX3NpemU7Cj4gCj4gKyAgICAgICBzdHJ1Y3Qg bmFuZF9jaGlwICpjaGlwID0gbXRkX3RvX25hbmQobXRkKTsKPiArICAgICAgIGNoaXAtPmVjYy5z dGVwcyA9IG5zdGVwczsKPiArICAgICAgIGNoaXAtPmVjYy5zaXplID0gIGNvbmYtPnN0ZXBfc2l6 ZTsKPiAKPiBJIGFtIGd1ZXNzaW5nIGl0J3Mgbm90IGV4YWN0bHkgd2hhdCB5b3Ugd2FudCwgYnV0 IGFwcGVhcnMgdGhhdCB0aGUKPiBlY2Muc3RlcHMgYW5kIGVjYy5zaXplIHdhc24ndCBnZXR0aW5n IHByb3BhZ2F0ZWQgdG8gdGhlIG10ZCBsYXllciwgc28KPiB3aGVuIG9tYXBfc3dfb29ibGF5b3V0 X2VjYygpIHdhcyBjYWxsZWQsIHRob3NlIGZpZWxkcyB3ZXJlIGJsYW5rLgo+IAo+IElmIHlvdSBo YXZlIGEgc3VnZ2VzdGlvbiBvbiBob3cgeW91IHdhbnQgdGhpcyBpbXBsZW1lbnRlZCwgSSBjYW4g cHVzaCBhIHBhdGNoLgoKR3JlYXQsIEknbGwgY2hlY2sgbW9yZSBkZWVwbHkgd2h5IGlzIHRoaXMg aGFwcGVuaW5nIGFuZCBnZXQgYmFjayB0byB5b3UKZWFybHkgbmV4dCB3ZWVrLgoKVGhhbmtzLApN aXF1w6hsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KTGludXggTVREIGRpc2N1c3Npb24gbWFpbGluZyBsaXN0Cmh0dHA6Ly9saXN0cy5pbmZy YWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtbXRkLwo= 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 X-Spam-Level: X-Spam-Status: No, score=-15.2 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7B4BFC433DB for ; Fri, 15 Jan 2021 16:18:25 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4A4DA238EF for ; Fri, 15 Jan 2021 16:18:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727144AbhAOQSY convert rfc822-to-8bit (ORCPT ); Fri, 15 Jan 2021 11:18:24 -0500 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:23175 "EHLO relay1-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726801AbhAOQSY (ORCPT ); Fri, 15 Jan 2021 11:18:24 -0500 X-Originating-IP: 91.224.148.103 Received: from xps13 (unknown [91.224.148.103]) (Authenticated sender: miquel.raynal@bootlin.com) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id 828AA240014; Fri, 15 Jan 2021 16:17:38 +0000 (UTC) Date: Fri, 15 Jan 2021 17:17:36 +0100 From: Miquel Raynal To: Adam Ford Cc: Richard Weinberger , Vignesh Raghavendra , Tudor Ambarus , linux-mtd@lists.infradead.org, Julien Su , ycllin@mxic.com.tw, Thomas Petazzoni , Linux-OMAP Subject: Re: [PATCH 04/20] mtd: nand: ecc-bch: Stop exporting the private structure Message-ID: <20210115171736.1c837c29@xps13> In-Reply-To: References: <20200929230124.31491-1-miquel.raynal@bootlin.com> <20200929230124.31491-5-miquel.raynal@bootlin.com> <20210111112027.7cbda0ba@xps13> <20210112153534.5ba93cde@xps13> <20210114164224.5d21c170@xps13> Organization: Bootlin X-Mailer: Claws Mail 3.17.4 (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-omap@vger.kernel.org Hi Adam, Adam Ford wrote on Fri, 15 Jan 2021 10:06:14 -0600: > On Fri, Jan 15, 2021 at 6:23 AM Adam Ford wrote: > > > > On Thu, Jan 14, 2021 at 9:42 AM Miquel Raynal wrote: > > > > > > Hi Adam, > > > > > > Adam Ford wrote on Tue, 12 Jan 2021 11:20:24 -0600: > > > > > > > On Tue, Jan 12, 2021 at 10:01 AM Adam Ford wrote: > > > > > > > > > > On Tue, Jan 12, 2021 at 8:35 AM Miquel Raynal wrote: > > > > > > > > > > > > Hi Adam, > > > > > > > > > > > > Miquel Raynal wrote on Mon, 11 Jan 2021 > > > > > > 11:20:27 +0100: > > > > > > > > > > > > > Hi Adam, > > > > > > > > > > > > > > Adam Ford wrote on Sat, 9 Jan 2021 08:46:44 -0600: > > > > > > > > > > > > > > > On Tue, Sep 29, 2020 at 6:09 PM Miquel Raynal wrote: > > > > > > > > > > > > > > > > > > The NAND BCH control structure has nothing to do outside of this > > > > > > > > > driver, all users of the nand_bch_init/free() functions just save it > > > > > > > > > to chip->ecc.priv so do it in this driver directly and return a > > > > > > > > > regular error code instead. > > > > > > > > > > > > > > > > > > Signed-off-by: Miquel Raynal > > > > > > > > > --- > > > > > > > > > > > > > > > > Starting with this commit: 3c0fe36abebe, the kernel either doesn't > > > > > > > > build or returns errors on some omap2plus devices with the following > > > > > > > > error: > > > > > > > > > > > > > > > > nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xbc > > > > > > > > nand: Micron MT29F4G16ABBDA3W > > > > > > > > nand: 512 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64 > > > > > > > > nand: using OMAP_ECC_BCH8_CODE_HW_DETECTION_SW > > > > > > > > Invalid ECC layout > > > > > > > > omap2-nand 30000000.nand: unable to use BCH library > > > > > > > > omap2-nand: probe of 30000000.nand failed with error -22 > > > > > > > > 8<--- cut here --- > > > > > > > > > > > > > > > > There are few commits using git bisect that have build errors, so it > > > > > > > > wasn't possible for me to determine the exact commit that broke the > > > > > > > > ECC. If the build failed, I marked it as 'bad' to git bisect. > > > > > > > > > > > > > > I am sorry to hear that, I regularly rebase with a make run between each > > > > > > > pick and push my branches to a 0-day repository to have robots check > > > > > > > for such errors, but sometimes I fail. > > > > > > > > > > > > > > > Newer commits have remedied the build issue, but the Invalid ECC > > > > > > > > layout error still exists as of 5.11-RC2. > > > > > > > > > > > > > > Ok so let's focus on these. > > > > > > > > > > > > > > > Do you have any suggestions on what I can do to remedy this? I am > > > > > > > > willing to try and test. > > > > > > > > > > > > > > Glad to hear that. > > > > > > > > > > > > > > Can you share the NAND controller DT node you are using? > > > > > > > > > > > > > > Also, can you please add a few printk's like below and give me the > > > > > > > output? > > > > > > > > > > > > Will you have the time to check these soon? I am ready to help and > > > > > > would like to fix it asap. > > > > > > > > > > Sorry for the delay, I have to split my time with 3 different > > > > > projects. I am hoping to get you data later today. > > > > > > > > > Miquel, > > > > > > > > Here is the dump from my boot sequence: > > > > > > > > [ 2.629089] omap2-nand 30000000.nand: GPIO lookup for consumer rb > > > > [ 2.635253] omap2-nand 30000000.nand: using device tree for GPIO lookup > > > > [ 2.642150] of_get_named_gpiod_flags: parsed 'rb-gpios' property of node '/o) > > > > [ 2.653900] gpio gpiochip6: Persistence not supported for GPIO 0 > > > > [ 2.660339] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xbc > > > > [ 2.666900] nand: Micron MT29F4G16ABBDA3W > > > > [ 2.670959] nand: 512 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB si4 > > > > [ 2.678710] nand: using OMAP_ECC_BCH8_CODE_HW_DETECTION_SW > > > > [ 2.684234] writesize 2048, step_size 512, nsteps 4 > > > > [ 2.689300] strength 8, step size 512, code_size 13 > > > > > > Until here, everything looks fine. > > > > > > > [ 2.696807] count eccbytes 0 > > > > > > This is the cause of the error, the MTD OOB layout reports not ECC byte. > > > > > > Can you please check that we effectively call the large page helpers > > > (in particular nand_ooblayout_ecc_lp()) . I bet this function returns > > > -ERANGE on its first call, which reduces the eccbytes variable above to > > > zero. > > > > I will do what I can, but I am out of my element with this mtd and nand stuff. > > > > I added a printk to the beginning of nand_ooblayout_ecc_lp() and it's > > not appearing, so I wonder if nand_ooblayout_ecc_lp() is not getting > > called. > > > > I also added some printk's to the drivers/mtd/nand/raw/omap2.c to see > > what's being defined for section and ecc.steps. > > > > [ 2.621978] mtdoops: mtd device (mtddev=name/number) must be supplied > > [ 2.629699] omap2-nand 30000000.nand: GPIO lookup for consumer rb > > [ 2.635864] omap2-nand 30000000.nand: using device tree for GPIO lookup > > [ 2.642761] of_get_named_gpiod_flags: parsed 'rb-gpios' property of > > node '/ocp@68000000/gpmc@6e000000/nand@0,0[0]' - status (0) > > [ 2.654510] gpio gpiochip6: Persistence not supported for GPIO 0 > > [ 2.660949] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xbc > > [ 2.667510] nand: Micron MT29F4G16ABBDA3W > > [ 2.671569] nand: 512 MiB, SLC, erase size: 128 KiB, page size: > > 2048, OOB size: 64 > > [ 2.679321] nand: using OMAP_ECC_BCH8_CODE_HW_DETECTION_SW > > [ 2.684844] writesize 2048, step_size 512, nsteps 4 > > [ 2.689910] strength 8, step size 512, code_size 13 > > [ 2.694824] nand->ecc.ctx.total = 52 > > [ 2.700988] omap_sw_ooblayout_ecc section 0, chip->ecc.steps 0 > > > > omap_sw_ooblayout_ecc() returns -ERANGE if section => chip->ecc.steps > > which appears to be the case here. > > > > Is it safe to assume that ecc.steps should be 4 if nsteps is 4? > > > > [ 2.707031] count eccbytes 0 > > [ 2.709930] omap_sw_ooblayout_ecc section 0, chip->ecc.steps 0 > > [ 2.715820] Invalid ECC layout > > [ 2.719055] omap2-nand 30000000.nand: unable to use BCH library > > [ 2.725067] omap2-nand: probe of 30000000.nand failed with error -22 > > [ 2.738983] 8<--- cut here --- > > > > > > > > What is strange is that, the only reason this would happen (to my eyes) > > > is nand->ecc.ctx.total being 0. Can you please check its effective > > > value? > > > > [ 2.694824] nand->ecc.ctx.total = 52 > > > > > > > > I do not see the immediate reason because nand->ecc.ctx.total is set to > > > nsteps (4) * code_size (13) right before calling > > > mtd_ooblayout_count_eccbytes(). > > > > > > Can you please verify my sayings and perhaps tackle the root cause of > > > this issue? Please do not hesitate to ask questions, I'll do my best to > > > help because this is a critical section that is not only breaking > > > OMAP boards, unfortunately. > > I appear to have the NAND flash working with the following patch: > > @@ -247,11 +253,21 @@ int nand_ecc_sw_bch_init_ctx(struct nand_device *nand) > nand->ecc.ctx.priv = engine_conf; > nand->ecc.ctx.total = nsteps * code_size; > > + struct nand_chip *chip = mtd_to_nand(mtd); > + chip->ecc.steps = nsteps; > + chip->ecc.size = conf->step_size; > > I am guessing it's not exactly what you want, but appears that the > ecc.steps and ecc.size wasn't getting propagated to the mtd layer, so > when omap_sw_ooblayout_ecc() was called, those fields were blank. > > If you have a suggestion on how you want this implemented, I can push a patch. Great, I'll check more deeply why is this happening and get back to you early next week. Thanks, Miquèl