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 55555C00144 for ; Fri, 29 Jul 2022 09:19:27 +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:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=UaH3cgJs7m7XFXeRBFu6wysfNbMaMYwYkPTje+/lKQw=; b=dMhq1ib4bFCf47 6fyoAkYZ287jTbdGm4uDKHqDHFicocSjLr9hDK63JOJeeZQMr6pISLc8F0M5tVpLhdqViDQXho62a Z9ZFvKSJDbwxGfYyPJrPLurIHrK8whkEujbNYBOaXFCTImfzQDTY2T+w9NwruZQ37R3s2wsRwUOKC krcdWsEIsZNSGjCCUR9uozOOoyDD6+BFOuRLqXFgIsDEgkqWJ7mLxUN8c4Put3ZA/ZRpySZMYM4th skjUO7rewIkJVAqWiAovlFonddG2zFupy4fcnpO50KOaNqIxxwQyG5vrUwavctt+VgyLbocykA/Gu oKi4osBjhrtkHgXbtybg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oHM96-003jdy-57; Fri, 29 Jul 2022 09:19:00 +0000 Received: from vps.slashdirt.org ([144.91.108.218]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oHM7y-003ixT-9W for linux-mtd@lists.infradead.org; Fri, 29 Jul 2022 09:17:52 +0000 Received: from supercopter.milliways.lan (unknown [IPv6:2a01:e0a:4ca:1080:42a8:f0ff:fe28:2844]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by vps.slashdirt.org (Postfix) with ESMTPSA id 0B6D7601D0; Fri, 29 Jul 2022 11:17:38 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 vps.slashdirt.org 0B6D7601D0 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=slashdirt.org; s=mail; t=1659086258; bh=PpfI39WcXjL6gb5MWNbyLrSV+seKD7PxlzJrqqMla44=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IHhsR9Ps0DMoq4H3QqR9r1ViLwAKwSqld5ElNiQCuJ9n9oHTlEtCVomSRcMvGDioE JyT6vZcBr24DFmDbO4yk1LIsd/NvEnKNCt6MaPOwtRInDJi6nzDLrhEfxYHyoJRH0a ms6qIRiX8Wjo5Z1v2Ydb9WRzZfHyUCfW4RohnQy8= From: =?UTF-8?q?Thibaut=20VAR=C3=88NE?= To: linux-mtd@lists.infradead.org Cc: miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, tudor.ambarus@microchip.com, p.yadav@ti.com, michael@walle.cc, git@johnthomson.fastmail.com.au, =?UTF-8?q?Thibaut=20VAR=C3=88NE?= Subject: [PATCH v3 1/3] mtd: mtdpart: write support for minor-aligned partitions Date: Fri, 29 Jul 2022 11:16:34 +0200 Message-Id: <20220729091636.59287-2-hacks+kernel@slashdirt.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220729091636.59287-1-hacks+kernel@slashdirt.org> References: <20220729091636.59287-1-hacks+kernel@slashdirt.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220729_021750_595116_FECD10B9 X-CRM114-Status: GOOD ( 23.13 ) 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 VGhpcyBwYXRjaCBlbmFibGVzIHdyaXRpbmcgdG8gbXRkIHBhcnRpdGlvbnMgd2hlcmUgYSBwYXJ0 aXRpb24gYm91bmRhcnkKc2l0cyBvbiBhICJtaW5vciIgZXJhc2VzaXplIGJvdW5kYXJ5LgoKVGhp cyBwYXRjaCBhZGRzIGEgdWludDMyX3QgYGVyYXNlc2l6ZV9taW5vcmAgdG8gc3RydWN0IG10ZF9p bmZvOiB0aGUKc21hbGxlc3QgZXJhc2VzaXplIHN1cHBvcnRlZCBieSB0aGUgZGV2aWNlLCBhbHNv IGV4cG9zZWQgaW4gc3lzZnMuCgpUaGlzIHBhdGNoIGlzIGEgbm8tb3AgaWYgZXJhc2VzaXplX21p bm9yIGlzIHVuc2V0ICgwKSBhbmQgaGFzIG5vCnVzZXJzcGFjZS12aXNpYmxlIHNpZGUgZWZmZWN0 IChpbiBwYXJ0aWN1bGFyIHRoZSByZXBvcnRlZCBlcmFzZXNpemUgaW4KL3Byb2MvbXRkIGlzIHVu Y2hhbmdlZCkuIFRoaXMgbmV3IGZlYXR1cmUgaXMgb25seSBlbmFibGVkIGZvciBzaW5nbGUKZXJh c2VyZWdpb24gZGV2aWNlcywgd2hlcmUgaXQgbWFrZXMgbW9zdCBzZW5zZS4KClRoaXMgcGF0Y2gg YWRkcmVzc2VzIGFuIG91dHN0YW5kaW5nIG10ZHBhcnQuYyBGSVhNRSB0aGF0IGhhcyBiZWVuCnBy ZXNlbnQgc2luY2UgdGhlIHN0YXJ0IG9mIHRoZSBsaW51eCBnaXQgaGlzdG9yeS4KClNpZ25lZC1v ZmYtYnk6IEpvaG4gVGhvbXNvbiA8Z2l0QGpvaG50aG9tc29uLmZhc3RtYWlsLmNvbS5hdT4KU2ln bmVkLW9mZi1ieTogVGhpYmF1dCBWQVLDiE5FIDxoYWNrcytrZXJuZWxAc2xhc2hkaXJ0Lm9yZz4K LS0tCiBEb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWNsYXNzLW10ZCB8ICA4ICsrKysr KwogZHJpdmVycy9tdGQvbXRkY29yZS5jICAgICAgICAgICAgICAgICAgICAgfCAxMCArKysrKysr CiBkcml2ZXJzL210ZC9tdGRwYXJ0LmMgICAgICAgICAgICAgICAgICAgICB8IDM1ICsrKysrKysr KysrKysrKystLS0tLS0tCiBpbmNsdWRlL2xpbnV4L210ZC9tdGQuaCAgICAgICAgICAgICAgICAg ICB8ICAyICsrCiA0IGZpbGVzIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtY2xhc3Mt bXRkIGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1jbGFzcy1tdGQKaW5kZXggM2Jj N2MwYTk1Li43ODYwNjhmNjMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcv c3lzZnMtY2xhc3MtbXRkCisrKyBiL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtY2xh c3MtbXRkCkBAIC0yNDAsMyArMjQwLDExIEBAIENvbnRhY3Q6CWxpbnV4LW10ZEBsaXN0cy5pbmZy YWRlYWQub3JnCiBEZXNjcmlwdGlvbjoKIAkJTnVtYmVyIG9mIGJ5dGVzIGF2YWlsYWJsZSBmb3Ig YSBjbGllbnQgdG8gcGxhY2UgZGF0YSBpbnRvCiAJCXRoZSBvdXQgb2YgYmFuZCBhcmVhLgorCitX aGF0OgkJL3N5cy9jbGFzcy9tdGQvbXRkWC9lcmFzZXNpemVfbWlub3IKK0RhdGU6CQlKdWx5IDIw MjIKK0tlcm5lbFZlcnNpb246CTUuMjAKK0NvbnRhY3Q6CWxpbnV4LW10ZEBsaXN0cy5pbmZyYWRl YWQub3JnCitEZXNjcmlwdGlvbjoKKwkJIk1pbm9yIiBlcmFzZSBzaXplIGZvciB0aGUgZGV2aWNl LiBJZiBzdXBwb3J0ZWQsIHRoaXMgaXMKKwkJdGhlIHNtYWxsZXN0IGVyYXNlYmxvY2sgc2l6ZSBm b3IgdGhlIGRldmljZS4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL210ZGNvcmUuYyBiL2RyaXZl cnMvbXRkL210ZGNvcmUuYwppbmRleCA5ZWIwNjgwZGIuLmNjYjgwMTk3ZCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9tdGQvbXRkY29yZS5jCisrKyBiL2RyaXZlcnMvbXRkL210ZGNvcmUuYwpAQCAtMTY4 LDYgKzE2OCwxNSBAQCBzdGF0aWMgc3NpemVfdCBtdGRfZXJhc2VzaXplX3Nob3coc3RydWN0IGRl dmljZSAqZGV2LAogfQogTVREX0RFVklDRV9BVFRSX1JPKGVyYXNlc2l6ZSk7CiAKK3N0YXRpYyBz c2l6ZV90IG10ZF9lcmFzZXNpemVfbWlub3Jfc2hvdyhzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCXN0 cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCit7CisJc3RydWN0IG10ZF9p bmZvICptdGQgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKworCXJldHVybiBzeXNmc19lbWl0KGJ1 ZiwgIiVsdVxuIiwgKHVuc2lnbmVkIGxvbmcpbXRkLT5lcmFzZXNpemVfbWlub3IpOworfQorTVRE X0RFVklDRV9BVFRSX1JPKGVyYXNlc2l6ZV9taW5vcik7CisKIHN0YXRpYyBzc2l6ZV90IG10ZF93 cml0ZXNpemVfc2hvdyhzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJCXN0cnVjdCBkZXZpY2VfYXR0cmli dXRlICphdHRyLCBjaGFyICpidWYpCiB7CkBAIC0zMTMsNiArMzIyLDcgQEAgc3RhdGljIHN0cnVj dCBhdHRyaWJ1dGUgKm10ZF9hdHRyc1tdID0gewogCSZkZXZfYXR0cl9mbGFncy5hdHRyLAogCSZk ZXZfYXR0cl9zaXplLmF0dHIsCiAJJmRldl9hdHRyX2VyYXNlc2l6ZS5hdHRyLAorCSZkZXZfYXR0 cl9lcmFzZXNpemVfbWlub3IuYXR0ciwKIAkmZGV2X2F0dHJfd3JpdGVzaXplLmF0dHIsCiAJJmRl dl9hdHRyX3N1YnBhZ2VzaXplLmF0dHIsCiAJJmRldl9hdHRyX29vYnNpemUuYXR0ciwKZGlmZiAt LWdpdCBhL2RyaXZlcnMvbXRkL210ZHBhcnQuYyBiL2RyaXZlcnMvbXRkL210ZHBhcnQuYwppbmRl eCBkNDQyZmE5NGMuLjZiZjIxNTY3ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tdGQvbXRkcGFydC5j CisrKyBiL2RyaXZlcnMvbXRkL210ZHBhcnQuYwpAQCAtMzksNiArMzksNyBAQCBzdGF0aWMgc3Ry dWN0IG10ZF9pbmZvICphbGxvY2F0ZV9wYXJ0aXRpb24oc3RydWN0IG10ZF9pbmZvICpwYXJlbnQs CiAJc3RydWN0IG10ZF9pbmZvICptYXN0ZXIgPSBtdGRfZ2V0X21hc3RlcihwYXJlbnQpOwogCWlu dCB3cl9hbGlnbm1lbnQgPSAocGFyZW50LT5mbGFncyAmIE1URF9OT19FUkFTRSkgPwogCQkJICAg bWFzdGVyLT53cml0ZXNpemUgOiBtYXN0ZXItPmVyYXNlc2l6ZTsKKwlpbnQgd3JfYWxpZ25tZW50 X21pbm9yID0gMDsKIAl1NjQgcGFyZW50X3NpemUgPSBtdGRfaXNfcGFydGl0aW9uKHBhcmVudCkg PwogCQkJICBwYXJlbnQtPnBhcnQuc2l6ZSA6IHBhcmVudC0+c2l6ZTsKIAlzdHJ1Y3QgbXRkX2lu Zm8gKmNoaWxkOwpAQCAtMTYzLDYgKzE2NCw3IEBAIHN0YXRpYyBzdHJ1Y3QgbXRkX2luZm8gKmFs bG9jYXRlX3BhcnRpdGlvbihzdHJ1Y3QgbXRkX2luZm8gKnBhcmVudCwKIAl9IGVsc2UgewogCQkv KiBTaW5nbGUgZXJhc2Ugc2l6ZSAqLwogCQljaGlsZC0+ZXJhc2VzaXplID0gbWFzdGVyLT5lcmFz ZXNpemU7CisJCWNoaWxkLT5lcmFzZXNpemVfbWlub3IgPSBtYXN0ZXItPmVyYXNlc2l6ZV9taW5v cjsKIAl9CiAKIAkvKgpAQCAtMTcwLDI2ICsxNzIsMzkgQEAgc3RhdGljIHN0cnVjdCBtdGRfaW5m byAqYWxsb2NhdGVfcGFydGl0aW9uKHN0cnVjdCBtdGRfaW5mbyAqcGFyZW50LAogCSAqIGV4cG9z ZXMgc2V2ZXJhbCByZWdpb25zIHdpdGggZGlmZmVyZW50IGVyYXNlc2l6ZS4gQWRqdXN0CiAJICog d3JfYWxpZ25tZW50IGFjY29yZGluZ2x5LgogCSAqLwotCWlmICghKGNoaWxkLT5mbGFncyAmIE1U RF9OT19FUkFTRSkpCisJaWYgKCEoY2hpbGQtPmZsYWdzICYgTVREX05PX0VSQVNFKSkgewogCQl3 cl9hbGlnbm1lbnQgPSBjaGlsZC0+ZXJhc2VzaXplOworCQl3cl9hbGlnbm1lbnRfbWlub3IgPSBj aGlsZC0+ZXJhc2VzaXplX21pbm9yOworCX0KIAogCXRtcCA9IG10ZF9nZXRfbWFzdGVyX29mcyhj aGlsZCwgMCk7CiAJcmVtYWluZGVyID0gZG9fZGl2KHRtcCwgd3JfYWxpZ25tZW50KTsKIAlpZiAo KGNoaWxkLT5mbGFncyAmIE1URF9XUklURUFCTEUpICYmIHJlbWFpbmRlcikgewotCQkvKiBEb2Vz bid0IHN0YXJ0IG9uIGEgYm91bmRhcnkgb2YgbWFqb3IgZXJhc2Ugc2l6ZSAqLwotCQkvKiBGSVhN RTogTGV0IGl0IGJlIHdyaXRhYmxlIGlmIGl0IGlzIG9uIGEgYm91bmRhcnkgb2YKLQkJICogX21p bm9yXyBlcmFzZSBzaXplIHRob3VnaCAqLwotCQljaGlsZC0+ZmxhZ3MgJj0gfk1URF9XUklURUFC TEU7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcibXRkOiBwYXJ0aXRpb24gXCIlc1wiIGRvZXNuJ3Qg c3RhcnQgb24gYW4gZXJhc2Uvd3JpdGUgYmxvY2sgYm91bmRhcnkgLS0gZm9yY2UgcmVhZC1vbmx5 XG4iLAotCQkJcGFydC0+bmFtZSk7CisJCWlmICh3cl9hbGlnbm1lbnRfbWlub3IpIHsKKwkJCS8q IHJlbHkgb24gbWlub3IgYmVpbmcgYSBmYWN0b3Igb2YgbWFqb3IgZXJhc2VzaXplICovCisJCQl0 bXAgPSByZW1haW5kZXI7CisJCQlyZW1haW5kZXIgPSBkb19kaXYodG1wLCB3cl9hbGlnbm1lbnRf bWlub3IpOworCQl9CisJCWlmIChyZW1haW5kZXIpIHsKKwkJCWNoaWxkLT5mbGFncyAmPSB+TVRE X1dSSVRFQUJMRTsKKwkJCXByX3dhcm4oIm10ZDogcGFydGl0aW9uIFwiJXNcIiBkb2Vzbid0IHN0 YXJ0IG9uIGFuIGVyYXNlL3dyaXRlIGJsb2NrIGJvdW5kYXJ5IC0tIGZvcmNlIHJlYWQtb25seVxu IiwKKwkJCQlwYXJ0LT5uYW1lKTsKKwkJfQogCX0KIAogCXRtcCA9IG10ZF9nZXRfbWFzdGVyX29m cyhjaGlsZCwgMCkgKyBjaGlsZC0+cGFydC5zaXplOwogCXJlbWFpbmRlciA9IGRvX2Rpdih0bXAs IHdyX2FsaWdubWVudCk7CiAJaWYgKChjaGlsZC0+ZmxhZ3MgJiBNVERfV1JJVEVBQkxFKSAmJiBy ZW1haW5kZXIpIHsKLQkJY2hpbGQtPmZsYWdzICY9IH5NVERfV1JJVEVBQkxFOwotCQlwcmludGso S0VSTl9XQVJOSU5HIm10ZDogcGFydGl0aW9uIFwiJXNcIiBkb2Vzbid0IGVuZCBvbiBhbiBlcmFz ZS93cml0ZSBibG9jayAtLSBmb3JjZSByZWFkLW9ubHlcbiIsCi0JCQlwYXJ0LT5uYW1lKTsKKwkJ aWYgKHdyX2FsaWdubWVudF9taW5vcikgeworCQkJdG1wID0gcmVtYWluZGVyOworCQkJcmVtYWlu ZGVyID0gZG9fZGl2KHRtcCwgd3JfYWxpZ25tZW50X21pbm9yKTsKKwkJfQorCisJCWlmIChyZW1h aW5kZXIpIHsKKwkJCWNoaWxkLT5mbGFncyAmPSB+TVREX1dSSVRFQUJMRTsKKwkJCXByX3dhcm4o Im10ZDogcGFydGl0aW9uIFwiJXNcIiBkb2Vzbid0IGVuZCBvbiBhbiBlcmFzZS93cml0ZSBibG9j ayBib3VuZGFyeSAtLSBmb3JjZSByZWFkLW9ubHlcbiIsCisJCQkJcGFydC0+bmFtZSk7CisJCX0K IAl9CiAKIAljaGlsZC0+c2l6ZSA9IGNoaWxkLT5wYXJ0LnNpemU7CmRpZmYgLS1naXQgYS9pbmNs dWRlL2xpbnV4L210ZC9tdGQuaCBiL2luY2x1ZGUvbGludXgvbXRkL210ZC5oCmluZGV4IDk1NWFl ZTE0Yi4uOGVmYmM5MjllIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L210ZC9tdGQuaAorKysg Yi9pbmNsdWRlL2xpbnV4L210ZC9tdGQuaApAQCAtMjM4LDYgKzIzOCw4IEBAIHN0cnVjdCBtdGRf aW5mbyB7CiAJICogaW5mb3JtYXRpb24gYmVsb3cgaWYgdGhleSBkZXNpcmUKIAkgKi8KIAl1aW50 MzJfdCBlcmFzZXNpemU7CisJLyogIk1pbm9yIiAoc21hbGxlc3QpIGVyYXNlIHNpemUgc3VwcG9y dGVkIGJ5IHRoZSB3aG9sZSBkZXZpY2UgKi8KKwl1aW50MzJfdCBlcmFzZXNpemVfbWlub3I7CiAJ LyogTWluaW1hbCB3cml0YWJsZSBmbGFzaCB1bml0IHNpemUuIEluIGNhc2Ugb2YgTk9SIGZsYXNo IGl0IGlzIDEgKGV2ZW4KIAkgKiB0aG91Z2ggaW5kaXZpZHVhbCBiaXRzIGNhbiBiZSBjbGVhcmVk KSwgaW4gY2FzZSBvZiBOQU5EIGZsYXNoIGl0IGlzCiAJICogb25lIE5BTkQgcGFnZSAob3IgaGFs Ziwgb3Igb25lLWZvdXJ0aHMgb2YgaXQpLCBpbiBjYXNlIG9mIEVDQy1lZCBOT1IKLS0gCjIuMzAu MgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpMaW51eCBNVEQgZGlzY3Vzc2lvbiBtYWlsaW5nIGxpc3QKaHR0cDovL2xpc3RzLmluZnJhZGVh ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1tdGQvCg==