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 17A5DC54EBE for ; Tue, 10 Jan 2023 10:56:52 +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=TvNdYQdCPbfTi8f32rwqBErpEHQGTRM3VnBrLCm/4ks=; b=MCRqB7pcG1gIsl 4QJOc6JgliUvUmkhIYKlsNxyQj/JMdpm6hQbtdj05IZyPS8PHI53r6v78UMTaMwLAGWknJZvAF5zl EGiYpRfOR9hKdwxIo6/YECCfiYqI2p4o+HVVwiz4sbUwOqZ49CRxFCuPZ+f9YJCxJKX0RJmnvhM+I GRHLGp1KtgcAfwtuZ2Vezv7AS5kQUahU5QpIJqdePjI9yx6xBDnlieGEGZJP3hq3pYAtizCC2aqm7 SOvmCJTvzTI3h78In7ljhRy28RRuGAeglWDvMcFhzBFcoGkcyyJasMz33G8iNdeT9N3ImxDytG2Uj GBsyjiuMJRnZZtzrACUA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pFCII-006T57-3L; Tue, 10 Jan 2023 10:55:50 +0000 Received: from mail-ed1-x529.google.com ([2a00:1450:4864:20::529]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pFCH8-006Sah-3Y for linux-arm-kernel@lists.infradead.org; Tue, 10 Jan 2023 10:54:40 +0000 Received: by mail-ed1-x529.google.com with SMTP id c17so16899444edj.13 for ; Tue, 10 Jan 2023 02:54:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0rYqNvw1clZ8LqYgMptRErDOAS/Q5a8tz7ExdHTB2xE=; b=OzrLT3uMZnZyonsG0BfQLaW4dNc5Lqk8do1tjuMdzVPGNz693KtSsJOaedcQlns/Uy ZuE6fhfng2yKAZ84snlCvjb7Qrut0A3m6cMw4eD1WskGiQR/YGeseIKN0s6J7dd0eNkO i8mC5N4E6lIkmGERUywImret5/YH3fLrSLq0bKpn/azpV6uRyOrAndCFF9rDyh3qh7Pm azUULhHJVAII0iMvKZKcJ8/x/6Uj51K+ITZCwFRH7+EF1AGIecFlVlVoEQZ1HXq2fL4Z bePoRLTBUJNmKymydIkHaZkmkdeubcCM4ztbDGK4txOlspd5ilxKUz3n9zZmJcpJItpK 46RA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0rYqNvw1clZ8LqYgMptRErDOAS/Q5a8tz7ExdHTB2xE=; b=Y7wfslU5rbpp17prnlzDOqZazbxWd2hKO0z+P9sG+x2INOlq+Udf7e7HWtaLV0LXRe YSd0ituPyRtIgDjapCH5BxWNlEFkjElMUYSM07lFaCoFpY0FCsGeTISMARi2EOz+xnJs gMrx9dPS3aMMiEZjA8r4y5VMbXUck1ZQKyzX7nTaAbLvbt1QKKpu693r1Ya+WtYSgocf CInTKVRBmd8/4T/QxKQLB7IzVxtyHgJO0+hGCUqifF2U9CVRRhGjqhqIaPvYaQYWJk6a 5q/8rp6uyUAOrRnWZXdH+NQlekLwxjkpgCl/Qr93VuShAUjPV8zI8CK8wKgvWiv3fY2O tOLA== X-Gm-Message-State: AFqh2kpNAnYqAWEyBQnwAcyw0tNp66hC7a2BwyNX4aOAO6rOZYdce1oV ugoZe+rwQC/L98oj4Sgz4mw= X-Google-Smtp-Source: AMrXdXtp3wN8YWvbU8A8T8icWXq0xBr4Xw4SxejizDnsm3B8V9o3Pk0WFVdao8d16D7SJi3bb4++kA== X-Received: by 2002:a05:6402:3887:b0:496:4d2f:1b4b with SMTP id fd7-20020a056402388700b004964d2f1b4bmr13847018edb.7.1673348076271; Tue, 10 Jan 2023 02:54:36 -0800 (PST) Received: from localhost.lan (ip-194-187-74-233.konfederacka.maverick.com.pl. [194.187.74.233]) by smtp.gmail.com with ESMTPSA id s1-20020aa7c541000000b00495c3573b36sm4818199edr.32.2023.01.10.02.54.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Jan 2023 02:54:35 -0800 (PST) From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= To: Srinivas Kandagatla , Rob Herring , Krzysztof Kozlowski Cc: Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Miquel Raynal , Michael Walle , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, u-boot@lists.denx.de, =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Subject: [PATCH 2/6] nvmem: core: allow .read_post_process() callbacks to adjust data length Date: Tue, 10 Jan 2023 11:54:21 +0100 Message-Id: <20230110105425.13188-2-zajec5@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230110105425.13188-1-zajec5@gmail.com> References: <20230110105425.13188-1-zajec5@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230110_025438_192782_B05CB47D X-CRM114-Status: GOOD ( 19.98 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org RnJvbTogUmFmYcWCIE1pxYJlY2tpIDxyYWZhbEBtaWxlY2tpLnBsPgoKU29tZXRpbWVzIHJlYWRp bmcgTlZNRU0gY2VsbCB2YWx1ZSBpbnZvbHZlcyBzb21lIGRhdGEgcmVmb3JtYXR0aW5nLiBJdApy ZXF1aXJlcyBwYXNzaW5nIHVwZGF0ZWQgc2l6ZSB2YWx1ZSB0byB0aGUgY2FsbGVyLiBTdXBwb3J0 IHRoYXQuCgpJdCdzIHJlcXVpcmVkIGUuZy4gdG8gcHJvdmlkZSBwcm9wZXJseSBmb3JtYXR0ZWQg TUFDIGFkZHJlc3MgaW4gY2FzZQppdCdzIHN0b3JlZCBpbiBhIG5vbi1iaW5hcnkgZm9ybWF0IChl LmcuIHVzaW5nIEFTQ0lJKS4KClNpZ25lZC1vZmYtYnk6IFJhZmHFgiBNacWCZWNraSA8cmFmYWxA bWlsZWNraS5wbD4KLS0tCiBkcml2ZXJzL252bWVtL2NvcmUuYyAgICAgICAgICAgICB8IDUgKysr LS0KIGRyaXZlcnMvbnZtZW0vaW14LW9jb3RwLmMgICAgICAgIHwgNiArKystLS0KIGRyaXZlcnMv bnZtZW0vbGF5b3V0cy9vbmllLXRsdi5jIHwgMiArLQogZHJpdmVycy9udm1lbS9sYXlvdXRzL3Ns Mjh2cGQuYyAgfCA0ICsrLS0KIGluY2x1ZGUvbGludXgvbnZtZW0tcHJvdmlkZXIuaCAgIHwgMiAr LQogNSBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbnZtZW0vY29yZS5jIGIvZHJpdmVycy9udm1lbS9jb3JlLmMKaW5k ZXggODE3NDNhZTg3OTNiLi5mNDA0MDc3NmU5NmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbnZtZW0v Y29yZS5jCisrKyBiL2RyaXZlcnMvbnZtZW0vY29yZS5jCkBAIC0xNTQxLDYgKzE1NDEsNyBAQCBz dGF0aWMgaW50IF9fbnZtZW1fY2VsbF9yZWFkKHN0cnVjdCBudm1lbV9kZXZpY2UgKm52bWVtLAog CQkJICAgICBzdHJ1Y3QgbnZtZW1fY2VsbF9lbnRyeSAqY2VsbCwKIAkJCSAgICAgdm9pZCAqYnVm LCBzaXplX3QgKmxlbiwgY29uc3QgY2hhciAqaWQsIGludCBpbmRleCkKIHsKKwlzaXplX3QgYnl0 ZXMgPSBjZWxsLT5ieXRlczsKIAlpbnQgcmM7CiAKIAlyYyA9IG52bWVtX3JlZ19yZWFkKG52bWVt LCBjZWxsLT5vZmZzZXQsIGJ1ZiwgY2VsbC0+Ynl0ZXMpOwpAQCAtMTU1NCwxMyArMTU1NSwxMyBA QCBzdGF0aWMgaW50IF9fbnZtZW1fY2VsbF9yZWFkKHN0cnVjdCBudm1lbV9kZXZpY2UgKm52bWVt LAogCiAJaWYgKGNlbGwtPnJlYWRfcG9zdF9wcm9jZXNzKSB7CiAJCXJjID0gY2VsbC0+cmVhZF9w b3N0X3Byb2Nlc3MoY2VsbC0+cHJpdiwgaWQsIGluZGV4LAotCQkJCQkgICAgIGNlbGwtPm9mZnNl dCwgYnVmLCBjZWxsLT5ieXRlcyk7CisJCQkJCSAgICAgY2VsbC0+b2Zmc2V0LCBidWYsICZieXRl cyk7CiAJCWlmIChyYykKIAkJCXJldHVybiByYzsKIAl9CiAKIAlpZiAobGVuKQotCQkqbGVuID0g Y2VsbC0+Ynl0ZXM7CisJCSpsZW4gPSBieXRlczsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9udm1lbS9pbXgtb2NvdHAuYyBiL2RyaXZlcnMvbnZtZW0vaW14LW9jb3RwLmMK aW5kZXggYWMwZWRiNjM5OGYxLi5lYmQwZTllMDMxNGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbnZt ZW0vaW14LW9jb3RwLmMKKysrIGIvZHJpdmVycy9udm1lbS9pbXgtb2NvdHAuYwpAQCAtMjIzLDE1 ICsyMjMsMTUgQEAgc3RhdGljIGludCBpbXhfb2NvdHBfcmVhZCh2b2lkICpjb250ZXh0LCB1bnNp Z25lZCBpbnQgb2Zmc2V0LAogfQogCiBzdGF0aWMgaW50IGlteF9vY290cF9jZWxsX3BwKHZvaWQg KmNvbnRleHQsIGNvbnN0IGNoYXIgKmlkLCBpbnQgaW5kZXgsCi0JCQkgICAgIHVuc2lnbmVkIGlu dCBvZmZzZXQsIHZvaWQgKmRhdGEsIHNpemVfdCBieXRlcykKKwkJCSAgICAgdW5zaWduZWQgaW50 IG9mZnNldCwgdm9pZCAqZGF0YSwgc2l6ZV90ICpieXRlcykKIHsKIAl1OCAqYnVmID0gZGF0YTsK IAlpbnQgaTsKIAogCS8qIERlYWwgd2l0aCBzb21lIHBvc3QgcHJvY2Vzc2luZyBvZiBudm1lbSBj ZWxsIGRhdGEgKi8KIAlpZiAoaWQgJiYgIXN0cmNtcChpZCwgIm1hYy1hZGRyZXNzIikpCi0JCWZv ciAoaSA9IDA7IGkgPCBieXRlcyAvIDI7IGkrKykKLQkJCXN3YXAoYnVmW2ldLCBidWZbYnl0ZXMg LSBpIC0gMV0pOworCQlmb3IgKGkgPSAwOyBpIDwgKmJ5dGVzIC8gMjsgaSsrKQorCQkJc3dhcChi dWZbaV0sIGJ1ZlsqYnl0ZXMgLSBpIC0gMV0pOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQg YS9kcml2ZXJzL252bWVtL2xheW91dHMvb25pZS10bHYuYyBiL2RyaXZlcnMvbnZtZW0vbGF5b3V0 cy9vbmllLXRsdi5jCmluZGV4IDc2N2YzOWZmZjcxNy4uMWUxZjg5MzVhYmU3IDEwMDY0NAotLS0g YS9kcml2ZXJzL252bWVtL2xheW91dHMvb25pZS10bHYuYworKysgYi9kcml2ZXJzL252bWVtL2xh eW91dHMvb25pZS10bHYuYwpAQCAtNzYsNyArNzYsNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqb25p ZV90bHZfY2VsbF9uYW1lKHU4IHR5cGUpCiAKIHN0YXRpYyBpbnQgb25pZV90bHZfbWFjX3JlYWRf Y2Iodm9pZCAqcHJpdiwgY29uc3QgY2hhciAqaWQsIGludCBpbmRleCwKIAkJCQl1bnNpZ25lZCBp bnQgb2Zmc2V0LCB2b2lkICpidWYsCi0JCQkJc2l6ZV90IGJ5dGVzKQorCQkJCXNpemVfdCAqYnl0 ZXMpCiB7CiAJZXRoX2FkZHJfYWRkKGJ1ZiwgaW5kZXgpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJz L252bWVtL2xheW91dHMvc2wyOHZwZC5jIGIvZHJpdmVycy9udm1lbS9sYXlvdXRzL3NsMjh2cGQu YwppbmRleCBhMzY4MDBmMjAxYTMuLjYzYzBkYTU4YWQ2MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9u dm1lbS9sYXlvdXRzL3NsMjh2cGQuYworKysgYi9kcml2ZXJzL252bWVtL2xheW91dHMvc2wyOHZw ZC5jCkBAIC0yMyw5ICsyMyw5IEBAIHN0cnVjdCBzbDI4dnBkX3YxIHsKIAogc3RhdGljIGludCBz bDI4dnBkX21hY19hZGRyZXNzX3BwKHZvaWQgKnByaXYsIGNvbnN0IGNoYXIgKmlkLCBpbnQgaW5k ZXgsCiAJCQkJICB1bnNpZ25lZCBpbnQgb2Zmc2V0LCB2b2lkICpidWYsCi0JCQkJICBzaXplX3Qg Ynl0ZXMpCisJCQkJICBzaXplX3QgKmJ5dGVzKQogewotCWlmIChieXRlcyAhPSBFVEhfQUxFTikK KwlpZiAoKmJ5dGVzICE9IEVUSF9BTEVOKQogCQlyZXR1cm4gLUVJTlZBTDsKIAogCWlmIChpbmRl eCA8IDApCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L252bWVtLXByb3ZpZGVyLmggYi9pbmNs dWRlL2xpbnV4L252bWVtLXByb3ZpZGVyLmgKaW5kZXggMGNmOWY5NDkwNTE0Li41ZDg5NmVlYzJm MWMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbnZtZW0tcHJvdmlkZXIuaAorKysgYi9pbmNs dWRlL2xpbnV4L252bWVtLXByb3ZpZGVyLmgKQEAgLTIxLDcgKzIxLDcgQEAgdHlwZWRlZiBpbnQg KCpudm1lbV9yZWdfd3JpdGVfdCkodm9pZCAqcHJpdiwgdW5zaWduZWQgaW50IG9mZnNldCwKIC8q IHVzZWQgZm9yIHZlbmRvciBzcGVjaWZpYyBwb3N0IHByb2Nlc3Npbmcgb2YgY2VsbCBkYXRhICov CiB0eXBlZGVmIGludCAoKm52bWVtX2NlbGxfcG9zdF9wcm9jZXNzX3QpKHZvaWQgKnByaXYsIGNv bnN0IGNoYXIgKmlkLCBpbnQgaW5kZXgsCiAJCQkJCSB1bnNpZ25lZCBpbnQgb2Zmc2V0LCB2b2lk ICpidWYsCi0JCQkJCSBzaXplX3QgYnl0ZXMpOworCQkJCQkgc2l6ZV90ICpieXRlcyk7CiAKIGVu dW0gbnZtZW1fdHlwZSB7CiAJTlZNRU1fVFlQRV9VTktOT1dOID0gMCwKLS0gCjIuMzQuMQoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1r ZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpo dHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJu ZWwK 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 71513C678D6 for ; Tue, 10 Jan 2023 10:54:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237833AbjAJKyz (ORCPT ); Tue, 10 Jan 2023 05:54:55 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41052 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234939AbjAJKyn (ORCPT ); Tue, 10 Jan 2023 05:54:43 -0500 Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com [IPv6:2a00:1450:4864:20::530]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AAEF36AD9F; Tue, 10 Jan 2023 02:54:37 -0800 (PST) Received: by mail-ed1-x530.google.com with SMTP id i15so16947054edf.2; Tue, 10 Jan 2023 02:54:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0rYqNvw1clZ8LqYgMptRErDOAS/Q5a8tz7ExdHTB2xE=; b=OzrLT3uMZnZyonsG0BfQLaW4dNc5Lqk8do1tjuMdzVPGNz693KtSsJOaedcQlns/Uy ZuE6fhfng2yKAZ84snlCvjb7Qrut0A3m6cMw4eD1WskGiQR/YGeseIKN0s6J7dd0eNkO i8mC5N4E6lIkmGERUywImret5/YH3fLrSLq0bKpn/azpV6uRyOrAndCFF9rDyh3qh7Pm azUULhHJVAII0iMvKZKcJ8/x/6Uj51K+ITZCwFRH7+EF1AGIecFlVlVoEQZ1HXq2fL4Z bePoRLTBUJNmKymydIkHaZkmkdeubcCM4ztbDGK4txOlspd5ilxKUz3n9zZmJcpJItpK 46RA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0rYqNvw1clZ8LqYgMptRErDOAS/Q5a8tz7ExdHTB2xE=; b=NpDGIi5FBzJKnAXNwjzCfJ9F6HnLCySaDoPM1MyPnW3BNbhmxrB0/k9J4aUCmKPbQX NOCVR8E9nlQTnRUSrrD2DLMQT+a+8mGyW2Fi4jbZzdL+Rc76iqdVuxduEdv34Pr8YhDZ 17Nc6ci2y27M0GUeRDpSMLdz2nZBIxQXCVJ8dd+7UiNKUdBgMvi4VzGyW1ZshfV4HQ89 V+l87KM96YAXFjOLtL+suseP3XkmfRLouSxq2eVLpi75dVl37AoiGNHJkg46g4DP99+5 5KonAm5S8pWAy+QqYxep+s33TO5eQ1ymu73D72f0lH6DVwkstxmMvH85urFvUzPIkVAV 8+Jw== X-Gm-Message-State: AFqh2kroLHclbaxr648a+DDOvsBMLRVZDt7qPZLOpBsoiTAX+oSKWfnS Gmc+DSF1mEw3HoUmnnqVOr0= X-Google-Smtp-Source: AMrXdXtp3wN8YWvbU8A8T8icWXq0xBr4Xw4SxejizDnsm3B8V9o3Pk0WFVdao8d16D7SJi3bb4++kA== X-Received: by 2002:a05:6402:3887:b0:496:4d2f:1b4b with SMTP id fd7-20020a056402388700b004964d2f1b4bmr13847018edb.7.1673348076271; Tue, 10 Jan 2023 02:54:36 -0800 (PST) Received: from localhost.lan (ip-194-187-74-233.konfederacka.maverick.com.pl. [194.187.74.233]) by smtp.gmail.com with ESMTPSA id s1-20020aa7c541000000b00495c3573b36sm4818199edr.32.2023.01.10.02.54.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Jan 2023 02:54:35 -0800 (PST) From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= To: Srinivas Kandagatla , Rob Herring , Krzysztof Kozlowski Cc: Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Miquel Raynal , Michael Walle , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, u-boot@lists.denx.de, =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Subject: [PATCH 2/6] nvmem: core: allow .read_post_process() callbacks to adjust data length Date: Tue, 10 Jan 2023 11:54:21 +0100 Message-Id: <20230110105425.13188-2-zajec5@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230110105425.13188-1-zajec5@gmail.com> References: <20230110105425.13188-1-zajec5@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org From: Rafał Miłecki Sometimes reading NVMEM cell value involves some data reformatting. It requires passing updated size value to the caller. Support that. It's required e.g. to provide properly formatted MAC address in case it's stored in a non-binary format (e.g. using ASCII). Signed-off-by: Rafał Miłecki --- drivers/nvmem/core.c | 5 +++-- drivers/nvmem/imx-ocotp.c | 6 +++--- drivers/nvmem/layouts/onie-tlv.c | 2 +- drivers/nvmem/layouts/sl28vpd.c | 4 ++-- include/linux/nvmem-provider.h | 2 +- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index 81743ae8793b..f4040776e96c 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -1541,6 +1541,7 @@ static int __nvmem_cell_read(struct nvmem_device *nvmem, struct nvmem_cell_entry *cell, void *buf, size_t *len, const char *id, int index) { + size_t bytes = cell->bytes; int rc; rc = nvmem_reg_read(nvmem, cell->offset, buf, cell->bytes); @@ -1554,13 +1555,13 @@ static int __nvmem_cell_read(struct nvmem_device *nvmem, if (cell->read_post_process) { rc = cell->read_post_process(cell->priv, id, index, - cell->offset, buf, cell->bytes); + cell->offset, buf, &bytes); if (rc) return rc; } if (len) - *len = cell->bytes; + *len = bytes; return 0; } diff --git a/drivers/nvmem/imx-ocotp.c b/drivers/nvmem/imx-ocotp.c index ac0edb6398f1..ebd0e9e0314e 100644 --- a/drivers/nvmem/imx-ocotp.c +++ b/drivers/nvmem/imx-ocotp.c @@ -223,15 +223,15 @@ static int imx_ocotp_read(void *context, unsigned int offset, } static int imx_ocotp_cell_pp(void *context, const char *id, int index, - unsigned int offset, void *data, size_t bytes) + unsigned int offset, void *data, size_t *bytes) { u8 *buf = data; int i; /* Deal with some post processing of nvmem cell data */ if (id && !strcmp(id, "mac-address")) - for (i = 0; i < bytes / 2; i++) - swap(buf[i], buf[bytes - i - 1]); + for (i = 0; i < *bytes / 2; i++) + swap(buf[i], buf[*bytes - i - 1]); return 0; } diff --git a/drivers/nvmem/layouts/onie-tlv.c b/drivers/nvmem/layouts/onie-tlv.c index 767f39fff717..1e1f8935abe7 100644 --- a/drivers/nvmem/layouts/onie-tlv.c +++ b/drivers/nvmem/layouts/onie-tlv.c @@ -76,7 +76,7 @@ static const char *onie_tlv_cell_name(u8 type) static int onie_tlv_mac_read_cb(void *priv, const char *id, int index, unsigned int offset, void *buf, - size_t bytes) + size_t *bytes) { eth_addr_add(buf, index); diff --git a/drivers/nvmem/layouts/sl28vpd.c b/drivers/nvmem/layouts/sl28vpd.c index a36800f201a3..63c0da58ad60 100644 --- a/drivers/nvmem/layouts/sl28vpd.c +++ b/drivers/nvmem/layouts/sl28vpd.c @@ -23,9 +23,9 @@ struct sl28vpd_v1 { static int sl28vpd_mac_address_pp(void *priv, const char *id, int index, unsigned int offset, void *buf, - size_t bytes) + size_t *bytes) { - if (bytes != ETH_ALEN) + if (*bytes != ETH_ALEN) return -EINVAL; if (index < 0) diff --git a/include/linux/nvmem-provider.h b/include/linux/nvmem-provider.h index 0cf9f9490514..5d896eec2f1c 100644 --- a/include/linux/nvmem-provider.h +++ b/include/linux/nvmem-provider.h @@ -21,7 +21,7 @@ typedef int (*nvmem_reg_write_t)(void *priv, unsigned int offset, /* used for vendor specific post processing of cell data */ typedef int (*nvmem_cell_post_process_t)(void *priv, const char *id, int index, unsigned int offset, void *buf, - size_t bytes); + size_t *bytes); enum nvmem_type { NVMEM_TYPE_UNKNOWN = 0, -- 2.34.1