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=-2.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_2 autolearn=no 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 E3239C33C9E for ; Tue, 14 Jan 2020 18:11:29 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id BF4AC214AF for ; Tue, 14 Jan 2020 18:11:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="RiTFzLZ4" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BF4AC214AF 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=bombadil.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=7MWF8OCIJ78zn07SpkctzpZvJTlav7RfsPn+YTmTCxQ=; b=RiTFzLZ4DvW/2+ fa5n2SuHnIDuDU5bL8BfDbIAoo+NtSKrPaLEBqPPsN+wvK3dEuNmydKfdE40J0uVF6O4I4UR5qxLU xfmzhHhvU4IqhULE54eSgtBmTWlUOUYoCmuHQ0KJsx/6ang1i2E1fOK+W/AzTQZXSXB1UA4ia+Zbi YkFl4DWUJTEWhfyqlrTa6WpzfBPR5s2KIwgHtqqDGho90xpLiEoeTBHX/K9hwpje0CoE7+iV9ugHF 4wwFKEM03QaER1e0EN4nRgfpWiTgomTtqpNaWgqdgi0UZEYK2HFZkncS1VCcPVjL64o/zPZQZU0QP Lw0kIouS9OufNvaUhjYg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1irQer-0008Sq-BI; Tue, 14 Jan 2020 18:11:17 +0000 Received: from relay1-d.mail.gandi.net ([217.70.183.193]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1irQel-0008SQ-R9 for linux-mtd@lists.infradead.org; Tue, 14 Jan 2020 18:11:16 +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 19A3B240005; Tue, 14 Jan 2020 18:10:53 +0000 (UTC) Date: Tue, 14 Jan 2020 19:10:52 +0100 From: Miquel Raynal To: Rob Herring Subject: Re: [PATCH v5 4/4] mtd: Add driver for concatenating devices Message-ID: <20200114191052.0a16d116@xps13> In-Reply-To: References: <20191127105522.31445-1-miquel.raynal@bootlin.com> <20191127105522.31445-5-miquel.raynal@bootlin.com> <20191209113506.41341ed4@collabora.com> 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-20200114_101112_152303_564948E1 X-CRM114-Status: GOOD ( 27.54 ) 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: Mark Rutland , devicetree@vger.kernel.org, Vignesh Raghavendra , Tudor Ambarus , Richard Weinberger , Mark Brown , "linux-kernel@vger.kernel.org" , Paul Kocialkowski , Boris Brezillon , MTD Maling List , Bernhard Frauendienst , Thomas Petazzoni 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 SGkgUm9iLAoKUm9iIEhlcnJpbmcgPHJvYmgrZHRAa2VybmVsLm9yZz4gd3JvdGUgb24gVHVlLCAx NCBKYW4gMjAyMCAxMTo0NjoxOAotMDYwMDoKCj4gT24gTW9uLCBEZWMgOSwgMjAxOSBhdCA0OjM1 IEFNIEJvcmlzIEJyZXppbGxvbgo+IDxib3Jpcy5icmV6aWxsb25AY29sbGFib3JhLmNvbT4gd3Jv dGU6Cj4gPgo+ID4gT24gV2VkLCAyNyBOb3YgMjAxOSAxMTo1NToyMiArMDEwMAo+ID4gTWlxdWVs IFJheW5hbCA8bWlxdWVsLnJheW5hbEBib290bGluLmNvbT4gd3JvdGU6Cj4gPiAgCj4gPiA+IElu dHJvZHVjZSBhIGdlbmVyaWMgd2F5IHRvIGRlZmluZSBjb25jYXRlbmF0ZWQgTVREIGRldmljZXMu IFRoaXMgbWF5Cj4gPiA+IGJlIHZlcnkgdXNlZnVsIGluIHRoZSBjYXNlIG9mIGllLiBzdGFja2Vk IFNQSS1OT1IuIFBhcnRpdGlvbnMgdG8KPiA+ID4gY29uY2F0ZW5hdGUgYXJlIGRlc2NyaWJlZCBp biBhbiBhZGRpdGlvbmFsIHByb3BlcnR5IG9mIHRoZSBwYXJ0aXRpb25zCj4gPiA+IHN1Ym5vZGU6 Cj4gPiA+Cj4gPiA+ICAgICAgICAgZmxhc2gwIHsKPiA+ID4gICAgICAgICAgICAgICAgIHBhcnRp dGlvbnMgewo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXRpYmxlID0gImZpeGVk LXBhcnRpdGlvbnMiOwo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICBwYXJ0LWNvbmNhdCA9 IDwmZmxhc2gwX3BhcnQxPiwgPCZmbGFzaDFfcGFydDA+Owo+ID4gPgo+ID4gPiAgICAgICAgICAg ICAgICAgICAgICAgcGFydDBAMCB7Cj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGxhYmVsID0gInBhcnQwXzAiOwo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy ZWcgPSA8MHgwIDB4ODAwMDAwPjsKPiA+ID4gICAgICAgICAgICAgICAgICAgICAgIH07Cj4gPiA+ Cj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICBmbGFzaDBfcGFydDE6IHBhcnQxQDgwMDAwMCB7 Cj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsID0gInBhcnQwXzEiOwo+ ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWcgPSA8MHg4MDAwMDAgMHg4MDAw MDA+OyAgCj4gPgo+ID4gU28sIGZsYXNoMF9wYXJ0MSBhbmQgZmxhc2gwX3BhcnQyIHdpbGwgYmUg Y3JlYXRlZCBldmVuIHRob3VnaCB0aGUgdXNlcgo+ID4gcHJvYmFibHkgZG9lc24ndCBuZWVkIHRo ZW0/ICAKPiAKPiBJIGRvbid0IGZvbGxvdz8KCldlbGwsIG9uZSB3aWxsIGhhdmUgdG8gY3JlYXRl ICJmYWtlIiBwYXJ0aXRpb25zIGluIG9yZGVyIHRvIGNvbmNhdGVuYXRlCnRoZW0gd2l0aCB0aGlz IHNvbHV0aW9uLCBpbnN0ZWFkIG9mIGp1c3QgY29uY2F0ZW5hdGluZyB0aGUgZGV2aWNlcyAoaW4K dGhlIGNhc2Ugd2hlcmUgeW91IHdhbnQgdG8gY29uY2F0ZW5hdGUgdGhlIGVudGlyZSBkZXZpY2Vz KS4gQnV0IHRoZSByZWFsCmRlYmF0ZSBpcyBiZWxvdywgb24gdGhlIHJlcHJlc2VudGF0aW9uLgoK PiAKPiA+ICAKPiA+ID4gICAgICAgICAgICAgICAgICAgICAgIH07Cj4gPiA+ICAgICAgICAgICAg ICAgICB9Owo+ID4gPiAgICAgICAgIH07Cj4gPiA+Cj4gPiA+ICAgICAgICAgZmxhc2gxIHsKPiA+ ID4gICAgICAgICAgICAgICAgIHBhcnRpdGlvbnMgewo+ID4gPiAgICAgICAgICAgICAgICAgICAg ICAgICBjb21wYXRpYmxlID0gImZpeGVkLXBhcnRpdGlvbnMiOwo+ID4gPgo+ID4gPiAgICAgICAg ICAgICAgICAgICAgICAgZmxhc2gwX3BhcnQxOiBwYXJ0MUAwIHsKPiA+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGFiZWwgPSAicGFydDFfMCI7Cj4gPiA+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJlZyA9IDwweDAgMHg4MDAwMDA+Owo+ID4gPiAgICAgICAgICAgICAg ICAgICAgICAgfTsKPiA+ID4KPiA+ID4gICAgICAgICAgICAgICAgICAgICAgIHBhcnQwQDgwMDAw MCB7Cj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsID0gInBhcnQxXzEi Owo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWcgPSA8MHg4MDAwMDAgMHg4 MDAwMDA+Owo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgfTsKPiA+ID4gICAgICAgICAgICAg ICAgIH07Cj4gPiA+ICAgICAgICAgfTsgIAo+ID4KPiA+IElNSE8gdGhpcyByZXByZXNlbnRhdGlv biBpcyBmYXIgZnJvbSBpbnR1aXRpdmUuIEF0IGZpcnN0IGdsYW5jZSBpdCdzIG5vdAo+ID4gb2J2 aW91cyB3aGljaCBwYXJ0aXRpb25zIGFyZSBsaW5rZWQgdG9nZXRoZXIgYW5kIHdoYXQncyB0aGUg bmFtZSBvZiB0aGUKPiA+IHJlc3VsdGluZyBjb25jYXRlbmF0ZWQgcGFydC4gSSBkZWZpbml0ZWx5 IHByZWZlciB0aGUgc29sdXRpb24gd2hlcmUgd2UKPiA+IGhhdmUgYSB2aXJ0dWFsIGRldmljZSBk ZXNjcmliaW5nIHRoZSBjb25jYXRlbmF0aW9uLiBJIGFsc28gdW5kZXJzdGFuZAo+ID4gdGhhdCB0 aGlzIGdvZXMgYWdhaW5zdCB0aGUgIzEgRFQgcnVsZTogIkRUIG9ubHkgZGVjcmliZXMgSFcgYmxv Y2tzLCBub3QKPiA+IGhvdyB0aGV5IHNob3VsZCBiZSB1c2VkL2NvbmZpZ3VyZWQiLCBidXQgbWF5 YmUgd2UgY2FuIGZpbmQgYSBjb21wcm9taXNlCj4gPiBoZXJlLCBsaWtlIG1vdmluZyB0aGlzIGRl c2NyaXB0aW9uIHRvIHRoZSAvY2hvc2VuIG5vZGU/Cj4gPgo+ID4gY2hvc2VuIHsKPiA+ICAgICAg ICAgZmxhc2gtYXJyYXlzIHsKPiA+ICAgICAgICAgICAgICAgICAvKgo+ID4gICAgICAgICAgICAg ICAgICAqIG15LWZsYXNoLWFycmF5IGlzIHRoZSBNVEQgbmFtZSBpZiBsYWJlbCBpcwo+ID4gICAg ICAgICAgICAgICAgICAqIG5vdCBwcmVzZW50Lgo+ID4gICAgICAgICAgICAgICAgICAqLwo+ID4g ICAgICAgICAgICAgICAgIG15LWZsYXNoLWFycmF5IHsKPiA+ICAgICAgICAgICAgICAgICAgICAg ICAgIC8qCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgKiBXZSBjb3VsZCBoYXZlCj4gPiAg ICAgICAgICAgICAgICAgICAgICAgICAgKiBjb21wYXRpYmxlID0gImZsYXNoLWFycmF5IjsKPiA+ ICAgICAgICAgICAgICAgICAgICAgICAgICAqIGJ1dCB3ZSBjYW4gYWxzbyBkbyB3aXRob3V0IGl0 Lgo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICovCj4gPiAgICAgICAgICAgICAgICAgICAg ICAgICBsYWJlbCA9ICJmb28iOwo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgZmxhc2hlcyA9 IDwmZmxhc2gxICZmbGFzaDIgLi4uPjsKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRp dGlvbnMgewo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB1c3VhbCBwYXJ0 aXRpb24gZGVzY3JpcHRpb24uICovCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC4uLgo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgfTsKPiA+ICAgICAgICAgICAgICAgICB9 Owo+ID4gICAgICAgICB9Owo+ID4gfTsKPiA+Cj4gPiBSb2IsIHdoYXQgZG8geW91IHRoaW5rPyAg Cj4gCj4gSSBkb24ndCB0aGluayBjaG9zZW4gaXMgdGhlIHJpZ2h0IHBsYWNlIHRvIHB1dCBhbGwg dGhlIHBhcnRpdGlvbgo+IGluZm9ybWF0aW9uLiBJdCdzIG5vdCBzb21ldGhpbmcgdGhlIGJvb3Rs b2FkZXIgY29uZmlndXJlcy4KPiAKPiBUaGlzIHN1ZmZlcnMgZnJvbSB0aGUgc2FtZSBpc3N1ZSBJ IGhhdmUgd2l0aCB0aGUgb3JpZ2luYWwgcHJvcG9zYWwuIEl0Cj4gd2lsbCBub3Qgd29yayBmb3Ig ZXhpc3Rpbmcgcy93LiBUaGVyZSdzIG9ubHkgMSBsb2dpY2FsIHBhcnRpdGlvbiB0aGF0CgpJIGRv bid0IGdldCB3aHkgaXQgd291bGQgbm90IHdvcms/IEN1cnJlbnQgaGFyZHdhcmUgd2lsbCBqdXN0 IG5vdCBoYXZlCnRoZSBjb25jYXRlbmF0aW9uIHN1cHBvcnQsIHRoYXQncyBhbGwuIEhvdyBpcyB0 aGlzIGEgcHJvYmxlbT8KCj4gY29uY2F0ZW5hdGVkLiBUaGUgcmVzdCBvZiB0aGUgcGFydGl0aW9u cyBzaG91bGRuJ3QgbmVlZCBhbnkgc3BlY2lhbAo+IGhhbmRsaW5nLiBTbyB3ZSByZWFsbHkgb25s eSBuZWVkIHNvbWUgd2F5IHRvIHNheSAnbGluayB0aGVzZSAyCj4gcGFydGl0aW9ucyBpbnRvIDEg bG9naWNhbCBwYXJ0aXRpb24nLiBUaG91Z2ggcGVyaGFwcyBvbmUgY291bGQgd2FudCB0bwo+IGNv bWJpbmUgYW55IG51bWJlciBvZiBwaHlzaWNhbCBwYXJ0aXRpb25zIGludG8gbG9naWNhbCBwYXJ0 aXRpb25zLCBidXQKPiB0aGVuIG5vbmUgb2YgdGhlIHByb3Bvc2FscyBjb3VsZCBzdXBwb3J0IHRo YXQuIFRoZW4gYWdhaW4sIG1heWJlCgpZZXMsIHRoZSBmbGFzaC1hcnJheSBwcm9wb3NhbCBzdXBw b3J0cyBoYXZpbmcgbW9yZSB0aGFuIHR3bwpwYXJ0aXRpb25zL2RldmljZXMgY29uY2F0ZW5hdGVk LCBpdCBpcyBhbHNvIGFscmVhZHkgc3VwcG9ydGVkIGJ5IHRoZQpkcml2ZXIgKHlvdSBkb24ndCBj YXJlIGFib3V0IHRoaXMsIGJ1dCBJIGRvIDopICkuCgo+IHRoYXQncyBhIHVzZXJzcGFjZSBwcm9i bGVtIGxpa2Ugd2l0aCBkaXNrcy4KCkkgc2VlIG9uZSBiaWcgaXNzdWUgd2l0aCB0aGlzIHNvbHV0 aW9uOiB3aGF0IGFib3V0IGJvb3Rsb2FkZXJzPwoKVGhlIHJvb3QgY2F1c2UgZm9yIHN1Y2ggaWRl YSBpcyB0aGF0LCBpbiBteSBjYXNlLCB0aGUgMiBNVEQgZGV2aWNlcyBhcmUKdG9vIHNtYWxsIHRv IGNvbnRhaW4gdGhlIGltYWdlcyBuZWVkZWQgdG8gYm9vdC4gVGhlIHBlcmZlY3Qgc29sdXRpb24g aXMKdG8gbWVyZ2UgdGhlIHR3byBkZXZpY2VzIHZpcnR1YWxseSBpbiBvbmUgc2luZ2xlIGRldmlj ZSBhbmQgbGV0IFUtQm9vdApyZWFkIGl0IGxpa2Ugb25lLgoKSSBuZWVkIHRvIGhhdmUgdGhlIHNh bWUgcmVwcmVzZW50YXRpb24gYm90aCBpbiBVLUJvb3QgYW5kIExpbnV4LCBoZW5jZQphIHVzZXJz cGFjZSB0b29sIGFuZCBhIGtlcm5lbCBjb21tYW5kIGxpbmUgYXJndW1lbnQgZG8gbm90IHdvcmss IHJpZ2h0PwoKPiBUbyB0aHJvdyBvdXQgYW5vdGhlciBvcHRpb24sIHdoYXQgaWYgdGhlIGZpcnN0 IGRldmljZSBjb250YWlucyB0aGUKPiBjb21wbGV0ZSBwYXJ0aXRpb25zIGZvciBib3RoIGRldmlj ZXMgd2l0aCBzb21lIHByb3BlcnR5IGluIG9uZSBvciBib3RoCj4gZGV2aWNlcyBwb2ludGluZyB0 byB0aGUgb3RoZXIgZGV2aWNlPyBUaGF0IHdvdWxkIG1ha2UgdGhlIHBhcnRpdGlvbnMKPiBpbiB0 aGUgMXN0IGRldmljZSBzdGlsbCBhY2Nlc3NpYmxlIHRvIGV4aXN0aW5nIHMvdyAodW5sZXNzIGl0 IGJvdW5kcwo+IGNoZWNrcyB0aGUgcGFydGl0aW9ucykuCgpGcm9tIGEgY29kaW5nIHBlcnNwZWN0 aXZlIHRoaXMgaXMgdmVyeSBkaWZmaWN1bHQgYXMgYm91bmQgY2hlY2tzIGFyZQpkb25lIGV2ZXJ5 d2hlcmUgYW5kIGx5aW5nIGFib3V0IHRoZSBib3VuZGFyaWVzIGlzIElNSE8gYSBiaXQgY29tcGxl eC4KClRoYW5rcywKTWlxdcOobAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkxpbnV4IE1URCBkaXNjdXNzaW9uIG1haWxpbmcgbGlzdApodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LW10ZC8K 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=-2.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_2 autolearn=no 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 CFCCEC33C9E for ; Tue, 14 Jan 2020 18:11:01 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id AAA6224658 for ; Tue, 14 Jan 2020 18:11:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726491AbgANSLB convert rfc822-to-8bit (ORCPT ); Tue, 14 Jan 2020 13:11:01 -0500 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:43143 "EHLO relay1-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726450AbgANSLB (ORCPT ); Tue, 14 Jan 2020 13:11:01 -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 19A3B240005; Tue, 14 Jan 2020 18:10:53 +0000 (UTC) Date: Tue, 14 Jan 2020 19:10:52 +0100 From: Miquel Raynal To: Rob Herring Cc: Boris Brezillon , Richard Weinberger , Vignesh Raghavendra , Tudor Ambarus , Mark Rutland , MTD Maling List , Thomas Petazzoni , devicetree@vger.kernel.org, "linux-kernel@vger.kernel.org" , Mark Brown , Paul Kocialkowski , Bernhard Frauendienst Subject: Re: [PATCH v5 4/4] mtd: Add driver for concatenating devices Message-ID: <20200114191052.0a16d116@xps13> In-Reply-To: References: <20191127105522.31445-1-miquel.raynal@bootlin.com> <20191127105522.31445-5-miquel.raynal@bootlin.com> <20191209113506.41341ed4@collabora.com> 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 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Hi Rob, Rob Herring wrote on Tue, 14 Jan 2020 11:46:18 -0600: > On Mon, Dec 9, 2019 at 4:35 AM Boris Brezillon > wrote: > > > > On Wed, 27 Nov 2019 11:55:22 +0100 > > Miquel Raynal wrote: > > > > > Introduce a generic way to define concatenated MTD devices. This may > > > be very useful in the case of ie. stacked SPI-NOR. Partitions to > > > concatenate are described in an additional property of the partitions > > > subnode: > > > > > > flash0 { > > > partitions { > > > compatible = "fixed-partitions"; > > > part-concat = <&flash0_part1>, <&flash1_part0>; > > > > > > part0@0 { > > > label = "part0_0"; > > > reg = <0x0 0x800000>; > > > }; > > > > > > flash0_part1: part1@800000 { > > > label = "part0_1"; > > > reg = <0x800000 0x800000>; > > > > So, flash0_part1 and flash0_part2 will be created even though the user > > probably doesn't need them? > > I don't follow? Well, one will have to create "fake" partitions in order to concatenate them with this solution, instead of just concatenating the devices (in the case where you want to concatenate the entire devices). But the real debate is below, on the representation. > > > > > > }; > > > }; > > > }; > > > > > > flash1 { > > > partitions { > > > compatible = "fixed-partitions"; > > > > > > flash0_part1: part1@0 { > > > label = "part1_0"; > > > reg = <0x0 0x800000>; > > > }; > > > > > > part0@800000 { > > > label = "part1_1"; > > > reg = <0x800000 0x800000>; > > > }; > > > }; > > > }; > > > > IMHO this representation is far from intuitive. At first glance it's not > > obvious which partitions are linked together and what's the name of the > > resulting concatenated part. I definitely prefer the solution where we > > have a virtual device describing the concatenation. I also understand > > that this goes against the #1 DT rule: "DT only decribes HW blocks, not > > how they should be used/configured", but maybe we can find a compromise > > here, like moving this description to the /chosen node? > > > > chosen { > > flash-arrays { > > /* > > * my-flash-array is the MTD name if label is > > * not present. > > */ > > my-flash-array { > > /* > > * We could have > > * compatible = "flash-array"; > > * but we can also do without it. > > */ > > label = "foo"; > > flashes = <&flash1 &flash2 ...>; > > partitions { > > /* usual partition description. */ > > ... > > }; > > }; > > }; > > }; > > > > Rob, what do you think? > > I don't think chosen is the right place to put all the partition > information. It's not something the bootloader configures. > > This suffers from the same issue I have with the original proposal. It > will not work for existing s/w. There's only 1 logical partition that I don't get why it would not work? Current hardware will just not have the concatenation support, that's all. How is this a problem? > concatenated. The rest of the partitions shouldn't need any special > handling. So we really only need some way to say 'link these 2 > partitions into 1 logical partition'. Though perhaps one could want to > combine any number of physical partitions into logical partitions, but > then none of the proposals could support that. Then again, maybe Yes, the flash-array proposal supports having more than two partitions/devices concatenated, it is also already supported by the driver (you don't care about this, but I do :) ). > that's a userspace problem like with disks. I see one big issue with this solution: what about bootloaders? The root cause for such idea is that, in my case, the 2 MTD devices are too small to contain the images needed to boot. The perfect solution is to merge the two devices virtually in one single device and let U-Boot read it like one. I need to have the same representation both in U-Boot and Linux, hence a userspace tool and a kernel command line argument do not work, right? > To throw out another option, what if the first device contains the > complete partitions for both devices with some property in one or both > devices pointing to the other device? That would make the partitions > in the 1st device still accessible to existing s/w (unless it bounds > checks the partitions). >From a coding perspective this is very difficult as bound checks are done everywhere and lying about the boundaries is IMHO a bit complex. Thanks, Miquèl