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 388B8D715E9 for ; Sat, 24 Jan 2026 13:37:50 +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: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:In-Reply-To:References: List-Owner; bh=Hrsdq51ufTWeIjl9TAmD94+2DiYPFPZ+8wjFav4jajk=; b=xm8EH9XCCeb6fL VRAzKSav4peBk10Se0KHf0D/0n6rpAmqTbEwdlR6mY+smczDYSivKq8kC4MAe7HYkaBF+ALvOouCZ WQ/TLp9fHn9ptDD8pN8l4OneK3fSvm+9RDA0SmQeXf4ka3QmmpGRA8DSERHWWCewUjkVgOQbPS58p mB9Z1mTomrweXhuUwQyl1FYY8VQglu0fpFa+1XbkQGc0B6wMw3rHz5XXeaIHPcrNv7KdBofW+HHwS eonGtnCb7Gp+YN0YtgZfqnzZ9hfV9iPOy5snv8TbL0ft6a4Y/h4h18Fu3gFrEao10UzzLKDfOf7th MVtzEuA2xwUE7iOqoOiA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vjdpc-0000000AIEn-1sWI; Sat, 24 Jan 2026 13:37:40 +0000 Received: from mgamail.intel.com ([192.198.163.13]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vjdpX-0000000AIEN-2rRm for linux-mtd@lists.infradead.org; Sat, 24 Jan 2026 13:37:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1769261856; x=1800797856; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=s/lC1OtK987xqty7UxUrXuVn+8kdCpcDik/4q+c9fvQ=; b=HdnO6o18OeboV2/8ucQ157TglwMbEB+L2ggEGWvH9609GG4GXKCQzbQ7 p+osINhhZRS83AAYVoPiyp9LRgwf8jLFnqkQ/KQQomSFoY2kC0wq7QnJO vJy9WNtSv/y4utRCZCWbh03fkmlmVkN649WuoODmNG70bQO66DxOygzsl j3Jy2Ii8Nzy68R6hFFOWQ6iOxh2hBfyiGGjQiLuB0WXERzEgMHF/YpACq Ty9HwE/R0djr4d5vmaZtiWBsh3xCFJirBTjrNa0H1TbWL69H8SLWIFebj hYiaYktePR8uwxFG6e9O/vbcyWYf11fXPvNX9LbBegok+IxSsRRJXo8wr Q==; X-CSE-ConnectionGUID: ubZwZXDNS4mfyhXqgFqYCQ== X-CSE-MsgGUID: Xuo5gEuYT26JkDi/M/ooIA== X-IronPort-AV: E=McAfee;i="6800,10657,11681"; a="73077996" X-IronPort-AV: E=Sophos;i="6.21,250,1763452800"; d="scan'208";a="73077996" Received: from orviesa004.jf.intel.com ([10.64.159.144]) by fmvoesa107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Jan 2026 05:37:35 -0800 X-CSE-ConnectionGUID: 1fvmnNMNQK2H5bab/RyO7A== X-CSE-MsgGUID: zsf98SHFT7mlBw8HdQEPGw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,250,1763452800"; d="scan'208";a="211768110" Received: from black.igk.intel.com ([10.91.253.5]) by orviesa004.jf.intel.com with ESMTP; 24 Jan 2026 05:37:34 -0800 Received: by black.igk.intel.com (Postfix, from userid 1003) id 18D7C95; Sat, 24 Jan 2026 14:37:32 +0100 (CET) From: Andy Shevchenko To: Andy Shevchenko , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Miquel Raynal , Richard Weinberger , Vignesh Raghavendra Subject: [PATCH v2 1/1] mtd: cfi_cmdset_0001: Factor out do_write_buffer_locked() to reduce stack frame Date: Sat, 24 Jan 2026 14:35:56 +0100 Message-ID: <20260124133730.3454241-1-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.50.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260124_053735_752035_6FF52194 X-CRM114-Status: GOOD ( 17.33 ) 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 Q29tcGlsZXIgaXMgbm90IGhhcHB5IGFib3V0IHVzZWQgc3RhY2sgZnJhbWU6Cgpkcml2ZXJzL210 ZC9jaGlwcy9jZmlfY21kc2V0XzAwMDEuYzogSW4gZnVuY3Rpb24gJ2RvX3dyaXRlX2J1ZmZlcic6 CmRyaXZlcnMvbXRkL2NoaXBzL2NmaV9jbWRzZXRfMDAwMS5jOjE4ODc6MTogZXJyb3I6IHRoZSBm cmFtZSBzaXplIG9mIDEyOTYgYnl0ZXMgaXMgbGFyZ2VyIHRoYW4gMTI4MCBieXRlcyBbLVdlcnJv cj1mcmFtZS1sYXJnZXItdGhhbj1dCgpGaXggdGhpcyBieSBmYWN0b3Jpbmcgb3V0IGRvX3dyaXRl X2J1ZmZlcl9sb2NrZWQoKS4KClNpZ25lZC1vZmYtYnk6IEFuZHkgU2hldmNoZW5rbyA8YW5kcml5 LnNoZXZjaGVua29AbGludXguaW50ZWwuY29tPgotLS0KdjI6IGxlZnQgRU5BQkxFX1ZQUCgpIGFu ZCBYSVBfSU5WQUxfQ0FDSEVEX1JBTkdFKCkgd2hlcmUgdGhleSB3ZXJlIG9yaWdpbmFsbHkKCiBk cml2ZXJzL210ZC9jaGlwcy9jZmlfY21kc2V0XzAwMDEuYyB8IDgyICsrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDggaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvY2hpcHMvY2ZpX2NtZHNldF8wMDAxLmMg Yi9kcml2ZXJzL210ZC9jaGlwcy9jZmlfY21kc2V0XzAwMDEuYwppbmRleCBjMTA2OTNiYTI2NWIu LmM0OTViZWUwNDA1MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9tdGQvY2hpcHMvY2ZpX2NtZHNldF8w MDAxLmMKKysrIGIvZHJpdmVycy9tdGQvY2hpcHMvY2ZpX2NtZHNldF8wMDAxLmMKQEAgLTE3MjAs NDIgKzE3MjAsMjQgQEAgc3RhdGljIGludCBjZmlfaW50ZWxleHRfd3JpdGVfd29yZHMgKHN0cnVj dCBtdGRfaW5mbyAqbXRkLCBsb2ZmX3QgdG8gLCBzaXplX3QgbGUKIH0KIAogCi1zdGF0aWMgaW50 IF9feGlwcmFtIGRvX3dyaXRlX2J1ZmZlcihzdHJ1Y3QgbWFwX2luZm8gKm1hcCwgc3RydWN0IGZs Y2hpcCAqY2hpcCwKLQkJCQkgICAgdW5zaWduZWQgbG9uZyBhZHIsIGNvbnN0IHN0cnVjdCBrdmVj ICoqcHZlYywKLQkJCQkgICAgdW5zaWduZWQgbG9uZyAqcHZlY19zZWVrLCBpbnQgbGVuKQorc3Rh dGljIGludCBfX3hpcHJhbSBkb193cml0ZV9idWZmZXJfbG9ja2VkKHN0cnVjdCBtYXBfaW5mbyAq bWFwLCBzdHJ1Y3QgZmxjaGlwICpjaGlwLAorCQkJCQkgICB1bnNpZ25lZCBsb25nIGNtZF9hZHIs IHVuc2lnbmVkIGxvbmcgYWRyLAorCQkJCQkgICBjb25zdCBzdHJ1Y3Qga3ZlYyAqKnB2ZWMsCisJ CQkJCSAgIHVuc2lnbmVkIGxvbmcgKnB2ZWNfc2VlaywgaW50IGxlbikKIHsKIAlzdHJ1Y3QgY2Zp X3ByaXZhdGUgKmNmaSA9IG1hcC0+ZmxkcnZfcHJpdjsKIAltYXBfd29yZCBzdGF0dXMsIHdyaXRl X2NtZCwgZGF0dW07Ci0JdW5zaWduZWQgbG9uZyBjbWRfYWRyOwotCWludCByZXQsIHdidWZzaXpl LCB3b3JkX2dhcCwgd29yZHM7CisJaW50IHJldCwgd29yZF9nYXAsIHdvcmRzOwogCWNvbnN0IHN0 cnVjdCBrdmVjICp2ZWM7CiAJdW5zaWduZWQgbG9uZyB2ZWNfc2VlazsKIAl1bnNpZ25lZCBsb25n IGluaXRpYWxfYWRyOwogCWludCBpbml0aWFsX2xlbiA9IGxlbjsKIAotCXdidWZzaXplID0gY2Zp X2ludGVybGVhdmUoY2ZpKSA8PCBjZmktPmNmaXEtPk1heEJ1ZldyaXRlU2l6ZTsKLQlhZHIgKz0g Y2hpcC0+c3RhcnQ7CiAJaW5pdGlhbF9hZHIgPSBhZHI7Ci0JY21kX2FkciA9IGFkciAmIH4od2J1 ZnNpemUtMSk7Ci0KLQkvKiBTaGFycCBMSDI4RjY0MEJGIGNoaXBzIG5lZWQgdGhlIGZpcnN0IGFk ZHJlc3MgZm9yIHRoZQotCSAqIFBhZ2UgQnVmZmVyIFByb2dyYW0gY29tbWFuZC4gU2VlIFRhYmxl IDUgb2YKLQkgKiBMSDI4RjMyMEJGLCBMSDI4RjY0MEJGLCBMSDI4RjEyOEJGIFNlcmllcyAoQXBw ZW5kaXggRlVNMDA3MDEpICovCi0JaWYgKGlzX0xIMjhGNjQwQkYoY2ZpKSkKLQkJY21kX2FkciA9 IGFkcjsKIAogCS8qIExldCdzIGRldGVybWluZSB0aGlzIGFjY29yZGluZyB0byB0aGUgaW50ZXJs ZWF2ZSBvbmx5IG9uY2UgKi8KIAl3cml0ZV9jbWQgPSAoY2ZpLT5jZmlxLT5QX0lEICE9IFBfSURf SU5URUxfUEVSRk9STUFOQ0UpID8gQ01EKDB4ZTgpIDogQ01EKDB4ZTkpOwogCi0JbXV0ZXhfbG9j aygmY2hpcC0+bXV0ZXgpOwotCXJldCA9IGdldF9jaGlwKG1hcCwgY2hpcCwgY21kX2FkciwgRkxf V1JJVElORyk7Ci0JaWYgKHJldCkgewotCQltdXRleF91bmxvY2soJmNoaXAtPm11dGV4KTsKLQkJ cmV0dXJuIHJldDsKLQl9Ci0KLQlYSVBfSU5WQUxfQ0FDSEVEX1JBTkdFKG1hcCwgaW5pdGlhbF9h ZHIsIGluaXRpYWxfbGVuKTsKLQlFTkFCTEVfVlBQKG1hcCk7CiAJeGlwX2Rpc2FibGUobWFwLCBj aGlwLCBjbWRfYWRyKTsKIAogCS8qIMKnNC44IG9mIHRoZSAyOEZ4eHhKM0EgZGF0YXNoZWV0IHNh eXMgIkFueSB0aW1lIFNSLjQgYW5kL29yIFNSLjUgaXMgc2V0CkBAIC0xNzg5LDcgKzE3NzEsNyBA QCBzdGF0aWMgaW50IF9feGlwcmFtIGRvX3dyaXRlX2J1ZmZlcihzdHJ1Y3QgbWFwX2luZm8gKm1h cCwgc3RydWN0IGZsY2hpcCAqY2hpcCwKIAkJeGlwX2VuYWJsZShtYXAsIGNoaXAsIGNtZF9hZHIp OwogCQlwcmludGsoS0VSTl9FUlIgIiVzOiBDaGlwIG5vdCByZWFkeSBmb3IgYnVmZmVyIHdyaXRl LiBYc3RhdHVzID0gJWx4LCBzdGF0dXMgPSAlbHhcbiIsCiAJCQkJbWFwLT5uYW1lLCBYc3RhdHVz LnhbMF0sIHN0YXR1cy54WzBdKTsKLQkJZ290byBvdXQ7CisJCXJldHVybiByZXQ7CiAJfQogCiAJ LyogRmlndXJlIG91dCB0aGUgbnVtYmVyIG9mIHdvcmRzIHRvIHdyaXRlICovCkBAIC0xODUzLDcg KzE4MzUsNyBAQCBzdGF0aWMgaW50IF9feGlwcmFtIGRvX3dyaXRlX2J1ZmZlcihzdHJ1Y3QgbWFw X2luZm8gKm1hcCwgc3RydWN0IGZsY2hpcCAqY2hpcCwKIAkJY2hpcC0+c3RhdGUgPSBGTF9TVEFU VVM7CiAJCXhpcF9lbmFibGUobWFwLCBjaGlwLCBjbWRfYWRyKTsKIAkJcHJpbnRrKEtFUk5fRVJS ICIlczogYnVmZmVyIHdyaXRlIGVycm9yIChzdGF0dXMgdGltZW91dClcbiIsIG1hcC0+bmFtZSk7 Ci0JCWdvdG8gb3V0OworCQlyZXR1cm4gcmV0OwogCX0KIAogCS8qIGNoZWNrIGZvciBlcnJvcnMg Ki8KQEAgLTE4NjYsMjEgKzE4NDgsNTMgQEAgc3RhdGljIGludCBfX3hpcHJhbSBkb193cml0ZV9i dWZmZXIoc3RydWN0IG1hcF9pbmZvICptYXAsIHN0cnVjdCBmbGNoaXAgKmNoaXAsCiAJCW1hcF93 cml0ZShtYXAsIENNRCgweDcwKSwgY21kX2Fkcik7CiAJCXhpcF9lbmFibGUobWFwLCBjaGlwLCBj bWRfYWRyKTsKIAotCQlpZiAoY2hpcHN0YXR1cyAmIDB4MDIpIHsKLQkJCXJldCA9IC1FUk9GUzsK LQkJfSBlbHNlIGlmIChjaGlwc3RhdHVzICYgMHgwOCkgeworCQlpZiAoY2hpcHN0YXR1cyAmIDB4 MDIpCisJCQlyZXR1cm4gLUVST0ZTOworCisJCWlmIChjaGlwc3RhdHVzICYgMHgwOCkgewogCQkJ cHJpbnRrKEtFUk5fRVJSICIlczogYnVmZmVyIHdyaXRlIGVycm9yIChiYWQgVlBQKVxuIiwgbWFw LT5uYW1lKTsKLQkJCXJldCA9IC1FSU87Ci0JCX0gZWxzZSB7Ci0JCQlwcmludGsoS0VSTl9FUlIg IiVzOiBidWZmZXIgd3JpdGUgZXJyb3IgKHN0YXR1cyAweCVseClcbiIsIG1hcC0+bmFtZSwgY2hp cHN0YXR1cyk7Ci0JCQlyZXQgPSAtRUlOVkFMOworCQkJcmV0dXJuICAtRUlPOwogCQl9CiAKLQkJ Z290byBvdXQ7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IGJ1ZmZlciB3cml0ZSBlcnJvciAoc3Rh dHVzIDB4JWx4KVxuIiwgbWFwLT5uYW1lLCBjaGlwc3RhdHVzKTsKKwkJcmV0dXJuIC1FSU5WQUw7 CiAJfQogCiAJeGlwX2VuYWJsZShtYXAsIGNoaXAsIGNtZF9hZHIpOwotIG91dDoJRElTQUJMRV9W UFAobWFwKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX3hpcHJhbSBkb193cml0ZV9i dWZmZXIoc3RydWN0IG1hcF9pbmZvICptYXAsIHN0cnVjdCBmbGNoaXAgKmNoaXAsCisJCQkJICAg IHVuc2lnbmVkIGxvbmcgYWRyLCBjb25zdCBzdHJ1Y3Qga3ZlYyAqKnB2ZWMsCisJCQkJICAgIHVu c2lnbmVkIGxvbmcgKnB2ZWNfc2VlaywgaW50IGxlbikKK3sKKwlzdHJ1Y3QgY2ZpX3ByaXZhdGUg KmNmaSA9IG1hcC0+ZmxkcnZfcHJpdjsKKwl1bnNpZ25lZCBsb25nIGNtZF9hZHI7CisJaW50IHJl dCwgd2J1ZnNpemU7CisKKwl3YnVmc2l6ZSA9IGNmaV9pbnRlcmxlYXZlKGNmaSkgPDwgY2ZpLT5j ZmlxLT5NYXhCdWZXcml0ZVNpemU7CisJYWRyICs9IGNoaXAtPnN0YXJ0OworCWNtZF9hZHIgPSBh ZHIgJiB+KHdidWZzaXplIC0gMSk7CisKKwkvKiBTaGFycCBMSDI4RjY0MEJGIGNoaXBzIG5lZWQg dGhlIGZpcnN0IGFkZHJlc3MgZm9yIHRoZQorCSAqIFBhZ2UgQnVmZmVyIFByb2dyYW0gY29tbWFu ZC4gU2VlIFRhYmxlIDUgb2YKKwkgKiBMSDI4RjMyMEJGLCBMSDI4RjY0MEJGLCBMSDI4RjEyOEJG IFNlcmllcyAoQXBwZW5kaXggRlVNMDA3MDEpICovCisJaWYgKGlzX0xIMjhGNjQwQkYoY2ZpKSkK KwkJY21kX2FkciA9IGFkcjsKKworCW11dGV4X2xvY2soJmNoaXAtPm11dGV4KTsKKwlyZXQgPSBn ZXRfY2hpcChtYXAsIGNoaXAsIGNtZF9hZHIsIEZMX1dSSVRJTkcpOworCWlmIChyZXQpIHsKKwkJ bXV0ZXhfdW5sb2NrKCZjaGlwLT5tdXRleCk7CisJCXJldHVybiByZXQ7CisJfQorCisJWElQX0lO VkFMX0NBQ0hFRF9SQU5HRShtYXAsIGFkciwgbGVuKTsKKwlFTkFCTEVfVlBQKG1hcCk7CisKKwly ZXQgPSBkb193cml0ZV9idWZmZXJfbG9ja2VkKG1hcCwgY2hpcCwgY21kX2FkciwgYWRyLCBwdmVj LCBwdmVjX3NlZWssIGxlbik7CisKKwlESVNBQkxFX1ZQUChtYXApOwogCXB1dF9jaGlwKG1hcCwg Y2hpcCwgY21kX2Fkcik7CiAJbXV0ZXhfdW5sb2NrKCZjaGlwLT5tdXRleCk7CiAJcmV0dXJuIHJl dDsKLS0gCjIuNTAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpMaW51eCBNVEQgZGlzY3Vzc2lvbiBtYWlsaW5nIGxpc3QKaHR0cDovL2xp c3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1tdGQvCg==