From patchwork Fri Jan 27 11:15:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49210 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778658wrn; Fri, 27 Jan 2023 03:21:56 -0800 (PST) X-Google-Smtp-Source: AMrXdXvrKqhoIiC9KH75k36WwD/Y/loFF0eDHgqd9quB1eEwfVKSuRsjQAS6D9g8IE747D1A1jN3 X-Received: by 2002:a05:6a20:b924:b0:ad:79bb:7485 with SMTP id fe36-20020a056a20b92400b000ad79bb7485mr35838145pzb.11.1674818516359; Fri, 27 Jan 2023 03:21:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818516; cv=none; d=google.com; s=arc-20160816; b=L+JHXgv+uLO3xSWOOqATA1f08ZdZHN7MD+Y8YBExRyQU8UBtm5izEXUBqk1tlO9iO/ FMOX1Zd9DIdvCXdEgH8ZiiPJnu3cse5ZKKY1tdZvPkrDIw2kXPdVju7BFUkKj5+X4WUn w3/ZrF/fWn/ZJAsJH/otaRjQHjFtrlDeOzDGcHgP1ykNNrhr+5s1QgOX3l6pf3fl0JxE 0wt1bFHP87r/uZiL4SmWIc/A+6LrtciPHDAB3v/5gxbcaFHMtMiId0hadJQjvCsK0DIx tP0zNZYD5PytIfxamilfdGWIqQuBKuIUKiaMplJF1N4RbmkIpHfwJWgOc2oHXn3trPBt 9Eaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=FYkW6U+ZAL6IPEC3v84+mOvhpm/8I/o3t0bipCAwglk=; b=qqXPCwbSeT90dYOOo8DOTA9gwsCsm0/YCtG61c8nxIaZIrZMQcX3MPQH2SPj+KEG25 H1osd7EQ4kIE5BMgOI1zAkOe6axCT7O2Y+qySjNESxCCylQ6s+Qw54LBgN8IEYDFu0/1 T8ZSDSUBzU23tauTWIMqSOPIJXcOSmD6F2vDllLdniXW+z9DPp17FY8pBBjHKt8UtH6z 0rDjWKvArNZh+7wkO0Eh+S2/v8kw9LRd2yYSJ8TQtvSGmAy7QyVOm0tifajcS+lek7cl BGhjcZzBvnAc0UlUeQMImXlidtbFO41ZDRBhd01OBsRIHJs0L4Vhpt/vg7RPErCl4Dte gZdA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=EBZDDjwo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i70-20020a638749000000b004d8044c32acsi4283197pge.54.2023.01.27.03.21.43; Fri, 27 Jan 2023 03:21:56 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=EBZDDjwo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229806AbjA0LRq (ORCPT + 99 others); Fri, 27 Jan 2023 06:17:46 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54590 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229588AbjA0LRo (ORCPT ); Fri, 27 Jan 2023 06:17:44 -0500 Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6219ECC35 for ; Fri, 27 Jan 2023 03:17:43 -0800 (PST) Received: by mail-wr1-x436.google.com with SMTP id h16so4626980wrz.12 for ; Fri, 27 Jan 2023 03:17:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=FYkW6U+ZAL6IPEC3v84+mOvhpm/8I/o3t0bipCAwglk=; b=EBZDDjwooIVTTh/zBNI7rZw/dz2/LT5bnihVYlnTbBZ6w3b7Iw+wCsdfnX9rW8aMRm pp7eF/CIcLZX7wxoAd9VGR1FY/o3Ix4DSqqjhW3FQCio3bmQe05elzRDXqq5ZK0ooVwO 0P7olNtON+dnEp6bCU6UIAvE/s7BNz0WInv8M15lusPIuF/TaQNFTvR5BHjd6a7og+W7 TSPTjgruVbyA6qTgGW7+rQRamDJe/o0hek/Wiw/wz4/eBCGj3L8XAakMQRjqfu0kOKuG 9/vCcIGJgr+K6lT06RuwhAasF2Q2Jqh8Ah/Ro8c5/nMXrpwmhfv2jz9IB2M751vHXG+j 63oQ== 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=FYkW6U+ZAL6IPEC3v84+mOvhpm/8I/o3t0bipCAwglk=; b=EDAjKpRdNP371K9EsMck5NReCxDOF78UpaEJ4UEgR3yhnKN6koX1+1G/s6KhvMvkx9 isSE7m7cOmf4suLEHVnvOIwYiFDAbh3Q2dJKGXRBxjhPapPpjJ+0R8o2M8+KTLJmhq+A BK9aPmhHqbwdx/7AG+NRETUXL/ZHwVkCNUfYta/34M5yxjgKAhm+JjUO7TnDwmD5OzK8 pl6aVIwkSsNejTXUtAcRGZa6qfpa1Xsbqit666aguRvbNzbiYo2Ov3wcSgw7UxfwUWIk k15Fxxq3L1Mlko14mRGy+ajZ6nOqknJ6VUvj5tgXOw01xKOJqNrLPmFHA/V/3ONiF7NL xXhg== X-Gm-Message-State: AFqh2ko6V6AD50yiFjDhyedFZSca71kiCFUP6hiahyQ3ttkXEkBjMJvu iVTQNNU3fIUIloiPscFjrx0SFg== X-Received: by 2002:a5d:52ca:0:b0:2be:579b:1668 with SMTP id r10-20020a5d52ca000000b002be579b1668mr24280818wrv.1.1674818261913; Fri, 27 Jan 2023 03:17:41 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.17.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:17:41 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Samuel Holland , Srinivas Kandagatla Subject: [PATCH 01/37] nvmem: sunxi_sid: Drop the workaround on A64 Date: Fri, 27 Jan 2023 11:15:29 +0000 Message-Id: <20230127111605.25958-2-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174500597736298?= X-GMAIL-MSGID: =?utf-8?q?1756174500597736298?= From: Samuel Holland Now that the SRAM readout code is fixed by using 32-bit accesses, it always returns the same values as register readout, so the A64 variant no longer needs the workaround. This makes the D1 variant structure redundant, so remove it. Signed-off-by: Samuel Holland Signed-off-by: Srinivas Kandagatla --- drivers/nvmem/sunxi_sid.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/nvmem/sunxi_sid.c b/drivers/nvmem/sunxi_sid.c index 92dfe4cb10e3..a970f1741cc6 100644 --- a/drivers/nvmem/sunxi_sid.c +++ b/drivers/nvmem/sunxi_sid.c @@ -197,15 +197,9 @@ static const struct sunxi_sid_cfg sun8i_h3_cfg = { .need_register_readout = true, }; -static const struct sunxi_sid_cfg sun20i_d1_cfg = { - .value_offset = 0x200, - .size = 0x100, -}; - static const struct sunxi_sid_cfg sun50i_a64_cfg = { .value_offset = 0x200, .size = 0x100, - .need_register_readout = true, }; static const struct sunxi_sid_cfg sun50i_h6_cfg = { @@ -218,7 +212,7 @@ static const struct of_device_id sunxi_sid_of_match[] = { { .compatible = "allwinner,sun7i-a20-sid", .data = &sun7i_a20_cfg }, { .compatible = "allwinner,sun8i-a83t-sid", .data = &sun50i_a64_cfg }, { .compatible = "allwinner,sun8i-h3-sid", .data = &sun8i_h3_cfg }, - { .compatible = "allwinner,sun20i-d1-sid", .data = &sun20i_d1_cfg }, + { .compatible = "allwinner,sun20i-d1-sid", .data = &sun50i_a64_cfg }, { .compatible = "allwinner,sun50i-a64-sid", .data = &sun50i_a64_cfg }, { .compatible = "allwinner,sun50i-h5-sid", .data = &sun50i_a64_cfg }, { .compatible = "allwinner,sun50i-h6-sid", .data = &sun50i_h6_cfg }, From patchwork Fri Jan 27 11:15:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49207 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778619wrn; Fri, 27 Jan 2023 03:21:50 -0800 (PST) X-Google-Smtp-Source: AK7set9NvP9gEMn29a9nAaXZa0qtGOYDY+nMNFPMkkuZ6Y7Jj6PQMfoZ9BO7RYb/aO0xyE5XZ+zo X-Received: by 2002:a17:90b:1bcd:b0:22c:2a36:db3b with SMTP id oa13-20020a17090b1bcd00b0022c2a36db3bmr5800682pjb.31.1674818510414; Fri, 27 Jan 2023 03:21:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818510; cv=none; d=google.com; s=arc-20160816; b=GhvGdZmmrN47dOw7hA7h55LNSjJLYwhgJG5GPnzBCElndHq4cz3OT92s/EnUb/zv1k ShD9EU8gBpjTts+LhkDJ3zSUE8SHyTEb/zdHMMu4IWFiTxP6ibEzfeU/OU6yp9LwegI/ 5djNizLHYUxynqaxN8NgMqikRE3kE3qcMbMoxYyZN1KvpdifLxhilmFGiSxtd89Tl7Tg 05/CXj9X4ICfJ+skkUzMyjeU4fOpKY6+fVXwR0DgVEqymK0qG4Twb+veBuLqB9pIMVtl a9eEUxAVed3EvfrITTNYv/DVcsrOkrI8NNW3SxSjms56t5dZjDNd3qxIA/lPm8m1pYnP 7ydg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=wTC3NAL1hZxJOCcXWMuQzdITVQ+oLa3AAEmCazUtZWo=; b=s/XTAhaLkl0J5GXcisxtFl/zRl4azE2p9NckGMLoItcL7nUzc2eDMFzrwi0MB4wQCH 1//sfIwGdpAYE4B1sphPsOGkkjWQdzj5XNJscHjbBjLoWyUG1AXqIEQIx3s7Y1cy/eZ3 HTmxt6LEGPzVdjd0S1Qf6oSjeCqpxjLzK3fo61Ib6NVI2riBBUEv2KrfD5R6SBm/HApW UH8306LIiR4oA6PRqhJbOnEwgYNwHB1XGwKILpXhsuwfOVP4AVjBjrulZJJqRkqm6gjd XawytSYe/KFF3pEJi5AlfzKr4rfuUM7DNGdd9vGibTzil4DWGTYr39+Iqhpc9NnQu7gu w5NA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=hEx6RsUP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id lw9-20020a17090b180900b00226a21bb826si9204839pjb.27.2023.01.27.03.21.37; Fri, 27 Jan 2023 03:21:50 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=hEx6RsUP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230476AbjA0LRt (ORCPT + 99 others); Fri, 27 Jan 2023 06:17:49 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54634 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229702AbjA0LRq (ORCPT ); Fri, 27 Jan 2023 06:17:46 -0500 Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com [IPv6:2a00:1450:4864:20::432]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CA0DDBB8E for ; Fri, 27 Jan 2023 03:17:44 -0800 (PST) Received: by mail-wr1-x432.google.com with SMTP id m7so4652551wru.8 for ; Fri, 27 Jan 2023 03:17:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=wTC3NAL1hZxJOCcXWMuQzdITVQ+oLa3AAEmCazUtZWo=; b=hEx6RsUPVvdUG0Kd/aRU6sx1omgwF8N6yyNSVnQcHUplMLP+cIV/0E46SdP1j4NsWz wZcLED0fIRwNIf4Efik6Tc7JJX0b52BQWG5tjEI1yz1K3eAm9FZtJ5yQLvg48nsdmGcE vxXx2D2YuTiWUUucXARfE1rVDc5RwKxQIhAGOaSNmBZDI8XIPZvQ6UXoZMUv1Xs0I+Lz Ya8QEUIp8LK9JPu/tmacrF+IhGXEEVnFMdVjBUw+9U37guMbxow4jxDs/h/LnpE1WjYu VN2i0V0w46Vr5GI6GybqivrRflo19LU3e22K0zYAl/YvhmB15Y2ytXP6T21dzDttLPy0 GCbw== 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=wTC3NAL1hZxJOCcXWMuQzdITVQ+oLa3AAEmCazUtZWo=; b=GVpv4J4i+nNgdDMyPn/7xoP9uPkoXA9ng+ffRzDZNNiL+ROczOzMSYOt1TkQ57gT2F umW5ZEtdGTwi2nsin1NRIWKQdDju9VdbEQnxEbmykZ1Rlag+/qVOMHYslqTBNmAlj1+F HDACSiYsFnrKxMomE0g8HGjZu77ZUI+WBD0Vdcnwn3wqrR4cqiOKmmkAQ9wW5d+lQQLn ggN3XB680rrjt8oasBitXSj2Zrbd6ZfwHkl+evOwW/259M6rLEEcpQfWlclZyZeuonR0 WgopqipRPWpN0Gp+9zmrB8l1L8eCNE60akh92QT3tXrGjm+almAs8lvMNbHs8C8REu60 7Jdg== X-Gm-Message-State: AO0yUKXSKLGP2t8zcRcF55HH6Q01Ci2pbufuIkCFBQ1GuyoWc2zEqUB3 h6rZugjhx5X3FxUJ5HRk06H8sA== X-Received: by 2002:a5d:5348:0:b0:2bf:b9a4:f688 with SMTP id t8-20020a5d5348000000b002bfb9a4f688mr8574014wrv.23.1674818263380; Fri, 27 Jan 2023 03:17:43 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.17.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:17:42 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, AngeloGioacchino Del Regno , Krzysztof Kozlowski , Srinivas Kandagatla Subject: [PATCH 02/37] dt-bindings: nvmem: Fix qcom,qfprom compatibles enum ordering Date: Fri, 27 Jan 2023 11:15:30 +0000 Message-Id: <20230127111605.25958-3-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174494340915152?= X-GMAIL-MSGID: =?utf-8?q?1756174494340915152?= From: AngeloGioacchino Del Regno Move qcom,msm8974-qfprom after qcom,msm8916-qfprom to respect alphabetical ordering. Signed-off-by: AngeloGioacchino Del Regno Reviewed-by: Krzysztof Kozlowski Signed-off-by: Srinivas Kandagatla --- Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml b/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml index 8e89b15b535f..cc39514e8c84 100644 --- a/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml +++ b/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml @@ -19,8 +19,8 @@ properties: - qcom,apq8064-qfprom - qcom,apq8084-qfprom - qcom,ipq8064-qfprom - - qcom,msm8974-qfprom - qcom,msm8916-qfprom + - qcom,msm8974-qfprom - qcom,msm8996-qfprom - qcom,msm8998-qfprom - qcom,qcs404-qfprom From patchwork Fri Jan 27 11:15:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49217 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778705wrn; Fri, 27 Jan 2023 03:22:03 -0800 (PST) X-Google-Smtp-Source: AK7set8gCfZjb06hp/gJ2NUKThjZoPAVglyglNeW22mF1xoMG5D1a+E1lLOo6jlBpc8r3TtfbJ1S X-Received: by 2002:aa7:9dc8:0:b0:592:d2f4:3b5f with SMTP id g8-20020aa79dc8000000b00592d2f43b5fmr1088946pfq.9.1674818523260; Fri, 27 Jan 2023 03:22:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818523; cv=none; d=google.com; s=arc-20160816; b=pzSkDD0eQZ8v56DUrHEC5Q7Q3/EKQRkdEi5PGj36plc2MyWlt3DHnoEsfDQ8o79enV y6P8iHT4UB+Z3a32duyBoAZMmjGhdNNscWtTMlOPwP1tTzT4Zne+NMH516dO5/2R3/TP krqnSpTTi+e38cgfSoryMpKEQNEtqZ8owC0dpIPC99luRMsYlFnT61N6edsu1WT1iJvn 1cH4vH2NF0+7ml6qkVmJUvls0jDfzYYIC6k87GntelmADrlE6841vcveDoAEIi4gmhmj yT0zp2KZHN6Ps/G8/hEOuHqC1ZWbmrrmxEkDWTDli3bLmDb9nT54QHN2DTzCaXSqZf8e pH8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Ezl79ZrFtdgcZgpVVd2789IBH+ROi3SQvtmwb7LRshQ=; b=PL8MWGvNv6xB1OagTPAVAAe637p6J3btLuRUpuPY5CfYDAO0nPTDmm9cvjNPus0VD/ HX09/anCOyZhl7y7o/ZAbD3dsAXXPyqxeY3MG151EejJcIkOUDqCDEuyuJlByEIhVWa+ M62nXX+wm2KeBOkeyJXykZQ94g24Mzt9/kdsr8KLfooL1yay+1dkJeKaSH8vz2U/mkv0 ggida3NE32cl745coay+Q39dugMuJ0N6wpq5xy4IdcyyBCyqJdrl65tDnPKORu8rmegv QZ+zjHomh9bfxgg4c3mbbCwcIhECUr/tzrCgyemNegnldV2GaXr1iJkVLJkBV3qxNV+u N3Wg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=CcLf8nj7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c19-20020a621c13000000b00572ee9a0c46si3841527pfc.346.2023.01.27.03.21.49; Fri, 27 Jan 2023 03:22:03 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=CcLf8nj7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230324AbjA0LRx (ORCPT + 99 others); Fri, 27 Jan 2023 06:17:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54716 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230172AbjA0LRr (ORCPT ); Fri, 27 Jan 2023 06:17:47 -0500 Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com [IPv6:2a00:1450:4864:20::431]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2283544A8 for ; Fri, 27 Jan 2023 03:17:46 -0800 (PST) Received: by mail-wr1-x431.google.com with SMTP id z5so4660287wrt.6 for ; Fri, 27 Jan 2023 03:17:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=Ezl79ZrFtdgcZgpVVd2789IBH+ROi3SQvtmwb7LRshQ=; b=CcLf8nj7ZXKd6+ZzgKHdp0A+lexoCrWstBA08D4Nn11mM3bEpAmV81r9w6Z1KlMiDb 4m/qlwjMp1mYSeQBX2DdMCs4ZL7EvKA/vHt3BRfb6ntxWic8FeyBPQCQ9n4IexUSx5Ph WxIDPsSuSmNfBh56EE7WQtavrStP35uiM+3oiOotvRxoTgHw2u7tQ06b/Kq/EFlIxIMa rdu5JIRFmzILcMWGwu2uEMQaflI3klb7HWrqpNbl4Nh44my03L4n3VPR0a2Y4uRCECpc wGFkY+W9Zu7LbCnwOy47g3jGrfhBgY69Pmxo4BfsmKEEyXXl0TBEg+l3OdcYreKgce1G mJfA== 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=Ezl79ZrFtdgcZgpVVd2789IBH+ROi3SQvtmwb7LRshQ=; b=plGnSaNWPc97P8WtaU74olRutBQFh2PMCkoU13SoJTnS0eabXzUtyO6iOsmh1DjnIE 8asLque9rpNWNAG/JRvkn03KwqtpRIrruL1unuPxaSNXYRePo3ilbp4XYAuA62L+ZNVx LITyVXHpufdVu1DMxoLWL4FxXwngQ4yuXvn1OsnHb+03IM9VV34pCQm5vvBZiwxFKw1F qyHFS5PlQYFEl+hbfVg2lPPXkRUKjVKJMcdCw2gW7bt36fM3j3IXx+dgDtAGe0hvPdDH zOdg7tEHEh6xGqJAq+avFlB3MD2DaqDZqm4jHSks3KoNAyNtv5sTLfZWBddBwEbAWRxd 2vjQ== X-Gm-Message-State: AFqh2kqhWwtePdaoepeYTHi6Wn+H54G5n5K7/Eg1OC/hvSHfM4KChon1 +AEoYwVxe/4Ct09zHDPileWTow== X-Received: by 2002:a05:6000:98d:b0:2bd:f172:94fe with SMTP id by13-20020a056000098d00b002bdf17294femr37267473wrb.17.1674818264713; Fri, 27 Jan 2023 03:17:44 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.17.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:17:44 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Marijn Suijten , AngeloGioacchino Del Regno , Krzysztof Kozlowski , Srinivas Kandagatla Subject: [PATCH 03/37] dt-bindings: nvmem: Add compatible for MSM8976 Date: Fri, 27 Jan 2023 11:15:31 +0000 Message-Id: <20230127111605.25958-4-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174508086987964?= X-GMAIL-MSGID: =?utf-8?q?1756174508086987964?= From: Marijn Suijten Document generic QFPROM compatibility on MSM8976. Signed-off-by: Marijn Suijten Signed-off-by: AngeloGioacchino Del Regno Reviewed-by: Krzysztof Kozlowski Signed-off-by: Srinivas Kandagatla --- Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml b/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml index cc39514e8c84..48cfec0c9ece 100644 --- a/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml +++ b/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml @@ -21,6 +21,7 @@ properties: - qcom,ipq8064-qfprom - qcom,msm8916-qfprom - qcom,msm8974-qfprom + - qcom,msm8976-qfprom - qcom,msm8996-qfprom - qcom,msm8998-qfprom - qcom,qcs404-qfprom From patchwork Fri Jan 27 11:15:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49221 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778812wrn; Fri, 27 Jan 2023 03:22:20 -0800 (PST) X-Google-Smtp-Source: AK7set+0JoycrwAlXEXZCf4jCegDyHVhxbWz/sSy68DL5aCfQryUrufp0w2Tbtb8aKvNbN9S196v X-Received: by 2002:a17:90b:1e4e:b0:22b:f84e:5f9a with SMTP id pi14-20020a17090b1e4e00b0022bf84e5f9amr12687470pjb.43.1674818540208; Fri, 27 Jan 2023 03:22:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818540; cv=none; d=google.com; s=arc-20160816; b=k7l4/TAJmSejGBFEthJywRCPtb3Jxymcb9Xs+JECCSNErgL3wzi/TgZKTIAjM4o90F 095Sh4uGAtzn5T6Fte17oOQLrD0gsT4sbT9QEvg7N6QoK9jxwdXxJMx8a3tbjjsq/ZKQ +xCnlm3uG6Fjw++C9rJmNCzFRjYpjd5oaA71XZmT1glnud9/M+ecjnk88+h1pK8Js4km b8X9iPcd4dXUnW54t1GTAAbOL87DuKCNSu2CfQEIHyDku/hB+xVeJZmRwVZ/orFYN1pK R6Wq5MWinmXfIvtd3YI+xti7fb1oMrEO9ilqyH83U15GasrzOYVvmVhYldje2kPB7FvO 6RKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=VFwznKCeayr2WD3soqgUqkepaQfJ5RmftUu8mIvFKwU=; b=gZs6o9SNE7zZ5oD6i5qbovsmKr+/6jzAzWSefrCpg8JbmrliGuJnFxm/RxRhhucNDD aOmQKf6ZP86W6zbb9do1RNc7nmiv1uXVHIg7Zz8au4EQDjCzjMKgHyBwH72OZ269H8ly gsGA3RMMrQTKFt6BEDNf0uHLVvTWmI5N4vjA/4t1jaE2OUvKDeoa85wf/bejguNdKGYF RbVLyBZAmjumBeTWdHLLKcCXQK8dCJm5KYGi1+efy3pR1MPzxlexm/UsTmRZ07Kn9JRx rueHxaV/J0PxPkPAqfHlhCSS1jrFgovfAm+idfi/7yMzO+sT8n62Ali6Z9ZZM2Jkg0kg dqVw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=kRNB0YwJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h17-20020a633851000000b004705618bd69si4242141pgn.343.2023.01.27.03.22.07; Fri, 27 Jan 2023 03:22:20 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=kRNB0YwJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231945AbjA0LR6 (ORCPT + 99 others); Fri, 27 Jan 2023 06:17:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55096 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231478AbjA0LRy (ORCPT ); Fri, 27 Jan 2023 06:17:54 -0500 Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6D84A13DF1 for ; Fri, 27 Jan 2023 03:17:48 -0800 (PST) Received: by mail-wr1-x42d.google.com with SMTP id d14so4649851wrr.9 for ; Fri, 27 Jan 2023 03:17:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=VFwznKCeayr2WD3soqgUqkepaQfJ5RmftUu8mIvFKwU=; b=kRNB0YwJHXJDtpUEppM4TcOT6WkwhC+0dsL4O7dUAmrovCDLBx4V0Fc2dK6Um/zuPA JhNFgXXqvFRUcq2sZeUU5ajw8F7GtE9vYmwF1QkY2pYOsYLeu3rYwPQp8PyWaopJNTkd 8NQ7dpabIE6jPCJYVrzNo+GMG7oPq1Mr/Iek0x/rP6hcYrjXseb8cTsjqgR4PRwce5Rr aUSKeO73FDVfOGuuKyWVz9qBBX99zDwDpjiD84BEUbTxFUM9nF/BrURfPPjiLypMMFHU 5bEbZwTUcyeBE3YhPi14WY2VBAs7NLNFOERhWANTXKAhoPZD4G0aC7GQfNxjKi5MYYVj Oahw== 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=VFwznKCeayr2WD3soqgUqkepaQfJ5RmftUu8mIvFKwU=; b=6oqCQRPz17Aeacxo5BXd/PbpE3MnYx6e5DL+W2iDhxQCYMnwCGQZNEsV+p4R+FMUxQ IIaMbNSoUOE50i66Hak4m1VhvR/OxA+ly0q1uTP7NHmiJU39XpsCZ9Hmt0FtmaWT2fsv Es5UzdFeLJq6lMSxp2uAkey7gDStOxxQ5//WKlQH2eGyGu0XbLuQcmZotWhowMTqY8cE +Ianom1KmS5Yd9J9QHOH5JY9II+Oaj46mjDaBrLuC149sjHdPdKOQZAptifKmR+0M6/v FSqZsC76ZMEXJFWFdrEQdHahb9XpIASNHCsLkaF/0xluLGXfEbBMO2X9GFfDv9FxBmh2 5Vrw== X-Gm-Message-State: AFqh2ko0NFK9Ii7GRFZ+QeIRR2IU0v/8mlkMCgUq8ne7srWCC5beXXxg klA3xUq3cieuskdmJeoDu9+Nrw== X-Received: by 2002:adf:b604:0:b0:2bd:f35f:1b5e with SMTP id f4-20020adfb604000000b002bdf35f1b5emr33045137wre.4.1674818265932; Fri, 27 Jan 2023 03:17:45 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.17.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:17:45 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Richard Acayan , Krzysztof Kozlowski , Srinivas Kandagatla Subject: [PATCH 04/37] dt-bindings: nvmem: qfprom: add sdm670 compatible Date: Fri, 27 Jan 2023 11:15:32 +0000 Message-Id: <20230127111605.25958-5-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174525659976214?= X-GMAIL-MSGID: =?utf-8?q?1756174525659976214?= From: Richard Acayan There is some configuration in SDM670's QFPROM. Add the compatible for it. Signed-off-by: Richard Acayan Reviewed-by: Krzysztof Kozlowski Signed-off-by: Srinivas Kandagatla --- Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml b/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml index 48cfec0c9ece..b7811bbb0e71 100644 --- a/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml +++ b/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml @@ -28,6 +28,7 @@ properties: - qcom,sc7180-qfprom - qcom,sc7280-qfprom - qcom,sdm630-qfprom + - qcom,sdm670-qfprom - qcom,sdm845-qfprom - qcom,sm6115-qfprom - const: qcom,qfprom From patchwork Fri Jan 27 11:15:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49215 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778693wrn; Fri, 27 Jan 2023 03:22:01 -0800 (PST) X-Google-Smtp-Source: AMrXdXssct08GyExGJU6yPxOtNgoSabXWVzHWKJ3Pu1yTgcmKHzwiFm6McbGDtgVHB0M9i//Q8Fk X-Received: by 2002:a17:902:9349:b0:194:d272:5567 with SMTP id g9-20020a170902934900b00194d2725567mr24928705plp.69.1674818521346; Fri, 27 Jan 2023 03:22:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818521; cv=none; d=google.com; s=arc-20160816; b=Ky/iHqVLpsMzKe54/2pohFP4nvm2JHp6LGMbvbb6od32UoEo98eU9IXXBiWkIN9dmU say+uCRLl4k10nR5z1NxXL+8kEtWM5Abup/XEQadvNI4L7FZIlRRrbUWGgefmkLPXgP6 CAteUsK56WYfsjeyONWViVQXFLJ7XVLg+AUAvlb8hVW6IC0KbxobeuvA9afZjDzKskXG yH8WC2+zdJODzDWiLnd4oQKFK1QAb3UEa7E+2vTMyC/ENFVCI6qVodIRS5rNJreZ6ecw QDMxkCiwebn+kWs/UdrdIIm0rhO0V8JDfajpapeSId2AZaxhdsI0p5YOhdvdcJiwSz3R FPvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=mJ+Rhyub7QdZQCx+PBV6POAj+tkBwCFqMXV8WoFTj5c=; b=GTHijavxlSxJo9dTWqGpohqtDnwSXs7Lc9wGQUt+I/DtD99aSI2ppcLXl/AzRDk6A5 O1g6AfXLQs7RzRTJjnOMZRStudupNyyFOqcWusrrfML3dtnGTZp+k5YIJ+MxNhY9UkRg by677eMLpxEAqzD/sTKgdjIIY60RZFacG0/t72ySrzZwCMreEruCNK8MGyIQ7L6CRUKN JpW4NXh4azf1HftgBpcux95nfljjX84e3toHvhLPamV0psIkBJlKDqE5gciFyrO7gRZu HDf5OWxet8HQ+J3iUoMr5HKnAkLkjvY81TV9Sd0e4gL7TCTjBcrGp6pCjUfFlNVyXiCQ kiBg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Xo1CBygk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id r5-20020a170902e3c500b0019644d4246csi3660091ple.418.2023.01.27.03.21.49; Fri, 27 Jan 2023 03:22:01 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Xo1CBygk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232250AbjA0LSF (ORCPT + 99 others); Fri, 27 Jan 2023 06:18:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55112 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231590AbjA0LRy (ORCPT ); Fri, 27 Jan 2023 06:17:54 -0500 Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 308F826AD for ; Fri, 27 Jan 2023 03:17:49 -0800 (PST) Received: by mail-wm1-x333.google.com with SMTP id f12-20020a7bc8cc000000b003daf6b2f9b9so5167873wml.3 for ; Fri, 27 Jan 2023 03:17:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=mJ+Rhyub7QdZQCx+PBV6POAj+tkBwCFqMXV8WoFTj5c=; b=Xo1CBygkgpHH/tFpj6j9kDXLuhq5A62Kw4X382lY5a0voNm7I70yrWARWKgfTYaSen /u8E+UxVTnjROQ2Xt+vzmmDv+q2RfSn5vjTcb0zYYad6E3NHPuPLYxmxc+5HB89uY4n5 dv2tGgTHCpLOHms1png8qrbAhuDBSlTIxAHus4LPbYw7qYHPQK05L6g8FaU/3gkKUiRK kUtGMcFgnNurNB3zhupRa4gK+zgQHzHSfXQzEwOrELIQ9FtnIm7/WrcA7f4DTIQsG4ee 4yjvBX7l9MfPAjnMDiWA/xbIrHoDbcLnWQ0A8I8tj1uy11fnb2cerK8pdoGJZGgeRNCZ KcZQ== 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=mJ+Rhyub7QdZQCx+PBV6POAj+tkBwCFqMXV8WoFTj5c=; b=J9G7fQLPiw1ToIolQKii7c+JxNnHNm0XIK29bT5lMF+qXcZoWsQo3W+9dtok5Z0SCX 1newqvoV7Otnyq+/OGABbymEYQa4KH4rC43DhTRHSO4mLBg+I/idvdCccwSRCyfHqViI sBiSqsqvBnls5XTajSvff1/qfybjEBBYOMyxDID3QJjvtNmzU4ndMoTadmnDN1poMuaa V/IEypyCQYddtaYj98VpJQg11849PhM9nJjP6DpeRDSNMEA79OHFmz2YkTugLrbLGtDY CvICJo6pSK00/zdk/BTiaQrJ4Z9TnatPYi6YN9ZrE+jjJ5qmhR38NpNkN74ke1JtkeM8 IHlQ== X-Gm-Message-State: AFqh2krZZjS5mMEwV0Yln+PH169hPJ4KIy964lG5UWK8lvcqYMA2Bl7u fJH2R0GyvRPNfjumUfD0ka/E9Q== X-Received: by 2002:a05:600c:1713:b0:3da:fd90:19dd with SMTP id c19-20020a05600c171300b003dafd9019ddmr38975229wmn.26.1674818267879; Fri, 27 Jan 2023 03:17:47 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.17.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:17:47 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Konrad Dybcio , Krzysztof Kozlowski , Srinivas Kandagatla Subject: [PATCH 05/37] dt-bindings: nvmem: Add compatible for SM8150 Date: Fri, 27 Jan 2023 11:15:33 +0000 Message-Id: <20230127111605.25958-6-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174505759147753?= X-GMAIL-MSGID: =?utf-8?q?1756174505759147753?= From: Konrad Dybcio Docuemnt the QFPROM on SM8150. Signed-off-by: Konrad Dybcio Acked-by: Krzysztof Kozlowski Signed-off-by: Srinivas Kandagatla --- Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml b/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml index b7811bbb0e71..a248033026b1 100644 --- a/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml +++ b/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml @@ -31,6 +31,7 @@ properties: - qcom,sdm670-qfprom - qcom,sdm845-qfprom - qcom,sm6115-qfprom + - qcom,sm8150-qfprom - const: qcom,qfprom reg: From patchwork Fri Jan 27 11:15:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49213 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778675wrn; Fri, 27 Jan 2023 03:21:59 -0800 (PST) X-Google-Smtp-Source: AK7set+4tZLpHXH76MLU7lQXmhXjIuaUOtW4Lp10+TKX9/nJVBmRaO7Wo7jMgfFRGsVTegjUs02J X-Received: by 2002:aa7:9acc:0:b0:58d:ac19:8950 with SMTP id x12-20020aa79acc000000b0058dac198950mr5234931pfp.33.1674818518837; Fri, 27 Jan 2023 03:21:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818518; cv=none; d=google.com; s=arc-20160816; b=hwn9LESevWWMk0KoMB3S+Tt1Qo69whl7qf6KgU/AJZg5L83djROvtcse0/sAT0hOJw e/ccbmKikYxIpkB+9EDwufm8rONYC2yqhabbz0TszxEHti/jVqvg6/NrCoaTQDm9Za3p yDTkDPNaxKAR+WsHszHpN/+fUw/i5NZcpPRnZU87o5Hxf5Ofo3mQE3acIHuzByN5zZUM Pg2DvzzDYGlguN+ngNP74hkg7d2I2yFhZTNSIcnBsWoLdwBtEi2emPOnpPi+6tIbKF4P UR6cgrhuF72w6oxHqRGWyeX/qCzns4sm6uXYhNe8is3+SAWuQFBkbbPvyWeQO4VywvHm AmCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=bcQCOTgzaeE74ZCuxo4/3CNeOTAuJvVOxPA2T7IDx74=; b=l32I1Dxy5XVI7FFWHnVDou5d5Rz14vK//909Eq2kE638YznLXPAD4jbhzQmaeZ5IQj +7KO7TTfa4PDuB6PdgDJNDjCo1BB2i6+ic/EbCmTP6otZxy6bAvjIu3bkU5yYVJP1ey/ kEcdD/e9CtclFPWP8QQan7tKTaIzkf158nMexNt/Xn/SFkDkTEHcpylNZI1foK5jm1Sg wXVoklspugsB/dB4I2oE7d4eYDI1cOsjTSiSeGGWc3s33QcrpdJW7WQz+BWYM/j0NHSi TbvlFjhp4SpJuMnRX9ItTsevfm9iHiHXzsJfc2Ckd3eHnaPBSdJ/45nf0u4IANFOWmpl thlA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=SKvsZzmd; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j4-20020aa79284000000b0058e16d32d35si3835481pfa.378.2023.01.27.03.21.45; Fri, 27 Jan 2023 03:21:58 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=SKvsZzmd; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232022AbjA0LSB (ORCPT + 99 others); Fri, 27 Jan 2023 06:18:01 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55252 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231636AbjA0LRz (ORCPT ); Fri, 27 Jan 2023 06:17:55 -0500 Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com [IPv6:2a00:1450:4864:20::432]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 44D3A59CA for ; Fri, 27 Jan 2023 03:17:49 -0800 (PST) Received: by mail-wr1-x432.google.com with SMTP id m7so4652756wru.8 for ; Fri, 27 Jan 2023 03:17:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=bcQCOTgzaeE74ZCuxo4/3CNeOTAuJvVOxPA2T7IDx74=; b=SKvsZzmdaghpxygEouhG8N98RssGxSsu0eDO3I/lv3ON+Of+PsyJ1BHGuF4Y+kk4xk qStGLzevngbOatsm2tEzAOyb8FZdB9adz3YZhi6TfVBCDEy1xxL0yVq6gCJBrTKQnN/z 3+6iYGwNqWd1ttmxLKk/VffzfR7Xtqx5Lj2EEuEkLedlv30P52cVC2QZFG4IBSo6MNd0 OMZQDouWIuJXcnuus+vElDXWjGD9e0mrF5dso0wYSBNsfC+YVmsC+v6/tChHQ4lYiEcO VowcGBwOPkOAM0U/pFt1mzb0lziEDAUK1YORA5/K8Jgv8RH+fmIHkeWrK64yDkcwcE7F WKVg== 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=bcQCOTgzaeE74ZCuxo4/3CNeOTAuJvVOxPA2T7IDx74=; b=PsKjzgkbmSqS84M0JjempID8lyeF/v/qJNaQX7aZh1Y3gEo0MAVc220ZEjbSlhfiTJ kBiWjuYvmhGCi/ibo5yxcGUhDUPXhoSHuumWlAQQ6/sfPEZYF5RCcWQhvUE3O+lX2tM/ TfG/Ged9j/z6+sipQWmFxCFG1P3KzKCSSTUJLOc8NKlrfDrXlbKEHcOdLLPbYeW8aW2V v4VnFeEV43nOgX5NnjVG/tj3Zd0R50Xpd7VdyFfeo9o01iMYpS5QQRkpIQI8DCM4etTI xIcw3PMMkptvCDkKH3MER0Pb+cWbiFhOjntZY6PBtl8xhNELC5U9nwhZjLMasZTxdB1i 15XQ== X-Gm-Message-State: AO0yUKWNkCenpd/S8h2q85Z+hYV6arDayK7IvcOFVi492qcBUi8+BOvy 3wdur/M4peP70BIf6uJsSaYARA== X-Received: by 2002:adf:a1dc:0:b0:2bf:b4ca:6bac with SMTP id v28-20020adfa1dc000000b002bfb4ca6bacmr9235874wrv.59.1674818269102; Fri, 27 Jan 2023 03:17:49 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.17.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:17:48 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Konrad Dybcio , Krzysztof Kozlowski , Srinivas Kandagatla Subject: [PATCH 06/37] dt-bindings: nvmem: Add compatible for SM8250 Date: Fri, 27 Jan 2023 11:15:34 +0000 Message-Id: <20230127111605.25958-7-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174503097564373?= X-GMAIL-MSGID: =?utf-8?q?1756174503097564373?= From: Konrad Dybcio Docuemnt the QFPROM on SM8250. Signed-off-by: Konrad Dybcio Acked-by: Krzysztof Kozlowski Signed-off-by: Srinivas Kandagatla --- Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml b/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml index a248033026b1..9ddf3cef9e84 100644 --- a/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml +++ b/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml @@ -32,6 +32,7 @@ properties: - qcom,sdm845-qfprom - qcom,sm6115-qfprom - qcom,sm8150-qfprom + - qcom,sm8250-qfprom - const: qcom,qfprom reg: From patchwork Fri Jan 27 11:15:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49216 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778698wrn; Fri, 27 Jan 2023 03:22:02 -0800 (PST) X-Google-Smtp-Source: AK7set9w/cujGUQNbRANeaQ4NmJwTZd3j8QAsyI9ACj77bucWyFrpjBINdo0A79DFeL+wlm8g59a X-Received: by 2002:a17:903:1cf:b0:194:d1eb:7a39 with SMTP id e15-20020a17090301cf00b00194d1eb7a39mr6883987plh.14.1674818522111; Fri, 27 Jan 2023 03:22:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818522; cv=none; d=google.com; s=arc-20160816; b=osTK2MqrEyZ7G602Ak2+2aJxavd/Glp1IIUopP/AFOcvsYJgJFeoAhuApiaUYtstlU xL11UqlexMVKKkQyLkRgCJKW3UQrFFEvqh0sdZDYP6Ghmosq6rmUUWP/HtaCrBZOpiao CXrwlYr64aqPVnmbMiGTvJKJIxVW8oKzJx5u5HJZVP47lRWyNZ6WQVKxCmmzKU8J5lFc m4GaY3x6WrJ8u4jFh9PQzFeR87859PRBvDNXEu+bdxi4mtxb05S6u8JCuQdTRM0J43n6 WwuhZPqCCQ0y5+ocZKhxUCnS3HVyVKF9DhwfiqL79FvYWsvYcP8CbXA5OSzcaPw8lMhP Tulw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=kmitWArQk6CIBydogs7WRFxwX5Xsu7yBBRQ1KBB+uN0=; b=qLXyEzi0R/0VNA/0ziioOrsPXHhaMJ88l2+7/FkYqjexg748GjkLPcrV/ZEuzRq1O0 NIOk1SLwHOJG1XQFdpTKDkWJ30AnjOZocELeBvzKjPpCDzvTtvcbGDIAUsYCKOzEJFvs ERt1mfCPw3WFGV5MCUnjTtWH+IMFiLHDp+pBHJttBD22o1MQ8HpW30wbmnAeaVbZG0P6 KPetLOEeRReVxfKGftUi/0KBxNpCGBZ23UPYSRsj3+4hN7uQUk4lL/MD5/nYjHueWIQt JDBGOzGg2gnTid5qQQlh9B9qd/P9QgoBrH2/IN3gdrT8z7KeDWS7lLmPt+ayGIb8gJCL ngZQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zPdHoXpT; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ik9-20020a170902ab0900b00193353fb077si4423067plb.346.2023.01.27.03.21.49; Fri, 27 Jan 2023 03:22:02 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zPdHoXpT; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232439AbjA0LSJ (ORCPT + 99 others); Fri, 27 Jan 2023 06:18:09 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55252 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232006AbjA0LSA (ORCPT ); Fri, 27 Jan 2023 06:18:00 -0500 Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0FADE16336 for ; Fri, 27 Jan 2023 03:17:53 -0800 (PST) Received: by mail-wr1-x42e.google.com with SMTP id m14so4200193wrg.13 for ; Fri, 27 Jan 2023 03:17:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=kmitWArQk6CIBydogs7WRFxwX5Xsu7yBBRQ1KBB+uN0=; b=zPdHoXpThmIqr0jmxocruEX6GLSarmPoJe9nlPSN3ubS+hCFBWZ3CtOzaEhXMB9IEC /BD89Pv2SJUIV6hi420tZtxNMHXYRKZnSDN+HQOaW8OPSmA8od9mo77d5DldsDSnqfy1 AueWeJxgmHmNiOQ4jObzMtMZGz1Fr+Cq/MmFtd4D3QT72iofiAgqJbH6alBeorr3Bxxb Xc2lKu8HhTgP7rnnfkQQTLTF8QBJRIEN3IAKjSB4yukvXUuEuwOgJNxrWx8WCY+AJoji ZBNJGV/Ta92KflOb/2Z4gcQvtYDBws4iFWywAkKLhiMpzxteCyc3RV7Fnxk4Hn3WAEEo h0gg== 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=kmitWArQk6CIBydogs7WRFxwX5Xsu7yBBRQ1KBB+uN0=; b=zxbYk+Tdzflhj4L+RstpDljYdLlaCVxVat8IpsRngIJc1KHAhRRhWRrMDHkh9NlSIz fAk7JR7RE0DcEgodNUkEAyBCBIhXHn1h23+cfJYjBkk9L/FFp1CxYrAgy06w0NrDQ64N 39zHT4HNQvHCz2Tey3yUvpxxjma/v6h0P1d+/U3C3FrYuJfUuXBAAJ13aX9JP4N6Ofqf 9VFshWu6dhR1hOV/oVU0pHO6H5PFuD7mZAtwSnpm3/AeZqzbnjoykOh2s2iqURRc1DUY dWVNsGtbk8RSaWkQ7rKHJ+eHagS93GMKjrO7znfb0Vhpyf7MtjGNmVdQNzQ3pVlTpvv3 2vkA== X-Gm-Message-State: AFqh2kqBZa1274yIcWk76faDhvi4t4bLUO3YuLIaubyTA07GNPv6Z1HZ 1nsiIEpFycZXQyWvWODo+ng36g== X-Received: by 2002:a5d:4cc6:0:b0:269:65c0:79fd with SMTP id c6-20020a5d4cc6000000b0026965c079fdmr30949094wrt.53.1674818270152; Fri, 27 Jan 2023 03:17:50 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.17.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:17:49 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, "Russell King (Oracle)" , Srinivas Kandagatla Subject: [PATCH 07/37] nvmem: core: remove spurious white space Date: Fri, 27 Jan 2023 11:15:35 +0000 Message-Id: <20230127111605.25958-8-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174506174536575?= X-GMAIL-MSGID: =?utf-8?q?1756174506174536575?= From: "Russell King (Oracle)" Remove a spurious white space in for the ida_alloc() call. Signed-off-by: Russell King (Oracle) Signed-off-by: Srinivas Kandagatla --- drivers/nvmem/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index 34ee9d36ee7b..233c6c275031 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -764,7 +764,7 @@ struct nvmem_device *nvmem_register(const struct nvmem_config *config) if (!nvmem) return ERR_PTR(-ENOMEM); - rval = ida_alloc(&nvmem_ida, GFP_KERNEL); + rval = ida_alloc(&nvmem_ida, GFP_KERNEL); if (rval < 0) { kfree(nvmem); return ERR_PTR(rval); From patchwork Fri Jan 27 11:15:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49196 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778292wrn; Fri, 27 Jan 2023 03:20:58 -0800 (PST) X-Google-Smtp-Source: AMrXdXsRPZv8QbrbjJAECpAJvSjTFT//YUUKhx6r6OREpC1uPN0hqdKft6dQP23He6nAQwzd0Nqh X-Received: by 2002:a05:6a20:9588:b0:b6:204c:d606 with SMTP id iu8-20020a056a20958800b000b6204cd606mr40123059pzb.62.1674818458563; Fri, 27 Jan 2023 03:20:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818458; cv=none; d=google.com; s=arc-20160816; b=ykKd9nzWslQUs/5Gq/597EBBfK1Ld/dCgN0vTdwnQ5NiGa3ra6rlBl/Tw5eQbc+5Rm AH6zHYSM6tT1LzjJynTFqvzw5EgI23qCCzgNPosIF6sRvv7GJPLeaFQ2S/HizV6rYBEC SZ1reDsKwOV7SuFUvV4WVSTSLXs1BShpRotrxmldnJyq1OOxxZE7uHU2bM40AJ4sSXmR csDXZMQF7b92zFmqxNV+lr6oOvaWODzT7bvNqvnjoQb80C2TM2At2t3jgYZOV43OszeV rpTjGIIhEhp2FnCSfLEHEyKEdliqtJ6NIkX426eMNozMltyNsLVGcDDf89vad0F8TcBz V1Hw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Y+cl5Ym56wJ7OQnEfR1Yodsc3crTZ07l528z+P6rSd8=; b=VBn7kTv5TtNb2XHFnIzRXpkkyL6AwD/G6Rt/xZ8gBY2TVZInxuB1ggrE0CIdXjbLqQ ZX7SitwKU7c7NDsPjCFNqsR93QQuylUYXUULzSVV7ZvjUBobGdKJk4vR2nF85p0jZARL D6HjN3bMqHfp9IbXBPuJjNirAm/i0x6/K73vW/yblGaujmxvtQzKBYbRmMfFUGnR15TR rSvF++g0N6yoYE5OttT248aIyRZzvebiHfatH7ucdfzEA8Pv0ldbeh2cy1RHKudNQlE6 ao0a4odHkWc5wMncTju4F2JBP1/vVKOWivW+lAYqM9qea8XWlPiDJJL4e89i8aAZq1l9 ogsg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ZCk9RMRG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id o11-20020a63920b000000b004d011c6f126si3734716pgd.848.2023.01.27.03.20.45; Fri, 27 Jan 2023 03:20:58 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ZCk9RMRG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232660AbjA0LSQ (ORCPT + 99 others); Fri, 27 Jan 2023 06:18:16 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55362 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231865AbjA0LSB (ORCPT ); Fri, 27 Jan 2023 06:18:01 -0500 Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0FC9916AE5 for ; Fri, 27 Jan 2023 03:17:53 -0800 (PST) Received: by mail-wr1-x42e.google.com with SMTP id h12so4642392wrv.10 for ; Fri, 27 Jan 2023 03:17:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=Y+cl5Ym56wJ7OQnEfR1Yodsc3crTZ07l528z+P6rSd8=; b=ZCk9RMRGU7mfV6M8jd8TyoAUAnvKfA+DqMIC8dbPwZn9PUgxug7ZKvfBJN3N4gYsMM P9nDANJ0ErJiri6z/vDAL0OkNiJo8tMluVx0SQ0uu+q9ltK2vyFDXpejNT8Ffli8pfQd uflc1MpIfDgUZCDKVU+m+3WF3GxX0alv8BsUZvP6SohTpLHPonOUaJ3YLhMOarp7/tZ6 90kG3ArApiM6gV766VOEfm4GnWlA5jjCZ34fGWkx3dKaAeLP1l3oE2LnrNDjtH/UU7T6 76f721nxJfegLo85a26pwx8GV/W0hshL/dYMtwJMASKtjeEUr8MqxVwNdXxZfvPG5JQL 9qBQ== 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=Y+cl5Ym56wJ7OQnEfR1Yodsc3crTZ07l528z+P6rSd8=; b=V67WQ+LBV7f1HG2Wlz5rI61rSBFW9scxWYulZf+ndOPqAmNzRMRGSSDKyBgSzW2ctV We/lhQeAjgTN6fjpfy9yKcbHfG6ZgW2qmt0EsZ64MsnyM5UGvGJKaYR/IZleoBN3Mef7 ROsvVBPF/Obc96CWyT43QwPx6Gvria8osHFkDuNIsWIw69lGspWcVNYz2HJksKsV9ZOQ MLXqnCN06d/HbvdCkpAPEfONxzFe0oTiMDXbPRTdRJ2Zl80BTQhgTNK8i2BqPWiSeXI2 rhYifl6+FAP/Cq8BGyaqq3omRO8bnDF9lRFnrvOg7gC0EzBodfMzruxwzcK1pFLDYheb FFKQ== X-Gm-Message-State: AFqh2kovnZjJ2DZYO1C07NSwrVTpig7sanAXdY+wc/c0FyfroqjYHN7I dbZBNBiluVm4tJ2Row47lJnOCQ== X-Received: by 2002:a5d:6b01:0:b0:2bd:fd81:b503 with SMTP id v1-20020a5d6b01000000b002bdfd81b503mr35610704wrw.1.1674818271277; Fri, 27 Jan 2023 03:17:51 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.17.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:17:50 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Michael Walle , Andrew Lunn , Jakub Kicinski , Srinivas Kandagatla Subject: [PATCH 08/37] net: add helper eth_addr_add() Date: Fri, 27 Jan 2023 11:15:36 +0000 Message-Id: <20230127111605.25958-9-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174439539276311?= X-GMAIL-MSGID: =?utf-8?q?1756174439539276311?= From: Michael Walle Add a helper to add an offset to a ethernet address. This comes in handy if you have a base ethernet address for multiple interfaces. Signed-off-by: Michael Walle Reviewed-by: Andrew Lunn Acked-by: Jakub Kicinski Signed-off-by: Srinivas Kandagatla --- include/linux/etherdevice.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h index a541f0c4f146..224645f17c33 100644 --- a/include/linux/etherdevice.h +++ b/include/linux/etherdevice.h @@ -507,6 +507,20 @@ static inline void eth_addr_inc(u8 *addr) u64_to_ether_addr(u, addr); } +/** + * eth_addr_add() - Add (or subtract) an offset to/from the given MAC address. + * + * @offset: Offset to add. + * @addr: Pointer to a six-byte array containing Ethernet address to increment. + */ +static inline void eth_addr_add(u8 *addr, long offset) +{ + u64 u = ether_addr_to_u64(addr); + + u += offset; + u64_to_ether_addr(u, addr); +} + /** * is_etherdev_addr - Tell if given Ethernet address belongs to the device. * @dev: Pointer to a device structure From patchwork Fri Jan 27 11:15:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49225 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778869wrn; Fri, 27 Jan 2023 03:22:29 -0800 (PST) X-Google-Smtp-Source: AMrXdXvx6fNqVK1qcaWQcbWOWZSco0lrOCcKX8Hm9sHma/cj7FpvxfdRqSAHthuszQe6lL/qti96 X-Received: by 2002:a05:6a21:6d90:b0:b6:9f9f:4ba7 with SMTP id wl16-20020a056a216d9000b000b69f9f4ba7mr50586230pzb.47.1674818549392; Fri, 27 Jan 2023 03:22:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818549; cv=none; d=google.com; s=arc-20160816; b=iB1wMUnMEn6BQzwx5IJUFm9N8TSAB13R+7/nVyrpeuHNJRzRfTlJby9qkFPzryaC0T F7kdAEVQLLl5THoq42/is5/e1g/iNiqIQUfksA/u1AUyHBOxYX+sZ+nahq6GrHpbGCds 1Iw5qj/INCeO6vzOiataurGcQiydmLzeV4kpmaxqzxYVr7bcVCQuckaeQNj7rg+ncctg sLIryHtNpZidXX/1j2tLV2Uf1t5lEq1NxNO97zgw0eCzvePmwyQE+F8bF1kXFkgQ7r4/ pfDM0xRa3C3gcK0KLdPNwpvLB8vsHzVwpp8M3pOImqazs8FpygZuDP/t4nyHGaIgA2i6 OUqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=bZk++rAGilP0se2vyyYc9G9oc9KF7qnie14AIpwjJ4k=; b=LfDtxsy9gKvnwhF38eVnTW9jH1qNxZceP+c5K9bMnvqoAqfXO7QlEv6Cs94qhqWtBF aJx2e5xMToV7HKLhMmafzMYZahg+0AxQFF0l5tArQHYNbOL7GUOzg34K80PaZ47Qpb22 QUax9yRP9bY6QA+/CyMR5nx3rBMBjSy6171pobDVblBef7BvkU6Sv+0jTsgcw0cx4Gsu Alk5xxke4uB08YXt3hba3roRKCSTGzKw9AW75qRzGlL73JzjDm8Z2WeDth3xO+K/YvWD A8pmU0M/0EqPkyd65nk8ctkHTsGayflB+gQ3AaT8fXheK9eVVMTEWKdCE6e7d0w1cBVC +bkQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=mH55wi35; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i184-20020a6387c1000000b00477b463b049si4012277pge.491.2023.01.27.03.22.16; Fri, 27 Jan 2023 03:22:29 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=mH55wi35; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231990AbjA0LSH (ORCPT + 99 others); Fri, 27 Jan 2023 06:18:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55598 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231683AbjA0LSA (ORCPT ); Fri, 27 Jan 2023 06:18:00 -0500 Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com [IPv6:2a00:1450:4864:20::429]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0E0FA1287F for ; Fri, 27 Jan 2023 03:17:52 -0800 (PST) Received: by mail-wr1-x429.google.com with SMTP id n7so4667577wrx.5 for ; Fri, 27 Jan 2023 03:17:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=bZk++rAGilP0se2vyyYc9G9oc9KF7qnie14AIpwjJ4k=; b=mH55wi35SGoIcZosh++cTF0urwF1ISiGMPK+u5pVhn0ZP+8/mXMQ4553H5Xq+rDlnD Q0Q9/4IgRPYC4GEYvRk5127ZvR7qVaYONYG7qCpiq13Silz5Rx/fgSNPGzLq2QECnpZ2 +3VBnVquC5hIX5otJ31sYDAz8Dh6QQc16zAS88ut9nr7lMdz1TMFruQCpMAyaYme1Hhj 2yklV773O7HtDjyNCubCQ2X891uP1r/eTu1NdMbjdLXFZF+beGrIRejXNMcPA2M0NVN8 07awVLrveihnfUwpzYMX7eFoYmPt2Y3sSlw/liYBFuvUP20/2d71c2wlKMY2caBWJteH uFcg== 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=bZk++rAGilP0se2vyyYc9G9oc9KF7qnie14AIpwjJ4k=; b=X8CNyUf0erOgtLXkZ3tSqccsfFOs6I3tgSiNkzjNKRyjrePhjoZqMFM+oH+0Bis+zW wPjb54v6j2Fev9tKwdvZLbBHUk8zg4xIFcwYosqCern0vvsE4DceTNhRtLiAlBc6Ybp7 I5HYAEM2Z9BZKAvUxJTEBaC6/yYLwhARDh00BNH22/Gm27GtCZYw9wrlq4PfpYLzttub zGNHf420c0OOEBueUOJgC8d8V/hy/QtjKOupd9kuyHFwcm+2RWI/vcN7EcirMBui9YQO BDopca4SGVZ6DG3Q+KU9A+iA7ykGnnq+hEoWqZCFAkS7aSCRll8TF55dVUFlfsLnNYld PDkA== X-Gm-Message-State: AO0yUKUXBNDvebpfHhmi2HS1giO857Z6E24QEMDQtTAIUYMwxcfrLSZ/ NmK7WKvbyI+I56OFX78Xa6rx6Q== X-Received: by 2002:adf:8b48:0:b0:2bf:d6f9:23d6 with SMTP id v8-20020adf8b48000000b002bfd6f923d6mr653061wra.45.1674818272559; Fri, 27 Jan 2023 03:17:52 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.17.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:17:52 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Michael Walle , Rob Herring , Srinivas Kandagatla Subject: [PATCH 09/37] of: base: add of_parse_phandle_with_optional_args() Date: Fri, 27 Jan 2023 11:15:37 +0000 Message-Id: <20230127111605.25958-10-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174535351056796?= X-GMAIL-MSGID: =?utf-8?q?1756174535351056796?= From: Michael Walle Add a new variant of the of_parse_phandle_with_args() which treats the cells name as optional. If it's missing, it is assumed that the phandle has no arguments. Up until now, a nvmem node didn't have any arguments, so all the device trees haven't any '#*-cells' property. But there is a need for an additional argument for the phandle, for which we need a '#*-cells' property. Therefore, we need to support nvmem nodes with and without this property. Signed-off-by: Michael Walle Reviewed-by: Rob Herring Signed-off-by: Srinivas Kandagatla --- include/linux/of.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/include/linux/of.h b/include/linux/of.h index 8b9f94386dc3..98c252d2d851 100644 --- a/include/linux/of.h +++ b/include/linux/of.h @@ -1008,6 +1008,31 @@ static inline int of_parse_phandle_with_fixed_args(const struct device_node *np, index, out_args); } +/** + * of_parse_phandle_with_optional_args() - Find a node pointed by phandle in a list + * @np: pointer to a device tree node containing a list + * @list_name: property name that contains a list + * @cells_name: property name that specifies phandles' arguments count + * @index: index of a phandle to parse out + * @out_args: optional pointer to output arguments structure (will be filled) + * + * Same as of_parse_phandle_with_args() except that if the cells_name property + * is not found, cell_count of 0 is assumed. + * + * This is used to useful, if you have a phandle which didn't have arguments + * before and thus doesn't have a '#*-cells' property but is now migrated to + * having arguments while retaining backwards compatibility. + */ +static inline int of_parse_phandle_with_optional_args(const struct device_node *np, + const char *list_name, + const char *cells_name, + int index, + struct of_phandle_args *out_args) +{ + return __of_parse_phandle_with_args(np, list_name, cells_name, + 0, index, out_args); +} + /** * of_property_count_u8_elems - Count the number of u8 elements in a property * From patchwork Fri Jan 27 11:15:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49198 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778302wrn; Fri, 27 Jan 2023 03:20:59 -0800 (PST) X-Google-Smtp-Source: AK7set9AiHyQTAJ5VdbmEF23/HglnJRwEG4ffl6MILAJIemcl1g+2cUDFScd9rQ9ZHLTT6WN55zF X-Received: by 2002:a17:903:1106:b0:196:40ff:97b5 with SMTP id n6-20020a170903110600b0019640ff97b5mr6302752plh.40.1674818459574; Fri, 27 Jan 2023 03:20:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818459; cv=none; d=google.com; s=arc-20160816; b=tSuoexcHGBvzZ1T77BVjpym9rmFGpqMd9IdCHQMzEf7ElagE9YE3dub/YFiGrJ20hM 5kFYUcWKteCDUwVYqiljJQ64VKPyIzgQ2+S8ibEU/34x+9gWy8FU2tOcCy7OCWWbWJ1P DdP/VkSi6OXIPacEdl8sh2ioTueRGY9TPJEQ0x1/gYyZbIUyHAPg3D77Ohbobj64uLgB zN9iNGx6/llOkJPCf+pJfJIorQJvN6epSgk4lXk4CWtq9hWKdSxdvparZPNfR7TrS+wF uIcfpBrDcsmbRt/UYaEIQgQqHnoDi27E7oSwzAFoeJyxz2CnvNdj8cEExS87yQ5BJgBd GbqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=dUNPIWp5WTSOCDKia5k+jXCL26J1A9hep40mE5FWQns=; b=IszyZWqmNUquAMeA6qLJsD8d55vLg9JLAdt02VHeYxVx1IsOIhblyz1JIIg9nm8p2C qlJUhy8whTYMGkwK2AIwgf4y+RRXMPUplgN+HQSH6+QbAFrfLsrV99kykn9DQrv/tLkn QZaM+xpKZBbJrZTDNrPJ5vs0TqO/kvBe93rcQxId/3Sy8PVtzyQWoKVruVRAMz3Gkgd5 0G/OSR0Yer7p6xQtUpY9pYalGdedpjUAAnkFYt/J9DRbZhGGnYm5S1f+veNOeIDn93iT mM5N+/Zxaakfohb1MB8x7r+jpZQaO4Isw++Gm7mPBlNt9cTbVgUbI20YqGnOGmTKgunu 5BOQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=mrM86jQg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v2-20020a637a02000000b004786f5e24f9si4146359pgc.94.2023.01.27.03.20.46; Fri, 27 Jan 2023 03:20:59 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=mrM86jQg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231874AbjA0LSh (ORCPT + 99 others); Fri, 27 Jan 2023 06:18:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55624 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232489AbjA0LSP (ORCPT ); Fri, 27 Jan 2023 06:18:15 -0500 Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com [IPv6:2a00:1450:4864:20::430]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BFF3D4ED6 for ; Fri, 27 Jan 2023 03:17:56 -0800 (PST) Received: by mail-wr1-x430.google.com with SMTP id r2so4650109wrv.7 for ; Fri, 27 Jan 2023 03:17:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=dUNPIWp5WTSOCDKia5k+jXCL26J1A9hep40mE5FWQns=; b=mrM86jQgcEMJkJmxip2tIHld39RoiLb0WGp8HkmoxEG07MUByTNx9/o0BPk7WddBOC L0cJC/vQL9ZTkROoFVxEPG48hzz9sLP8MEUN6bJZuXsTrEMf/pTbOMfNiydtIg7mZiei SS84fkDHVvVBzeMsna9qvfteFFnm3iYGCRO30hOhiNPcwXUk5dvAf8z47WqQQTOzIwX2 IyiDuir9eYr6T77+rOp/hdc2y7I7cNnN1VPpriJqkZUfUtd54vHu6jIHXD3fGO3/bTSH nb/55PCHGTniN6Q/4euLXjsbqlvzSTEjzgWO4sQkgHNcNdNRCaGy7I2Sb97SP/TD8rqE v99A== 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=dUNPIWp5WTSOCDKia5k+jXCL26J1A9hep40mE5FWQns=; b=CPBaWSDVsZyktlyaZ2fjhncoKcMLcfmxwuICp2Z+YzMLw9Jz6oGcNcJ6TegmdauBAa /jlzikyrEFpHgl7vDQLHzBMMFk2maSMSBChQZ+79GRBV7hSs8rk9NFC0Qh8NZCBv94RP wC8cgiGB2k7YzW1J4pMAwpkHkNuc7nm9gNMly09cNNb0eLtbV3AvngZkIO5P01c2IDNf qTx9fnUzFqmqHTody+b/vxlsvOVTQagtnSeE4Gwz1bAO0h70TEnbR9Jz6xThpt/7JmdB BXbWJAGrOXrLbJDrIsQb56Nu8b/ncYJkdAp7a+HVIJv1enJcIHRtmlOKOLydK+D5RTDW YC4w== X-Gm-Message-State: AO0yUKUr9Vnl4Askmx3GFTG3Gw/q2C/HePPP1YMzR9O0+32XlmIUW+aZ xPKIst9L4kijrMjdKR033BfcmQ== X-Received: by 2002:adf:ea08:0:b0:2bf:bab5:1284 with SMTP id q8-20020adfea08000000b002bfbab51284mr8649539wrm.63.1674818273939; Fri, 27 Jan 2023 03:17:53 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.17.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:17:53 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Michael Walle , Miquel Raynal , Rob Herring , Srinivas Kandagatla Subject: [PATCH 10/37] of: property: make #.*-cells optional for simple props Date: Fri, 27 Jan 2023 11:15:38 +0000 Message-Id: <20230127111605.25958-11-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174441081116986?= X-GMAIL-MSGID: =?utf-8?q?1756174441081116986?= From: Michael Walle Sometimes, future bindings for phandles will get additional arguments. Thus the target node of the phandle will need a new #.*-cells property. To be backwards compatible, this needs to be optional. Prepare the DEFINE_SIMPLE_PROPS() to handle the cells name as optional. Signed-off-by: Michael Walle Tested-by: Miquel Raynal Reviewed-by: Rob Herring Signed-off-by: Srinivas Kandagatla --- drivers/of/property.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/of/property.c b/drivers/of/property.c index 134cfc980b70..3043ca7735db 100644 --- a/drivers/of/property.c +++ b/drivers/of/property.c @@ -1256,8 +1256,8 @@ static struct device_node *parse_suffix_prop_cells(struct device_node *np, if (strcmp_suffix(prop_name, suffix)) return NULL; - if (of_parse_phandle_with_args(np, prop_name, cells_name, index, - &sup_args)) + if (__of_parse_phandle_with_args(np, prop_name, cells_name, 0, index, + &sup_args)) return NULL; return sup_args.np; From patchwork Fri Jan 27 11:15:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49197 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778296wrn; Fri, 27 Jan 2023 03:20:59 -0800 (PST) X-Google-Smtp-Source: AMrXdXst2jw7O9ENME2Y5AZo44Oof6bDOa85GBHIGjhw3iHF8TbI1bVLt7DNrqMa4dj3LNpVu/UU X-Received: by 2002:a17:90a:7802:b0:229:4a88:47de with SMTP id w2-20020a17090a780200b002294a8847demr39902174pjk.13.1674818458890; Fri, 27 Jan 2023 03:20:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818458; cv=none; d=google.com; s=arc-20160816; b=g0IGIOOyuK5QwXDMlz3M8vGo9IMEdvKoa3eFDK236jNLZsACB5XH9AuJybqo+6qIjS GkrwezMnvG08fB9eOrVBtgD45sJh4arFeh6ajCIm0kZ8yl52mCi/JiJzCvS4Y9tCnuNp fVoRWtsSqA5FaWOZKCgCAzb1g5ihmLekkPgJKZ9b9oOB0ZYPwttWL0cCauOVs0BCVwba sxhvHBViJ7vl3VLHEQMYcEKxmp11osAjQZP4mXw0CiJH/aRxz4uWd8kc6Zrq6DTX0i/7 8GX8nOuSObXD4ac9GFo2/L1yRQc3wkUCHvG77l+qC6Fox+m7bKT3zONi7rV9peWtSgBK ydgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Yih36DUTKHT+LMXkgGyjPXAz+nin4ZdW7iSqMcxFtIs=; b=A/8oHzGekdCMuZRjQeGL2q2/qKBrFMskzagC23Rnk6vjH+ollw1OWesKk7jNywyk/E 5DhiOndj9CFHpzxou5y7YnbMTyfi+8bkTnrHmxE0XU3C5G8tf9K/RIJn33NIuBXWkgsq IY17wmCFChBgifn66VictlQ232+5Wal+rUhncynpxuglMETqp7op/NhQbWN+tEySakpG F+KbjBPDFGK9k7SHdI2P00bWw1e1NSqdFUFsvQW5xQ7jxtbfW3Dq0DKtdwWcDYPmBnEH DC9d1z+gI7Pej4fFKj9agWTSPhAWYDiBnM88DydTAJ3tQrWpybJ6gBQILag5FG2uxrT+ Gj9g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=upDdyxb4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id m4-20020a17090a668400b0022c0672fb66si4449490pjj.62.2023.01.27.03.20.46; Fri, 27 Jan 2023 03:20:58 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=upDdyxb4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233022AbjA0LSe (ORCPT + 99 others); Fri, 27 Jan 2023 06:18:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56146 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231902AbjA0LSO (ORCPT ); Fri, 27 Jan 2023 06:18:14 -0500 Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com [IPv6:2a00:1450:4864:20::432]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8154C26A7 for ; Fri, 27 Jan 2023 03:17:55 -0800 (PST) Received: by mail-wr1-x432.google.com with SMTP id m7so4653020wru.8 for ; Fri, 27 Jan 2023 03:17:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=Yih36DUTKHT+LMXkgGyjPXAz+nin4ZdW7iSqMcxFtIs=; b=upDdyxb4DH4gqlG6+VPCvhbg99cUFdjm0GnXZOFDAsU55BLLhSYaU7xREglvFV2tcK Jo/P26FJ2Y5sR7HvkXR++BofjroQdOUBhQe1YuK7Hb1NvEf02HY9z/+wBZEvaN2gPQHe 15TrFUjX+iUaV7D8D2gt+99pDT6TZaxUdUvisMrwOcdl36PGf1jGw2lHapfNn+iumu/x mK4ume5XpvjnNX8e3ho7wQvluNOeyIRvsJZaUOJPq40LSVf6tasyqfaqbtlQfiaHKIQl 3PRTYJVreWR+Jh241CPYkBXNFR96wsujXy+zivtgzt12jI38++LwWxBMUwHlaPX205dH B6yw== 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=Yih36DUTKHT+LMXkgGyjPXAz+nin4ZdW7iSqMcxFtIs=; b=icg/zKnRgiTLvdc0b2qUkhyqu/huQiHp24T5M5faiOnKrV41Xcv2COXw6L+wpJ2jZM 2Kgfz08Z7a3NKusAuo3n6XwwPGWwi19W6B8QCcSAY/mqcf5Tu+joZqdJEx8l1JY4gWx6 GV04GK4fhjIGb1HxN7OFIPGnir57T+Ub3/xCJs/UJ0b/d9/bLCzIM6N29XotRJK+2HcZ l+c4s5KB9WgI6mHIqm2WEUdkAnB431KOteSPuWG9iiIj2yWS87kYHR5yqwBOeUJ+aDSc LBAWknb+DGVAxu+ldOkMh4TDgtbVABSnHPf8qOUJrR2sZCKEBwzoKwU8A6UPAJZar58h FfvQ== X-Gm-Message-State: AO0yUKUVmZTKENJA6wrXIlSpYbppgb+sli0dJ/DtxVScTQEOIm5A1jl6 T+eysQxXzPh8n22BSHMuiuKPKw== X-Received: by 2002:adf:ea08:0:b0:2bf:c403:c485 with SMTP id q8-20020adfea08000000b002bfc403c485mr5603510wrm.22.1674818275496; Fri, 27 Jan 2023 03:17:55 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.17.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:17:54 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Michael Walle , Miquel Raynal , Rob Herring , Srinivas Kandagatla Subject: [PATCH 11/37] of: property: add #nvmem-cell-cells property Date: Fri, 27 Jan 2023 11:15:39 +0000 Message-Id: <20230127111605.25958-12-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174440552286729?= X-GMAIL-MSGID: =?utf-8?q?1756174440552286729?= From: Michael Walle Bindings describe the new '#nvmem-cell-cells' property. Now that the arguments count property is optional, we just add this property to the nvmem-cells. Signed-off-by: Michael Walle Tested-by: Miquel Raynal Reviewed-by: Rob Herring Signed-off-by: Srinivas Kandagatla --- drivers/of/property.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/of/property.c b/drivers/of/property.c index 3043ca7735db..8d9ba20a8f90 100644 --- a/drivers/of/property.c +++ b/drivers/of/property.c @@ -1307,7 +1307,7 @@ DEFINE_SIMPLE_PROP(dmas, "dmas", "#dma-cells") DEFINE_SIMPLE_PROP(power_domains, "power-domains", "#power-domain-cells") DEFINE_SIMPLE_PROP(hwlocks, "hwlocks", "#hwlock-cells") DEFINE_SIMPLE_PROP(extcon, "extcon", NULL) -DEFINE_SIMPLE_PROP(nvmem_cells, "nvmem-cells", NULL) +DEFINE_SIMPLE_PROP(nvmem_cells, "nvmem-cells", "#nvmem-cell-cells") DEFINE_SIMPLE_PROP(phys, "phys", "#phy-cells") DEFINE_SIMPLE_PROP(wakeup_parent, "wakeup-parent", NULL) DEFINE_SIMPLE_PROP(pinctrl0, "pinctrl-0", NULL) From patchwork Fri Jan 27 11:15:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49212 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778673wrn; Fri, 27 Jan 2023 03:21:58 -0800 (PST) X-Google-Smtp-Source: AMrXdXvkq7gEaaiNdP8f56aJ3m2X7GgoAG2nnb92VVmh5nhGgnHEzQjdc39CFa5uC2gvpUl0MLay X-Received: by 2002:a05:6a20:8f02:b0:af:c871:bf4b with SMTP id b2-20020a056a208f0200b000afc871bf4bmr55295028pzk.26.1674818518364; Fri, 27 Jan 2023 03:21:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818518; cv=none; d=google.com; s=arc-20160816; b=szaCxyGTKddftoPDhzuvm+syIidLLzVoDqsZgDzVp+i0sFDt1wxzDYl5u6nqehZsfA EH1dtF81Kwq6/+k7hHkB3HeiUEm5Ly3VahP5vcuSNhczSkIyuQkS9Reig+Q1yNqkTxHi RWxk0ZtYOiitj4mJ0A9FPvO/x7urz9dO3fXgKlc9+4aglSIXTeZ/E4cOmml5HHHgP3re ZWGbQmTCd1qrUdLJbv8oUQ/N0/vWYI22+jwKzSbof70WMKAz8U4pagZhJoQZcS2be38F f6daOlaUzcVfEfSJwVtaJ7XvZ+BBiX7SPt1/dJAg8cQpMJh3xWEtywiSZy/U2TvMyP2x zqdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=JXDBpITirucrehQ9ezP0AqqR7r7iazhcEnMQ2xV42Tk=; b=niAGGpOMA6IKth4PbrZ45FQaFPCPvZRL3QDghWK+FmMUq0DKtBRIhsN0Dt5LZyBHhf G8ztWNwDrqYaaV/flenTaMj07OHiboDr4yyjCMihMOIRG2Pg/3TLuitD8zGS5ohgcDTn s12Y2ClI+Eiw+JevcPZ4qyb0swbZR+mxCfuJEFb9Hd7RdfxyfJRmvwjP10U3tPkR68oo yDzg5c0GiaAJYq+d4WbPnWQXui0mrUShIGmYTmDA8/bYPhLoAoKpxHsW0fv2xIc8aI4I NbJpwvoJtLa7rceZ4YvH6WyXnM4a3mqpx6S+jthZbE9dWMUN0lAVXurISI1uhFXCUFEj UxdA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=MnloLktP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bk13-20020a056a02028d00b004daa0768075si4064542pgb.237.2023.01.27.03.21.45; Fri, 27 Jan 2023 03:21:58 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=MnloLktP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232953AbjA0LSy (ORCPT + 99 others); Fri, 27 Jan 2023 06:18:54 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55744 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231923AbjA0LST (ORCPT ); Fri, 27 Jan 2023 06:18:19 -0500 Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com [IPv6:2a00:1450:4864:20::435]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BA32A5FD1 for ; Fri, 27 Jan 2023 03:17:59 -0800 (PST) Received: by mail-wr1-x435.google.com with SMTP id r2so4650216wrv.7 for ; Fri, 27 Jan 2023 03:17:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=JXDBpITirucrehQ9ezP0AqqR7r7iazhcEnMQ2xV42Tk=; b=MnloLktP+e1LIDl+8dThfcx/w8cwYl5xljhZ2MFFIVDr4+N2WpqBawCPSHsv4RU5+U 9nzSIl19yR9vJS096U2uj81E0UEhQQQz4X6YgWuSCWnKSn2j1ZdSg7WNFiInzcwLX/x8 TG703tIf0SAXfcpNv9WTv8NPOM38SB4S0tMR9kq/TvESlPUumdHpaj4IvO8+OCrT8C1L 7Wg1XiYMwlvT/L0sdsc82CA8J+Hwr+oorWyLvX806s877ATnYJ3p60XieqE3nJCGBeIb +Ljc77i9I6/ey5nEMNlfZE4iGzOzHj4pKFE0Wrhx9xcufjsFmi5pvlRZocNwiavjPnyr 63zw== 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=JXDBpITirucrehQ9ezP0AqqR7r7iazhcEnMQ2xV42Tk=; b=S/qTjp/gH51ICErVeGrLNptfT15gIFnBqV8MBkZe1uSjmBqKvNE6yPtVSzqH68NWty CyxWHKS6+bUQNmYNzU9kZOmr3MBR/Yl3DWzh6nsta3FXEpastxaK0oaoNexCPJc39Lf6 eip/gYzONnD9ejjGJN7ZRpmzKjn4U/UQxYcXtzrCqoVl4Z0Fxa2lrDkQ7FszwRyv5ljO Ba1nxLGkHoKKLS+i6MkptAo2VTwowo9yh/u3QuH6PEpUcsWqYiGMNPn1JOHtjkoLKBep zr8qHy7D9Om3ZEKfpUObYjl0aS+0R6gjNevQNci5ndx06TBg0XIM4wtzgU+tPSMJ9ENF 7QtA== X-Gm-Message-State: AFqh2koHzEdYfxt/DbqtbkqduKnY36NO82iybNxhhnhzitvSHfYrqo3l IfE9yyRBPX+HkydoJp2ELVPN2Q== X-Received: by 2002:a5d:4e10:0:b0:2be:7c8:ad49 with SMTP id p16-20020a5d4e10000000b002be07c8ad49mr31152962wrt.16.1674818276814; Fri, 27 Jan 2023 03:17:56 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.17.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:17:56 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Michael Walle , Srinivas Kandagatla Subject: [PATCH 12/37] nvmem: core: add an index parameter to the cell Date: Fri, 27 Jan 2023 11:15:40 +0000 Message-Id: <20230127111605.25958-13-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174502683430195?= X-GMAIL-MSGID: =?utf-8?q?1756174502683430195?= From: Michael Walle Sometimes a cell can represend multiple values. For example, a base ethernet address stored in the NVMEM can be expanded into multiple discreet ones by adding an offset. For this use case, introduce an index parameter which is then used to distiguish between values. This parameter will then be passed to the post process hook which can then use it to create different values during reading. At the moment, there is only support for the device tree path. You can add the index to the phandle, e.g. &net { nvmem-cells = <&base_mac_address 2>; nvmem-cell-names = "mac-address"; }; &nvmem_provider { base_mac_address: base-mac-address@0 { #nvmem-cell-cells = <1>; reg = <0 6>; }; }; Signed-off-by: Michael Walle Signed-off-by: Srinivas Kandagatla --- drivers/nvmem/core.c | 37 ++++++++++++++++++++++++---------- drivers/nvmem/imx-ocotp.c | 4 ++-- include/linux/nvmem-provider.h | 4 ++-- 3 files changed, 30 insertions(+), 15 deletions(-) diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index 233c6c275031..30567dd51fba 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -60,6 +60,7 @@ struct nvmem_cell_entry { struct nvmem_cell { struct nvmem_cell_entry *entry; const char *id; + int index; }; static DEFINE_MUTEX(nvmem_mutex); @@ -1122,7 +1123,8 @@ struct nvmem_device *devm_nvmem_device_get(struct device *dev, const char *id) } EXPORT_SYMBOL_GPL(devm_nvmem_device_get); -static struct nvmem_cell *nvmem_create_cell(struct nvmem_cell_entry *entry, const char *id) +static struct nvmem_cell *nvmem_create_cell(struct nvmem_cell_entry *entry, + const char *id, int index) { struct nvmem_cell *cell; const char *name = NULL; @@ -1141,6 +1143,7 @@ static struct nvmem_cell *nvmem_create_cell(struct nvmem_cell_entry *entry, cons cell->id = name; cell->entry = entry; + cell->index = index; return cell; } @@ -1179,7 +1182,7 @@ nvmem_cell_get_from_lookup(struct device *dev, const char *con_id) __nvmem_device_put(nvmem); cell = ERR_PTR(-ENOENT); } else { - cell = nvmem_create_cell(cell_entry, con_id); + cell = nvmem_create_cell(cell_entry, con_id, 0); if (IS_ERR(cell)) __nvmem_device_put(nvmem); } @@ -1227,15 +1230,27 @@ struct nvmem_cell *of_nvmem_cell_get(struct device_node *np, const char *id) struct nvmem_device *nvmem; struct nvmem_cell_entry *cell_entry; struct nvmem_cell *cell; + struct of_phandle_args cell_spec; int index = 0; + int cell_index = 0; + int ret; /* if cell name exists, find index to the name */ if (id) index = of_property_match_string(np, "nvmem-cell-names", id); - cell_np = of_parse_phandle(np, "nvmem-cells", index); - if (!cell_np) - return ERR_PTR(-ENOENT); + ret = of_parse_phandle_with_optional_args(np, "nvmem-cells", + "#nvmem-cell-cells", + index, &cell_spec); + if (ret) + return ERR_PTR(ret); + + if (cell_spec.args_count > 1) + return ERR_PTR(-EINVAL); + + cell_np = cell_spec.np; + if (cell_spec.args_count) + cell_index = cell_spec.args[0]; nvmem_np = of_get_parent(cell_np); if (!nvmem_np) { @@ -1257,7 +1272,7 @@ struct nvmem_cell *of_nvmem_cell_get(struct device_node *np, const char *id) return ERR_PTR(-ENOENT); } - cell = nvmem_create_cell(cell_entry, id); + cell = nvmem_create_cell(cell_entry, id, cell_index); if (IS_ERR(cell)) __nvmem_device_put(nvmem); @@ -1410,8 +1425,8 @@ static void nvmem_shift_read_buffer_in_place(struct nvmem_cell_entry *cell, void } static int __nvmem_cell_read(struct nvmem_device *nvmem, - struct nvmem_cell_entry *cell, - void *buf, size_t *len, const char *id) + struct nvmem_cell_entry *cell, + void *buf, size_t *len, const char *id, int index) { int rc; @@ -1425,7 +1440,7 @@ static int __nvmem_cell_read(struct nvmem_device *nvmem, nvmem_shift_read_buffer_in_place(cell, buf); if (nvmem->cell_post_process) { - rc = nvmem->cell_post_process(nvmem->priv, id, + rc = nvmem->cell_post_process(nvmem->priv, id, index, cell->offset, buf, cell->bytes); if (rc) return rc; @@ -1460,7 +1475,7 @@ void *nvmem_cell_read(struct nvmem_cell *cell, size_t *len) if (!buf) return ERR_PTR(-ENOMEM); - rc = __nvmem_cell_read(nvmem, cell->entry, buf, len, cell->id); + rc = __nvmem_cell_read(nvmem, cell->entry, buf, len, cell->id, cell->index); if (rc) { kfree(buf); return ERR_PTR(rc); @@ -1773,7 +1788,7 @@ ssize_t nvmem_device_cell_read(struct nvmem_device *nvmem, if (rc) return rc; - rc = __nvmem_cell_read(nvmem, &cell, buf, &len, NULL); + rc = __nvmem_cell_read(nvmem, &cell, buf, &len, NULL, 0); if (rc) return rc; diff --git a/drivers/nvmem/imx-ocotp.c b/drivers/nvmem/imx-ocotp.c index 14284e866f26..e9b52ecb3f72 100644 --- a/drivers/nvmem/imx-ocotp.c +++ b/drivers/nvmem/imx-ocotp.c @@ -222,8 +222,8 @@ static int imx_ocotp_read(void *context, unsigned int offset, return ret; } -static int imx_ocotp_cell_pp(void *context, const char *id, unsigned int offset, - void *data, size_t bytes) +static int imx_ocotp_cell_pp(void *context, const char *id, int index, + unsigned int offset, void *data, size_t bytes) { struct ocotp_priv *priv = context; diff --git a/include/linux/nvmem-provider.h b/include/linux/nvmem-provider.h index bb15c9234e21..55181d837969 100644 --- a/include/linux/nvmem-provider.h +++ b/include/linux/nvmem-provider.h @@ -20,8 +20,8 @@ typedef int (*nvmem_reg_read_t)(void *priv, unsigned int offset, typedef int (*nvmem_reg_write_t)(void *priv, unsigned int offset, void *val, size_t bytes); /* used for vendor specific post processing of cell data */ -typedef int (*nvmem_cell_post_process_t)(void *priv, const char *id, unsigned int offset, - void *buf, size_t bytes); +typedef int (*nvmem_cell_post_process_t)(void *priv, const char *id, int index, + unsigned int offset, void *buf, size_t bytes); enum nvmem_type { NVMEM_TYPE_UNKNOWN = 0, From patchwork Fri Jan 27 11:15:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49200 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778404wrn; Fri, 27 Jan 2023 03:21:14 -0800 (PST) X-Google-Smtp-Source: AMrXdXurqtvspOmU8/1OPuPtF6wqN1tARmJDiW0b134aLlcJb4+8+Ygtt/HbeGj7lb9nFEUZCnq8 X-Received: by 2002:a05:6a21:3290:b0:af:76da:1462 with SMTP id yt16-20020a056a21329000b000af76da1462mr54411925pzb.40.1674818474168; Fri, 27 Jan 2023 03:21:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818474; cv=none; d=google.com; s=arc-20160816; b=O88lSMKH9hReKIAlIN2csfa0RrtSCnwDlsgw1HIwWloKagThDMnA59Ld8SegbnCJmH YXi50KD7Bc4O4vVhdrIud06hDSRHYpf5NN/XD7WtLcc9ZF6kh+QQhpYtt/qmekX+vWAJ /0OpTrTz2H8tdG4BySsXphCObXxv0fTKGhE0lGTUeCwhBto3ajbVqvh//EpQgMxdr65Y 4GA1i41txdGGMgsHXIjS3mUQ5l3tKYJeW5OH/lkqQTaHvbwaYkzh5LgR8tsH7OvEZD+H UmoZMkT3u/8zkdRwngp+3uJDDYKaUgS7Y7MqrUgwSJsxTs4lSy2j4eWCZOEfFyGhQLD+ IPWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=nylkfILgKvlTwcBcSR4ZJEvoZ9v4elWH8Nq2L7mAsOo=; b=lcnV/Aw6LkCuIoyY+BRDnwGsTs+sXgdms4IkMgvWHExGb8Av5X4r2TxIgqOlf3Jwp4 I5N3k/gLikK5vPNsIdwon1APJietLWr+oXjzDWjI/L9cK+ZwtGQH78gGmtVnoYde28g3 3gSdBrpCyOI0X5sv8ZzmMB3x+ARq1F7ep95oxtPvAuqy6yyPb6tBrwOXujWEH+Y8vwXu WjiWT0GYnsVSvwwGayKThXve53xiGqv4qNA8TJAGIQRG7KvWTKF/Xp+1ASMD0jcjRPWu 2PC5tZzR/2an3Ib2TRgGxcLcUKJwu7FlnP26nzTD60vPmDZCUB5akNnzGz+pjny55Sz0 Hv8A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=qCd7YMgI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id o16-20020a656a50000000b0047839aeb6e4si4898842pgu.363.2023.01.27.03.20.52; Fri, 27 Jan 2023 03:21:14 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=qCd7YMgI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232369AbjA0LS5 (ORCPT + 99 others); Fri, 27 Jan 2023 06:18:57 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56310 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232048AbjA0LST (ORCPT ); Fri, 27 Jan 2023 06:18:19 -0500 Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com [IPv6:2a00:1450:4864:20::432]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CDA2B13D42 for ; Fri, 27 Jan 2023 03:17:59 -0800 (PST) Received: by mail-wr1-x432.google.com with SMTP id y1so4679617wru.2 for ; Fri, 27 Jan 2023 03:17:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=nylkfILgKvlTwcBcSR4ZJEvoZ9v4elWH8Nq2L7mAsOo=; b=qCd7YMgI533JAgYHWeT5mVBdd8oF5HyGTUwyhc1bBUD0HrOvrt1BByiix5iODd9wX0 g+leoTIGAEoM2LzRwOPfZHXW48iUWUv2bLhO3lo1Tq0jtuftz69ki/xxQmygCQkvQOgv nREs0YFPoUHGrKQro6z2UMLP9Qe4lg5Nm4xt8urN3u44zrkAajwcfPFZsAG4u1R8XyCM yct3c1nXqh7VG4IS5rYFja8vsflczMEhu8GE2Nfk4bBstcQex4kNaaALvHTbqogjWrPL 0vDKu31jvcbukd6TdvSm3vOH6vdEFPrXUURyYJ0WJefaYW+S8oglOGsx+ZbPMhMMI15U OM3g== 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=nylkfILgKvlTwcBcSR4ZJEvoZ9v4elWH8Nq2L7mAsOo=; b=dsw5P5x0PH5zHWAS/xOPHzpw7+95nsRMYmC56in66F8zpf3ORlXpWkpz2MLMNgMAwx yOFmQxXmBnYiafwKA6nyhzZqB4X/S9YXbNh1HFxIWR8am9mbCWWMqAqp+kZ9wvVoXK8D c9DRVGbjjs66KTJ1ueYR+VuTdoVl7nSCVh3vfIy7/gL6toaoJdz8SbrR3olNJZnGPTBz Zdv1EWsLfWgmMU116+rLMF8fqg1dS/LvzFW1csf8YUhrcnxNuwxaKXT7l1m05s59QF4j 3jN4+l4x016jU2v1pmeBjDpxu1L8dZVaoUSDfZkW284ih7xxnTq1e2uv0lb5M/rHBQcn SwMw== X-Gm-Message-State: AO0yUKVNB7rHx5RJcqEyxtCtry0PSCWVHepfmBliVyHZjgRcbEzvwC3i 1XuCThE7AHQ+YPpflkxRViCIIg== X-Received: by 2002:a5d:65c5:0:b0:2bf:c338:8673 with SMTP id e5-20020a5d65c5000000b002bfc3388673mr5625307wrw.41.1674818278015; Fri, 27 Jan 2023 03:17:58 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.17.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:17:57 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Michael Walle , Srinivas Kandagatla Subject: [PATCH 13/37] nvmem: core: move struct nvmem_cell_info to nvmem-provider.h Date: Fri, 27 Jan 2023 11:15:41 +0000 Message-Id: <20230127111605.25958-14-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174456558241821?= X-GMAIL-MSGID: =?utf-8?q?1756174456558241821?= From: Michael Walle struct nvmem_cell_info is used to describe a cell. Thus this should really be in the nvmem-provider's header. There are two (unused) nvmem access methods which use the nvmem_cell_info to describe the cell to be accesses. One can argue, that they will create a cell before accessing, thus they are both a provider and a consumer. struct nvmem_cell_info will get used more and more by nvmem-providers, don't force them to also include the consumer header, although they are not. Signed-off-by: Michael Walle Signed-off-by: Srinivas Kandagatla --- include/linux/nvmem-consumer.h | 10 +--------- include/linux/nvmem-provider.h | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/include/linux/nvmem-consumer.h b/include/linux/nvmem-consumer.h index 980f9c9ac0bc..1f62f7ba71ca 100644 --- a/include/linux/nvmem-consumer.h +++ b/include/linux/nvmem-consumer.h @@ -18,15 +18,7 @@ struct device_node; /* consumer cookie */ struct nvmem_cell; struct nvmem_device; - -struct nvmem_cell_info { - const char *name; - unsigned int offset; - unsigned int bytes; - unsigned int bit_offset; - unsigned int nbits; - struct device_node *np; -}; +struct nvmem_cell_info; /** * struct nvmem_cell_lookup - cell lookup entry diff --git a/include/linux/nvmem-provider.h b/include/linux/nvmem-provider.h index 55181d837969..a953a3a59535 100644 --- a/include/linux/nvmem-provider.h +++ b/include/linux/nvmem-provider.h @@ -14,7 +14,6 @@ #include struct nvmem_device; -struct nvmem_cell_info; typedef int (*nvmem_reg_read_t)(void *priv, unsigned int offset, void *val, size_t bytes); typedef int (*nvmem_reg_write_t)(void *priv, unsigned int offset, @@ -47,6 +46,24 @@ struct nvmem_keepout { unsigned char value; }; +/** + * struct nvmem_cell_info - NVMEM cell description + * @name: Name. + * @offset: Offset within the NVMEM device. + * @bytes: Length of the cell. + * @bit_offset: Bit offset if cell is smaller than a byte. + * @nbits: Number of bits. + * @np: Optional device_node pointer. + */ +struct nvmem_cell_info { + const char *name; + unsigned int offset; + unsigned int bytes; + unsigned int bit_offset; + unsigned int nbits; + struct device_node *np; +}; + /** * struct nvmem_config - NVMEM device configuration * From patchwork Fri Jan 27 11:15:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49199 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778307wrn; Fri, 27 Jan 2023 03:21:00 -0800 (PST) X-Google-Smtp-Source: AK7set8DSss6hDtH3W3Fbh+WaUvBXer5P99dwCCTkIV6qgE2zC/ldkujXcwLMcOIoIK1XD+evBkx X-Received: by 2002:aa7:9556:0:b0:592:6204:b0dc with SMTP id w22-20020aa79556000000b005926204b0dcmr2002612pfq.19.1674818459896; Fri, 27 Jan 2023 03:20:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818459; cv=none; d=google.com; s=arc-20160816; b=XwuEgHo3TkWLzscVtdnHdyNg5ULinF6Po8g8gVRfW5eitOSZfYX8Q+MzRsy+aVM+49 I9BxeapdVArBOja4lAGgp1hM3dRv0Xb01t/doxOsgyisXHuvAS/8PX8WnNCFR/owdycE jEj2IJMN+aYq9nudXs6v2D+8ZQDA5QAHcy/SudFHitBpq2z8yO1uTn3CKolBLQXkivul N4j0CE4O3RiTSmAy4255N474psH0Y3uXWOjF6V4sL+LmBr+HjHbnpkjrxRFOatYc9mHo CGvyZmtSnhKE4eqZ1lGS97Pr/1mkmpuUn+w6EMvLdqJ2mwQc2WExo3C2LjSeMtGIlsDw oZIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=IgWqiYoy7iTVqZHJ21rDyJ80SvbTnPhWOGsjkHQz9g4=; b=bmOJkRjsB0Pl7n3DJxQ41NCV6A8o22Y5oLt5otYO8eO1qvngUdcdNx4B6geF1qFOK0 kBJ/M4CVY0NnOSRKmOCwbNcr/Ks5wFuI/MeZNERip0CQ8az3GOINDN6LiBq+0ZYizsOe wiZZge0dXhkHozj7kasQgm5vSB5KPEnYxAn1mz5fYLhnh4cI2vRH0oBaymg76wOceeRI 56ULXoPknh2VjA40SUTr9vWTSSKq+BT+s0OFX9YqzLlFKIXqJN5a8nMRVi8EqgIuIJzW L1nJb0p3v2qG7AUxSIIyZy/pqC75O5jklmm5LVPuP3sRcv5LI/A56eHW6ziZsnmQXtxJ //WQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=VRUnwgrB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w14-20020a627b0e000000b0058d93049868si4241410pfc.310.2023.01.27.03.20.47; Fri, 27 Jan 2023 03:20:59 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=VRUnwgrB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231865AbjA0LSr (ORCPT + 99 others); Fri, 27 Jan 2023 06:18:47 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56580 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232301AbjA0LSb (ORCPT ); Fri, 27 Jan 2023 06:18:31 -0500 Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com [IPv6:2a00:1450:4864:20::429]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 679C5227A1 for ; Fri, 27 Jan 2023 03:18:01 -0800 (PST) Received: by mail-wr1-x429.google.com with SMTP id t18so4685565wro.1 for ; Fri, 27 Jan 2023 03:18:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=IgWqiYoy7iTVqZHJ21rDyJ80SvbTnPhWOGsjkHQz9g4=; b=VRUnwgrBI1wnBlm0Y8DRYgSNvYGL3m55l9zS/E/iiVt5sBopxU4Jp/2iL36QivrHsg UtyY1+CJgrN8xxUYntQ8VgL2KkVfVyDvpj1jNXAyHTgYYF8ANp55pmvrW57jiSbH/pwE 48J3hG8Jp2frFpeoMIBOIkgWJ2d/GvDykkxFzM7yGOWeJl1Phdb2Hc3YWfOaWVazqFb7 EONguCYiHWeF6U10sg8RSLjuNhveET/0PzfX7ceJ1yKIyxmMaY/uNFwr5I2YBx7vpqA0 YxMkkDtivywNFioof19DM3m32LjcG0FCZJce8IIW2v5tBjv/7IgkoLhw2xmIdpxljo6m /guA== 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=IgWqiYoy7iTVqZHJ21rDyJ80SvbTnPhWOGsjkHQz9g4=; b=3UaOeS+SiLXD55eEV58apwFUYCHSZZa2kx3sIrR+VSVu7hg9qhHcEfG8QefgIzqD3u pQ28ykt8yxUdRWgwWQm3qtcVKMo7VAcRKOrzkEF5Y1o9MDP84aI0S6fr4ItzdCdLWLG7 bHV+zV7Vz6ojWKR0jwPrAGEYAoMWIjwQfc2H5ixLdpVUoSsLb9jwDOb2RZk2wTDq+gI7 waXIIgPTcEe4NCKxKQzMb1WnSE/xobpX756+w3V5OgAsRKQ9KHLfBPvGiHHNidbsC0Jq fzxFcBroHkUL4X+xDc30LJ+c99JsVVJWjnV56W07R31S1hWFTsCosMtnOouhVTETGBf3 FVkA== X-Gm-Message-State: AFqh2kp23EGuWG9QXwFfgv4j5psgVmCDOEdJTBbKkp3ZvR72QAhke+Qp AYuEkEiywlWmUR8MGtk0SOTMJg== X-Received: by 2002:a05:6000:22d:b0:2bb:f46f:c136 with SMTP id l13-20020a056000022d00b002bbf46fc136mr30181374wrz.23.1674818279297; Fri, 27 Jan 2023 03:17:59 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.17.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:17:58 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Michael Walle , Srinivas Kandagatla Subject: [PATCH 14/37] nvmem: core: drop the removal of the cells in nvmem_add_cells() Date: Fri, 27 Jan 2023 11:15:42 +0000 Message-Id: <20230127111605.25958-15-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174441569244446?= X-GMAIL-MSGID: =?utf-8?q?1756174441569244446?= From: Michael Walle If nvmem_add_cells() fails, the whole nvmem_register() will fail and the cells will then be removed anyway. This is a preparation to introduce a nvmem_add_one_cell() which can then be used by nvmem_add_cells(). This is then the same to what nvmem_add_cells_from_table() and nvmem_add_cells_from_of() do. Signed-off-by: Michael Walle Signed-off-by: Srinivas Kandagatla --- drivers/nvmem/core.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index 30567dd51fba..98ae70695f36 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -515,7 +515,7 @@ static int nvmem_add_cells(struct nvmem_device *nvmem, int ncells) { struct nvmem_cell_entry **cells; - int i, rval; + int i, rval = 0; cells = kcalloc(ncells, sizeof(*cells), GFP_KERNEL); if (!cells) @@ -525,28 +525,22 @@ static int nvmem_add_cells(struct nvmem_device *nvmem, cells[i] = kzalloc(sizeof(**cells), GFP_KERNEL); if (!cells[i]) { rval = -ENOMEM; - goto err; + goto out; } rval = nvmem_cell_info_to_nvmem_cell_entry(nvmem, &info[i], cells[i]); if (rval) { kfree(cells[i]); - goto err; + goto out; } nvmem_cell_entry_add(cells[i]); } +out: /* remove tmp array */ kfree(cells); - return 0; -err: - while (i--) - nvmem_cell_entry_drop(cells[i]); - - kfree(cells); - return rval; } From patchwork Fri Jan 27 11:15:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49219 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778722wrn; Fri, 27 Jan 2023 03:22:04 -0800 (PST) X-Google-Smtp-Source: AK7set9iOcELZ2sm2NIAtrQh1AYZxwzYglDg9cpPV6o1iPrE/88MqShjlXpO89eZ0VCRBceZ6RZh X-Received: by 2002:a17:90b:388e:b0:22c:1920:27e5 with SMTP id mu14-20020a17090b388e00b0022c192027e5mr6073330pjb.41.1674818524556; Fri, 27 Jan 2023 03:22:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818524; cv=none; d=google.com; s=arc-20160816; b=F0mDbCODPEJZZ/5pcVupN20qJ0u55M1KFjJfO6X4PLRiODiCt1lENv2PXQtQ/Nqien kJ3jBR+sP7zg2ap+c5sEVawxEzSvhXqqOV56p5i6LkpcketXDWUhoi+sgYUWDfuq/9vF svWZ20cJHT+JRb+ih8BEFvzdDSOIi/ipbd6CIXauzx3dObKtkyrCMyRC+tpkBdJRQT93 cMB5xSCsLorISerhOi779D4jCkkFxXDP5I/pMmiCUP0wyUU9pfDuh6Bqk0ed3vnPxKKZ RpYCN8IxU4vz8jqM69kj/1QVEE+8tuxL35axZr4E1k5dBTx55PpCFhaFn1RKaL+xkDBa X0/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=RiCtgga95+oBIC2lKHYt0aFS1kvbxISlsHgDAHK16wM=; b=q3GUaWiJ+8b0wAWJwmJ32i8tm/vAzKi4QDlH0QQVX+BPWmo4rdpHHgzpsmjDcEHyIW 6QCrCbRjegWIIH4tHQLFtYcTgDnVxFFocWIDtWpsUj6vdLjplL1G+IHsnWN04i6fIaKN Q+oddCTbvG1cRnnRKv932XHEkProcafShfGH2/m+vNkP71iQr2NT1HajCIyRaXFHcbAg ms2ZUVgH0QsvVENy9XLdLzMrn0Qyv6YK8iHou6RhpRRLWhrIegdk8wYuI4RGW5fOrsmx DrVZdjO8T8uLz6pRifCaV5GBMv5WmVJJ2sP7QxnGkv7+UgAn24O7JmzsXSSek5igH2so jDFA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Le2aoPmh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u12-20020a17090a4bcc00b00219f65e19fcsi7956727pjl.170.2023.01.27.03.21.51; Fri, 27 Jan 2023 03:22:04 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Le2aoPmh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232181AbjA0LSu (ORCPT + 99 others); Fri, 27 Jan 2023 06:18:50 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56466 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232285AbjA0LSY (ORCPT ); Fri, 27 Jan 2023 06:18:24 -0500 Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F1586E06B for ; Fri, 27 Jan 2023 03:18:02 -0800 (PST) Received: by mail-wr1-x42e.google.com with SMTP id b7so4677640wrt.3 for ; Fri, 27 Jan 2023 03:18:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=RiCtgga95+oBIC2lKHYt0aFS1kvbxISlsHgDAHK16wM=; b=Le2aoPmh5jAonw9gud3H2OPhixp3bN8sx3gCJWsnRC45dfKAScx9lJcIbLUdjCBOID vEEIDQ4Q6+BUTStj0P/zLq7UZRsNe51DDFBsZ3Hppndg3f7D6RxoNG4WiPo/wV84ZIYT YMwlx2d07RlPGor446UoN6C0zradKcN7b4Mqa6wt4rciin1bIgJgpQDLt24pEo3/w08E py8L1/o7ZNDQwtD0m+Njixzo6QkJuLQ+5ISmMjCXLUkGIJzLT4nrUXEls1/R1o4HoOJ0 IH+MBRqd+S+En7IEM7HmKUu2sPrg2Yc6KipUMJnc1xNI1YckPfBqMgMmdwDJ6kfz09xg /6lg== 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=RiCtgga95+oBIC2lKHYt0aFS1kvbxISlsHgDAHK16wM=; b=A7/IpY9i7ECVtZXagxMY0kAKQYrRSwqtOhpAXhybrrf6e2HXXmpUuWbSs5YptfrhY4 tRtoid9QnPQWxsSNOu2jxpI36gWOmJ5NZUJtnUGTudmTITkXK3a4q089J2Xxh88EAj10 XpL9B28VRupdA7jHQgK+GqJntlTXmv6F9e37Fz2H5DKAgRTgJJGIDaa8TyV/M52vENop fNP5w5wlhSL4Kj9TOF6r6EsKT6lOiZvin9D+l5rIUWM5liUI3LG6pg5X5F9McL663e/G Fh+PD5EnYwFeTK1+QdAuDuwDXECqJVop9WGLrBo+xpbww8kR7r7geIMPTHcSUtIUd/OK /qZw== X-Gm-Message-State: AFqh2kqy7QP+hrUVD/NDSNMCMGeVObvdTqXCKxX1p7dSctRak54zF2BR TRXz561kF2oXG/9pcwAYWHejyA== X-Received: by 2002:a5d:6b0e:0:b0:2be:d03:287 with SMTP id v14-20020a5d6b0e000000b002be0d030287mr34462049wrw.44.1674818280558; Fri, 27 Jan 2023 03:18:00 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.17.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:17:59 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Michael Walle , Srinivas Kandagatla Subject: [PATCH 15/37] nvmem: core: add nvmem_add_one_cell() Date: Fri, 27 Jan 2023 11:15:43 +0000 Message-Id: <20230127111605.25958-16-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174509225368746?= X-GMAIL-MSGID: =?utf-8?q?1756174509225368746?= From: Michael Walle Add a new function to add exactly one cell. This will be used by the nvmem layout drivers to add custom cells. In contrast to the nvmem_add_cells(), this has the advantage that we don't have to assemble a list of cells on runtime. Signed-off-by: Michael Walle Signed-off-by: Srinivas Kandagatla --- drivers/nvmem/core.c | 59 ++++++++++++++++++++-------------- include/linux/nvmem-provider.h | 8 +++++ 2 files changed, 43 insertions(+), 24 deletions(-) diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index 98ae70695f36..58f8e33e7a8c 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -501,6 +501,36 @@ static int nvmem_cell_info_to_nvmem_cell_entry(struct nvmem_device *nvmem, return 0; } +/** + * nvmem_add_one_cell() - Add one cell information to an nvmem device + * + * @nvmem: nvmem device to add cells to. + * @info: nvmem cell info to add to the device + * + * Return: 0 or negative error code on failure. + */ +int nvmem_add_one_cell(struct nvmem_device *nvmem, + const struct nvmem_cell_info *info) +{ + struct nvmem_cell_entry *cell; + int rval; + + cell = kzalloc(sizeof(*cell), GFP_KERNEL); + if (!cell) + return -ENOMEM; + + rval = nvmem_cell_info_to_nvmem_cell_entry(nvmem, info, cell); + if (rval) { + kfree(cell); + return rval; + } + + nvmem_cell_entry_add(cell); + + return 0; +} +EXPORT_SYMBOL_GPL(nvmem_add_one_cell); + /** * nvmem_add_cells() - Add cell information to an nvmem device * @@ -514,34 +544,15 @@ static int nvmem_add_cells(struct nvmem_device *nvmem, const struct nvmem_cell_info *info, int ncells) { - struct nvmem_cell_entry **cells; - int i, rval = 0; - - cells = kcalloc(ncells, sizeof(*cells), GFP_KERNEL); - if (!cells) - return -ENOMEM; + int i, rval; for (i = 0; i < ncells; i++) { - cells[i] = kzalloc(sizeof(**cells), GFP_KERNEL); - if (!cells[i]) { - rval = -ENOMEM; - goto out; - } - - rval = nvmem_cell_info_to_nvmem_cell_entry(nvmem, &info[i], cells[i]); - if (rval) { - kfree(cells[i]); - goto out; - } - - nvmem_cell_entry_add(cells[i]); + rval = nvmem_add_one_cell(nvmem, &info[i]); + if (rval) + return rval; } -out: - /* remove tmp array */ - kfree(cells); - - return rval; + return 0; } /** diff --git a/include/linux/nvmem-provider.h b/include/linux/nvmem-provider.h index a953a3a59535..0262b86194eb 100644 --- a/include/linux/nvmem-provider.h +++ b/include/linux/nvmem-provider.h @@ -153,6 +153,9 @@ struct nvmem_device *devm_nvmem_register(struct device *dev, void nvmem_add_cell_table(struct nvmem_cell_table *table); void nvmem_del_cell_table(struct nvmem_cell_table *table); +int nvmem_add_one_cell(struct nvmem_device *nvmem, + const struct nvmem_cell_info *info); + #else static inline struct nvmem_device *nvmem_register(const struct nvmem_config *c) @@ -170,6 +173,11 @@ devm_nvmem_register(struct device *dev, const struct nvmem_config *c) static inline void nvmem_add_cell_table(struct nvmem_cell_table *table) {} static inline void nvmem_del_cell_table(struct nvmem_cell_table *table) {} +static inline int nvmem_add_one_cell(struct nvmem_device *nvmem, + const struct nvmem_cell_info *info) +{ + return -EOPNOTSUPP; +} #endif /* CONFIG_NVMEM */ #endif /* ifndef _LINUX_NVMEM_PROVIDER_H */ From patchwork Fri Jan 27 11:15:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49208 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778628wrn; Fri, 27 Jan 2023 03:21:52 -0800 (PST) X-Google-Smtp-Source: AK7set9aAkktrAL41uMHZaI2bE76wqHgdiJpqF2v0S8X4cJ5/tuyIJFKfYexnaXJ0Nk9j/xuS6GZ X-Received: by 2002:a05:6a20:8429:b0:bc:42f9:6b21 with SMTP id c41-20020a056a20842900b000bc42f96b21mr2003640pzd.15.1674818511874; Fri, 27 Jan 2023 03:21:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818511; cv=none; d=google.com; s=arc-20160816; b=Ut8P49zrzDgRu9W/i61ROxmUcwDbpxpfZ6jNVXTCAJxnwH45inQ5neUOdv+wQNtuLk dBzRYiCpDR00xfykp46JS4AzND1MXoYosPUUBUhdoPyMuv+HztrsyJolo+uKVcLqfLdq NcT9i6vX+i2u12E/n+GJESd1DAOgg41Z5LSAAeb++x2VOnVoGYzlNtCkygpTZrkzddau sq/ky1Cd/U32IpE1w0IWTkCKkwuhi1EjRLrZqm1MWWdNcvzF8iJHhA3YAeQmo77fTaFz 5H5dssfAeowulVXFC/Eawl9+8PUI7o7dNkF/zUCPhURVJRIRJtqsEyth5l+uyxDMthnG xROQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=GuTt71lD8B/n2u59N4cGLt6TG19xWq8/kXTRq4dBA90=; b=jXJ/h9lVpJ4m2ZSAGS27yAfgSEvsDCzctZgxedQgprmsmNkTsbqHYNZ/E8l87/c/GW 00fEaVYCSntQm6jrTQO4cgoav8GLU9/KTZ1hIGr/kGfOVQzqh2Cf9P+iOk820yGScZwk kUIdmAdHMqqe7FMU1KPuW9qOKTIP/20iIAD+qTjJCFGuaWxktxUJybVzqvXN+XsBJhqU JyM3D4Vlqy6xduGzGU2oWnsTqZZ/wNjXioQQisCLw6GA191opgFk8bAP9JI454og2CQz 5OldXX5afl0HWqcZtn6dIxQIGRsj9HbdKecb38sHFc9Er0H+Q+X4beqg0Px6F8QDb79f Dd1A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=TggSNnmO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q23-20020a656a97000000b004dab94e3f03si3848510pgu.758.2023.01.27.03.21.39; Fri, 27 Jan 2023 03:21:51 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=TggSNnmO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232910AbjA0LTF (ORCPT + 99 others); Fri, 27 Jan 2023 06:19:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56622 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232006AbjA0LSc (ORCPT ); Fri, 27 Jan 2023 06:18:32 -0500 Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com [IPv6:2a00:1450:4864:20::434]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 273B312047 for ; Fri, 27 Jan 2023 03:18:05 -0800 (PST) Received: by mail-wr1-x434.google.com with SMTP id bk16so4640929wrb.11 for ; Fri, 27 Jan 2023 03:18:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=GuTt71lD8B/n2u59N4cGLt6TG19xWq8/kXTRq4dBA90=; b=TggSNnmO+S1xOyxL1gxoWnyoTzZApGY8ER4pOfOMvOADbyJrozqByVmDDVsOGFLDOM faQ5f9MiZJf9uayk8NZUWxELptgHvTKGLgsjEJsXBO9L6I/0QDU1kv7HGOnDQyRDxKXB /kXu45KekG3U8s5tEQRB8l/6UslB+HBgeYDmQlEkahsje4cszCxWku6bojwSMg63GLyi JiZkVav4vecsnURvB8hb6mUZTls48xorQTzPaHvRJRojzBjLVhtDRxMKT3i0e3UjCkuP fik+39hxUpANsiBkqB/Aj0Isq+oUMV0Kr4octLnyvj+NEie/JIM5/Wcr5OfCQuSRaBYV L7Sw== 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=GuTt71lD8B/n2u59N4cGLt6TG19xWq8/kXTRq4dBA90=; b=4e7kMaTAnxjrVujVsTj8sgAwIJvV/PG7H+vKnhzXAb8pHPDwfLlY41e4kXkyQRk8TK KtsuSlEJHmBDnl8GE/7iG8CFQWtlWtgJIMssPIweQDmXxdCTKxWFXaYIpY8KLVib+5iS W9z07Wd/EKCQAEoyfAe3YqiCkHvC5ke54cY5TMQLt6j8hvUoBeq7jfZtIXfsHWInxFe3 72Pq6D2lA7cpHZLMtG7+8cN9BQpewSpOqqm1mzLRFXdLu0TGh0zU0pD3xWxB5I732eUN ObndbaRosSn7u5Nu+Up8gC1idr7JA6ZZ6WdM2QjUj/YJo9gJ1Csh0lslIlHnPyrrP8ld +pMA== X-Gm-Message-State: AO0yUKV1Le+DVsy98GP+5e/bBNSY1/0InNt1XG+Ko74ARIhwUdqNfjV+ LzETMSzOd0jZnWxI9nLmIISHEKsrC/I5dwSD X-Received: by 2002:adf:f841:0:b0:2bf:d686:c873 with SMTP id d1-20020adff841000000b002bfd686c873mr833937wrq.28.1674818281756; Fri, 27 Jan 2023 03:18:01 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.18.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:18:01 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Michael Walle , Srinivas Kandagatla Subject: [PATCH 16/37] nvmem: core: use nvmem_add_one_cell() in nvmem_add_cells_from_of() Date: Fri, 27 Jan 2023 11:15:44 +0000 Message-Id: <20230127111605.25958-17-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174495559355562?= X-GMAIL-MSGID: =?utf-8?q?1756174495559355562?= From: Michael Walle Convert nvmem_add_cells_from_of() to use the new nvmem_add_one_cell(). This will remove duplicate code and it will make it possible to add a hook to a nvmem layout in between, which can change fields before the cell is finally added. Signed-off-by: Michael Walle Signed-off-by: Srinivas Kandagatla --- drivers/nvmem/core.c | 45 ++++++++++++++------------------------------ 1 file changed, 14 insertions(+), 31 deletions(-) diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index 58f8e33e7a8c..174ef3574e07 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -688,15 +688,14 @@ static int nvmem_validate_keepouts(struct nvmem_device *nvmem) static int nvmem_add_cells_from_of(struct nvmem_device *nvmem) { - struct device_node *parent, *child; struct device *dev = &nvmem->dev; - struct nvmem_cell_entry *cell; + struct device_node *child; const __be32 *addr; - int len; + int len, ret; - parent = dev->of_node; + for_each_child_of_node(dev->of_node, child) { + struct nvmem_cell_info info = {0}; - for_each_child_of_node(parent, child) { addr = of_get_property(child, "reg", &len); if (!addr) continue; @@ -706,40 +705,24 @@ static int nvmem_add_cells_from_of(struct nvmem_device *nvmem) return -EINVAL; } - cell = kzalloc(sizeof(*cell), GFP_KERNEL); - if (!cell) { - of_node_put(child); - return -ENOMEM; - } - - cell->nvmem = nvmem; - cell->offset = be32_to_cpup(addr++); - cell->bytes = be32_to_cpup(addr); - cell->name = kasprintf(GFP_KERNEL, "%pOFn", child); + info.offset = be32_to_cpup(addr++); + info.bytes = be32_to_cpup(addr); + info.name = kasprintf(GFP_KERNEL, "%pOFn", child); addr = of_get_property(child, "bits", &len); if (addr && len == (2 * sizeof(u32))) { - cell->bit_offset = be32_to_cpup(addr++); - cell->nbits = be32_to_cpup(addr); + info.bit_offset = be32_to_cpup(addr++); + info.nbits = be32_to_cpup(addr); } - if (cell->nbits) - cell->bytes = DIV_ROUND_UP( - cell->nbits + cell->bit_offset, - BITS_PER_BYTE); + info.np = of_node_get(child); - if (!IS_ALIGNED(cell->offset, nvmem->stride)) { - dev_err(dev, "cell %s unaligned to nvmem stride %d\n", - cell->name, nvmem->stride); - /* Cells already added will be freed later. */ - kfree_const(cell->name); - kfree(cell); + ret = nvmem_add_one_cell(nvmem, &info); + kfree(info.name); + if (ret) { of_node_put(child); - return -EINVAL; + return ret; } - - cell->np = of_node_get(child); - nvmem_cell_entry_add(cell); } return 0; From patchwork Fri Jan 27 11:15:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49211 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778659wrn; Fri, 27 Jan 2023 03:21:56 -0800 (PST) X-Google-Smtp-Source: AK7set8kbaxLxbviG3R9KrQ53ovAmYQAr75yjHm1Hx4+BNOVj466ZFWicEV3v7EEuQxxfFVIC3t9 X-Received: by 2002:a05:6a20:158c:b0:bc:471e:b8fa with SMTP id h12-20020a056a20158c00b000bc471eb8famr1550522pzj.48.1674818516402; Fri, 27 Jan 2023 03:21:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818516; cv=none; d=google.com; s=arc-20160816; b=bVyx5C0NNcybbOJPfQZACOa8hw2ewS9D1Wyb4ozfiydPghfN6UNdF6oTbLwNOSXL51 N8v85PZZHxIVe4UabsW4Yhu8jUQBqpkGUx9FaqwyRdTB8E9Euxf8PLshQnPSIg0h59Y2 kns7a+j6JXWUPMRUK0ofKjmgaLnB/G9WhaUGQKdNvcG5YeLv4evgd8+0ifqcGJXQdVoz 7i3CZlw1Mgkm8uqwvLNqKpDsvqKlJ8vl8R5yx9Q6cXd2m9V5sCUcwBGy6XPam3UwrkPG PFGMnM3zsdzexlHkRWGpsnpjD77XIHh/DsX2cx61vXcg121712BDJjsZuS9h7olbDOO2 uMiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=LQ3xqq9ri4sdCK+2+MwS0GLKNg4Uj24vweXIgq6mgJI=; b=mahyytErBTYrkiyfbH3EMqxqm2wqDjM3h7tXgY2GeThhcWQGgR6h9Ictx7SI1VWbUg Ijb1fSWoASuRzd79kgEENfvdEkCVf3QtL6QkYfyyj1Sqcy6MCt/016FD678/kECuwtYq b4X6vewriPKBVaMG82EQ/Ns/G3h2T9B0B3TB+PSQ9gfYEl7AlylKPPCUewRLt9prKROZ dd5kUDOTygGIsnZW8H/lnql3fyLrI5v1lNX/Wst4LVErEYgUG5uStAEaLJmhY881bUnd I3oG4CAMTSNRWMc4M86dSgzc2skMK+LUwFlHVD29dxtxD2t3jL/3h7ds/zJQND9q0fyY jyqA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GUW483sR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i11-20020aa796eb000000b0058c57e2d56bsi4184772pfq.318.2023.01.27.03.21.44; Fri, 27 Jan 2023 03:21:56 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GUW483sR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233083AbjA0LTN (ORCPT + 99 others); Fri, 27 Jan 2023 06:19:13 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56644 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233019AbjA0LSe (ORCPT ); Fri, 27 Jan 2023 06:18:34 -0500 Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com [IPv6:2a00:1450:4864:20::431]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0737C37F0F for ; Fri, 27 Jan 2023 03:18:07 -0800 (PST) Received: by mail-wr1-x431.google.com with SMTP id r2so4650481wrv.7 for ; Fri, 27 Jan 2023 03:18:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=LQ3xqq9ri4sdCK+2+MwS0GLKNg4Uj24vweXIgq6mgJI=; b=GUW483sRKFwOMIhd7vVHAW0LaM2hH5+OUHim7ZOQkbkGic+UFKEgK0TwhKv/1rYLp2 OX1trygX/9frMeqGNC7ul5xJfuwczKHDL6IM1bqbPSHHwfz7IsmBAPnip+7/3pG7nsvG d4A7R8w10V2yaBrBF2Kd1XnlXm+mku+SDfZswYnH8TOkFbqBBwcr4iOIyfpLx3oZEYbB WcBtimfQyW9hpAtfIW8p/pDAr0JnkcEfS3wasir2ZVoxIx6BXugn4tLJGfo7ptnH2ogM PsI81mZ6VE31rprkSzBbvr+zlN9V0HWgbF6zrNYFuR/IZ9Qzvd4czs0/kT/aJwuNPuPk QfDA== 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=LQ3xqq9ri4sdCK+2+MwS0GLKNg4Uj24vweXIgq6mgJI=; b=QyRZNMwp4xHhIMtbGpwXqCQnTXYAvCgll5nv3WZXqcWa/dY1MG9Oi4sjCHLdBe0gey z6lKzW2HQkgDCA1deJcv3AX5FR5C/ZNVc4Bt7IqosvzvF9WwhIkXBK9lggRCO7gAaydT qId6cy3+nc6dLfXjow3xzjF3CvP7VvG9Gy2UpHYIvZUT8BK/x+Iv011aYKfCK7omtbZV bj8JI0FYIidNDak8xmmIPwwq6T/6GXn2OykDZUT4XtPSixEwsdf7dwexVd7KDtFFQ43S hv+rwEk60scrckzd0N5U3boVTjuq+dO0bjsUdrSPTGkopJ7enJ0DddMgxJBOkPL4AaRd ooxA== X-Gm-Message-State: AFqh2koFs5KFtQDzVSPjSfkV6fBSKBeFGrYTLX34XildpTZTLPPKpTGi AFXkevTTlCFepKYO5jStOWB9jA== X-Received: by 2002:a05:6000:388:b0:2bd:dc0f:5ee5 with SMTP id u8-20020a056000038800b002bddc0f5ee5mr41758364wrf.22.1674818283148; Fri, 27 Jan 2023 03:18:03 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.18.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:18:02 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Michael Walle , Miquel Raynal , Srinivas Kandagatla Subject: [PATCH 17/37] nvmem: core: introduce NVMEM layouts Date: Fri, 27 Jan 2023 11:15:45 +0000 Message-Id: <20230127111605.25958-18-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174500496550318?= X-GMAIL-MSGID: =?utf-8?q?1756174500496550318?= From: Michael Walle NVMEM layouts are used to generate NVMEM cells during runtime. Think of an EEPROM with a well-defined conent. For now, the content can be described by a device tree or a board file. But this only works if the offsets and lengths are static and don't change. One could also argue that putting the layout of the EEPROM in the device tree is the wrong place. Instead, the device tree should just have a specific compatible string. Right now there are two use cases: (1) The NVMEM cell needs special processing. E.g. if it only specifies a base MAC address offset and you need to add an offset, or it needs to parse a MAC from ASCII format or some proprietary format. (Post processing of cells is added in a later commit). (2) u-boot environment parsing. The cells don't have a particular offset but it needs parsing the content to determine the offsets and length. Co-developed-by: Miquel Raynal Signed-off-by: Miquel Raynal Signed-off-by: Michael Walle Signed-off-by: Srinivas Kandagatla --- Documentation/driver-api/nvmem.rst | 15 ++++ drivers/nvmem/Kconfig | 4 + drivers/nvmem/Makefile | 1 + drivers/nvmem/core.c | 118 +++++++++++++++++++++++++++++ drivers/nvmem/layouts/Kconfig | 5 ++ drivers/nvmem/layouts/Makefile | 4 + include/linux/nvmem-consumer.h | 7 ++ include/linux/nvmem-provider.h | 51 +++++++++++++ 8 files changed, 205 insertions(+) create mode 100644 drivers/nvmem/layouts/Kconfig create mode 100644 drivers/nvmem/layouts/Makefile diff --git a/Documentation/driver-api/nvmem.rst b/Documentation/driver-api/nvmem.rst index e3366322d46c..de221e91c8e3 100644 --- a/Documentation/driver-api/nvmem.rst +++ b/Documentation/driver-api/nvmem.rst @@ -185,3 +185,18 @@ ex:: ===================== See Documentation/devicetree/bindings/nvmem/nvmem.txt + +8. NVMEM layouts +================ + +NVMEM layouts are yet another mechanism to create cells. With the device +tree binding it is possible to specify simple cells by using an offset +and a length. Sometimes, the cells doesn't have a static offset, but +the content is still well defined, e.g. tag-length-values. In this case, +the NVMEM device content has to be first parsed and the cells need to +be added accordingly. Layouts let you read the content of the NVMEM device +and let you add cells dynamically. + +Another use case for layouts is the post processing of cells. With layouts, +it is possible to associate a custom post processing hook to a cell. It +even possible to add this hook to cells not created by the layout itself. diff --git a/drivers/nvmem/Kconfig b/drivers/nvmem/Kconfig index 755f551426b5..0e10b5b094b9 100644 --- a/drivers/nvmem/Kconfig +++ b/drivers/nvmem/Kconfig @@ -21,6 +21,10 @@ config NVMEM_SYSFS This interface is mostly used by userspace applications to read/write directly into nvmem. +# Layouts + +source "drivers/nvmem/layouts/Kconfig" + # Devices config NVMEM_APPLE_EFUSES diff --git a/drivers/nvmem/Makefile b/drivers/nvmem/Makefile index fa80fe17e567..4cf87ef6c24d 100644 --- a/drivers/nvmem/Makefile +++ b/drivers/nvmem/Makefile @@ -5,6 +5,7 @@ obj-$(CONFIG_NVMEM) += nvmem_core.o nvmem_core-y := core.o +obj-y += layouts/ # Devices obj-$(CONFIG_NVMEM_APPLE_EFUSES) += nvmem-apple-efuses.o diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index 174ef3574e07..d2c427c5ebc6 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -40,6 +40,7 @@ struct nvmem_device { nvmem_reg_write_t reg_write; nvmem_cell_post_process_t cell_post_process; struct gpio_desc *wp_gpio; + struct nvmem_layout *layout; void *priv; }; @@ -74,6 +75,9 @@ static LIST_HEAD(nvmem_lookup_list); static BLOCKING_NOTIFIER_HEAD(nvmem_notifier); +static DEFINE_SPINLOCK(nvmem_layout_lock); +static LIST_HEAD(nvmem_layouts); + static int __nvmem_reg_read(struct nvmem_device *nvmem, unsigned int offset, void *val, size_t bytes) { @@ -728,6 +732,99 @@ static int nvmem_add_cells_from_of(struct nvmem_device *nvmem) return 0; } +int __nvmem_layout_register(struct nvmem_layout *layout, struct module *owner) +{ + layout->owner = owner; + + spin_lock(&nvmem_layout_lock); + list_add(&layout->node, &nvmem_layouts); + spin_unlock(&nvmem_layout_lock); + + return 0; +} +EXPORT_SYMBOL_GPL(__nvmem_layout_register); + +void nvmem_layout_unregister(struct nvmem_layout *layout) +{ + spin_lock(&nvmem_layout_lock); + list_del(&layout->node); + spin_unlock(&nvmem_layout_lock); +} +EXPORT_SYMBOL_GPL(nvmem_layout_unregister); + +static struct nvmem_layout *nvmem_layout_get(struct nvmem_device *nvmem) +{ + struct device_node *layout_np, *np = nvmem->dev.of_node; + struct nvmem_layout *l, *layout = NULL; + + layout_np = of_get_child_by_name(np, "nvmem-layout"); + if (!layout_np) + return NULL; + + spin_lock(&nvmem_layout_lock); + + list_for_each_entry(l, &nvmem_layouts, node) { + if (of_match_node(l->of_match_table, layout_np)) { + if (try_module_get(l->owner)) + layout = l; + + break; + } + } + + spin_unlock(&nvmem_layout_lock); + of_node_put(layout_np); + + return layout; +} + +static void nvmem_layout_put(struct nvmem_layout *layout) +{ + if (layout) + module_put(layout->owner); +} + +static int nvmem_add_cells_from_layout(struct nvmem_device *nvmem) +{ + struct nvmem_layout *layout = nvmem->layout; + int ret; + + if (layout && layout->add_cells) { + ret = layout->add_cells(&nvmem->dev, nvmem, layout); + if (ret) + return ret; + } + + return 0; +} + +#if IS_ENABLED(CONFIG_OF) +/** + * of_nvmem_layout_get_container() - Get OF node to layout container. + * + * @nvmem: nvmem device. + * + * Return: a node pointer with refcount incremented or NULL if no + * container exists. Use of_node_put() on it when done. + */ +struct device_node *of_nvmem_layout_get_container(struct nvmem_device *nvmem) +{ + return of_get_child_by_name(nvmem->dev.of_node, "nvmem-layout"); +} +EXPORT_SYMBOL_GPL(of_nvmem_layout_get_container); +#endif + +const void *nvmem_layout_get_match_data(struct nvmem_device *nvmem, + struct nvmem_layout *layout) +{ + const struct of_device_id *match; + + match = of_match_node(layout->of_match_table, nvmem->dev.of_node); + + return match ? match->data : NULL; +} +EXPORT_SYMBOL_GPL(nvmem_layout_get_match_data); + /** * nvmem_register() - Register a nvmem device for given nvmem_config. * Also creates a binary entry in /sys/bus/nvmem/devices/dev-name/nvmem @@ -834,6 +931,12 @@ struct nvmem_device *nvmem_register(const struct nvmem_config *config) goto err_put_device; } + /* + * If the driver supplied a layout by config->layout, the module + * pointer will be NULL and nvmem_layout_put() will be a noop. + */ + nvmem->layout = config->layout ?: nvmem_layout_get(nvmem); + if (config->cells) { rval = nvmem_add_cells(nvmem, config->cells, config->ncells); if (rval) @@ -848,6 +951,10 @@ struct nvmem_device *nvmem_register(const struct nvmem_config *config) if (rval) goto err_remove_cells; + rval = nvmem_add_cells_from_layout(nvmem); + if (rval) + goto err_remove_cells; + dev_dbg(&nvmem->dev, "Registering nvmem device %s\n", config->name); rval = device_add(&nvmem->dev); @@ -862,6 +969,7 @@ struct nvmem_device *nvmem_register(const struct nvmem_config *config) nvmem_device_remove_all_cells(nvmem); if (config->compat) nvmem_sysfs_remove_compat(nvmem, config); + nvmem_layout_put(nvmem->layout); err_put_device: put_device(&nvmem->dev); @@ -881,6 +989,7 @@ static void nvmem_device_release(struct kref *kref) device_remove_bin_file(nvmem->base_dev, &nvmem->eeprom); nvmem_device_remove_all_cells(nvmem); + nvmem_layout_put(nvmem->layout); device_unregister(&nvmem->dev); } @@ -1246,6 +1355,15 @@ struct nvmem_cell *of_nvmem_cell_get(struct device_node *np, const char *id) return ERR_PTR(-EINVAL); } + /* nvmem layouts produce cells within the nvmem-layout container */ + if (of_node_name_eq(nvmem_np, "nvmem-layout")) { + nvmem_np = of_get_next_parent(nvmem_np); + if (!nvmem_np) { + of_node_put(cell_np); + return ERR_PTR(-EINVAL); + } + } + nvmem = __nvmem_device_get(nvmem_np, device_match_of_node); of_node_put(nvmem_np); if (IS_ERR(nvmem)) { diff --git a/drivers/nvmem/layouts/Kconfig b/drivers/nvmem/layouts/Kconfig new file mode 100644 index 000000000000..9ad3911d1605 --- /dev/null +++ b/drivers/nvmem/layouts/Kconfig @@ -0,0 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0 + +menu "Layout Types" + +endmenu diff --git a/drivers/nvmem/layouts/Makefile b/drivers/nvmem/layouts/Makefile new file mode 100644 index 000000000000..6fdb3c60a4fa --- /dev/null +++ b/drivers/nvmem/layouts/Makefile @@ -0,0 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# Makefile for nvmem layouts. +# diff --git a/include/linux/nvmem-consumer.h b/include/linux/nvmem-consumer.h index 1f62f7ba71ca..fa030d93b768 100644 --- a/include/linux/nvmem-consumer.h +++ b/include/linux/nvmem-consumer.h @@ -239,6 +239,7 @@ struct nvmem_cell *of_nvmem_cell_get(struct device_node *np, const char *id); struct nvmem_device *of_nvmem_device_get(struct device_node *np, const char *name); +struct device_node *of_nvmem_layout_get_container(struct nvmem_device *nvmem); #else static inline struct nvmem_cell *of_nvmem_cell_get(struct device_node *np, const char *id) @@ -251,6 +252,12 @@ static inline struct nvmem_device *of_nvmem_device_get(struct device_node *np, { return ERR_PTR(-EOPNOTSUPP); } + +static inline struct device_node * +of_nvmem_layout_get_container(struct nvmem_device *nvmem) +{ + return ERR_PTR(-EOPNOTSUPP); +} #endif /* CONFIG_NVMEM && CONFIG_OF */ #endif /* ifndef _LINUX_NVMEM_CONSUMER_H */ diff --git a/include/linux/nvmem-provider.h b/include/linux/nvmem-provider.h index 0262b86194eb..535c5f9f3309 100644 --- a/include/linux/nvmem-provider.h +++ b/include/linux/nvmem-provider.h @@ -88,6 +88,7 @@ struct nvmem_cell_info { * @stride: Minimum read/write access stride. * @priv: User context passed to read/write callbacks. * @ignore_wp: Write Protect pin is managed by the provider. + * @layout: Fixed layout associated with this nvmem device. * * Note: A default "nvmem" name will be assigned to the device if * no name is specified in its configuration. In such case "" is @@ -109,6 +110,7 @@ struct nvmem_config { bool read_only; bool root_only; bool ignore_wp; + struct nvmem_layout *layout; struct device_node *of_node; bool no_of_node; nvmem_reg_read_t reg_read; @@ -142,6 +144,33 @@ struct nvmem_cell_table { struct list_head node; }; +/** + * struct nvmem_layout - NVMEM layout definitions + * + * @name: Layout name. + * @of_match_table: Open firmware match table. + * @add_cells: Will be called if a nvmem device is found which + * has this layout. The function will add layout + * specific cells with nvmem_add_one_cell(). + * @owner: Pointer to struct module. + * @node: List node. + * + * A nvmem device can hold a well defined structure which can just be + * evaluated during runtime. For example a TLV list, or a list of "name=val" + * pairs. A nvmem layout can parse the nvmem device and add appropriate + * cells. + */ +struct nvmem_layout { + const char *name; + const struct of_device_id *of_match_table; + int (*add_cells)(struct device *dev, struct nvmem_device *nvmem, + struct nvmem_layout *layout); + + /* private */ + struct module *owner; + struct list_head node; +}; + #if IS_ENABLED(CONFIG_NVMEM) struct nvmem_device *nvmem_register(const struct nvmem_config *cfg); @@ -156,6 +185,14 @@ void nvmem_del_cell_table(struct nvmem_cell_table *table); int nvmem_add_one_cell(struct nvmem_device *nvmem, const struct nvmem_cell_info *info); +int __nvmem_layout_register(struct nvmem_layout *layout, struct module *owner); +#define nvmem_layout_register(layout) \ + __nvmem_layout_register(layout, THIS_MODULE) +void nvmem_layout_unregister(struct nvmem_layout *layout); + +const void *nvmem_layout_get_match_data(struct nvmem_device *nvmem, + struct nvmem_layout *layout); + #else static inline struct nvmem_device *nvmem_register(const struct nvmem_config *c) @@ -179,5 +216,19 @@ static inline int nvmem_add_one_cell(struct nvmem_device *nvmem, return -EOPNOTSUPP; } +static inline int nvmem_layout_register(struct nvmem_layout *layout) +{ + return -EOPNOTSUPP; +} + +static inline void nvmem_layout_unregister(struct nvmem_layout *layout) {} + +static inline const void * +nvmem_layout_get_match_data(struct nvmem_device *nvmem, + struct nvmem_layout *layout) +{ + return NULL; +} + #endif /* CONFIG_NVMEM */ #endif /* ifndef _LINUX_NVMEM_PROVIDER_H */ From patchwork Fri Jan 27 11:15:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49202 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778488wrn; Fri, 27 Jan 2023 03:21:28 -0800 (PST) X-Google-Smtp-Source: AK7set+E8Cczda64Awj7SZOd1HkZTT+X8A+JfRXvkEeRp8HvNuht5tvz/zoc3za1HB8Ob3jp+d37 X-Received: by 2002:a17:902:ce8b:b0:196:3672:f250 with SMTP id f11-20020a170902ce8b00b001963672f250mr8776730plg.24.1674818488000; Fri, 27 Jan 2023 03:21:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818487; cv=none; d=google.com; s=arc-20160816; b=yAxMCWws2URnwMHi+1MNfHIT+o3ErWVFUmWPU4HJmheegBgMNY0rnUVW6uZGzug2nO 4LhES3xggp2oWvakiyPDrToHv8StwVwm7lkPIOJ4HPZnopUr05TbIGROUsvEXNz/ySmx TSqqVJq6DCZNfu4x681bCulPxeLGKI8oOaM5+tdGzdl4FYuq9j9WDR6aoFQoAFTUdxVw 9TpTgQTuPNyWPjhu7EK/1w5aboL7rVFdH9pdXC6uluroasLyyqtSiD2BFg41sb1P2Zgg lkO1dmNsTgwrgSQVLXnegC3moWzwX5PeZc5DEnHPatfzh4WzuItJB0i28+qJkYAHUXFm Nkkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=FiSe+GBuFOro9IU25G1dPaAB4qi2H5ERUtgYWOzK1rc=; b=pgIsYWTPakn5/iUUoCWHJTY0oTpSDxVcQK2iq8yPqkr+INYXYpvJe9TtB8nuem3kjH Af6WLCXYJoBRvrgBcqYi9zkO56EL7vW7MLbK07FyXXxn/nTuZFu4a3TjHu9lQ6cIPmqQ TkiDeL1vpNwUUa/W0wQ3YvcOFSFQOQKM8Mm3fUlc/lXpi+pg/U6Dlfe8XKSLh32wkbt2 QjecsRTkFveNfJFvXLOYRf8vlRdeFZhreNHYvH/yJYn0/zO4dj0sFYoOwZ/jRkGCGqtc ZYpHajJjCX5El4xAfsD5TsTt3xrgdeIgaYIT3p+wgWqxpvKr1dMVjwulystBMPzPL3uD dWNw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=iXpf0mP2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j14-20020a170902da8e00b0019258fc1bc7si4776362plx.279.2023.01.27.03.21.15; Fri, 27 Jan 2023 03:21:27 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=iXpf0mP2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233075AbjA0LTL (ORCPT + 99 others); Fri, 27 Jan 2023 06:19:11 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55372 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233017AbjA0LSe (ORCPT ); Fri, 27 Jan 2023 06:18:34 -0500 Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C8DE23B3E1 for ; Fri, 27 Jan 2023 03:18:08 -0800 (PST) Received: by mail-wr1-x42d.google.com with SMTP id h16so4627876wrz.12 for ; Fri, 27 Jan 2023 03:18:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=FiSe+GBuFOro9IU25G1dPaAB4qi2H5ERUtgYWOzK1rc=; b=iXpf0mP2V2KhdwfBZ5oGYuv6EupKViiWXlhrW6PxPzfRnexaLYVBci+tAllOCPXli4 TSfAS2N+wzepALfliE4PZfyzCalmSjfhC6cFiuj21G0UhNTF30F31AkkLtZ7yRJ/zFSU 9v7k19kb0X/74MbPhu94zk+b+bU4+scR9YciPH8rDTdduJ5AXzEMiYxbmQLhW7E5bA1C N6fgpvyxhM0jv/tIhbezhMIgWcq07zjN8eYy0WXk2Onrs7zwbm8xSbCJalB/vFQkNJ/3 f2v/sxt4G6vJwHkAc8FGisUPW/DdB5ns23ETICK3AbDXjhE8oaW/ymYCgSZyD8gfUayn T0ow== 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=FiSe+GBuFOro9IU25G1dPaAB4qi2H5ERUtgYWOzK1rc=; b=IotjLEc6Jxl6lSbANbq+Q2eK9xHRwyPDdPbQnTMl7YG5s11OfW9iK5dF/uSJ1AMu7c qbXu6xILDe1OR+lRsP+/fpJ68vrKK0KnLcHbus7M6LWuEIYNyfMAxmke9cl2NLooKJoF suxHCzus2/0dXuN0abpF2mq8A+enW3jLehURK7z9V8MYpqbRNRsTFda1qrubqc/bID2o QltjpH8HzL2fk/Y4BKi0NZm+v9rtpS8YQKyTloDp9Z7PdSLUtQEkjtwm+1ncqseOhn5z VC2JehTrcOCTtv+zdkXj/mu88aGKDhvoO/JeD2nx8AZyaXV5wqF7IUu/TjakkX+r8Kwb aEkg== X-Gm-Message-State: AFqh2koo/2EUvDvqwAoB5SeQlX3QShuaqU5nUZ1ixzW5zRDbEochpUOj r8wtMd0x+hDxJTGhD4KIgJBAuQ== X-Received: by 2002:adf:f90e:0:b0:2bc:aa67:28fb with SMTP id b14-20020adff90e000000b002bcaa6728fbmr31093908wrr.49.1674818284789; Fri, 27 Jan 2023 03:18:04 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.18.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:18:04 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Michael Walle , Srinivas Kandagatla Subject: [PATCH 18/37] nvmem: core: add per-cell post processing Date: Fri, 27 Jan 2023 11:15:46 +0000 Message-Id: <20230127111605.25958-19-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174471152629907?= X-GMAIL-MSGID: =?utf-8?q?1756174471152629907?= From: Michael Walle Instead of relying on the name the consumer is using for the cell, like it is done for the nvmem .cell_post_process configuration parameter, provide a per-cell post processing hook. This can then be populated by the NVMEM provider (or the NVMEM layout) when adding the cell. Signed-off-by: Michael Walle Signed-off-by: Srinivas Kandagatla --- drivers/nvmem/core.c | 17 +++++++++++++++++ include/linux/nvmem-provider.h | 3 +++ 2 files changed, 20 insertions(+) diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index d2c427c5ebc6..80051726b064 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -53,6 +53,7 @@ struct nvmem_cell_entry { int bytes; int bit_offset; int nbits; + nvmem_cell_post_process_t read_post_process; struct device_node *np; struct nvmem_device *nvmem; struct list_head node; @@ -469,6 +470,7 @@ static int nvmem_cell_info_to_nvmem_cell_entry_nodup(struct nvmem_device *nvmem, cell->offset = info->offset; cell->bytes = info->bytes; cell->name = info->name; + cell->read_post_process = info->read_post_process; cell->bit_offset = info->bit_offset; cell->nbits = info->nbits; @@ -1545,6 +1547,13 @@ static int __nvmem_cell_read(struct nvmem_device *nvmem, if (cell->bit_offset || cell->nbits) nvmem_shift_read_buffer_in_place(cell, buf); + if (cell->read_post_process) { + rc = cell->read_post_process(nvmem->priv, id, index, + cell->offset, buf, cell->bytes); + if (rc) + return rc; + } + if (nvmem->cell_post_process) { rc = nvmem->cell_post_process(nvmem->priv, id, index, cell->offset, buf, cell->bytes); @@ -1653,6 +1662,14 @@ static int __nvmem_cell_entry_write(struct nvmem_cell_entry *cell, void *buf, si (cell->bit_offset == 0 && len != cell->bytes)) return -EINVAL; + /* + * Any cells which have a read_post_process hook are read-only because + * we cannot reverse the operation and it might affect other cells, + * too. + */ + if (cell->read_post_process) + return -EINVAL; + if (cell->bit_offset || cell->nbits) { buf = nvmem_cell_prepare_write_buffer(cell, buf, len); if (IS_ERR(buf)) diff --git a/include/linux/nvmem-provider.h b/include/linux/nvmem-provider.h index 535c5f9f3309..3bfc23553a9e 100644 --- a/include/linux/nvmem-provider.h +++ b/include/linux/nvmem-provider.h @@ -54,6 +54,8 @@ struct nvmem_keepout { * @bit_offset: Bit offset if cell is smaller than a byte. * @nbits: Number of bits. * @np: Optional device_node pointer. + * @read_post_process: Callback for optional post processing of cell data + * on reads. */ struct nvmem_cell_info { const char *name; @@ -62,6 +64,7 @@ struct nvmem_cell_info { unsigned int bit_offset; unsigned int nbits; struct device_node *np; + nvmem_cell_post_process_t read_post_process; }; /** From patchwork Fri Jan 27 11:15:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49206 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778609wrn; Fri, 27 Jan 2023 03:21:49 -0800 (PST) X-Google-Smtp-Source: AK7set9Yn+F2Fi6915BAfitvXqwfxnakRRGFMHeXQZFAAx7h7kFB054vKgUYxdAUsX2/BE14vLLe X-Received: by 2002:a05:6a21:32a3:b0:bc:5f20:140c with SMTP id yt35-20020a056a2132a300b000bc5f20140cmr355966pzb.53.1674818509373; Fri, 27 Jan 2023 03:21:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818509; cv=none; d=google.com; s=arc-20160816; b=bv8wcKkLmB5yqR5rffYrvcqXXDmL+4ecs62dcM+2HNVSYJkwbzlyBC4J+036C6utuv whdcmf1aw5Qz8k1EOai+Z6ces3uKzJ1P8Ysf1ymTNNvrbYR01migS84ynBlXIPJ3s9qH 236vuA7/9GUCAh9RcFJ+dBzE5m6XtH3IC/2VXcksePlgDET5o6gzuV+gtsZzPWzco2S5 wuQlMQWAlTWKqMF8FzHwQh6TPs8cZetU8yZph+KaX2Vl/FwxuqGChHoYHiUTcceoK+5P 6Hl6Hle5v6ZsPDR6+tTX3GQZcJnizYaY9Rdh+YtMeb0VqjcVswD1+Luy3T7QVc9t9sYf IJQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=A1rofkASwOxqgmxowzyZ3fLwYQAi8p7kZIwCpQKFbL8=; b=JJop18kXswU3gc7emmMXSi3OozWdHl+yd/xsO0BAfU32FPfTdvYm5Y9VmHaBg2Sc8A pMjNIn+q2kD1QPZh3gV2uTErx3SrvUN8O1IVNBpAbNugjJaXNj5hmeIt6X2MpVs3zsuy FUZuEvXGb14wvW5IBKo97aH5iS7UZhMI87Rzrpo082I1BWDWXsOZ7E9zdVD/YZsE58/W +lUk+fuRbwTBZ2wBcDJOn7OdXZwPJD8kvECnBLwG0eesQMaw7DoX38VkmE0NiYD83JZR iEtEN4qzPY7q/vAWQ9cU3sydnpSBzkVnqCSOKker8uMyX6ola02a3Yby7PLrzUCmLrFu jhAA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=CG9kYsac; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s23-20020a639257000000b004c7ca3c6e60si4050883pgn.42.2023.01.27.03.21.36; Fri, 27 Jan 2023 03:21:49 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=CG9kYsac; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233014AbjA0LTI (ORCPT + 99 others); Fri, 27 Jan 2023 06:19:08 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56190 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232488AbjA0LSd (ORCPT ); Fri, 27 Jan 2023 06:18:33 -0500 Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 802F63E0B3 for ; Fri, 27 Jan 2023 03:18:06 -0800 (PST) Received: by mail-wr1-x42e.google.com with SMTP id m14so4200811wrg.13 for ; Fri, 27 Jan 2023 03:18:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=A1rofkASwOxqgmxowzyZ3fLwYQAi8p7kZIwCpQKFbL8=; b=CG9kYsacMx/Tbrvb4bhDrUJ/xowc+DpWPTgmEGnhSnDpR+N5ZUg3GCz556j1mFQLhV PM/5VYn04MOOb28K1NWgrVDfNDlIoXekRLaLMvqE9SC0g1Nw8M/BPkgGKLjaObUP43DQ +h28LCuc262XuxcB8sPjsACtMkEd8IwG32p8x0sg5cAO1gq19uvi62dYM26ctD6orZm+ Fck1xkbRFYtz8vceSLiiixhZNTnJJ5PaGeZ4TmXMKGIr/jJcRrboP1apF0vQkT8xiDTZ ZDSX/dRXgJirtOkZHzfhPyfwNU+NWr9irmXpsTwCwVxGTyZwtj2iA7pkuHIloCwXhXhd qvZg== 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=A1rofkASwOxqgmxowzyZ3fLwYQAi8p7kZIwCpQKFbL8=; b=DFvZs82+D663QFMfAbYldFPpik6T1vOWLT3jXMBpQ3ckjSSG6YqCa2bIPN1C7PUzPR 9yCBqpvdSUAp6RfFckQbTQYlQnZ1PIO8FH2QpEPnz8VGO8+64isOR8VtrdfeS3w6pWp/ TQYugPiO+jaf8RG10FduWs5jG4IP2i8AWu9MRI/fLJHrNatt8mZbsAUBm2xMoz1HmKOv XEGWtIYyHPdRn3KxtZZp4wMTTC2O+3NZEq6L7wb0UGW8J6J640vgHoiHgB1xDKW8DPG5 5Jpkg0ekPJaUvS+Ec+/twA6zKKMS9aAyH2Vz8iTypjwvePL4Jhb7M2J6QD6gbVUt6j+I KZYA== X-Gm-Message-State: AO0yUKUkF2312MDlaUQ3IUTBjlXaTaCy3YdJUBN127zvKgmicALqHCNM s+EAC3YCri1pWHXEkQX5/3rY7vYK6PJSwMBs X-Received: by 2002:a5d:668d:0:b0:2bf:d17c:609b with SMTP id l13-20020a5d668d000000b002bfd17c609bmr1902116wru.64.1674818285770; Fri, 27 Jan 2023 03:18:05 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.18.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:18:05 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Michael Walle , Srinivas Kandagatla Subject: [PATCH 19/37] nvmem: core: allow to modify a cell before adding it Date: Fri, 27 Jan 2023 11:15:47 +0000 Message-Id: <20230127111605.25958-20-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174493536506217?= X-GMAIL-MSGID: =?utf-8?q?1756174493536506217?= From: Michael Walle Provide a way to modify a cell before it will get added. This is useful to attach a custom post processing hook via a layout. Signed-off-by: Michael Walle Signed-off-by: Srinivas Kandagatla --- drivers/nvmem/core.c | 4 ++++ include/linux/nvmem-provider.h | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index 80051726b064..216a8eb01d00 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -694,6 +694,7 @@ static int nvmem_validate_keepouts(struct nvmem_device *nvmem) static int nvmem_add_cells_from_of(struct nvmem_device *nvmem) { + struct nvmem_layout *layout = nvmem->layout; struct device *dev = &nvmem->dev; struct device_node *child; const __be32 *addr; @@ -723,6 +724,9 @@ static int nvmem_add_cells_from_of(struct nvmem_device *nvmem) info.np = of_node_get(child); + if (layout && layout->fixup_cell_info) + layout->fixup_cell_info(nvmem, layout, &info); + ret = nvmem_add_one_cell(nvmem, &info); kfree(info.name); if (ret) { diff --git a/include/linux/nvmem-provider.h b/include/linux/nvmem-provider.h index 3bfc23553a9e..be81cc88eabc 100644 --- a/include/linux/nvmem-provider.h +++ b/include/linux/nvmem-provider.h @@ -155,6 +155,8 @@ struct nvmem_cell_table { * @add_cells: Will be called if a nvmem device is found which * has this layout. The function will add layout * specific cells with nvmem_add_one_cell(). + * @fixup_cell_info: Will be called before a cell is added. Can be + * used to modify the nvmem_cell_info. * @owner: Pointer to struct module. * @node: List node. * @@ -168,6 +170,9 @@ struct nvmem_layout { const struct of_device_id *of_match_table; int (*add_cells)(struct device *dev, struct nvmem_device *nvmem, struct nvmem_layout *layout); + void (*fixup_cell_info)(struct nvmem_device *nvmem, + struct nvmem_layout *layout, + struct nvmem_cell_info *cell); /* private */ struct module *owner; From patchwork Fri Jan 27 11:15:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49214 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778674wrn; Fri, 27 Jan 2023 03:21:59 -0800 (PST) X-Google-Smtp-Source: AMrXdXv2p6rR52HmqWo0vOeB6Ov3Zg5IqnhqHr01PSJ3XeD2UjwEFkhBTUHttR7L4lAUalWhGiJQ X-Received: by 2002:a05:6a20:6702:b0:b8:c659:9d56 with SMTP id q2-20020a056a20670200b000b8c6599d56mr41817261pzh.46.1674818518859; Fri, 27 Jan 2023 03:21:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818518; cv=none; d=google.com; s=arc-20160816; b=QQHO3+t6mL6tk2zXpeVAoSxrk6IO2vUsgw1Lq3mufK5weSh6tqtuMSP+mGwyPtbj+/ OdSxObIls9kmY0w7yJiDw1c34B6maoXtVIUgb3rDGIFqL1gEBRDywNtIcoZN0vIeInEF /SeS36eFV8aancItMNcb9GNjOsiKhBWzBQLIN60RalWaHxl3shYNhTzbW/Sj44jPZVaI qEZnwkCH13pvP/ORzgPF/0XObh8hW81vQsBTdeNPtOhevm/R0cJzmwZusbsTR60nPzV1 uORcZaHsgFfMLfpmYp+rYxXvjhVBU5F/T7o7suRWN5qB+KyUs1GUgC0FdzE9/s0zfHEE mweQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=2qJxrwfcLTXBaQBmmE6as0L4veHi/uh8tjNkkwxbsmQ=; b=r26urB89VYJFCWkikOWzgdl5+2mvsNJAWhkcrGKMda9Dz5orN/DKNLZrCeLO4+A1ob NxDYO3cTV1t6tdlb2+L9DMa+9UefBcteC50wTfuDIQda6ezdn1mP9JubsoLppuRMZseW kMUgBrgAUfio9UqcEjsjOQN2J9+SFLEFjfHpNjK3s3bTzKSqVE0g/rheTFG7UaZCC76s lq7Lj1LJrzCRVQlR/Odk31K4lP2YaIMqhTlnboiFIwufN+pO/1w9l+MHfMU+LFRMIjbu jvuQcrY3/8y6jLVoRB3Bb7pGpj1tN0gEAozHuZctwllcqYZbXNh8hYZsjXIFJJqvWWct CyTQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Q+yGL6NN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a21-20020a637055000000b0049b262ac87esi2383009pgn.690.2023.01.27.03.21.45; Fri, 27 Jan 2023 03:21:58 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Q+yGL6NN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233085AbjA0LTP (ORCPT + 99 others); Fri, 27 Jan 2023 06:19:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55418 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232583AbjA0LSe (ORCPT ); Fri, 27 Jan 2023 06:18:34 -0500 Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com [IPv6:2a00:1450:4864:20::334]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4D7437A490 for ; Fri, 27 Jan 2023 03:18:09 -0800 (PST) Received: by mail-wm1-x334.google.com with SMTP id l41-20020a05600c1d2900b003daf986faaeso3191271wms.3 for ; Fri, 27 Jan 2023 03:18:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=2qJxrwfcLTXBaQBmmE6as0L4veHi/uh8tjNkkwxbsmQ=; b=Q+yGL6NNnK5ULiY1gOtIA9YoTYj2eYM7WABKdQ6QlDnB0YNUfVvOEItzU616iRORdS eyV7u0hxCafKwXzYKI7B+ndFg8N14s/Ru7/1Df9ex32Ozts+pK3eglrkT+c8K+8nxnm6 UhhUsyTBYl7pv4g071VYZiDLI+oUYH0IydUWG7Y78uf/EEsd1Onjnddt3F6X8WwYPkUK 7E3lUUHV3oWoQRv66i6YzstNANN7aMudRSKuLdVQ92mm8sQUOL6hmEjEjhfE1lS6VjGG raTYwwm5k9eFJJT1M5zoA22u4EHi9oSAcdNJDdke1nQ+mEnXr4KX9Cw/acbfZiZ/a4g2 ovaA== 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=2qJxrwfcLTXBaQBmmE6as0L4veHi/uh8tjNkkwxbsmQ=; b=zGQRefIK+P6cq97LsXJtCnuY7ec7UGrMVMGSncqMWU4qnXAPX2wUiHmHPtNPQrhSqV Iw6zWRDmEMG2U/6dOIitoFCJT9xjZtkrFER8htrD8et2+cSV7mnNTVcF1/SzX4ZeDV9s LgPzxA5HWmAEy9OMZIwf9BIWEGCrX7FfcLWj7hpwCSk80RIRSujkrqFUm4K2vduLvO3l kIBPey2S0OiWZjUd45kzzaxQTJrYKemw9Q8D9Gd0sonMlYAK1M8hZx7Kw0PTeFdYcNaw +KY2wdw/H/Njb9szYTzNg0krgMHo4MMsOdKb2oJAQmT6NzHlR/Q9pu5LBKafesuHW+D6 FRiA== X-Gm-Message-State: AFqh2kpJmE1dzkxZS35PStEkFVYiXrzFJWD+l67mtfXo/fV2K9pjCRWb D4n4UyRYv/zlbI6CgEAzUQEYWA== X-Received: by 2002:a05:600c:3b84:b0:3da:fd7c:98b3 with SMTP id n4-20020a05600c3b8400b003dafd7c98b3mr39161014wms.25.1674818287177; Fri, 27 Jan 2023 03:18:07 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.18.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:18:06 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Michael Walle , Srinivas Kandagatla Subject: [PATCH 20/37] nvmem: imx-ocotp: replace global post processing with layouts Date: Fri, 27 Jan 2023 11:15:48 +0000 Message-Id: <20230127111605.25958-21-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174502893731918?= X-GMAIL-MSGID: =?utf-8?q?1756174502893731918?= From: Michael Walle In preparation of retiring the global post processing hook change this driver to use layouts. The layout will be supplied during registration and will be used to add the post processing hook to all added cells. Signed-off-by: Michael Walle Tested-by: Michael Walle # on kontron-pitx-imx8m Signed-off-by: Srinivas Kandagatla --- drivers/nvmem/imx-ocotp.c | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/drivers/nvmem/imx-ocotp.c b/drivers/nvmem/imx-ocotp.c index e9b52ecb3f72..ac0edb6398f1 100644 --- a/drivers/nvmem/imx-ocotp.c +++ b/drivers/nvmem/imx-ocotp.c @@ -225,18 +225,13 @@ 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) { - struct ocotp_priv *priv = context; + u8 *buf = data; + int i; /* Deal with some post processing of nvmem cell data */ - if (id && !strcmp(id, "mac-address")) { - if (priv->params->reverse_mac_address) { - u8 *buf = data; - int i; - - for (i = 0; i < bytes/2; i++) - swap(buf[i], buf[bytes - i - 1]); - } - } + if (id && !strcmp(id, "mac-address")) + for (i = 0; i < bytes / 2; i++) + swap(buf[i], buf[bytes - i - 1]); return 0; } @@ -488,7 +483,6 @@ static struct nvmem_config imx_ocotp_nvmem_config = { .stride = 1, .reg_read = imx_ocotp_read, .reg_write = imx_ocotp_write, - .cell_post_process = imx_ocotp_cell_pp, }; static const struct ocotp_params imx6q_params = { @@ -595,6 +589,17 @@ static const struct of_device_id imx_ocotp_dt_ids[] = { }; MODULE_DEVICE_TABLE(of, imx_ocotp_dt_ids); +static void imx_ocotp_fixup_cell_info(struct nvmem_device *nvmem, + struct nvmem_layout *layout, + struct nvmem_cell_info *cell) +{ + cell->read_post_process = imx_ocotp_cell_pp; +} + +struct nvmem_layout imx_ocotp_layout = { + .fixup_cell_info = imx_ocotp_fixup_cell_info, +}; + static int imx_ocotp_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; @@ -619,6 +624,9 @@ static int imx_ocotp_probe(struct platform_device *pdev) imx_ocotp_nvmem_config.size = 4 * priv->params->nregs; imx_ocotp_nvmem_config.dev = dev; imx_ocotp_nvmem_config.priv = priv; + if (priv->params->reverse_mac_address) + imx_ocotp_nvmem_config.layout = &imx_ocotp_layout; + priv->config = &imx_ocotp_nvmem_config; clk_prepare_enable(priv->clk); From patchwork Fri Jan 27 11:15:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49222 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778823wrn; Fri, 27 Jan 2023 03:22:22 -0800 (PST) X-Google-Smtp-Source: AMrXdXubElsw6kQzCk6r1AbOwLxhSf63jKSra2LzxwdGsWEYkzYOEGexZxLJdznGKnJhLFzJ8wV2 X-Received: by 2002:a17:90a:8591:b0:227:203a:e649 with SMTP id m17-20020a17090a859100b00227203ae649mr41509722pjn.16.1674818542017; Fri, 27 Jan 2023 03:22:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818542; cv=none; d=google.com; s=arc-20160816; b=A+p02RmNO17uHTQVm/ZdIL37MctUPdWP10zWh0tSkZZ1RPly9/7T1AuaIbA3s/PnGW UHrRwFqN59yu0u06oa9ILYlRYj60fFa/D8mFozXwUa/DMB63EkErp8LdgcRFOnkyr+xZ AI5ATQZIk3kCObQub5+BozHyO+hAAC9XNtsTIV0DyOi4O+QoDmt/QuOAHBfkyehGzVEc 85o7cRhfiUkz7epifgjIxLzNuDDfc8WepVBwl9yfnlchBuKBug+SffSZ8YCfTrE2Wqkc jfZITaAp0OEKp6dqg6Fqd8zhwqo83FCHgu9STBo9IbUyMbtpg09xHOfTObugSjIqwy9j aOeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=DR9w7wcr4DxJXxKbzQwRT2qyu3/q2O3thBJlj1O/L4c=; b=B2KfeXvxXo6UkDC61WYOvd0cg6e2SphrnN4WYnjig6XzQ5ZbCTZY3+oaFtTQ/yCtMx wO3bw9AaC5/8to+NLGoD0qlnqfkZ/5q8rCET34A0WsCzz6kD9ehLcV6oll35m12m3Rc0 ok4lt3yOb1jwcHM87wuCevhy4N3SRMMuGPza1cvAq0a6ZnJj0U+mV9xsV3teKgntESJn En4Fx5W5TjlH4Etx0Q3RN1p2tA753UQIgPY8ZXCr1/F08EN1/L9M1SlaLBecjWe3jb3u GTklXtZeguD4uN+gB6M4b6tzNBLKXsj4pWk6hJ7R5dB9swBgiUdJv7Y3EbMpAXBJYlnx mWkw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=sF8aqy+t; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 43-20020a17090a0fae00b002290913fdeesi7452843pjz.26.2023.01.27.03.22.10; Fri, 27 Jan 2023 03:22:21 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=sF8aqy+t; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232000AbjA0LTV (ORCPT + 99 others); Fri, 27 Jan 2023 06:19:21 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56232 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232597AbjA0LSe (ORCPT ); Fri, 27 Jan 2023 06:18:34 -0500 Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com [IPv6:2a00:1450:4864:20::433]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5E2A13C2A1 for ; Fri, 27 Jan 2023 03:18:10 -0800 (PST) Received: by mail-wr1-x433.google.com with SMTP id b7so4677927wrt.3 for ; Fri, 27 Jan 2023 03:18:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=DR9w7wcr4DxJXxKbzQwRT2qyu3/q2O3thBJlj1O/L4c=; b=sF8aqy+tRNV9j/qZ2iQCf4dYQSyI8A00EeoANp5zCeaMAEHK/jehE1rsQKSe9UyQXK PNE48qlU5OOB3QIFN9khvGoaPAL6KEy+dvzsbX3I5Rc0GumTrVh2uEN1yT4tGq4SPGUE 6hpqZSQ3dzIODaLuwisXipuPDDpvwYryPUFtcYv+56nDrqby4MycjPRNsfkVJdQr4FeR qSXoE/tKK40FsKJwFlO05GZpPgmfXubXdcJBLEzjQlLVTTilMshCWddiWYHB8rFjGYfp /MmUiG27yb0+WxGEfALrpduHW/Luw+6YvEIRL78W7w1LZi1snPLxNTVU7rlasb/e0f5p mKGg== 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=DR9w7wcr4DxJXxKbzQwRT2qyu3/q2O3thBJlj1O/L4c=; b=Om7NFbLDS+xixDxU59BtSEaLsMrQ7uj/bXRKbVOcqj1fRdFuoL+mXDgkYgSKuAcO3b 3aZF4gGiVEWyxoOwssU+WN7SjrdW1rcy8RsFL6yi9P7XFwXq1XwJIHyF7QF/4w1MUcD7 gwBYglaDWALEvP5xpA9fQBa/qD/nCaM9+SMfw1hqcwkG3HAlwmOyWmrUgusqycDdB5yO dA8ILVzo5n+xLXp8Wk9uDR7c0HF52dyL43JZJ34G9mbdxt+GEpRxIRD417tJ64UALhN8 hpaUBDLJwvSBy30ccpvpUGS7pn98i65G8/UcuFeGYoDba8iR0w1FELy6dnMXjqgJrx2J JMqQ== X-Gm-Message-State: AO0yUKVgL/zC1vriomrwzxxiWiN6PCqFixyRje5OfNEv69TKmj7SG0zI Z1FWT9nFExyi0XuFKielt2OGpA== X-Received: by 2002:a5d:62d1:0:b0:2bf:d680:e37a with SMTP id o17-20020a5d62d1000000b002bfd680e37amr850728wrv.67.1674818288648; Fri, 27 Jan 2023 03:18:08 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.18.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:18:07 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Michael Walle , Srinivas Kandagatla Subject: [PATCH 21/37] nvmem: cell: drop global cell_post_process Date: Fri, 27 Jan 2023 11:15:49 +0000 Message-Id: <20230127111605.25958-22-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174527215920726?= X-GMAIL-MSGID: =?utf-8?q?1756174527215920726?= From: Michael Walle There are no users anymore for the global cell_post_process callback anymore. New users should use proper nvmem layouts. Signed-off-by: Michael Walle Signed-off-by: Srinivas Kandagatla --- drivers/nvmem/core.c | 9 --------- include/linux/nvmem-provider.h | 2 -- 2 files changed, 11 deletions(-) diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index 216a8eb01d00..ae59d9cb901c 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -38,7 +38,6 @@ struct nvmem_device { unsigned int nkeepout; nvmem_reg_read_t reg_read; nvmem_reg_write_t reg_write; - nvmem_cell_post_process_t cell_post_process; struct gpio_desc *wp_gpio; struct nvmem_layout *layout; void *priv; @@ -893,7 +892,6 @@ struct nvmem_device *nvmem_register(const struct nvmem_config *config) nvmem->type = config->type; nvmem->reg_read = config->reg_read; nvmem->reg_write = config->reg_write; - nvmem->cell_post_process = config->cell_post_process; nvmem->keepout = config->keepout; nvmem->nkeepout = config->nkeepout; if (config->of_node) @@ -1558,13 +1556,6 @@ static int __nvmem_cell_read(struct nvmem_device *nvmem, return rc; } - if (nvmem->cell_post_process) { - rc = nvmem->cell_post_process(nvmem->priv, id, index, - cell->offset, buf, cell->bytes); - if (rc) - return rc; - } - if (len) *len = cell->bytes; diff --git a/include/linux/nvmem-provider.h b/include/linux/nvmem-provider.h index be81cc88eabc..d3d7af86a283 100644 --- a/include/linux/nvmem-provider.h +++ b/include/linux/nvmem-provider.h @@ -85,7 +85,6 @@ struct nvmem_cell_info { * @no_of_node: Device should not use the parent's of_node even if it's !NULL. * @reg_read: Callback to read data. * @reg_write: Callback to write data. - * @cell_post_process: Callback for vendor specific post processing of cell data * @size: Device size. * @word_size: Minimum read/write access granularity. * @stride: Minimum read/write access stride. @@ -118,7 +117,6 @@ struct nvmem_config { bool no_of_node; nvmem_reg_read_t reg_read; nvmem_reg_write_t reg_write; - nvmem_cell_post_process_t cell_post_process; int size; int word_size; int stride; From patchwork Fri Jan 27 11:15:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49203 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778497wrn; Fri, 27 Jan 2023 03:21:31 -0800 (PST) X-Google-Smtp-Source: AK7set/jBVleFZ59dPgMZiVIPFjmN2Fx1jGN+1ga+Cm0TX8ogR7hHUU1N++7u5XarURs1BbtSYrW X-Received: by 2002:a17:902:e550:b0:196:4814:2a2d with SMTP id n16-20020a170902e55000b0019648142a2dmr4168782plf.39.1674818490763; Fri, 27 Jan 2023 03:21:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818490; cv=none; d=google.com; s=arc-20160816; b=M7s1fVoh4HzeXZiE77zYmTjDJ1Nki/crAJNrQ7JlYHAidApZL/j4g0lsVoMf4YxwJe gosEfoIUICA4XGM3Wfro1eHv4FUc3FOhxdx6EQ2dOJtk5u5EAWwyPnVs1IjdUYo4CM9I LsSgFx5aYgARI82/AtR05bjRZ/6OJgrBbvr0LL+7MqzbNvr6w0TWFtul8y2dJuwwGj2S H2TV5lVcr13fcxx5WPQ4b8/oVXm2iajUP86PSbuu948w+bQsIRHWY1rw72PrZ35sr56f sI1GLd9lpMX3kc5Q+PIV2Q36b0eTWtAeCTtGsO2ORlfOrSuTYIlL4EZ1v4Xzej0Y2ItK cYUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=OlgQhz1wWZHgj4L9ZFSLZgiqIbO7/bsHrgNAPDxm69g=; b=W+fQMW1M61BuFRFmp4+PderVW3s8qgp6/mMIi+E1WDFmakaBBwfe/Ba4/X1oO8ZtlA XO+rLnGVb3DTyFaAffsTyCye+1osLcuxt4TITNNzE24fK82xNPDiEnsHb/r+9EHw7S6X roSLW/1yHnpDHZpVoyot/WgOFvTPyACg1wsuYxNzr9z68ccye40BQwWQM4ZutafVIUIJ MAfQaKT8xBinmOrJifT5ULulyPirXYnYpJ/9sDv2eAUjWX0GCgr3Qy9ayd0Q5FW1gn/6 P1+Yqf6/WKD89ZEmIK1mBHHJ1Ifr0OCz9vgMoy4gLbhwCJ0XrV7i0dY6VkyYf+61p+0P I3oA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=jboH9m4d; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x10-20020a63aa4a000000b004dfadbc2d4csi2018673pgo.198.2023.01.27.03.21.18; Fri, 27 Jan 2023 03:21:30 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=jboH9m4d; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230004AbjA0LTY (ORCPT + 99 others); Fri, 27 Jan 2023 06:19:24 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55654 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231902AbjA0LSf (ORCPT ); Fri, 27 Jan 2023 06:18:35 -0500 Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com [IPv6:2a00:1450:4864:20::42b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7DA966C57D for ; Fri, 27 Jan 2023 03:18:12 -0800 (PST) Received: by mail-wr1-x42b.google.com with SMTP id h16so4628078wrz.12 for ; Fri, 27 Jan 2023 03:18:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=OlgQhz1wWZHgj4L9ZFSLZgiqIbO7/bsHrgNAPDxm69g=; b=jboH9m4d2F/3Lm40Pzxn6yISbXc8QSet12DjhqQ4Zjavz1umtEfufHhsawbPg6wARS tjuNvJ+Jd3Vmir4rUsOPS6phMb23JeHSrPKJ+WvPWJzvg+/qx7a+aHRCAma3XYVy1pdR H4p6CD+UxhUG5W2bRJmtBNjpzHJkVmVl/lD2SKVJ8WHBvNgFb85wtUy1EnmBaU2SxQKX zkWLKYDkU/0Sb2r9xbCfJEa2imlJAgPC6nISUhNT9NtNAro3AJVBZISkL6v7d9fak0hb pqfyWVd7niKnLc2ngIEoDHQpf7ogRrtX8aoE56O/pU8RNtQeBOj3LZE/mCG2ZJLr3yJr rDIg== 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=OlgQhz1wWZHgj4L9ZFSLZgiqIbO7/bsHrgNAPDxm69g=; b=ncOIduITQv6RT2OdWoVcGXksoZUZuUxGRrIXO5u8N8wcVwtXjyuf/ZvjfSr4SEzKFR HzcWvXqsQ7CwVSKzl1L7J1GwyxZ9Eb0AETXeClYJtB1SkpOUizCWy7wQR74h6PjpuQJ5 /bD5pajlcGcaV6s3jjL46R+YuSFJRM9eX5gz/ir3mv7V0gaq/PcTEkS43tEwp+Dtioin 03kDToki4QANMlTOrhtpYb9Uc+C0msdlvEwB+maBes+qJHQlVfvqRr7Ijzmo/jS7jFV+ S6mBO6avIyTJMQzx8BlsM38LQapmZJzf1zndBuVbRo1QRJBjJWY/OZeoUDsZLRV95zQx e4nw== X-Gm-Message-State: AFqh2kqNLTBHTpNYgQMW0Kf5hFkPKLxpvoJn14gWhSsynENIsZYhoeRP pcu7yEtt5dPuRi75kra6dfbiBw== X-Received: by 2002:a5d:65d2:0:b0:2bb:6c04:4598 with SMTP id e18-20020a5d65d2000000b002bb6c044598mr34641539wrw.67.1674818289744; Fri, 27 Jan 2023 03:18:09 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.18.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:18:09 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Michael Walle , Srinivas Kandagatla Subject: [PATCH 22/37] nvmem: core: provide own priv pointer in post process callback Date: Fri, 27 Jan 2023 11:15:50 +0000 Message-Id: <20230127111605.25958-23-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174473491262090?= X-GMAIL-MSGID: =?utf-8?q?1756174473491262090?= From: Michael Walle It doesn't make any more sense to have a opaque pointer set up by the nvmem device. Usually, the layout isn't associated with a particular nvmem device. Instead, let the caller who set the post process callback provide the priv pointer. Signed-off-by: Michael Walle Signed-off-by: Srinivas Kandagatla --- drivers/nvmem/core.c | 4 +++- include/linux/nvmem-provider.h | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index ae59d9cb901c..81ad6a4c4f86 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -53,6 +53,7 @@ struct nvmem_cell_entry { int bit_offset; int nbits; nvmem_cell_post_process_t read_post_process; + void *priv; struct device_node *np; struct nvmem_device *nvmem; struct list_head node; @@ -470,6 +471,7 @@ static int nvmem_cell_info_to_nvmem_cell_entry_nodup(struct nvmem_device *nvmem, cell->bytes = info->bytes; cell->name = info->name; cell->read_post_process = info->read_post_process; + cell->priv = info->priv; cell->bit_offset = info->bit_offset; cell->nbits = info->nbits; @@ -1550,7 +1552,7 @@ static int __nvmem_cell_read(struct nvmem_device *nvmem, nvmem_shift_read_buffer_in_place(cell, buf); if (cell->read_post_process) { - rc = cell->read_post_process(nvmem->priv, id, index, + rc = cell->read_post_process(cell->priv, id, index, cell->offset, buf, cell->bytes); if (rc) return rc; diff --git a/include/linux/nvmem-provider.h b/include/linux/nvmem-provider.h index d3d7af86a283..0cf9f9490514 100644 --- a/include/linux/nvmem-provider.h +++ b/include/linux/nvmem-provider.h @@ -20,7 +20,8 @@ typedef int (*nvmem_reg_write_t)(void *priv, unsigned int offset, void *val, size_t bytes); /* 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); + unsigned int offset, void *buf, + size_t bytes); enum nvmem_type { NVMEM_TYPE_UNKNOWN = 0, @@ -56,6 +57,7 @@ struct nvmem_keepout { * @np: Optional device_node pointer. * @read_post_process: Callback for optional post processing of cell data * on reads. + * @priv: Opaque data passed to the read_post_process hook. */ struct nvmem_cell_info { const char *name; @@ -65,6 +67,7 @@ struct nvmem_cell_info { unsigned int nbits; struct device_node *np; nvmem_cell_post_process_t read_post_process; + void *priv; }; /** From patchwork Fri Jan 27 11:15:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49201 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778447wrn; Fri, 27 Jan 2023 03:21:20 -0800 (PST) X-Google-Smtp-Source: AMrXdXsyNVDtlTUp4+vUPpLOsrGixxSGRm+h6C5dYdvUEKT5CBKXZDpFMGXop2/0/TSBvq7l5F/B X-Received: by 2002:a17:90a:5509:b0:228:d353:9614 with SMTP id b9-20020a17090a550900b00228d3539614mr40781405pji.10.1674818480230; Fri, 27 Jan 2023 03:21:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818480; cv=none; d=google.com; s=arc-20160816; b=li689MgJ4NypfBnTAx5sLN0sAiKPaMaCDwFiCY6yCQqrosDGlCHOQxz1hb6E9TU1cO JPMnFc1CvWgazkqhIVhg55jt35W9PJh8pn7J9yqI32Zf6RyQbsWK+rch8lo17LLviIR5 1vgDkSJnWUEJJBx5uFx7cBeIEYMwV2bl5YgrOZSkwxn25rkosgYMyCTlU7ag5TXJHxnq 23yZKD7MxdCclhVvXqko/4bqbhGovZ4FTj7fT7HWUtrYC1G0kLjli3A9GpRDHd8XojQu NqwEeJlhBuTRugLT2kMGdhMOLlCalTsqCr2HPSJ7Z//rgRPFoyz4v1rAg5o6V4bHXPD3 IT8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=nqPT9IiPlOeT+18a7EVyxb18GhOwuqWu5IcugbyndEU=; b=bWQMPg0x3neNsZ64p+A5RKdSb/DuSax+XbSlfx+3Um+793o114ba73NnAm8xmzcpJP h9VQMrqFGhOGYP2ULfkhkkM3t91S7g9AE6IGry9gCQdtHS1AL628I8AHo3lxY89lbSHp BMBwMeW5fVztDTwYySmMq6ebk80oCGoJzk+ZLGQYkOe6LnadNzq5nE2ROCf5wRPcbXTD PtBPAEhUr5DoituOKaH/Z4NGx2Rl1KeTkKxqqAV92ayjsulhRuwBcz3hXkjPfK688EzL UN6UKJ02VjmSiL4wNPLkQFa7vT/S2dX9b4AOZWl2YZr/LE0e8Hyp+q5Spm0faGI5UmzP u1ew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=jrFHF32R; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ng10-20020a17090b1a8a00b002295e494d44si1782826pjb.154.2023.01.27.03.21.07; Fri, 27 Jan 2023 03:21:20 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=jrFHF32R; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233093AbjA0LTS (ORCPT + 99 others); Fri, 27 Jan 2023 06:19:18 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56234 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233023AbjA0LSf (ORCPT ); Fri, 27 Jan 2023 06:18:35 -0500 Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com [IPv6:2a00:1450:4864:20::32e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9AF1374A75 for ; Fri, 27 Jan 2023 03:18:12 -0800 (PST) Received: by mail-wm1-x32e.google.com with SMTP id c10-20020a05600c0a4a00b003db0636ff84so3218949wmq.0 for ; Fri, 27 Jan 2023 03:18:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=nqPT9IiPlOeT+18a7EVyxb18GhOwuqWu5IcugbyndEU=; b=jrFHF32Roorg7EjKovLUCXNESHz+/pjZIfyhtkhj8RUMyutnVZEUS0NhwUDSIZvjdY HtcWgWKddAr+UEbb7b4NrrVa3lj41OUsy+Pc/2oEJcz9hAnYFCV0aeUm3FSVnESSeQ1b CqPrz5giQWSVOe0mHo5BDON+K8mBBFNQdqyMvB88+ssg4TVReKzlf2hzrFY/wbP6I7tc tFYMfeBTwi8BGRRsj3yOYWOodvaxSgUvSxsVJNVOqZ4/lqX5JwWKJcrAGzjd5PYeZfZf iEXb7Y/eT2TpT50ACCJQO6sAjHpT0QIx64gvzbJ2TV1Ko+VODRceBGNslbnuJODf6km7 cCSQ== 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=nqPT9IiPlOeT+18a7EVyxb18GhOwuqWu5IcugbyndEU=; b=0huNm7vH6y+LOTCxgmRZPClKUGFgpacVCdPqy2T100ueFppMXxE33SLn7RqvA0kVE8 kHZtrmOsV5VpRV2k4E42aM81v+f8/hVsj7bNhvLxfMVknM1t2FhoKCZ2uuLsTQYGe0sv rW2k53pd/eaI8t96+N1UhQFycZyq4JaeE1iH81FcnAkWYR2PcixYYGzbp53c4ULMJPdm RvyMOZx4avS45Sfs0nRmmhtSXamAs9OIdpNfSZu4ofj2mvmdddiBKDplVYvacW6tcw9N p7Rhjx3QAFaEMw9VBZywgDikU8fQg+9F7inIyuht6NkBYwsY9cAwpUYQmCFIqcifkDW5 OqFg== X-Gm-Message-State: AFqh2kryrZYm/NHCMF0aJmTDiH6Hk55jzXwiCrYrMa/Ww+kCN6gFljwf z+eUJeAJkzlO9hecVmiygXl+tLWIJGVyVNoN X-Received: by 2002:a05:600c:54d0:b0:3d9:7847:96e2 with SMTP id iw16-20020a05600c54d000b003d9784796e2mr38589128wmb.2.1674818290830; Fri, 27 Jan 2023 03:18:10 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.18.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:18:10 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Michael Walle , Srinivas Kandagatla Subject: [PATCH 23/37] nvmem: layouts: add sl28vpd layout Date: Fri, 27 Jan 2023 11:15:51 +0000 Message-Id: <20230127111605.25958-24-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174462971777803?= X-GMAIL-MSGID: =?utf-8?q?1756174462971777803?= From: Michael Walle This layout applies to the VPD of the Kontron sl28 boards. The VPD only contains a base MAC address. Therefore, we have to add an individual offset to it. This is done by taking the second argument of the nvmem phandle into account. Also this let us checking the VPD version and the checksum. Signed-off-by: Michael Walle Signed-off-by: Srinivas Kandagatla --- drivers/nvmem/layouts/Kconfig | 9 ++ drivers/nvmem/layouts/Makefile | 2 + drivers/nvmem/layouts/sl28vpd.c | 153 ++++++++++++++++++++++++++++++++ 3 files changed, 164 insertions(+) create mode 100644 drivers/nvmem/layouts/sl28vpd.c diff --git a/drivers/nvmem/layouts/Kconfig b/drivers/nvmem/layouts/Kconfig index 9ad3911d1605..75082f6b471d 100644 --- a/drivers/nvmem/layouts/Kconfig +++ b/drivers/nvmem/layouts/Kconfig @@ -2,4 +2,13 @@ menu "Layout Types" +config NVMEM_LAYOUT_SL28_VPD + bool "Kontron sl28 VPD layout support" + select CRC8 + help + Say Y here if you want to support the VPD layout of the Kontron + SMARC-sAL28 boards. + + If unsure, say N. + endmenu diff --git a/drivers/nvmem/layouts/Makefile b/drivers/nvmem/layouts/Makefile index 6fdb3c60a4fa..fc617b9e87d0 100644 --- a/drivers/nvmem/layouts/Makefile +++ b/drivers/nvmem/layouts/Makefile @@ -2,3 +2,5 @@ # # Makefile for nvmem layouts. # + +obj-$(CONFIG_NVMEM_LAYOUT_SL28_VPD) += sl28vpd.o diff --git a/drivers/nvmem/layouts/sl28vpd.c b/drivers/nvmem/layouts/sl28vpd.c new file mode 100644 index 000000000000..a36800f201a3 --- /dev/null +++ b/drivers/nvmem/layouts/sl28vpd.c @@ -0,0 +1,153 @@ +// SPDX-License-Identifier: GPL-2.0 + +#include +#include +#include +#include +#include +#include + +#define SL28VPD_MAGIC 'V' + +struct sl28vpd_header { + u8 magic; + u8 version; +} __packed; + +struct sl28vpd_v1 { + struct sl28vpd_header header; + char serial_number[15]; + u8 base_mac_address[ETH_ALEN]; + u8 crc8; +} __packed; + +static int sl28vpd_mac_address_pp(void *priv, const char *id, int index, + unsigned int offset, void *buf, + size_t bytes) +{ + if (bytes != ETH_ALEN) + return -EINVAL; + + if (index < 0) + return -EINVAL; + + if (!is_valid_ether_addr(buf)) + return -EINVAL; + + eth_addr_add(buf, index); + + return 0; +} + +static const struct nvmem_cell_info sl28vpd_v1_entries[] = { + { + .name = "serial-number", + .offset = offsetof(struct sl28vpd_v1, serial_number), + .bytes = sizeof_field(struct sl28vpd_v1, serial_number), + }, + { + .name = "base-mac-address", + .offset = offsetof(struct sl28vpd_v1, base_mac_address), + .bytes = sizeof_field(struct sl28vpd_v1, base_mac_address), + .read_post_process = sl28vpd_mac_address_pp, + }, +}; + +static int sl28vpd_v1_check_crc(struct device *dev, struct nvmem_device *nvmem) +{ + struct sl28vpd_v1 data_v1; + u8 table[CRC8_TABLE_SIZE]; + int ret; + u8 crc; + + crc8_populate_msb(table, 0x07); + + ret = nvmem_device_read(nvmem, 0, sizeof(data_v1), &data_v1); + if (ret < 0) + return ret; + else if (ret != sizeof(data_v1)) + return -EIO; + + crc = crc8(table, (void *)&data_v1, sizeof(data_v1) - 1, 0); + + if (crc != data_v1.crc8) { + dev_err(dev, + "Checksum is invalid (got %02x, expected %02x).\n", + crc, data_v1.crc8); + return -EINVAL; + } + + return 0; +} + +static int sl28vpd_add_cells(struct device *dev, struct nvmem_device *nvmem, + struct nvmem_layout *layout) +{ + const struct nvmem_cell_info *pinfo; + struct nvmem_cell_info info = {0}; + struct device_node *layout_np; + struct sl28vpd_header hdr; + int ret, i; + + /* check header */ + ret = nvmem_device_read(nvmem, 0, sizeof(hdr), &hdr); + if (ret < 0) + return ret; + else if (ret != sizeof(hdr)) + return -EIO; + + if (hdr.magic != SL28VPD_MAGIC) { + dev_err(dev, "Invalid magic value (%02x)\n", hdr.magic); + return -EINVAL; + } + + if (hdr.version != 1) { + dev_err(dev, "Version %d is unsupported.\n", hdr.version); + return -EINVAL; + } + + ret = sl28vpd_v1_check_crc(dev, nvmem); + if (ret) + return ret; + + layout_np = of_nvmem_layout_get_container(nvmem); + if (!layout_np) + return -ENOENT; + + for (i = 0; i < ARRAY_SIZE(sl28vpd_v1_entries); i++) { + pinfo = &sl28vpd_v1_entries[i]; + + info.name = pinfo->name; + info.offset = pinfo->offset; + info.bytes = pinfo->bytes; + info.read_post_process = pinfo->read_post_process; + info.np = of_get_child_by_name(layout_np, pinfo->name); + + ret = nvmem_add_one_cell(nvmem, &info); + if (ret) { + of_node_put(layout_np); + return ret; + } + } + + of_node_put(layout_np); + + return 0; +} + +static const struct of_device_id sl28vpd_of_match_table[] = { + { .compatible = "kontron,sl28-vpd" }, + {}, +}; + +struct nvmem_layout sl28vpd_layout = { + .name = "sl28-vpd", + .of_match_table = sl28vpd_of_match_table, + .add_cells = sl28vpd_add_cells, +}; + +static int __init sl28vpd_init(void) +{ + return nvmem_layout_register(&sl28vpd_layout); +} +subsys_initcall(sl28vpd_init); From patchwork Fri Jan 27 11:15:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49220 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778764wrn; Fri, 27 Jan 2023 03:22:11 -0800 (PST) X-Google-Smtp-Source: AMrXdXu6766L2S8ghX44ze/LEDy2ohjXGTobMrE1pOprNIIXeRIxnDmzxUh7aVgnHHiOe4ofcDtA X-Received: by 2002:aa7:80d3:0:b0:58d:e33b:d565 with SMTP id a19-20020aa780d3000000b0058de33bd565mr30326060pfn.5.1674818530757; Fri, 27 Jan 2023 03:22:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818530; cv=none; d=google.com; s=arc-20160816; b=Ty2qlNQcYaVD6nwITKh8WK5oPULFleKePTTUl/OsSw4SocyXPCuKT9/U08mzD4QWup UfXdmFQ96uu2raVNWs8hm1hRuvVfl/PphQcXsxNUygHutWJydzYwjADY6qTJmtRfV5Sf VQ1zKbiABzDdsVXw2m4cja4DmDjgH+2pkNZAbYYI8rABAY6BkEkIVxpyq0LlDrkU88gr mbsCMQmGuvzYgne1WyL/ByI+UENZofCrJL9rn6PFxYOCajD2+kUBzrtHTYiSc4y3GysG BaL/YnW0TdMpj0cFDKin/WOViTuyBrVa569hBU9IY2CaTiG+fWkuVBJuMvWJa+qrrqZp JCSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=fQE11Epg7pwFwOSfMPibr6rBB+lGqfS8IaEFKxhRKRE=; b=nEJWyPn98wKIDJFXeL6njpZSLf8y9qpbW+ULelcNXtNLwskz/edfGNCZVkCLLLyyTq u8oXDMByoBLaNEeMLJbugyEt0GcSgPlw81czBcz47cO8165bQOjpUD37oetKuY5rU6iR vf55WWV7ET63B1aLEouAxElSOBsvkUD3o/jVDx0qjUZQYx4xQFEM9mnOxI5Y6GyoveQq 873srQBKzS4X3wOoUwOOoPxmoLYeRb2HcfMPjNyuMsYZgtjTSpihffM3+8oiG2Yi5+XJ ePEVrHLQsm4rGezauZBnYIpFBK6pPUkI+bRdWqrt60Gs8iqtRyVjG5RjRfrWKAccrCHn Tmog== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=fsEVZCnw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a11-20020a056a000c8b00b0058da0539819si4598927pfv.162.2023.01.27.03.21.58; Fri, 27 Jan 2023 03:22:10 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=fsEVZCnw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233023AbjA0LT0 (ORCPT + 99 others); Fri, 27 Jan 2023 06:19:26 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56262 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232695AbjA0LSg (ORCPT ); Fri, 27 Jan 2023 06:18:36 -0500 Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com [IPv6:2a00:1450:4864:20::431]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 02C543EFE9 for ; Fri, 27 Jan 2023 03:18:14 -0800 (PST) Received: by mail-wr1-x431.google.com with SMTP id bk16so4641336wrb.11 for ; Fri, 27 Jan 2023 03:18:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=fQE11Epg7pwFwOSfMPibr6rBB+lGqfS8IaEFKxhRKRE=; b=fsEVZCnwmRE1p2kJ7Dxy0Zl+EUoA8psCnOlqnZRnyIIqEWPv8N4HVLfFEJXGt7mqSi PwXBeYUwaAMCZ5QrK7xxx53F7SWQXw05PlJgBrNKTcv5RQCqHrn2RZmowKj0vWOrvdD2 bGiV5C9UHJu5QfGgsJgV+8nEUaSC/WRR0pfPYCL0sXl/V3oRJFtIFYGYu+gcQokXdm3z 54d17hP1j7AJjhEJqWbY6LfzK/W61csBprcUu/wvSUDspiopjMYcKsluysPapCBhCxvf Kd5qE2ww9kAG+pepUde0PWKwACtinDCke/ST/42gEzFXPhpRWcWGcj4unTIai5PkF2me un6Q== 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=fQE11Epg7pwFwOSfMPibr6rBB+lGqfS8IaEFKxhRKRE=; b=P5MCTYKe+zQLngRaXLATj2I9rSSLNNX1Hk1eVP3yHT5G3+WU8OZ5YWzMvOeWEVQMDe htnd8M77E9t63s7RNGmdnN2oCN+1WQ8Fc1bt9lXB2HCabKLQ3pExXZDyw6ugXMmcTk4n fTT1S0f9Ji9/qNuJSuvnO+GM1aaqtg/Y5p9lQ0CPUZF9LSrbDfhKKITSpF1bmEo7p2qS wLuW7UEkHl0MS2ssfsmicRH9/jecb9sNXwnITCLYdp0GHhpmEB6Elzxiz75v5GQ7SQ2g t+5OFvcEUd/K6O2913GQBM+5iWVRJ5TASmW7pVDYw8lhW+0ygAnmQVA4ZdfI1/uNN86X risg== X-Gm-Message-State: AFqh2kpMFwOpuA9gOJ0x67lElCJsgMKKRHVqChuPZL0FetQYRankH/CF HAgw4ZKdXYG+C6q6iLNb/RyKmWM9wAP9Ki4g X-Received: by 2002:a5d:6f03:0:b0:29a:c631:e761 with SMTP id ay3-20020a5d6f03000000b0029ac631e761mr37574019wrb.43.1674818292239; Fri, 27 Jan 2023 03:18:12 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.18.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:18:11 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Michael Walle , Srinivas Kandagatla Subject: [PATCH 24/37] MAINTAINERS: add myself as sl28vpd nvmem layout driver Date: Fri, 27 Jan 2023 11:15:52 +0000 Message-Id: <20230127111605.25958-25-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174515727368912?= X-GMAIL-MSGID: =?utf-8?q?1756174515727368912?= From: Michael Walle Add myself as a maintainer for the new sl28vpd nvmem layout driver. Signed-off-by: Michael Walle Signed-off-by: Srinivas Kandagatla --- MAINTAINERS | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index f61eb221415b..70aa4547d784 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -19178,6 +19178,12 @@ F: drivers/irqchip/irq-sl28cpld.c F: drivers/pwm/pwm-sl28cpld.c F: drivers/watchdog/sl28cpld_wdt.c +SL28 VPD NVMEM LAYOUT DRIVER +M: Michael Walle +S: Maintained +F: Documentation/devicetree/bindings/nvmem/layouts/kontron,sl28-vpd.yaml +F: drivers/nvmem/layouts/sl28vpd.c + SLAB ALLOCATOR M: Christoph Lameter M: Pekka Enberg From patchwork Fri Jan 27 11:15:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49204 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778525wrn; Fri, 27 Jan 2023 03:21:36 -0800 (PST) X-Google-Smtp-Source: AK7set9tLWEgU1rNSI1/RXxz0PBhEqQLr8RXUdMIFvozER4GbmfBO38/XelTukePl/X6ChP1u162 X-Received: by 2002:a17:902:c411:b0:196:35cf:3b12 with SMTP id k17-20020a170902c41100b0019635cf3b12mr3512366plk.36.1674818496140; Fri, 27 Jan 2023 03:21:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818496; cv=none; d=google.com; s=arc-20160816; b=fOV0a8XrS7KEZ8U2X3kMCgE3FDjhtfiCqpEjtywuC6LqN3r/cbCKUMj9s2L3awn9Rd WrGFD8RGznQeAa6+h163Fn9fH5i0Y7FWwJpTPCLE2Wcx5/8L6M2x3RIqe8kbJCg3Zj9T MsKDYicHTvLzqIQwVYuT/wOuJhkyMViBqsIeRSTFVc+F9v+fDmdR7sGZs5CLOuir7w7q nEq5udcBzx9dRy3WHEOzlZ3EAGsy1v25/VJLJJsprvNEibzEw6cPcjkgIapul3QNJc8n qhTW8NklH66OoUysOBucOTufPpYB5J1WR1XtcRH6kruIJK8aXqEFgvybOG1ddJMuwUxA 3WJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=XLce2VH8YKNQOYV+SBH0uUMTgH6/xIjPAdQIwW5Z5qY=; b=NJiuE+VkKbMuqLXMIOiTjH27f3XRN7JwHwC/HspknW/pepr3iy0q4Dk6Mhe6P7mDmC jy8zABn2zkkqlh4aNXzlAqAVRnJyqnaJqvAnmfD2MT9MYE1TnkIT8SEQvUVKADCWdJhZ k0gpO1vP+tOZhs69SmIPVxWxVQeo24IYDVXFv6I7ymsLOJBLoYpHhTY3xHH10JHr1H/O z7heVP71sWOrt0XhxcAjVBIPoBuRsjANDnGwEo48gCbJKbRW56KBNwVuX2nrFtWAL/R2 nxSf03bHlvPH+37zrFlvIHi+6IV4ruzwRH0bRaNh/ifMxHwCLWHmZzjmlY6JT2tkt9Gj QMkg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=IfYGq+A5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s9-20020a170902c64900b0019262dfa3e5si4005329pls.188.2023.01.27.03.21.23; Fri, 27 Jan 2023 03:21:36 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=IfYGq+A5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233119AbjA0LTa (ORCPT + 99 others); Fri, 27 Jan 2023 06:19:30 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56302 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232741AbjA0LSi (ORCPT ); Fri, 27 Jan 2023 06:18:38 -0500 Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7170947ED3 for ; Fri, 27 Jan 2023 03:18:14 -0800 (PST) Received: by mail-wr1-x42e.google.com with SMTP id h12so4643344wrv.10 for ; Fri, 27 Jan 2023 03:18:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=XLce2VH8YKNQOYV+SBH0uUMTgH6/xIjPAdQIwW5Z5qY=; b=IfYGq+A5ZTnChiwJAxW1Cje7fcoNqTWWoIrmZmdbIpcdRf0Ff4X4e1CDxHmT0Joovb YVey8u88q63jhoEJDK4M1SQxepUMv9oxE5ct8i6qhGa694t6oryPmH5GTnSlpBhB6r28 oqmcCw6nK4cvg35glaBvjw/ZHgks1RytSo/p5dxxprIU/ZEbIKm4PscdQlhZxtgsmLxP zoOMkn7VF+Mbb2wpv56SiAXUJaKiDg9Ex7zvmFWraX9CYZKKN2k5Lf9LMMjjXqdVcuPP 50kwTv+COOV9xJv9R8wQP8aPDVWu8jhLXGByy6TyuqzGlJ/kCd18t2QvdJz4kxyvwSOb kzrA== 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=XLce2VH8YKNQOYV+SBH0uUMTgH6/xIjPAdQIwW5Z5qY=; b=frW0DsEbECh4AP1T6ossImIR/7mJt9BcVzfvvNUW6a/5ioCy/2welrghJ2z95LMnHL jdDiXa5LI1GUhj2ukKoOAep2mBuyoi8oLB2uHFiuHLRRkiROVcLhdWKd7E+tdZCoV99r 2TwG4g/kM4LzkaUwoz+vWoAstaOWfeaDnjn1glUTRg9KcW5zDb0UgjDaeQm3LcJ4XFjj pUtE4swJIA+8ZfmRmVWJfbDCi+yZTUVMeDOq2shA7e3Z8sUyCgKdXmQH3RHLcD3AZ/qS r6enSfg8ZeqvHIjQqN0rQ+IP4JfSljr3Vx9PGi3lh3SRNo+hJY1FkvvS0VktSwmdL7sh /IlA== X-Gm-Message-State: AO0yUKVhpLpjr+dFaaaSQ7Dnboi16RZxrk+dGJN8CQS8c2wQmPu5nNGz Ww2i/ZMKAVDqNeBZ3ZXJqbosyA== X-Received: by 2002:a5d:6d03:0:b0:2bf:b3ee:4a19 with SMTP id e3-20020a5d6d03000000b002bfb3ee4a19mr14665179wrq.9.1674818293798; Fri, 27 Jan 2023 03:18:13 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.18.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:18:13 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Miquel Raynal , Srinivas Kandagatla Subject: [PATCH 25/37] nvmem: layouts: Add ONIE tlv layout driver Date: Fri, 27 Jan 2023 11:15:53 +0000 Message-Id: <20230127111605.25958-26-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174479455928565?= X-GMAIL-MSGID: =?utf-8?q?1756174479455928565?= From: Miquel Raynal This layout applies on top of any non volatile storage device containing an ONIE table factory flashed. This table follows the tlv (type-length-value) organization described in the link below. We cannot afford using regular parsers because the content of these tables is manufacturer specific and must be dynamically discovered. Link: https://opencomputeproject.github.io/onie/design-spec/hw_requirements.html Signed-off-by: Miquel Raynal Signed-off-by: Srinivas Kandagatla --- drivers/nvmem/layouts/Kconfig | 9 ++ drivers/nvmem/layouts/Makefile | 1 + drivers/nvmem/layouts/onie-tlv.c | 244 +++++++++++++++++++++++++++++++ 3 files changed, 254 insertions(+) create mode 100644 drivers/nvmem/layouts/onie-tlv.c diff --git a/drivers/nvmem/layouts/Kconfig b/drivers/nvmem/layouts/Kconfig index 75082f6b471d..9ad50474cb77 100644 --- a/drivers/nvmem/layouts/Kconfig +++ b/drivers/nvmem/layouts/Kconfig @@ -11,4 +11,13 @@ config NVMEM_LAYOUT_SL28_VPD If unsure, say N. +config NVMEM_LAYOUT_ONIE_TLV + bool "ONIE tlv support" + select CRC32 + help + Say Y here if you want to support the Open Compute Project ONIE + Type-Length-Value standard table. + + If unsure, say N. + endmenu diff --git a/drivers/nvmem/layouts/Makefile b/drivers/nvmem/layouts/Makefile index fc617b9e87d0..2974bd7d33ed 100644 --- a/drivers/nvmem/layouts/Makefile +++ b/drivers/nvmem/layouts/Makefile @@ -4,3 +4,4 @@ # obj-$(CONFIG_NVMEM_LAYOUT_SL28_VPD) += sl28vpd.o +obj-$(CONFIG_NVMEM_LAYOUT_ONIE_TLV) += onie-tlv.o diff --git a/drivers/nvmem/layouts/onie-tlv.c b/drivers/nvmem/layouts/onie-tlv.c new file mode 100644 index 000000000000..074c7c700845 --- /dev/null +++ b/drivers/nvmem/layouts/onie-tlv.c @@ -0,0 +1,244 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * ONIE tlv NVMEM cells provider + * + * Copyright (C) 2022 Open Compute Group ONIE + * Author: Miquel Raynal + * Based on the nvmem driver written by: Vadym Kochan + * Inspired by the first layout written by: RafaÅ‚ MiÅ‚ecki + */ + +#include +#include +#include +#include +#include + +#define ONIE_TLV_MAX_LEN 2048 +#define ONIE_TLV_CRC_FIELD_SZ 6 +#define ONIE_TLV_CRC_SZ 4 +#define ONIE_TLV_HDR_ID "TlvInfo" + +struct onie_tlv_hdr { + u8 id[8]; + u8 version; + __be16 data_len; +} __packed; + +struct onie_tlv { + u8 type; + u8 len; +} __packed; + +static const char *onie_tlv_cell_name(u8 type) +{ + switch (type) { + case 0x21: + return "product-name"; + case 0x22: + return "part-number"; + case 0x23: + return "serial-number"; + case 0x24: + return "mac-address"; + case 0x25: + return "manufacture-date"; + case 0x26: + return "device-version"; + case 0x27: + return "label-revision"; + case 0x28: + return "platforn-name"; + case 0x29: + return "onie-version"; + case 0x2A: + return "num-macs"; + case 0x2B: + return "manufacturer"; + case 0x2C: + return "country-code"; + case 0x2D: + return "vendor"; + case 0x2E: + return "diag-version"; + case 0x2F: + return "service-tag"; + case 0xFD: + return "vendor-extension"; + case 0xFE: + return "crc32"; + default: + break; + } + + return NULL; +} + +static int onie_tlv_mac_read_cb(void *priv, const char *id, int index, + unsigned int offset, void *buf, + size_t bytes) +{ + eth_addr_add(buf, index); + + return 0; +} + +static nvmem_cell_post_process_t onie_tlv_read_cb(u8 type, u8 *buf) +{ + switch (type) { + case 0x24: + return &onie_tlv_mac_read_cb; + default: + break; + } + + return NULL; +} + +static int onie_tlv_add_cells(struct device *dev, struct nvmem_device *nvmem, + size_t data_len, u8 *data) +{ + struct nvmem_cell_info cell = {}; + struct device_node *layout; + struct onie_tlv tlv; + unsigned int hdr_len = sizeof(struct onie_tlv_hdr); + unsigned int offset = 0; + int ret; + + layout = of_nvmem_layout_get_container(nvmem); + if (!layout) + return -ENOENT; + + while (offset < data_len) { + memcpy(&tlv, data + offset, sizeof(tlv)); + if (offset + tlv.len >= data_len) { + dev_err(dev, "Out of bounds field (0x%x bytes at 0x%x)\n", + tlv.len, hdr_len + offset); + break; + } + + cell.name = onie_tlv_cell_name(tlv.type); + if (!cell.name) + continue; + + cell.offset = hdr_len + offset + sizeof(tlv.type) + sizeof(tlv.len); + cell.bytes = tlv.len; + cell.np = of_get_child_by_name(layout, cell.name); + cell.read_post_process = onie_tlv_read_cb(tlv.type, data + offset + sizeof(tlv)); + + ret = nvmem_add_one_cell(nvmem, &cell); + if (ret) { + of_node_put(layout); + return ret; + } + + offset += sizeof(tlv) + tlv.len; + } + + of_node_put(layout); + + return 0; +} + +static bool onie_tlv_hdr_is_valid(struct device *dev, struct onie_tlv_hdr *hdr) +{ + if (memcmp(hdr->id, ONIE_TLV_HDR_ID, sizeof(hdr->id))) { + dev_err(dev, "Invalid header\n"); + return false; + } + + if (hdr->version != 0x1) { + dev_err(dev, "Invalid version number\n"); + return false; + } + + return true; +} + +static bool onie_tlv_crc_is_valid(struct device *dev, size_t table_len, u8 *table) +{ + struct onie_tlv crc_hdr; + u32 read_crc, calc_crc; + __be32 crc_be; + + memcpy(&crc_hdr, table + table_len - ONIE_TLV_CRC_FIELD_SZ, sizeof(crc_hdr)); + if (crc_hdr.type != 0xfe || crc_hdr.len != ONIE_TLV_CRC_SZ) { + dev_err(dev, "Invalid CRC field\n"); + return false; + } + + /* The table contains a JAMCRC, which is XOR'ed compared to the original + * CRC32 implementation as known in the Ethernet world. + */ + memcpy(&crc_be, table + table_len - ONIE_TLV_CRC_SZ, ONIE_TLV_CRC_SZ); + read_crc = be32_to_cpu(crc_be); + calc_crc = crc32(~0, table, table_len - ONIE_TLV_CRC_SZ) ^ 0xFFFFFFFF; + if (read_crc != calc_crc) { + dev_err(dev, "Invalid CRC read: 0x%08x, expected: 0x%08x\n", + read_crc, calc_crc); + return false; + } + + return true; +} + +static int onie_tlv_parse_table(struct device *dev, struct nvmem_device *nvmem, + struct nvmem_layout *layout) +{ + struct onie_tlv_hdr hdr; + size_t table_len, data_len, hdr_len; + u8 *table, *data; + int ret; + + ret = nvmem_device_read(nvmem, 0, sizeof(hdr), &hdr); + if (ret < 0) + return ret; + + if (!onie_tlv_hdr_is_valid(dev, &hdr)) { + dev_err(dev, "Invalid ONIE TLV header\n"); + return -EINVAL; + } + + hdr_len = sizeof(hdr.id) + sizeof(hdr.version) + sizeof(hdr.data_len); + data_len = be16_to_cpu(hdr.data_len); + table_len = hdr_len + data_len; + if (table_len > ONIE_TLV_MAX_LEN) { + dev_err(dev, "Invalid ONIE TLV data length\n"); + return -EINVAL; + } + + table = devm_kmalloc(dev, table_len, GFP_KERNEL); + if (!table) + return -ENOMEM; + + ret = nvmem_device_read(nvmem, 0, table_len, table); + if (ret != table_len) + return ret; + + if (!onie_tlv_crc_is_valid(dev, table_len, table)) + return -EINVAL; + + data = table + hdr_len; + ret = onie_tlv_add_cells(dev, nvmem, data_len, data); + if (ret) + return ret; + + return 0; +} + +static const struct of_device_id onie_tlv_of_match_table[] = { + { .compatible = "onie,tlv-layout", }, + {}, +}; + +static struct nvmem_layout onie_tlv_layout = { + .name = "ONIE tlv layout", + .of_match_table = onie_tlv_of_match_table, + .add_cells = onie_tlv_parse_table, +}; + +static int __init onie_tlv_init(void) +{ + return nvmem_layout_register(&onie_tlv_layout); +} +subsys_initcall(onie_tlv_init); From patchwork Fri Jan 27 11:15:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49205 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778539wrn; Fri, 27 Jan 2023 03:21:39 -0800 (PST) X-Google-Smtp-Source: AK7set/bz6k8s0PSKdv4V2mnAigaXowwDBXKU/l2sXeSOGm9W/yYUluv2p43ZXkD1An+8daU39EO X-Received: by 2002:a05:6a20:160b:b0:bc:3ec1:3c4b with SMTP id l11-20020a056a20160b00b000bc3ec13c4bmr2205054pzj.22.1674818498856; Fri, 27 Jan 2023 03:21:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818498; cv=none; d=google.com; s=arc-20160816; b=ekvAcIv+kDr+wZaE5K3rl0Dc8umAFnBZhWaOj6J8pu9JTP8Wuoc+34Z2EfAcoUy7Ft laaCAGe+3+O8cJU4j0FhCE3jwDQk/TJfvE6WmxUJmBEraTpSUgvropey/qnSAYWniuk1 zoCc76Knz2Zel3oTnVWni+G0P6I+db+UQd1Uqr4PdtUxievsbiBy/qkvjj6+BkpiS0ar oK0y8DlpJAPVKdk1uv7rs251OOHjNyH2Hti8+wRx+ki6umAy+8aYZG4J0NsjVHZzLFKp m/kuLteqKQIn6gIncVE6WfB745HZdQ++dXfQ4gIEs4PhUaCAS8vNu9UacoOsZGCEYrN2 Th/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=DUOxD1F8eRNm4Bz5AYSwM1sKglQF1AVwavHsc7USB10=; b=LSoB1oxumdJlX8tQASRC7KNyuA5l6trxnvlkE2odgDjC5O7HVLsduGjE419C8MIWYf diUOxS2/bQwEjq9mYaSHvsolL/17q+stXxDtS2pwY53pUIfE2cq+qexdmGJJVQd51z81 KSgLB+GoNnD99kD486w8rnaPfW2EE6acR03lTeqaqqvD2Gq2gPr6S0opfHPdESIs5fe7 NJtzcRdLsKCmw0K7kC+RtxcGW3JzAhkjqyvsIbSGauveSZW1Slul/22dskrTiUibon/4 KHL7dldECdgqfWYK79A/9QoMCP8yHMNY/KXIT4IgqMxeC/VIhGFGhBzNNNCB5VNOSkwV f36w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=nR3Hu0Fb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id m5-20020a17090a2c0500b00218792fa2b3si8297074pjd.160.2023.01.27.03.21.26; Fri, 27 Jan 2023 03:21:38 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=nR3Hu0Fb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233092AbjA0LTc (ORCPT + 99 others); Fri, 27 Jan 2023 06:19:32 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55370 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233036AbjA0LSi (ORCPT ); Fri, 27 Jan 2023 06:18:38 -0500 Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 71F4C7A499 for ; Fri, 27 Jan 2023 03:18:15 -0800 (PST) Received: by mail-wr1-x42d.google.com with SMTP id d14so4651038wrr.9 for ; Fri, 27 Jan 2023 03:18:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=DUOxD1F8eRNm4Bz5AYSwM1sKglQF1AVwavHsc7USB10=; b=nR3Hu0Fbm53CjYNtgfZuRtIgs9heWbZT/kyV+PVoiRMQXUZZx9ie63OSXDarmWfO+x LkdHBuViHDz9M/s8r2ghs4Us+HI0w9/qgrGH9MZhn+ePJ2VURj1eafUjxLrg6TNiv+oe /H0iVLCy4F5AGmelZjT+hwO9MptJNbcpsViubeqgDb1RHY0/oNWBB9QuPMweNHyVwZFD W4GQ8SLTcPTBOChPHKG5ALAp4ejg0/lHLxf5kO1JVvRLhP5yMtq+5q7LbC/63HlGK3w/ PDT935dnPtg1SR3OIpfQaEr4g4n8dg7dc2xPhcOxiHrkckieh+N/0r7hZMLLAMt3LEnp i9IA== 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=DUOxD1F8eRNm4Bz5AYSwM1sKglQF1AVwavHsc7USB10=; b=5Ajm1P9m35PU+Dm7YdKmdWyDDoBupfLyI/4RdDc9HehbjBYEvfSFWe5D6jUpPTHcwc Hk9HB6c3xogu6XYzBziOI653AXFs9igq/ZbKFaIQNvyNRrABNjpJdiC5VnO0OhlZurIm hWRYOTdWz3jw1Ew+OhoxS5DKGATDG0CCwE/kzP6KHBvpYy+czzWR3cQlAUgFnt7ulY9N JHv2PFWiWYos+BRB2dKuqtQ29OYKTHlbYJU+4Pl0LT8WE9PPWNihNHeCfRj6hwvy9JIC EbMspg9d8TK6hMZZzFa0fSDTGDw8TqvO2fLbx0oFuYrNAjVSQ4yJ07BmvJKL0qTOGVWB dWcg== X-Gm-Message-State: AFqh2kr3NQjOevXCL7ZwEV7urjpagNjUIXEe4J1lIeFqJLRcPZFluqx0 sWwFIY28MNNg8+gA45PJDFq5rQ== X-Received: by 2002:a05:6000:1e18:b0:2bc:846a:8ead with SMTP id bj24-20020a0560001e1800b002bc846a8eadmr37474231wrb.37.1674818294959; Fri, 27 Jan 2023 03:18:14 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.18.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:18:14 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Miquel Raynal , Srinivas Kandagatla Subject: [PATCH 26/37] MAINTAINERS: Add myself as ONIE tlv NVMEM layout maintainer Date: Fri, 27 Jan 2023 11:15:54 +0000 Message-Id: <20230127111605.25958-27-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174482481971084?= X-GMAIL-MSGID: =?utf-8?q?1756174482481971084?= From: Miquel Raynal Following the introduction of the bindings for this NVMEM parser and the layout driver, add myself as maintainer. Signed-off-by: Miquel Raynal Signed-off-by: Srinivas Kandagatla --- MAINTAINERS | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 70aa4547d784..60b8f2c07e7f 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -15577,6 +15577,12 @@ L: linux-hwmon@vger.kernel.org S: Maintained F: drivers/hwmon/oxp-sensors.c +ONIE TLV NVMEM LAYOUT DRIVER +M: Miquel Raynal +S: Maintained +F: Documentation/devicetree/bindings/nvmem/layouts/onie,tlv-layout.yaml +F: drivers/nvmem/layouts/onie-tlv.c + ONION OMEGA2+ BOARD M: Harvey Hunt L: linux-mips@vger.kernel.org From patchwork Fri Jan 27 11:15:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49209 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778640wrn; Fri, 27 Jan 2023 03:21:54 -0800 (PST) X-Google-Smtp-Source: AMrXdXsGNtYZvHBMCnL+8Nmo/8fi0Z/UnFWCOrBB0LfzS95CuiqQrDRD5YBfhAUums4UrdUdGhjN X-Received: by 2002:a05:6a20:4294:b0:b5:a64d:a181 with SMTP id o20-20020a056a20429400b000b5a64da181mr52571174pzj.19.1674818513978; Fri, 27 Jan 2023 03:21:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818513; cv=none; d=google.com; s=arc-20160816; b=TcTNZB3nBXVuUQrDpyr3ZInLciAMwJcnNctCuqlkqxTQg9ttWIxjExIrbKO3agufsz osITj+sxaenVBofrF9Fs02Vzte/opzcccx+7w+WXyxOgcEZLi9QpZ9rMemxBgqKpHq8d ZIJaSRnaLS7WmuaFwKsswbYxFwPmlHExmzrFGqiZt3rRLnhTMCFNH4BA8hG9xx4EGUqh LmohpOXZQVLHCoHZTwj0wP2Q4AuVXEGQwr09ing3jMtZzMDMn8z3Vi4UpOqgNtyfReiC vwsfPqZNzWg5YFWg1rTP+WQKZ2iGE5lTWHDKqfTThDWol4ZsYFET9V67Fs7MvnDeUIPQ /xVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=y5cQYAWnc8iQ0UrchsvjPr/IR5ASImNBAqD3wKXZO3g=; b=RFH60VbztFxhyjjUYoWz4/0ehA3PpJBUApG1Ga5Hu3EmLtJDSyQro0EyzbUOc4dOsi 4DOtVyqlD3DB5YpUp1msOp6kR9Vih2b+U9EU1lrlBAFb/gWwIwBOUhiqZOk9+16TmNNy ZqwkhUVWp5D98fhvbJTcPWUQke+wdFNfLDYtQ85XQi/1It7ubudvEzqbKu3TzkztXFwa HzJD+67C+ihMN5zKFmoU/CkzQvNLMfpnZEf2QxKNv7SSkGeqlTukmdDy9SF7+CLjgdQe taA4X9hjXAfIwI1NoluO82fjYrAFGXADzpo90cqMMZ0QwIIn1/pjGn+ebI8DL/ogKoz6 akug== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="cY/6mrjF"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 204-20020a6301d5000000b004d2621d6a71si3828015pgb.635.2023.01.27.03.21.41; Fri, 27 Jan 2023 03:21:53 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="cY/6mrjF"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231923AbjA0LTf (ORCPT + 99 others); Fri, 27 Jan 2023 06:19:35 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56580 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232738AbjA0LSi (ORCPT ); Fri, 27 Jan 2023 06:18:38 -0500 Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com [IPv6:2a00:1450:4864:20::430]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4255B1286C for ; Fri, 27 Jan 2023 03:18:18 -0800 (PST) Received: by mail-wr1-x430.google.com with SMTP id b7so4678281wrt.3 for ; Fri, 27 Jan 2023 03:18:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=y5cQYAWnc8iQ0UrchsvjPr/IR5ASImNBAqD3wKXZO3g=; b=cY/6mrjFUq0WtDE7zWolaFcIY/oeOsBT9GGOMoO/gi8hILJXxphqdTTa/B5+NxTDoJ 30PoRcdzHo2uKwATYyINDslTkoDCoPLeHN2MUxlsZ+y3sm9Ud02Rxleoz5XpMDwhkdXq DLNmGqoAa1I0oRauqJLYbUTHe/9D1IzYyTOvvSacnVfxxrnbokm4teCimaIedh2+5o3f OmT/+4Y/HNpMTTxmopaXt6ohtIVpdXFkQaYyyOQZKolDGzfaI5FCk085VP+3CC2wR0qN 2Bb1bXUYyVdiADDqLP9X5wRJwhDWHNjcqKAeo4+7E3SdHnSEiJR4MNIiMKftTJ72WAa+ H5eg== 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=y5cQYAWnc8iQ0UrchsvjPr/IR5ASImNBAqD3wKXZO3g=; b=qiGGfwjvg/1nScB81PW+mbkK4ey6OrQal4/GEv+Yr8iHhHtDB4J+9AhE5TfFmU5JiK JZ4J2FHCjJmoGXip7sl9jF9iCq5mjX6y/EvKBVCQBezhsral83PhzHqLu4u+YBA5EG2A 5Bj9VuHubTuIaR87NlPMc26BNWQ4Qgc6cqWZ+AbHm+h3+brofsAM5m44uUMBzN/Yri1Y iNu/Bp43tM55FnGjFY3l2NGC6x8kqL55ynBPqlhQG6nVPYBMoPpZTxriwyWZHf8bB/01 mRmhWLhonVcp5kGNhYuZkeW3E9iukd1ORPx5V1nYCYeXrcCUdjLF0ojNbP1XbK6K69s6 r4VA== X-Gm-Message-State: AFqh2kqFNXKEhqpUPoEQbkoxF6t+91Mc2Elp8RrqmgHjCGtvae3wlmqD PlFBZqvK07+TjmjgrA0cIRbEAHJWah6QzH0H X-Received: by 2002:a5d:5190:0:b0:2bd:fde4:885c with SMTP id k16-20020a5d5190000000b002bdfde4885cmr32337324wrv.63.1674818296362; Fri, 27 Jan 2023 03:18:16 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.18.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:18:15 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Michael Walle , Alexander Stein , Srinivas Kandagatla Subject: [PATCH 27/37] nvmem: core: return -ENOENT if nvmem cell is not found Date: Fri, 27 Jan 2023 11:15:55 +0000 Message-Id: <20230127111605.25958-28-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174498461047765?= X-GMAIL-MSGID: =?utf-8?q?1756174498461047765?= From: Michael Walle Prior to commit 3cb05fdbaed6 ("nvmem: core: add an index parameter to the cell") of_nvmem_cell_get() would return -ENOENT if the cell wasn't found. Particularly, if of_property_match_string() returned -EINVAL, that return code was passed as the index to of_parse_phandle(), which then detected it as invalid and returned NULL. That led to an return code of -ENOENT. With the new code, the negative index will lead to an -EINVAL of of_parse_phandle_with_optional_args() which pass straight to the caller and break those who expect an -ENOENT. Fix it by always returning -ENOENT. Fixes: e894d5ad177c ("nvmem: core: add an index parameter to the cell") Reported-by: Alexander Stein Signed-off-by: Michael Walle Tested-by: Alexander Stein Signed-off-by: Srinivas Kandagatla --- drivers/nvmem/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index 81ad6a4c4f86..30057b0094a2 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -1346,7 +1346,7 @@ struct nvmem_cell *of_nvmem_cell_get(struct device_node *np, const char *id) "#nvmem-cell-cells", index, &cell_spec); if (ret) - return ERR_PTR(ret); + return ERR_PTR(-ENOENT); if (cell_spec.args_count > 1) return ERR_PTR(-EINVAL); From patchwork Fri Jan 27 11:15:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49218 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778715wrn; Fri, 27 Jan 2023 03:22:04 -0800 (PST) X-Google-Smtp-Source: AMrXdXslrTXAnhtgSEBWpMUAW0mgiwHz3Ub0T88RZbf1MGcnefOdkIY2EKeRRIumBUMPwEBqf4O9 X-Received: by 2002:a05:6a20:8c24:b0:9d:efbe:a0f1 with SMTP id j36-20020a056a208c2400b0009defbea0f1mr35523191pzh.1.1674818524127; Fri, 27 Jan 2023 03:22:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818524; cv=none; d=google.com; s=arc-20160816; b=RlXYUjmKr+TTitiuQ9A7sLFWLMoF8tYtPi4zPiFO0RhAnwz5aC/CQLnEQBJfwo05iv sCU8s1IGCeFM/Xce8DDbToicJcA/TdAn0Cd83mEihgiB3wx2jvp84d2Fkucvz6wahn1R umC5Df2bQRcZUNUj9Qc1L6NXqqiPkT3sPB1wAaHEVxTpK+Nkx0/bFRtH6NLCsPCsTs1z cAswI1vbwdWUWhXTxbHsTORsK2oc/ybLTdXF6bYzXqY8Xu2i5DDAF6rVo8gnYFYOvXu5 x2+6t/Me+ODRdTdeECzcWn38ahH+TC0aQpMQwfikQKBXFijY+DvT+/TLfueM2gZrelh0 6JdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=0+69JoOpEaMXCrh8z1bYxjhPx/3CJW01FzjKrt1Ta/U=; b=XDGIJ4alkoyy3SZsZeevNsFSoI3sVK2L/nPQXqGvoDxFyIXRozVUa11NrSDRUndqhO zbNuC/RpK1aaMG79NTbLj1vskNolQ5MHp4sPuxa4ZWfKap5uTFbiZLBy6P0iZ5b90aoH Qr3CNvriXcUNWQd1hWA6AAEijjxN07NcWHNm3S3zl0PSQd4STBfSkcPiYrS3KWIwe9Sb JbMIBEjinBx5QWj7ONXHOERoWYRatMmscH0eeKk9ZuFa1kxyWw/UT8I6kQa1ek4uAWvp vede+GeIz4Ggna95EcCezs2Nmkv//EkuhGuKjPYlpvJQhpqKIKDa1pMIlysjTFDIwIeQ ijSw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="bq4Yra/w"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 67-20020a630046000000b00478831ab0d2si3945413pga.715.2023.01.27.03.21.51; Fri, 27 Jan 2023 03:22:04 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="bq4Yra/w"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233136AbjA0LTj (ORCPT + 99 others); Fri, 27 Jan 2023 06:19:39 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55798 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233038AbjA0LSi (ORCPT ); Fri, 27 Jan 2023 06:18:38 -0500 Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com [IPv6:2a00:1450:4864:20::429]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 10782820D8 for ; Fri, 27 Jan 2023 03:18:20 -0800 (PST) Received: by mail-wr1-x429.google.com with SMTP id z5so4661646wrt.6 for ; Fri, 27 Jan 2023 03:18:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=0+69JoOpEaMXCrh8z1bYxjhPx/3CJW01FzjKrt1Ta/U=; b=bq4Yra/wSjCRbnHqeu5TbeUTBykjwUT++QFmxnb1ICbgA36XP12uL6eiu42yJft4h5 xC7FA/9nTRvmRaXAc5Ng9/l1vu+kGd3ZV5DidMIKTogHhNCaHANqQnah3dGGQd+bm6f+ ix8Wu86oo1middy1AzaLJWYPdT7W7Oco+zJBB0Q8zM42Mg9NRgNA1R8At5ERhl75OAdj 2Vzed8vcu6wqYkASng4VoXu9utgNRiiuUNrbt7qtifEXFj/UG/JGcmMpLIB6+12eXfb6 0XzLjgsD/B2orXY8Q7PT4LIdKNuZJQXosHqg070PhTZzC3aPnmjlLXW/sBalk68ki+fA XIAA== 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=0+69JoOpEaMXCrh8z1bYxjhPx/3CJW01FzjKrt1Ta/U=; b=vywFW1xMIHlmqwxJVpuiXOfLEeFOXPlRT5H8wQQjPjMV8EOaqPB/ZvQ0zLhK0o5wK/ 3pJQoDobv17sy0CqSh4HBfXWpe/rB6pgiYZ0abrRhD2/MT+hj+jvXNzzU8nlKt/LfZSv ncq1bGJWYAoAFXVTaTrkiYzlLOgg9c1WJSZwvn8s1eRuxk1rSfK89crIFChboXtuhFhL mpJYGM4TuA7b/lbHYG/6LW2Tgnv8+P+QJzU+vVF+Ce2CdTOTRUXyNO7pTZc0SXni7N9A sp+MG/fiPGdkfefSLtOp44dfEMoqafwtC5Iy6TX8uKMCIYarBNddbQlbehbdvHERZRr9 CwXg== X-Gm-Message-State: AFqh2kon3sc3Njkf273CgsICXR9LMV+P23vSpUKL7GGaqEMTFrIRSTdz IhtkMP5e1nClUn8v+k0ewnyUOUjQ9RvyzbL0 X-Received: by 2002:a05:6000:16ce:b0:242:6777:bfa0 with SMTP id h14-20020a05600016ce00b002426777bfa0mr38036594wrf.53.1674818297720; Fri, 27 Jan 2023 03:18:17 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.18.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:18:16 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Colin Ian King , Srinivas Kandagatla Subject: [PATCH 28/37] nvmem: layouts: Fix spelling mistake "platforn" -> "platform" Date: Fri, 27 Jan 2023 11:15:56 +0000 Message-Id: <20230127111605.25958-29-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174508532919507?= X-GMAIL-MSGID: =?utf-8?q?1756174508532919507?= From: Colin Ian King There is a spelling mistake in the literal string. Fix it. Signed-off-by: Colin Ian King Signed-off-by: Srinivas Kandagatla --- drivers/nvmem/layouts/onie-tlv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/nvmem/layouts/onie-tlv.c b/drivers/nvmem/layouts/onie-tlv.c index 074c7c700845..767f39fff717 100644 --- a/drivers/nvmem/layouts/onie-tlv.c +++ b/drivers/nvmem/layouts/onie-tlv.c @@ -48,7 +48,7 @@ static const char *onie_tlv_cell_name(u8 type) case 0x27: return "label-revision"; case 0x28: - return "platforn-name"; + return "platform-name"; case 0x29: return "onie-version"; case 0x2A: From patchwork Fri Jan 27 11:15:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49223 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778844wrn; Fri, 27 Jan 2023 03:22:25 -0800 (PST) X-Google-Smtp-Source: AK7set+vmZVp6j3+IijeAiG72xIzCk6SXqip2z+uuMOGjkPjwfxLIQy/s5mzL0b2rtHPdC0mqbTG X-Received: by 2002:a17:90b:1e11:b0:22c:5283:3141 with SMTP id pg17-20020a17090b1e1100b0022c52833141mr939227pjb.28.1674818545252; Fri, 27 Jan 2023 03:22:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818545; cv=none; d=google.com; s=arc-20160816; b=byKOkUaeZnm8+QUKcnd5LNOd1pzURCPovVspYWoVmmbNC+9jr8a3OwfawPwamAfvcz CkRpcM0AgXxSBi1PpRmmFUe3StZ/c/6+B0VXnpszPgp3EhJH4bQnLKG30fBI2soGqaF5 AyPvxaJnbia72ZaYri9Ij1UlNgZNyFwjrfVTyoQsH37zJTBaRQm5ZucYIrTvuaZXeoK0 u7DYAls/xLPeW8XOwL5P+2nNtZrrfEs+8IG6sec/rC1PShsdLiAedMLYxoIxz66md3Kn 61qr55SAtVPKpGIYbjpsUQGeTMUMSwkhT/MefI8kuBW3zOjEumuCGmH7AzDVuvEJCUwk QOGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=NqGZUK/PAWNz/mZK4i7tXcj6pHw7p2uGsp/RVkZwTiQ=; b=KiMSSxMK6mfaTnuAcwgKYfmuExaQ1pn7jrNz4+zv/daVqJeW9VxiVUYVWbl8R81BPF GHdZuR357bQRn5XVjcIsaO2pyYXxenmyJgPWS5E+AsYTY4Re3oOItUFXjr9yuzgo24TP C0N9+rNaHFZgPr5Z5Tc+rQlfdtkGSJoVAdpNk1uibrtsZ6prsIcs0XUEYt0Pudno3AFB FlKOac2EWiE7N+tw9gOCR0pZfJE1u8UC+KrIAdDG+R97f05UTrxRDKNVrdixzy2L3NZR x9tWHW/x6whSvRGYSp+oPNvwVChVIb/DsYwM5peU4WwegIOmejiIQulwLGsc+tNgDgbx D0QA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="yB4M/QJl"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c15-20020a63724f000000b004da8bc91308si4209039pgn.743.2023.01.27.03.22.12; Fri, 27 Jan 2023 03:22:25 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="yB4M/QJl"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231722AbjA0LTl (ORCPT + 99 others); Fri, 27 Jan 2023 06:19:41 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56340 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232781AbjA0LSj (ORCPT ); Fri, 27 Jan 2023 06:18:39 -0500 Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com [IPv6:2a00:1450:4864:20::433]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 71C57820E3 for ; Fri, 27 Jan 2023 03:18:21 -0800 (PST) Received: by mail-wr1-x433.google.com with SMTP id q5so4704215wrv.0 for ; Fri, 27 Jan 2023 03:18:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=NqGZUK/PAWNz/mZK4i7tXcj6pHw7p2uGsp/RVkZwTiQ=; b=yB4M/QJlnzlGuZpCo+IrNxansYcElG4gUKtcZw9BcChtoOZN6IyN8QEMuRzUkvgakf FdA52e9uiPWZaOJcHOgYJamdk5EZCfEaZMOQm3kw8vwhphGSRGVVggcP0QfOweoC2eZ4 NRiusnfHwzcuCtGTcRY0q/JH+wPYHHA4QYc2PfE2sBXfyYZmbdgQaeTYEc0HheJ4pJzK rF2f2FJXzcwIAy8J+tqIkcdViBN6Zq8/YbwNwdvjTynJS0gxxspOxaJeyhe8owZPV95b 4UFAkn3e852XVZ+MoYpnRgpcMxAIUJmVe++xYMVFAnzmC6nG73Gxde0AnKwUmiCcmA62 V0jw== 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=NqGZUK/PAWNz/mZK4i7tXcj6pHw7p2uGsp/RVkZwTiQ=; b=wjx5jP8aCH/sEfmyncOqVgUEvpW9mD2y7d2MqK6kqy++KakGkPRTtXF5+72UKwuiK9 fpUPQqiRe2Fs9M9vk8hIphGwRlxjmdnTbZXFCdND39V6hQ/BnN3tXj6u3Mhz8/K0+Yy4 xBsFPXvI39UMUASzgrZ8+1p8mRjPiTWYhRIGmXKeEgdB+JiO85BqTU/TkLftHXPgLn+p ExVModNIaMhO2QaZtYN7I/E0s925IZx1WtUSnK02zrAdQioiJjPwIwTb8aVaBCS2+dH6 /u+am6JsRjAtrBA8dpw0BIh/YZpPtJcQ+79Y8QRpuiiRgFjJBpGPafIOeQRaGRdnGOhx U3og== X-Gm-Message-State: AFqh2krbXdPdhooY4xJUssJbU6jEa7sFdFKAGE6WyhPlZ68thrhip6KL 2XtbpQWkrQ7XG8PczHHSh56lGA== X-Received: by 2002:adf:b509:0:b0:2bf:9465:641 with SMTP id a9-20020adfb509000000b002bf94650641mr20246551wrd.65.1674818299048; Fri, 27 Jan 2023 03:18:19 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.18.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:18:18 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Colin Ian King , Srinivas Kandagatla Subject: [PATCH 29/37] dt-bindings: nvmem: Fix spelling mistake "platforn" -> "platform" Date: Fri, 27 Jan 2023 11:15:57 +0000 Message-Id: <20230127111605.25958-30-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174531040449005?= X-GMAIL-MSGID: =?utf-8?q?1756174531040449005?= From: Colin Ian King There is a spelling mistake in platforn-name. Fix it. Signed-off-by: Colin Ian King Signed-off-by: Srinivas Kandagatla --- .../devicetree/bindings/nvmem/layouts/onie,tlv-layout.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/nvmem/layouts/onie,tlv-layout.yaml b/Documentation/devicetree/bindings/nvmem/layouts/onie,tlv-layout.yaml index 5a0e7671aa3f..714a6538cc7c 100644 --- a/Documentation/devicetree/bindings/nvmem/layouts/onie,tlv-layout.yaml +++ b/Documentation/devicetree/bindings/nvmem/layouts/onie,tlv-layout.yaml @@ -61,7 +61,7 @@ properties: type: object additionalProperties: false - platforn-name: + platform-name: type: object additionalProperties: false From patchwork Fri Jan 27 11:15:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49226 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778871wrn; Fri, 27 Jan 2023 03:22:29 -0800 (PST) X-Google-Smtp-Source: AK7set+EoFoyUesJi2qTup2BoVLWy991pPoIHFbcFk98+2ehZjrRLy48AU7KBoB4VxlvjJY6T0iv X-Received: by 2002:a17:90b:17ca:b0:22c:4693:ca93 with SMTP id me10-20020a17090b17ca00b0022c4693ca93mr2672828pjb.20.1674818549492; Fri, 27 Jan 2023 03:22:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818549; cv=none; d=google.com; s=arc-20160816; b=kObgfqyPTGMZY7fVvQG5BarfjGfkqLygGEPp1D5VCF1OrCFJ6X7licX8mTNsnfk8PB VogO1N4F0SWUWb8xNYL0WOAqlzHp9ujQ4D/sw4l44ip9g7IlgQYKI3+qii+goRPx3Ij5 5wT6mFntJtzxirs6e8g576mPIF290UqNOnIEtUPjOWpkxKU73O1AnQBcQxeP9SilaziW 9p7pI2lxfLbLCQ0jJjMX61meP3MQbvYNLp+FLMr7AYpAqEKZGJhSIY4XdVuPgrsDCzNH uETunUfVktUxiCG9Ok5qIIsP5FYUuIheLLbbWPRtwsYMXGt5YLFENO0EOf0+z6WhLevW 4+RA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=pkPn4xoX0BLwonOlTuXlD3Roc+kHwzmJD8rg60cQtPs=; b=PjS8bc43ufp8pesnO/+0W7a1pZrGs7PGb4DXhkrJvhwN8J8Ghr+txop/PelejTOQSl GsKv3OyT7C25mrzFTMXqkrQN2lXXYDs+R1CSFPBg7+PXlAgt2ZAx68AnBQ0+c5veWnXa U3zKkCvIARAdQjOy9uZYkEKGj+3ziXr2lPXg5aYU0ACWB1ELlFGJanhQC+S5GK+JDQV7 Okhnk3+ktkg76hKUmklauSKajUZmRugMehEJ5gyl6MaXfPiyXnqxprkha3eCuAudHbMS DJ72s7gwsod4IF/ft5IzMkkjaU8DE9GFDrtddpYB5ek0y+dcU7JT3+vxkE+QOLsJqnk8 eWjg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=R9HACK1G; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id r89-20020a17090a43e200b00229242a29afsi4520380pjg.124.2023.01.27.03.22.17; Fri, 27 Jan 2023 03:22:29 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=R9HACK1G; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232879AbjA0LTq (ORCPT + 99 others); Fri, 27 Jan 2023 06:19:46 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55618 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233053AbjA0LS5 (ORCPT ); Fri, 27 Jan 2023 06:18:57 -0500 Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com [IPv6:2a00:1450:4864:20::432]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DBD6387362 for ; Fri, 27 Jan 2023 03:18:23 -0800 (PST) Received: by mail-wr1-x432.google.com with SMTP id m14so4201424wrg.13 for ; Fri, 27 Jan 2023 03:18:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=pkPn4xoX0BLwonOlTuXlD3Roc+kHwzmJD8rg60cQtPs=; b=R9HACK1GyT0gOembwAPjqHw04bfjT1xYkH1nNfXQxVXWzbOAas4LJp4raaahehoMro ECPgF6pAZLKSRf27tGkMUGaNnPrQ+dIl0mu7I9UrcmZYjaTLTY7hsyOQJ0e3GDn2TRgJ d56qmiL3toNR9zbI13S4Hq1/MZ7y7Z6v/M+CEmFfTnXFmagdu36RiNsXeXpYOfUq7+Cg HtivHGudL50d3Mb3emNMWlgv9i4EpF3PyOCiHrPrWJZQqbTgTqZQ4FS8/nI7R05PkuDU ANCUhQEJdAFkQh9DccOqZ2vhMwaosOdUq1An77bpXYRXgP/6xi3W05kPNDvTBvyXfoFa K+pA== 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=pkPn4xoX0BLwonOlTuXlD3Roc+kHwzmJD8rg60cQtPs=; b=xRpHGMVogIVWXE1wMNXHJp7TdbxmSmfaygCuRrV6gaeALIJvIhyKA4+oglZcbpIA9J qprRt+HhXm7lp5nquLhkBUky7/TU1UKZ3XsIQ9k/Qc8z0uFqCIkpsvSzBraQZLH0EpmB guuT9hIWKT3QYIDaxc62XZtMdMEVFSP0/5q+RqU23tUFLzxpy0C38neC2BN135KScYOU L8ZUZ6XwcGduYxBeKA5RrO0lttFlBCZ+Tm2peSM7ZAQ4nnBDQ62zBO3kW9UmER0fSeOd t2Z4mAJfOHt9q6JhCkfuZNHLrd8tDJdh3YHH6xR1ucciiB6iWZcGTK3XN8/eEt4j8gnu gudQ== X-Gm-Message-State: AO0yUKXfyeC3KcJTDSSv3ZQ1thIZnA0APWAjZ2SsFhQXMYoDluVjYOWy U/qnk7m4gB0W/polL22hNgNn1Q== X-Received: by 2002:a5d:4ece:0:b0:2bf:d72b:d039 with SMTP id s14-20020a5d4ece000000b002bfd72bd039mr558757wrv.10.1674818300244; Fri, 27 Jan 2023 03:18:20 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.18.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:18:19 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= , Michael Walle , Srinivas Kandagatla Subject: [PATCH 30/37] nvmem: core: fix nvmem_layout_get_match_data() Date: Fri, 27 Jan 2023 11:15:58 +0000 Message-Id: <20230127111605.25958-31-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174535394028890?= X-GMAIL-MSGID: =?utf-8?q?1756174535394028890?= From: RafaÅ‚ MiÅ‚ecki This function was trying to match wrong OF node (parent device's) against an of_match_table. It was always returning NULL. Make it match layout's OF node against layout's of_match_table. Note: __maybe_unused is needed to avoid: warning: variable 'layout_np' set but not used [-Wunused-but-set-variable] (of_match_node() is no-op without CONFIG_OF). Fixes: f61a093b4a0e ("nvmem: core: introduce NVMEM layouts") Signed-off-by: RafaÅ‚ MiÅ‚ecki Reviewed-by: Michael Walle Signed-off-by: Srinivas Kandagatla --- drivers/nvmem/core.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index 30057b0094a2..38a5728bc65c 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -824,9 +824,11 @@ EXPORT_SYMBOL_GPL(of_nvmem_layout_get_container); const void *nvmem_layout_get_match_data(struct nvmem_device *nvmem, struct nvmem_layout *layout) { + struct device_node __maybe_unused *layout_np; const struct of_device_id *match; - match = of_match_node(layout->of_match_table, nvmem->dev.of_node); + layout_np = of_nvmem_layout_get_container(nvmem); + match = of_match_node(layout->of_match_table, layout_np); return match ? match->data : NULL; } From patchwork Fri Jan 27 11:15:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49227 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778981wrn; Fri, 27 Jan 2023 03:22:49 -0800 (PST) X-Google-Smtp-Source: AMrXdXtKzauBDcegIYf8lr+5EeuWhmqfEIsDjTDAy/l83Apby63GOToQfqwjuYO3bvBTBPFmI8k2 X-Received: by 2002:a05:6a20:4f30:b0:b6:93b0:f85b with SMTP id gi48-20020a056a204f3000b000b693b0f85bmr41442944pzb.12.1674818568932; Fri, 27 Jan 2023 03:22:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818568; cv=none; d=google.com; s=arc-20160816; b=gU+E1fPVzk0z+L1KHHZw7peFkZiQ4AATL5YuuJZ59jJZfQgt2dp+LW8WGBU1Tg7xer HEl63WFWoqN2Z10MYkXPkzCt/Q5i6cgm6tkcKKy5La6HcBZX93fnpeskIXh3eTbQM7ui 6hbfXyWAfN9jWXaZ1vYVBSM6gKuW3fhUv+U1D5RE06d+yDXLtNLnC8NNgeAOKdEwRe7E WvvifSSxla1GtRjMLqmQkx7Leg9Ax2e4lsuFV3O7Nx/jY/r49DFESYxVYo97H6LuPIiD cjBpWZAmEz/GVKnHLflHn/X0YQlMbifVNC6dtjCXIiFcnWkCo2YJRu74q8b4l5ZXIAos 1v8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=KZKxLh5pqfebI1l8237SnYxleU3aw73QCzVPQqwvpVA=; b=j+kv73+pxK6T+GGBOwOGtsBb7GOs89NstMYL79RGv02HSlB4ALwt5hovWqHTaEW8Sk 7296FD0WqLQ14A0nKC6JeTrqgVfqPhUMS+RzB7BPrgbJV3bRqJ3u+TqhIHsOXz5ItUqz GYA4kWJ9vyPn3Rc/Wf9ykPpWFJV1gGWXWppQh0PAv+Yt7IybCK0aSMItx54c/ROG0Mmu zluZFAOJhvvCnYW96HfE2O/msDwoMcdQ7nxhEsR9zQYGfXY7MUXdb9wOdXu8nH2OGcDh ZVBlFFflbKk3MVwA7qxP+w3kMvCUfmiq28c/3AU2hJRXA488VHt6MoIN4ZpksLX8VTW+ tfdg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="sKGK70/d"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t20-20020a639554000000b004cfd86e760csi4114196pgn.592.2023.01.27.03.22.36; Fri, 27 Jan 2023 03:22:48 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="sKGK70/d"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232043AbjA0LTt (ORCPT + 99 others); Fri, 27 Jan 2023 06:19:49 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56172 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232048AbjA0LTE (ORCPT ); Fri, 27 Jan 2023 06:19:04 -0500 Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com [IPv6:2a00:1450:4864:20::429]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 657538736A for ; Fri, 27 Jan 2023 03:18:25 -0800 (PST) Received: by mail-wr1-x429.google.com with SMTP id q5so4704305wrv.0 for ; Fri, 27 Jan 2023 03:18:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=KZKxLh5pqfebI1l8237SnYxleU3aw73QCzVPQqwvpVA=; b=sKGK70/dxAUfOESWqqcVJqB6kT0na6nLRjObRzonV285cMjdEefrqMizCcFQztNe/r Ilz5R1gn4cgCbYfbU//1OHF5934rHtqepjn6zGNnikfCW/hcxm/eWoUmMCi/R4jYY8TK KviZZkGSKE+T9Hwi2oGgD5YBoorBiB0Qfwo16uqIhkMk6536uHlcsGgRAlRcTvDdBCmY h22f8570p6g7T54wSc7c2n0KvDTfCHm6cQZS7GJxDRLqzgAugqMxclWV6xspaRujUXnn HgqhPqBFKmTH5h4KuvB7zPrvgZEfKBDv4vx4kONiuJbJYDNUpQSYJqKNRLdxZsFcF2vN 35iQ== 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=KZKxLh5pqfebI1l8237SnYxleU3aw73QCzVPQqwvpVA=; b=moxPmrYe/Y9p1uUvB99YwINTRhCjoehm3bhoCz3EfGDjJYcG9+q6ApHFAkg1V6rQ7c JiqnY0nFIx8B7OTViU17uOpSBsZYcIULqKqV/WBVdUT4Ng9d/O4/AZ4XD0yvaGwQQosK 5FMSqv1xAuoe7qWpIpVTnQaoks9LUMZug/1V3MtADqqOdI8VnT4koRUuiN1X+C/zOe5j AKQVsacL9jtWkHPX6rQw96/Ouih6uaIDfL/47Y0x+L8InLers3K86vGnttH60CUnzVVf Lrg7juPg8gqthb8o0YgJFTrTJMkY4OnWzXmvX9vRqbS/GM4h0a7WFE6d7o77glGQJuDN fleA== X-Gm-Message-State: AO0yUKWmkbLQa9SlQX4OZDYi0SMs/RFzoY6P3K3lJOcmgvM8HfPPOBki Zq+he4PZ0GHmHz6LZXQNRHUyFQ== X-Received: by 2002:a5d:4988:0:b0:2bf:b3e9:d338 with SMTP id r8-20020a5d4988000000b002bfb3e9d338mr10762992wrq.31.1674818301593; Fri, 27 Jan 2023 03:18:21 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.18.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:18:21 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Patrick Delaunay , Etienne Carriere , Srinivas Kandagatla Subject: [PATCH 31/37] nvmem: stm32: add OP-TEE support for STM32MP13x Date: Fri, 27 Jan 2023 11:15:59 +0000 Message-Id: <20230127111605.25958-32-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174555678974844?= X-GMAIL-MSGID: =?utf-8?q?1756174555678974844?= From: Patrick Delaunay For boot with OP-TEE on STM32MP13, the communication with the secure world no more use STMicroelectronics SMC but communication with the STM32MP BSEC TA, for data access (read/write) or lock operation: - all the request are sent to OP-TEE trusted application, - for upper OTP with ECC protection and with word programming only each OTP are permanently locked when programmed to avoid ECC error on the second write operation Signed-off-by: Patrick Delaunay Reviewed-by: Etienne Carriere Signed-off-by: Srinivas Kandagatla --- drivers/nvmem/Kconfig | 11 + drivers/nvmem/Makefile | 1 + drivers/nvmem/stm32-bsec-optee-ta.c | 298 ++++++++++++++++++++++++++++ drivers/nvmem/stm32-bsec-optee-ta.h | 80 ++++++++ drivers/nvmem/stm32-romem.c | 54 ++++- 5 files changed, 441 insertions(+), 3 deletions(-) create mode 100644 drivers/nvmem/stm32-bsec-optee-ta.c create mode 100644 drivers/nvmem/stm32-bsec-optee-ta.h diff --git a/drivers/nvmem/Kconfig b/drivers/nvmem/Kconfig index 0e10b5b094b9..ed8ef7460be2 100644 --- a/drivers/nvmem/Kconfig +++ b/drivers/nvmem/Kconfig @@ -294,9 +294,20 @@ config NVMEM_SPRD_EFUSE This driver can also be built as a module. If so, the module will be called nvmem-sprd-efuse. +config NVMEM_STM32_BSEC_OPTEE_TA + bool "STM32MP BSEC OP-TEE TA support for nvmem-stm32-romem driver" + depends on OPTEE + help + Say y here to enable the accesses to STM32MP SoC OTPs by the OP-TEE + trusted application STM32MP BSEC. + + This library is a used by stm32-romem driver or included in the module + called nvmem-stm32-romem. + config NVMEM_STM32_ROMEM tristate "STMicroelectronics STM32 factory-programmed memory support" depends on ARCH_STM32 || COMPILE_TEST + imply NVMEM_STM32_BSEC_OPTEE_TA help Say y here to enable read-only access for STMicroelectronics STM32 factory-programmed memory area. diff --git a/drivers/nvmem/Makefile b/drivers/nvmem/Makefile index 4cf87ef6c24d..f82431ec8aef 100644 --- a/drivers/nvmem/Makefile +++ b/drivers/nvmem/Makefile @@ -62,6 +62,7 @@ obj-$(CONFIG_NVMEM_SPRD_EFUSE) += nvmem_sprd_efuse.o nvmem_sprd_efuse-y := sprd-efuse.o obj-$(CONFIG_NVMEM_STM32_ROMEM) += nvmem_stm32_romem.o nvmem_stm32_romem-y := stm32-romem.o +nvmem_stm32_romem-$(CONFIG_NVMEM_STM32_BSEC_OPTEE_TA) += stm32-bsec-optee-ta.o obj-$(CONFIG_NVMEM_SUNPLUS_OCOTP) += nvmem_sunplus_ocotp.o nvmem_sunplus_ocotp-y := sunplus-ocotp.o obj-$(CONFIG_NVMEM_SUNXI_SID) += nvmem_sunxi_sid.o diff --git a/drivers/nvmem/stm32-bsec-optee-ta.c b/drivers/nvmem/stm32-bsec-optee-ta.c new file mode 100644 index 000000000000..f89ce791dd12 --- /dev/null +++ b/drivers/nvmem/stm32-bsec-optee-ta.c @@ -0,0 +1,298 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * OP-TEE STM32MP BSEC PTA interface, used by STM32 ROMEM driver + * + * Copyright (C) 2022, STMicroelectronics - All Rights Reserved + */ + +#include + +#include "stm32-bsec-optee-ta.h" + +/* + * Read OTP memory + * + * [in] value[0].a OTP start offset in byte + * [in] value[0].b Access type (0:shadow, 1:fuse, 2:lock) + * [out] memref[1].buffer Output buffer to store read values + * [out] memref[1].size Size of OTP to be read + * + * Return codes: + * TEE_SUCCESS - Invoke command success + * TEE_ERROR_BAD_PARAMETERS - Incorrect input param + * TEE_ERROR_ACCESS_DENIED - OTP not accessible by caller + */ +#define PTA_BSEC_READ_MEM 0x0 + +/* + * Write OTP memory + * + * [in] value[0].a OTP start offset in byte + * [in] value[0].b Access type (0:shadow, 1:fuse, 2:lock) + * [in] memref[1].buffer Input buffer to read values + * [in] memref[1].size Size of OTP to be written + * + * Return codes: + * TEE_SUCCESS - Invoke command success + * TEE_ERROR_BAD_PARAMETERS - Incorrect input param + * TEE_ERROR_ACCESS_DENIED - OTP not accessible by caller + */ +#define PTA_BSEC_WRITE_MEM 0x1 + +/* value of PTA_BSEC access type = value[in] b */ +#define SHADOW_ACCESS 0 +#define FUSE_ACCESS 1 +#define LOCK_ACCESS 2 + +/* Bitfield definition for LOCK status */ +#define LOCK_PERM BIT(30) + +/* OP-TEE STM32MP BSEC TA UUID */ +static const uuid_t stm32mp_bsec_ta_uuid = + UUID_INIT(0x94cf71ad, 0x80e6, 0x40b5, + 0xa7, 0xc6, 0x3d, 0xc5, 0x01, 0xeb, 0x28, 0x03); + +/* + * Check whether this driver supports the BSEC TA in the TEE instance + * represented by the params (ver/data) to this function. + */ +static int stm32_bsec_optee_ta_match(struct tee_ioctl_version_data *ver, + const void *data) +{ + /* Currently this driver only supports GP compliant, OP-TEE based TA */ + if ((ver->impl_id == TEE_IMPL_ID_OPTEE) && + (ver->gen_caps & TEE_GEN_CAP_GP)) + return 1; + else + return 0; +} + +/* Open a session to OP-TEE for STM32MP BSEC TA */ +static int stm32_bsec_ta_open_session(struct tee_context *ctx, u32 *id) +{ + struct tee_ioctl_open_session_arg sess_arg; + int rc; + + memset(&sess_arg, 0, sizeof(sess_arg)); + export_uuid(sess_arg.uuid, &stm32mp_bsec_ta_uuid); + sess_arg.clnt_login = TEE_IOCTL_LOGIN_REE_KERNEL; + sess_arg.num_params = 0; + + rc = tee_client_open_session(ctx, &sess_arg, NULL); + if ((rc < 0) || (sess_arg.ret != 0)) { + pr_err("%s: tee_client_open_session failed err:%#x, ret:%#x\n", + __func__, sess_arg.ret, rc); + if (!rc) + rc = -EINVAL; + } else { + *id = sess_arg.session; + } + + return rc; +} + +/* close a session to OP-TEE for STM32MP BSEC TA */ +static void stm32_bsec_ta_close_session(void *ctx, u32 id) +{ + tee_client_close_session(ctx, id); +} + +/* stm32_bsec_optee_ta_open() - initialize the STM32MP BSEC TA */ +int stm32_bsec_optee_ta_open(struct tee_context **ctx) +{ + struct tee_context *tee_ctx; + u32 session_id; + int rc; + + /* Open context with TEE driver */ + tee_ctx = tee_client_open_context(NULL, stm32_bsec_optee_ta_match, NULL, NULL); + if (IS_ERR(tee_ctx)) { + rc = PTR_ERR(tee_ctx); + if (rc == -ENOENT) + return -EPROBE_DEFER; + pr_err("%s: tee_client_open_context failed (%d)\n", __func__, rc); + + return rc; + } + + /* Check STM32MP BSEC TA presence */ + rc = stm32_bsec_ta_open_session(tee_ctx, &session_id); + if (rc) { + tee_client_close_context(tee_ctx); + return rc; + } + + stm32_bsec_ta_close_session(tee_ctx, session_id); + + *ctx = tee_ctx; + + return 0; +} + +/* stm32_bsec_optee_ta_open() - release the PTA STM32MP BSEC TA */ +void stm32_bsec_optee_ta_close(void *ctx) +{ + tee_client_close_context(ctx); +} + +/* stm32_bsec_optee_ta_read() - nvmem read access using PTA client driver */ +int stm32_bsec_optee_ta_read(struct tee_context *ctx, unsigned int offset, + void *buf, size_t bytes) +{ + struct tee_shm *shm; + struct tee_ioctl_invoke_arg arg; + struct tee_param param[2]; + u8 *shm_buf; + u32 start, num_bytes; + int ret; + u32 session_id; + + ret = stm32_bsec_ta_open_session(ctx, &session_id); + if (ret) + return ret; + + memset(&arg, 0, sizeof(arg)); + memset(¶m, 0, sizeof(param)); + + arg.func = PTA_BSEC_READ_MEM; + arg.session = session_id; + arg.num_params = 2; + + /* align access on 32bits */ + start = ALIGN_DOWN(offset, 4); + num_bytes = round_up(offset + bytes - start, 4); + param[0].attr = TEE_IOCTL_PARAM_ATTR_TYPE_VALUE_INPUT; + param[0].u.value.a = start; + param[0].u.value.b = SHADOW_ACCESS; + + shm = tee_shm_alloc_kernel_buf(ctx, num_bytes); + if (IS_ERR(shm)) { + ret = PTR_ERR(shm); + goto out_tee_session; + } + + param[1].attr = TEE_IOCTL_PARAM_ATTR_TYPE_MEMREF_OUTPUT; + param[1].u.memref.shm = shm; + param[1].u.memref.size = num_bytes; + + ret = tee_client_invoke_func(ctx, &arg, param); + if (ret < 0 || arg.ret != 0) { + pr_err("TA_BSEC invoke failed TEE err:%#x, ret:%#x\n", + arg.ret, ret); + if (!ret) + ret = -EIO; + } + if (!ret) { + shm_buf = tee_shm_get_va(shm, 0); + if (IS_ERR(shm_buf)) { + ret = PTR_ERR(shm_buf); + pr_err("tee_shm_get_va failed for transmit (%d)\n", ret); + } else { + /* read data from 32 bits aligned buffer */ + memcpy(buf, &shm_buf[offset % 4], bytes); + } + } + + tee_shm_free(shm); + +out_tee_session: + stm32_bsec_ta_close_session(ctx, session_id); + + return ret; +} + +/* stm32_bsec_optee_ta_write() - nvmem write access using PTA client driver */ +int stm32_bsec_optee_ta_write(struct tee_context *ctx, unsigned int lower, + unsigned int offset, void *buf, size_t bytes) +{ struct tee_shm *shm; + struct tee_ioctl_invoke_arg arg; + struct tee_param param[2]; + u8 *shm_buf; + int ret; + u32 session_id; + + ret = stm32_bsec_ta_open_session(ctx, &session_id); + if (ret) + return ret; + + /* Allow only writing complete 32-bits aligned words */ + if ((bytes % 4) || (offset % 4)) + return -EINVAL; + + memset(&arg, 0, sizeof(arg)); + memset(¶m, 0, sizeof(param)); + + arg.func = PTA_BSEC_WRITE_MEM; + arg.session = session_id; + arg.num_params = 2; + + param[0].attr = TEE_IOCTL_PARAM_ATTR_TYPE_VALUE_INPUT; + param[0].u.value.a = offset; + param[0].u.value.b = FUSE_ACCESS; + + shm = tee_shm_alloc_kernel_buf(ctx, bytes); + if (IS_ERR(shm)) { + ret = PTR_ERR(shm); + goto out_tee_session; + } + + param[1].attr = TEE_IOCTL_PARAM_ATTR_TYPE_MEMREF_INPUT; + param[1].u.memref.shm = shm; + param[1].u.memref.size = bytes; + + shm_buf = tee_shm_get_va(shm, 0); + if (IS_ERR(shm_buf)) { + ret = PTR_ERR(shm_buf); + pr_err("tee_shm_get_va failed for transmit (%d)\n", ret); + tee_shm_free(shm); + + goto out_tee_session; + } + + memcpy(shm_buf, buf, bytes); + + ret = tee_client_invoke_func(ctx, &arg, param); + if (ret < 0 || arg.ret != 0) { + pr_err("TA_BSEC invoke failed TEE err:%#x, ret:%#x\n", arg.ret, ret); + if (!ret) + ret = -EIO; + } + pr_debug("Write OTPs %d to %zu, ret=%d\n", offset / 4, (offset + bytes) / 4, ret); + + /* Lock the upper OTPs with ECC protection, word programming only */ + if (!ret && ((offset + bytes) >= (lower * 4))) { + u32 start, nb_lock; + u32 *lock = (u32 *)shm_buf; + int i; + + /* + * don't lock the lower OTPs, no ECC protection and incremental + * bit programming, a second write is allowed + */ + start = max_t(u32, offset, lower * 4); + nb_lock = (offset + bytes - start) / 4; + + param[0].u.value.a = start; + param[0].u.value.b = LOCK_ACCESS; + param[1].u.memref.size = nb_lock * 4; + + for (i = 0; i < nb_lock; i++) + lock[i] = LOCK_PERM; + + ret = tee_client_invoke_func(ctx, &arg, param); + if (ret < 0 || arg.ret != 0) { + pr_err("TA_BSEC invoke failed TEE err:%#x, ret:%#x\n", arg.ret, ret); + if (!ret) + ret = -EIO; + } + pr_debug("Lock upper OTPs %d to %d, ret=%d\n", + start / 4, start / 4 + nb_lock, ret); + } + + tee_shm_free(shm); + +out_tee_session: + stm32_bsec_ta_close_session(ctx, session_id); + + return ret; +} diff --git a/drivers/nvmem/stm32-bsec-optee-ta.h b/drivers/nvmem/stm32-bsec-optee-ta.h new file mode 100644 index 000000000000..3966a0535179 --- /dev/null +++ b/drivers/nvmem/stm32-bsec-optee-ta.h @@ -0,0 +1,80 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* + * OP-TEE STM32MP BSEC PTA interface, used by STM32 ROMEM driver + * + * Copyright (C) 2022, STMicroelectronics - All Rights Reserved + */ + +#if IS_ENABLED(CONFIG_NVMEM_STM32_BSEC_OPTEE_TA) +/** + * stm32_bsec_optee_ta_open() - initialize the STM32 BSEC TA + * @ctx: the OP-TEE context on success + * + * Return: + * On success, 0. On failure, -errno. + */ +int stm32_bsec_optee_ta_open(struct tee_context **ctx); + +/** + * stm32_bsec_optee_ta_close() - release the STM32 BSEC TA + * @ctx: the OP-TEE context + * + * This function used to clean the OP-TEE resources initialized in + * stm32_bsec_optee_ta_open(); it can be used as callback to + * devm_add_action_or_reset() + */ +void stm32_bsec_optee_ta_close(void *ctx); + +/** + * stm32_bsec_optee_ta_read() - nvmem read access using TA client driver + * @ctx: the OP-TEE context provided by stm32_bsec_optee_ta_open + * @offset: nvmem offset + * @buf: buffer to fill with nvem values + * @bytes: number of bytes to read + * + * Return: + * On success, 0. On failure, -errno. + */ +int stm32_bsec_optee_ta_read(struct tee_context *ctx, unsigned int offset, + void *buf, size_t bytes); + +/** + * stm32_bsec_optee_ta_write() - nvmem write access using TA client driver + * @ctx: the OP-TEE context provided by stm32_bsec_optee_ta_open + * @lower: number of lower OTP, not protected by ECC + * @offset: nvmem offset + * @buf: buffer with nvem values + * @bytes: number of bytes to write + * + * Return: + * On success, 0. On failure, -errno. + */ +int stm32_bsec_optee_ta_write(struct tee_context *ctx, unsigned int lower, + unsigned int offset, void *buf, size_t bytes); + +#else + +static inline int stm32_bsec_optee_ta_open(struct tee_context **ctx) +{ + return -EOPNOTSUPP; +} + +static inline void stm32_bsec_optee_ta_close(void *ctx) +{ +} + +static inline int stm32_bsec_optee_ta_read(struct tee_context *ctx, + unsigned int offset, void *buf, + size_t bytes) +{ + return -EOPNOTSUPP; +} + +static inline int stm32_bsec_optee_ta_write(struct tee_context *ctx, + unsigned int lower, + unsigned int offset, void *buf, + size_t bytes) +{ + return -EOPNOTSUPP; +} +#endif /* CONFIG_NVMEM_STM32_BSEC_OPTEE_TA */ diff --git a/drivers/nvmem/stm32-romem.c b/drivers/nvmem/stm32-romem.c index d1d03c2ad081..978a63edf297 100644 --- a/drivers/nvmem/stm32-romem.c +++ b/drivers/nvmem/stm32-romem.c @@ -11,6 +11,9 @@ #include #include #include +#include + +#include "stm32-bsec-optee-ta.h" /* BSEC secure service access from non-secure */ #define STM32_SMC_BSEC 0x82001003 @@ -25,12 +28,14 @@ struct stm32_romem_cfg { int size; u8 lower; + bool ta; }; struct stm32_romem_priv { void __iomem *base; struct nvmem_config cfg; u8 lower; + struct tee_context *ctx; }; static int stm32_romem_read(void *context, unsigned int offset, void *buf, @@ -138,12 +143,29 @@ static int stm32_bsec_write(void *context, unsigned int offset, void *buf, return 0; } +static int stm32_bsec_pta_read(void *context, unsigned int offset, void *buf, + size_t bytes) +{ + struct stm32_romem_priv *priv = context; + + return stm32_bsec_optee_ta_read(priv->ctx, offset, buf, bytes); +} + +static int stm32_bsec_pta_write(void *context, unsigned int offset, void *buf, + size_t bytes) +{ + struct stm32_romem_priv *priv = context; + + return stm32_bsec_optee_ta_write(priv->ctx, priv->lower, offset, buf, bytes); +} + static int stm32_romem_probe(struct platform_device *pdev) { const struct stm32_romem_cfg *cfg; struct device *dev = &pdev->dev; struct stm32_romem_priv *priv; struct resource *res; + int rc; priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); if (!priv) @@ -173,15 +195,31 @@ static int stm32_romem_probe(struct platform_device *pdev) } else { priv->cfg.size = cfg->size; priv->lower = cfg->lower; - priv->cfg.reg_read = stm32_bsec_read; - priv->cfg.reg_write = stm32_bsec_write; + if (cfg->ta) { + rc = stm32_bsec_optee_ta_open(&priv->ctx); + /* wait for OP-TEE client driver to be up and ready */ + if (rc) + return rc; + } + if (priv->ctx) { + rc = devm_add_action_or_reset(dev, stm32_bsec_optee_ta_close, priv->ctx); + if (rc) { + dev_err(dev, "devm_add_action_or_reset() failed (%d)\n", rc); + return rc; + } + priv->cfg.reg_read = stm32_bsec_pta_read; + priv->cfg.reg_write = stm32_bsec_pta_write; + } else { + priv->cfg.reg_read = stm32_bsec_read; + priv->cfg.reg_write = stm32_bsec_write; + } } return PTR_ERR_OR_ZERO(devm_nvmem_register(dev, &priv->cfg)); } /* - * STM32MP15 BSEC OTP regions: 4096 OTP bits (with 3072 effective bits) + * STM32MP15/13 BSEC OTP regions: 4096 OTP bits (with 3072 effective bits) * => 96 x 32-bits data words * - Lower: 1K bits, 2:1 redundancy, incremental bit programming * => 32 (x 32-bits) lower shadow registers = words 0 to 31 @@ -191,6 +229,13 @@ static int stm32_romem_probe(struct platform_device *pdev) static const struct stm32_romem_cfg stm32mp15_bsec_cfg = { .size = 384, .lower = 32, + .ta = false, +}; + +static const struct stm32_romem_cfg stm32mp13_bsec_cfg = { + .size = 384, + .lower = 32, + .ta = true, }; static const struct of_device_id stm32_romem_of_match[] = { @@ -198,7 +243,10 @@ static const struct of_device_id stm32_romem_of_match[] = { .compatible = "st,stm32mp15-bsec", .data = (void *)&stm32mp15_bsec_cfg, }, { + .compatible = "st,stm32mp13-bsec", + .data = (void *)&stm32mp13_bsec_cfg, }, + { /* sentinel */ }, }; MODULE_DEVICE_TABLE(of, stm32_romem_of_match); From patchwork Fri Jan 27 11:16:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49224 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp778865wrn; Fri, 27 Jan 2023 03:22:29 -0800 (PST) X-Google-Smtp-Source: AK7set+MKcNF643bLZpw4qEt8rL0Rvs8eqjyavhVAUJxex5QJWyTw37YgJ7+5ZkqeTi+GjrO+6Rx X-Received: by 2002:a17:90b:4a08:b0:226:3a7c:f248 with SMTP id kk8-20020a17090b4a0800b002263a7cf248mr6435655pjb.24.1674818548897; Fri, 27 Jan 2023 03:22:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818548; cv=none; d=google.com; s=arc-20160816; b=pKxx9RdlMZR6a1TiSDUtH+lFd8BHtWT/Ir+x7sPgOcap7bw2YeuCFSsbnSrY9h04MJ yA/jM2Z7it2z/4Gw+Y2nhkY9bMhyYXe/AHsP+VVoVumGXS2fEUWu0F5y2uDiMDGq/q3p qMB7t8ZQoycXnmq8Gv+GiAMk/c6fhbj1QHu3C0Pu+UwEp9r3pG/v/X3S7pYsTLBAs801 g0I/3YRk/hEc0mu7sEKx5d1aiBAXwm273+DzznwgI2+kJUpg9R/7Gpg/vxivF/VQsCSL IIKUaCJqE1RNwkhSznxZVzSGHUSU7TL6eFLIQe1KJABUxV3Rk7DI+niUQtKAVlf12QXY nrUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=PgSSD3uLqDr7SGSKLQ1i7dmWi7XiSm1LY65hwRVkN5w=; b=rr+g11o8FgtdPahe0piFiJVCq8EpFlZnOvfL9oBwMyfrkgwh+mG5rT1HsfYBfKKwqu ssX2P7ofGwIBDtQiA2lTUKzq7Y83boFOeQ1C2vt9gxNGDdMFIawgrWIpzwjXjGkrwULz SzAvj9q5uvM8OveGxMneu6j+UV6BRZJ/WUWdDj2NLhZVbDfrUsfVk8OnebSuQTmyQxML evptFlqWg4H31HrGRLe5ODHdt0v2zZV7xN8OLJ+jJ3RAaWVE7qGo9p9SsWSnd+KCICK3 jo5PkP9dQZhgpAbamBoEIoMpMdBSMIWi9M1VQOP8+zH5SRS3/Fn7e7po+U0idKg2NR/S fk3g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=BFgvAPrL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x10-20020a17090a6b4a00b00226e01736f8si4175359pjl.109.2023.01.27.03.22.16; Fri, 27 Jan 2023 03:22:28 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=BFgvAPrL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233166AbjA0LTo (ORCPT + 99 others); Fri, 27 Jan 2023 06:19:44 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55254 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232827AbjA0LS5 (ORCPT ); Fri, 27 Jan 2023 06:18:57 -0500 Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DBCD5820D5 for ; Fri, 27 Jan 2023 03:18:23 -0800 (PST) Received: by mail-wr1-x42e.google.com with SMTP id b7so4678577wrt.3 for ; Fri, 27 Jan 2023 03:18:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=PgSSD3uLqDr7SGSKLQ1i7dmWi7XiSm1LY65hwRVkN5w=; b=BFgvAPrL0k1hXojloExewzlBKb1DVKu31ibVn1znitxflx4cMuxLDS6GWsVX2OLK2H VhD2ZVGg7vFN8ijiGZi1CGde7f2sjnFMjG2ljcRYzCABS1GCuzqBA/lOJiEowJoOHE3m 1xL7BJmbMJHJDpH7UEesTCyinqEt3yp2Ch5tXuikv7iq12i2/dVCNmGSJ6MMi4ZMJfKT X8I+oyhEcXWR/LsjbOrmMmmeXeMUI36kPOdp755ltBbaEJhoaI2SchGYBgRbrRQSqpQc QkF6emgWknnz+Z7K+1c+bdilsJ3xHzGgp48N1P0GU14My3pQ8G9oNSTUPkqd/PPXnHIp K0lw== 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=PgSSD3uLqDr7SGSKLQ1i7dmWi7XiSm1LY65hwRVkN5w=; b=pbo6bhnJGxUIPl2d64vwST6RtF996FNde77tXlj8V13nWopiPoUP1qgZQzSomliBih vH5AH9lcvId+YaxxfvCLZVhq1rgafEQkG74GWDjje8QhyARP3dpRXpL6Ip2SoU3AL+RF iRXYn+rdxlHnBo5kATomSiUN3g07EvtdhX9KNLRbZGbaQrATTC3YtGxbC17WjkYIWQJ0 GixjLT/W/7pFESLXO9pdOld0YUdqNOnbJQV8GUQMiIeat6EA2azn/2beNDbzTDMNH9z0 Y7D397WXHycLHKR/xbDp9nKH+ai745lY1v/F4VdBFgACkTXmMswaJecYaZtRPgx6RJPe 47rA== X-Gm-Message-State: AFqh2kq85180XxyEWzIyyd5+TgzSxmayWcZa+ALG8LezsxABVJAAh5ea xOmf+iVEVz5ji8fILJ6vmNMTNk454rJZSNqa X-Received: by 2002:a5d:4c4e:0:b0:2bb:4b40:2d1a with SMTP id n14-20020a5d4c4e000000b002bb4b402d1amr35278751wrt.56.1674818303277; Fri, 27 Jan 2023 03:18:23 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.18.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:18:22 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Patrick Delaunay , Etienne Carriere , Srinivas Kandagatla Subject: [PATCH 32/37] nvmem: stm32: detect bsec pta presence for STM32MP15x Date: Fri, 27 Jan 2023 11:16:00 +0000 Message-Id: <20230127111605.25958-33-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174534805784326?= X-GMAIL-MSGID: =?utf-8?q?1756174534805784326?= From: Patrick Delaunay On STM32MP15x SoC, the SMC backend is optional when OP-TEE is used; the PTA BSEC should be used as it is done on STM32MP13x platform, but the BSEC SMC can be also used: it is a legacy mode in OP-TEE, not recommended but used in previous OP-TEE firmware. The presence of OP-TEE is dynamically detected in STM32MP15x device tree and the supported NVMEM backend is dynamically detected: - PTA with stm32_bsec_pta_find - SMC with stm32_bsec_check With OP-TEE but without PTA and SMC detection, the probe is deferred for STM32MP15x devices. On STM32MP13x platform, only the PTA is supported with cfg->ta = true and this detection is skipped. Signed-off-by: Patrick Delaunay Reviewed-by: Etienne Carriere Signed-off-by: Srinivas Kandagatla --- drivers/nvmem/stm32-romem.c | 38 +++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/drivers/nvmem/stm32-romem.c b/drivers/nvmem/stm32-romem.c index 978a63edf297..ba779e26937a 100644 --- a/drivers/nvmem/stm32-romem.c +++ b/drivers/nvmem/stm32-romem.c @@ -159,6 +159,31 @@ static int stm32_bsec_pta_write(void *context, unsigned int offset, void *buf, return stm32_bsec_optee_ta_write(priv->ctx, priv->lower, offset, buf, bytes); } +static bool stm32_bsec_smc_check(void) +{ + u32 val; + int ret; + + /* check that the OP-TEE support the BSEC SMC (legacy mode) */ + ret = stm32_bsec_smc(STM32_SMC_READ_SHADOW, 0, 0, &val); + + return !ret; +} + +static bool optee_presence_check(void) +{ + struct device_node *np; + bool tee_detected = false; + + /* check that the OP-TEE node is present and available. */ + np = of_find_compatible_node(NULL, NULL, "linaro,optee-tz"); + if (np && of_device_is_available(np)) + tee_detected = true; + of_node_put(np); + + return tee_detected; +} + static int stm32_romem_probe(struct platform_device *pdev) { const struct stm32_romem_cfg *cfg; @@ -195,11 +220,16 @@ static int stm32_romem_probe(struct platform_device *pdev) } else { priv->cfg.size = cfg->size; priv->lower = cfg->lower; - if (cfg->ta) { + if (cfg->ta || optee_presence_check()) { rc = stm32_bsec_optee_ta_open(&priv->ctx); - /* wait for OP-TEE client driver to be up and ready */ - if (rc) - return rc; + if (rc) { + /* wait for OP-TEE client driver to be up and ready */ + if (rc == -EPROBE_DEFER) + return -EPROBE_DEFER; + /* BSEC PTA is required or SMC not supported */ + if (cfg->ta || !stm32_bsec_smc_check()) + return rc; + } } if (priv->ctx) { rc = devm_add_action_or_reset(dev, stm32_bsec_optee_ta_close, priv->ctx); From patchwork Fri Jan 27 11:16:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49228 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp779143wrn; Fri, 27 Jan 2023 03:23:23 -0800 (PST) X-Google-Smtp-Source: AK7set9FLf0VRZ/lQaG/u8gSX0NlZTUJLwSwbLxMb7eNz7Ln8fC3Hc3LANq8uel5h2WRTEGnRMmq X-Received: by 2002:a17:902:c411:b0:196:35cf:3b12 with SMTP id k17-20020a170902c41100b0019635cf3b12mr3519253plk.36.1674818603192; Fri, 27 Jan 2023 03:23:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818603; cv=none; d=google.com; s=arc-20160816; b=KeatYLzrFRfAH95QvoLL7zIPDHNs/qV8uDRnqmnd3tu5HUaYxLViEWx2Rny44u7l1n JOlKEOClq4P6PambkNtnu6SC9vXLvKug88hsZeV7LqCjAM8W67liuhwnVKCKfRPdO1zN UyM7Kqz9kdmkwYJu/uKJRpkR483JuNl45WZqC6kw+zbbzn3fir7Bt1l8zkivXrJfl941 i7Z1rTq+CQaR27ps2JiRUut6Ub6JSf4bvWM27qhAX+HsLju/PF14zVsoSTN2VlugSQMZ JTX+2rlCN2wjZ1kTMsC6sQkgB+kd+UV+uxnvh3cHKbaPJNm027wA9O6d1tRiyP3obajf KBRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=yPRxk+XR4q6rcvb7Uhvae10cdYLboc87AwhU8wC3gnk=; b=Mz4iXjPZmI4K4QUrd5fqHw7wea4NWyVdszOLJi1RZuh0ib5BH5LDqEwOkTENPtvt/u kDD5MMCrgCSDuPH4tx+Zfv/mLMaS6vijZeqXGSF9e6flRBze9iItl2JRWwkKgswKSCOK a5pdOeGJEfmo0wO5wjAKw6CCz6hrudlPiwSDfUXTKvh2Sk09TDhEhdOq2fJxXhYjG/xy eQ37DEWbrkm4fFd1XObctug78VW+QzwjMnnQS5BE5UtRq3e8WKOoDUCMisSQ6OK/Ky4T 3ETR+di57VQTMhI5dk4/2DfwzYyMlwJ5UFWH6JvOKET+yya2QGteQyHHZzh8R67+tuNc AQnw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=cmdzC9Ke; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bg2-20020a1709028e8200b00186ab01ecd5si4269144plb.219.2023.01.27.03.23.10; Fri, 27 Jan 2023 03:23:23 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=cmdzC9Ke; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233209AbjA0LTw (ORCPT + 99 others); Fri, 27 Jan 2023 06:19:52 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56190 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232941AbjA0LTF (ORCPT ); Fri, 27 Jan 2023 06:19:05 -0500 Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com [IPv6:2a00:1450:4864:20::335]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5516B7B416 for ; Fri, 27 Jan 2023 03:18:27 -0800 (PST) Received: by mail-wm1-x335.google.com with SMTP id j36-20020a05600c1c2400b003dc39cb9c33so830803wms.1 for ; Fri, 27 Jan 2023 03:18:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=yPRxk+XR4q6rcvb7Uhvae10cdYLboc87AwhU8wC3gnk=; b=cmdzC9Ke79gvxiCkr5SpkgOurfvZ3Wm8ag6Gkp4JCb7OXo4I4Lts+zkSIMbngSt4KQ xVsXkfAQHqXy+iKqCW2yeforXQ8kyR9B4sBT6Pf8eFAEptQoWKJ0eWuTdXychNw338Rz 8gg2BoWURGl6fOO1qfjbeKLekm873xf8Ig0IpXuis+8bFgk7vnWmLB4jlHdeEHG1rMrL 7SWRjtvwXWHAQU4HMDZt5npnyhQWWDogyimSRSG8O1TaqvzpUzGd54ER4txsRPkOnPYG fGVA4MgfkLgkLZPlr8x65xoXcd0NpD4graK5JX+RCa+MK8I9gkn5W1znLV9lTEc8yjoa QbUA== 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=yPRxk+XR4q6rcvb7Uhvae10cdYLboc87AwhU8wC3gnk=; b=1t4NMpLA1R8Au8jw4CycqgzCYKs+Mcwh6d1Fm0Bx1P4oRZqmqMQ8yFDHfXCEBPvdHy jgh3dBBNJr/XMe4npEsYOuaUKm12Ta5kir1Bus29ZjmpzE5Gae9YdMR1mUyHo7KnjuRH 5zFuzbLLuaqz5O/aGIsfaZp+AVimckoOWZjfZUEPm18dfFk5XKFIdZaO9lIw+GpeGWyF BsL922nwwQXcb86RoFH/UbMZFFtwxxFi2BjsyIB3v/DL195wmoBdTUI8vdFifl7rhvk+ dLqFnJQ3ZKcjcD1BcwWe0e6Gqc9m9WAMXyuXiMFhuB6TiagZePhJ2cpigAa03xEgO5cz HG7g== X-Gm-Message-State: AFqh2kpUo7wyYlfO4gOUyr8MLOFzq931f/Ly0O+vv1O+56OKPCs1ogmT VlISaEq8NBF4H7Sa1lObyDpe+g== X-Received: by 2002:a05:600c:22c6:b0:3da:fc30:bfc5 with SMTP id 6-20020a05600c22c600b003dafc30bfc5mr40185960wmg.13.1674818304679; Fri, 27 Jan 2023 03:18:24 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.18.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:18:24 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Randy Dunlap , Srinivas Kandagatla , Andrey Vostrikov , Nikita Yushchenko , Andrey Smirnov Subject: [PATCH 33/37] nvmem: rave-sp-eeprm: fix kernel-doc bad line warning Date: Fri, 27 Jan 2023 11:16:01 +0000 Message-Id: <20230127111605.25958-34-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174591976461655?= X-GMAIL-MSGID: =?utf-8?q?1756174591976461655?= From: Randy Dunlap Convert an empty line to " *" to avoid a kernel-doc warning: drivers/nvmem/rave-sp-eeprom.c:48: warning: bad line: Signed-off-by: Randy Dunlap Cc: Srinivas Kandagatla Cc: Andrey Vostrikov Cc: Nikita Yushchenko Cc: Andrey Smirnov Signed-off-by: Srinivas Kandagatla --- drivers/nvmem/rave-sp-eeprom.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/nvmem/rave-sp-eeprom.c b/drivers/nvmem/rave-sp-eeprom.c index 66699d44f73d..c456011b75e8 100644 --- a/drivers/nvmem/rave-sp-eeprom.c +++ b/drivers/nvmem/rave-sp-eeprom.c @@ -45,7 +45,7 @@ enum rave_sp_eeprom_header_size { * @type: Access type (see enum rave_sp_eeprom_access_type) * @success: Success flag (Success = 1, Failure = 0) * @data: Read data - + * * Note this structure corresponds to RSP_*_EEPROM payload from RAVE * SP ICD */ From patchwork Fri Jan 27 11:16:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49229 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp779786wrn; Fri, 27 Jan 2023 03:25:03 -0800 (PST) X-Google-Smtp-Source: AK7set/P3E8UZL5AQzcOFQWF7d1n+YhDfC0VEf2hQFGL7VTgGxp3uTKx2+gNdZMB9JZ1qmETvQ/f X-Received: by 2002:a05:6a20:54a7:b0:9d:efbf:8156 with SMTP id i39-20020a056a2054a700b0009defbf8156mr7350634pzk.31.1674818703244; Fri, 27 Jan 2023 03:25:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818703; cv=none; d=google.com; s=arc-20160816; b=za54iG66wSjxkCWu0glEg929fF7HAb04mzswB6k9drKzHLH8px2A4dnmLIHodMTKS6 M1HGM3246sIEVYa2ehp/y2Y/HFTutFnaJOKEar0dV0LcfUM678uTIE6LkRcjB6MWQtV7 2YtF86xoWOUmRiFN/iYR9Xgf4aynRuYMNW4yl5sVQE6lp/zOJy+bdd+RSZbd+xXd8ZHY F2KRkRgwxVdCXtnxzjuW0laMIyD7G5Mcnja/FhamuTgc9+4KOMlJuvxge56L49wMwtOR Ef5TX3VOSVDvYP9VvP+yh7siqprX7DsFXZGuF/2/yVs9kskI8pRH3ivukwprf7jVmv7R 4Kdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=AXKbP5NdGEvdDzS4EdNjsMISDWT6wb0Ca2B6UKqLyAI=; b=uH+JaS6UoPQgOfsdtsE9sMsTg9NkcuvotqqtOOBvEVXjQAGjsK32+l56oZ+1/r9q69 Yzvu90kRXjjgvuxWLPWD3eIqDoODXFvpT+V/sw2BTM5/6u9LSNYVLONaLqH9U3bIb/hj ThqRfmFoxOU6oUMtmHLSE/dYOK+KX3+5aifJqFVQgvTNVfKPW/TiqkRpzkKrexmuauZ2 lWWWNO8fvlFeIjg4fE/TbKio36/Hot6Q6kVveK1NKYA7VRr3Gp29HFeHsWJchhDPKS4k 6wLRaBwcTGcf8UzEVILnN8D86z/8ucJToUGQXjVdnweWmThRf/VAoxvcDGReK34NnRfe ye+w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=KLq7j8rn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id m4-20020a656a04000000b004cc3c59b5f0si4658883pgu.329.2023.01.27.03.24.48; Fri, 27 Jan 2023 03:25:03 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=KLq7j8rn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229819AbjA0LUB (ORCPT + 99 others); Fri, 27 Jan 2023 06:20:01 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56230 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233005AbjA0LTH (ORCPT ); Fri, 27 Jan 2023 06:19:07 -0500 Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com [IPv6:2a00:1450:4864:20::429]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C910A5FCD for ; Fri, 27 Jan 2023 03:18:31 -0800 (PST) Received: by mail-wr1-x429.google.com with SMTP id m7so4654260wru.8 for ; Fri, 27 Jan 2023 03:18:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=AXKbP5NdGEvdDzS4EdNjsMISDWT6wb0Ca2B6UKqLyAI=; b=KLq7j8rnRZyCaSxJc+7nQ10iM7RqhzmV75gnzBiJCpTv1atcf53fawxP5J4U+5MUvX 9JFNPq9jQn45FNm8HktXu4bi0k0ZpnY/GwB8iTNeBZVALhI1c6j0AYtOcIKswlSa034M fsfYhAuhg5fZ5Edt+6hVrA5ZghW538PWY9EOvwBq7Iw7v1URwNvW3iWJXt1+swiibKSy Qv5D75sgY2OvpRc02DmWkR5TT97MsD3tYIUQa5MGeEZe3z6ZdUGHGGqawcQah9XBr9gz TygwvtdWrvl+DGC1x3vfjOfCkxBqfU7JhpbY8YQV1BmW45qGRtMWy1NW1ANrRxe6eRRh w9YA== 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=AXKbP5NdGEvdDzS4EdNjsMISDWT6wb0Ca2B6UKqLyAI=; b=mP7B5umLqIDJdQrsBHF4llrDJi5WQ4WjGAWDsoR/VWoUbwChKmCY0oETdBczhMUoRp x71EPuM+05J7QVn6UZ8LbAE6I17TnBrEaSqNYCxR8g2ZWq8NHYLfLVUAQB3GADUgK+wU TJjNnW/PLJT2FhhCJQCxCAjMGBPwdqfsv0pUNsZqeWa795544Bg/MeaF2Q14IfFHhTFo Vo6aOljNCtdgK0BmHu3BhU7AetjIxxCA4TmsIvpp2dT8hrKtO2UQsDCztfWFm7200JiA 19zo13PFczTsrKqk8yw+LmhL2yPF46LLvk7rg4fqfIjmF4P/YPTYfqVz/T3d8NTBzxfF 5+7w== X-Gm-Message-State: AO0yUKUfIpEYodB3s3PPxDU4R8vfA2wSt2e97ekTsbas5LN7tdqsCUC2 jYBwSA2PAdF0H3eVVog0UUS4cg== X-Received: by 2002:adf:a1dc:0:b0:2bf:b4ca:6bac with SMTP id v28-20020adfa1dc000000b002bfb4ca6bacmr9237448wrv.59.1674818305849; Fri, 27 Jan 2023 03:18:25 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.18.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:18:25 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Michael Walle , Peng Fan , Rob Herring , Robert Marko , Srinivas Kandagatla Subject: [PATCH 34/37] of: property: fix #nvmem-cell-cells parsing Date: Fri, 27 Jan 2023 11:16:02 +0000 Message-Id: <20230127111605.25958-35-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=0.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SORTED_RECIPS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174696273984670?= X-GMAIL-MSGID: =?utf-8?q?1756174696273984670?= From: Michael Walle Commit 6a80b3e6fb41 ("of: property: make #.*-cells optional for simple props") claims to make the cells-name property optional for simple properties, but changed the code for the wrong property, i.e. for DEFINE_SUFFIX_PROP(). Fix that. Fixes: 6a80b3e6fb41 ("of: property: make #.*-cells optional for simple props") Reported-by: Peng Fan Signed-off-by: Michael Walle Acked-by: Rob Herring Tested-by: Robert Marko Signed-off-by: Srinivas Kandagatla --- drivers/of/property.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/of/property.c b/drivers/of/property.c index 8d9ba20a8f90..95b838185b2f 100644 --- a/drivers/of/property.c +++ b/drivers/of/property.c @@ -1202,8 +1202,8 @@ static struct device_node *parse_prop_cells(struct device_node *np, if (strcmp(prop_name, list_name)) return NULL; - if (of_parse_phandle_with_args(np, list_name, cells_name, index, - &sup_args)) + if (__of_parse_phandle_with_args(np, list_name, cells_name, 0, index, + &sup_args)) return NULL; return sup_args.np; @@ -1256,8 +1256,8 @@ static struct device_node *parse_suffix_prop_cells(struct device_node *np, if (strcmp_suffix(prop_name, suffix)) return NULL; - if (__of_parse_phandle_with_args(np, prop_name, cells_name, 0, index, - &sup_args)) + if (of_parse_phandle_with_args(np, prop_name, cells_name, index, + &sup_args)) return NULL; return sup_args.np; From patchwork Fri Jan 27 11:16:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49230 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp780173wrn; Fri, 27 Jan 2023 03:26:12 -0800 (PST) X-Google-Smtp-Source: AK7set9JKqb/twwASk4O6zi3/JNgxCbcMOENrdklqZs2G7tTM6eKQTqYtmVM48bNm/dWjuzyY1Sz X-Received: by 2002:a05:6a20:9c8e:b0:bb:a3d3:e3dd with SMTP id mj14-20020a056a209c8e00b000bba3d3e3ddmr13804379pzb.25.1674818771907; Fri, 27 Jan 2023 03:26:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818771; cv=none; d=google.com; s=arc-20160816; b=W5o9n4fq4Yx1zKqNMc7Xomf4tt3w6cPnf2XEh4I2OwFqZnQzuOXsx2d5dG8Ibdq9f6 YB+ZuZG4ySps0lqVhoQFAGCfcLSCcK0QB+OvrT5IelFS29ImeuzyZ0WYAGLgUAvo2jtt op7URyJpNo8Kc4rsnCeKK5zLRZuaYvEjKyFXNXGRYnF5ASBKIzMt18B+WM1h8xXL46uI vahqU+FwK+viaag14GSl4Dl3puXYb21HV8oyoPaphXd5RVbRJnALLeYqthpyxf0bJGoA F88gZxP85uy6zFZtal8fNeRToIfyyrzFxXNyyZ33OgLsVjvhd2r+smKqHiLjTJpgMYVT F4FA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=V0RAZYB/XfMSgNVeIjbEr49M4Q3OadQw/L8K9G9Uq8k=; b=A/RDKGwWOexBDX7xV65UVjgNH2RRLmav5PMuFBNYiTB6ZQCqlNGDlm8gDk2KBuhX1W nkLsH29CEPFfavMVGdT5wLdl+K8qsEDmyP4lMJCwDbuf+OMKLbUOLWpHha5z+03RTo3Y oRS2+8wrRdAJCvanqs9PiOuZr0zoLBcgDQx+1ZiXU8ayBnB+b3kAgZhLNySkzbJn9x8D qYW+8WLxl8TmY0FiIbaJvoUF1hmWyW/StBmfl+sR3wFUqrtMAqnvGM7cS9Xml9yCwkyb KU3r7tdnqpkhlEYxx0817S5f7Ycc6JGoJ7QmEk8linilvdtUJITg8wWmyfYqyRnS5ISv Qz+Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=k6CpWKL8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l14-20020a63be0e000000b004dd6c083283si2539691pgf.274.2023.01.27.03.25.59; Fri, 27 Jan 2023 03:26:11 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=k6CpWKL8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232557AbjA0LUH (ORCPT + 99 others); Fri, 27 Jan 2023 06:20:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56466 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232280AbjA0LTO (ORCPT ); Fri, 27 Jan 2023 06:19:14 -0500 Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3222714E92 for ; Fri, 27 Jan 2023 03:18:42 -0800 (PST) Received: by mail-wr1-x42e.google.com with SMTP id m7so4654322wru.8 for ; Fri, 27 Jan 2023 03:18:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=V0RAZYB/XfMSgNVeIjbEr49M4Q3OadQw/L8K9G9Uq8k=; b=k6CpWKL8Li/xXlrtbqaG3uY8yTEK0RCEq/Kg4sWxFi/DxsZ9wpggC7+WrA3swdAcs6 5/dihwoMhMOmufmZcTWfANCzDKtXMEHzEoJ2+1RJ7NZzeMtuyVet5FJ6UPNAZeWXIcp5 EBXKb1ZImVhYVe8Q0IJ1AAefnBTF22gwMwvStZWKXNW/pcrNIgVswfBm35IPUAZFL/2+ rojM1S9D/BPVFEl4iqqHjMzF2k0x+4F0OgxLxh2b6Kxrm0n4EDBFnGBLB04vw5ZfAziE F6loqv6Xv0x6LF+5bNZaTf5pHRNjadS4Y0S8WaRATngT4s5xBI5SRHATHIwRIHJW8pbp fA1g== 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=V0RAZYB/XfMSgNVeIjbEr49M4Q3OadQw/L8K9G9Uq8k=; b=tPbvgQFFBLw1H/NvjzTF3TJkAsv/f/+icUPUJS/s2ghEHsMOjqXlI8cioMaquyK/71 DmOvmxorpbIFbZ+t+m/s0a+YAQaSG5QxDCU5yvE9WuWYaZnyg5p9KyIh65NYiQa7bUaU xJDUlac+SDF0yhAcMjmDKMdZiaPN5K483qbRvGElAfaWcsB9oVl9rmbcRR77iD7mQ6x6 FN7qwLUQLLiosrXrxk/Zbbe6qlAnPQMN49lGzN531DYDJxvHPjRkXkqqs/dYTfueZQ4g GVN5EeUi6HYBiGbeE8rA+i8LdPqw5e7vSH39u+JkkXqy5/wb91UIwigayBVeSxfxyvDL vrrw== X-Gm-Message-State: AFqh2koZuYSJ69cj1SaecOCIrvh2CUKhRdCzuPyaj/b3pbZChOtMaJuN rdBNWBi+qNSPi9gm5KPOti31oQ== X-Received: by 2002:adf:e48e:0:b0:2bd:ed75:808c with SMTP id i14-20020adfe48e000000b002bded75808cmr44322532wrm.38.1674818307568; Fri, 27 Jan 2023 03:18:27 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.18.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:18:26 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Johan Hovold , Bjorn Andersson , Srinivas Kandagatla Subject: [PATCH 35/37] nvmem: qcom-spmi-sdam: register at device init time Date: Fri, 27 Jan 2023 11:16:03 +0000 Message-Id: <20230127111605.25958-36-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174768145472552?= X-GMAIL-MSGID: =?utf-8?q?1756174768145472552?= From: Johan Hovold There are currently no in-tree users of the Qualcomm SDAM nvmem driver and there is generally no point in registering a driver that can be built as a module at subsys init time. Register the driver at the normal device init time instead and let driver core sort out the probe order. Signed-off-by: Johan Hovold Reviewed-by: Bjorn Andersson Signed-off-by: Srinivas Kandagatla --- drivers/nvmem/qcom-spmi-sdam.c | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/drivers/nvmem/qcom-spmi-sdam.c b/drivers/nvmem/qcom-spmi-sdam.c index 8499892044b7..f822790db49e 100644 --- a/drivers/nvmem/qcom-spmi-sdam.c +++ b/drivers/nvmem/qcom-spmi-sdam.c @@ -175,18 +175,7 @@ static struct platform_driver sdam_driver = { }, .probe = sdam_probe, }; - -static int __init sdam_init(void) -{ - return platform_driver_register(&sdam_driver); -} -subsys_initcall(sdam_init); - -static void __exit sdam_exit(void) -{ - return platform_driver_unregister(&sdam_driver); -} -module_exit(sdam_exit); +module_platform_driver(sdam_driver); MODULE_DESCRIPTION("QCOM SPMI SDAM driver"); MODULE_LICENSE("GPL v2"); From patchwork Fri Jan 27 11:16:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49231 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp780288wrn; Fri, 27 Jan 2023 03:26:32 -0800 (PST) X-Google-Smtp-Source: AK7set+GKstfMN+ap8lKTgBlk+XqlmK5JweTcRQwIjRaNvXYIBzefzZFU80BEU1AEsZ4dQLnejTU X-Received: by 2002:a17:902:e547:b0:196:47f0:50b6 with SMTP id n7-20020a170902e54700b0019647f050b6mr5158199plf.47.1674818791772; Fri, 27 Jan 2023 03:26:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818791; cv=none; d=google.com; s=arc-20160816; b=DiZZtF+Gz6Q6kl3fyPgPyY0gTdGTq7nYZUCM+gEvC4OFUkmYEgA0GD2KYdRCpgJHdd 6MhNso9UN+mgF3hLOBso8jL1RbAaBAGmAODUFUeGCS9uwwL/7+y2kEXodjUwKvq9bV8T dZdnGWPSSyNjOgqZZw4N+b6euuE2cZ3DyW1Mc3Q5FKmsdvgp8tAoSLC1ycrt9zhSg5LI 0c9vVi9qXRRb64NttdB0Nrvs+LkMmfw4B6Pnta/EBnKzUdwEV9ZQZA8Eu5GeUA8h4ymt rSPF7qwcDUEeeqpQBXJVIM7FtGUXHI7xW5AxvxPsuvmnASL6pMEuAS6BWd2ow69j/j// xjrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=IEBwyInNQj4T9UrPWpH8IzyU0lvHzwvDqekdsT+4wvM=; b=ku1hChxpn71GxqsUOFSG47oDNzZOGAg/5QdEymD5y7TKwZ2Pby0k98eWoy730Xq0Bb Wmlcs7TcFKn4uL2KTQU1fK92T5Z7dihY/D/P6hrgDVyzNNv6cVEw6Ob58fuN448jJoLe fIcflFkmG/7J1He3dMqgYU5wY6rGd7gsMOc2LYTTYfaJBdcRAxXdXCUW3TdODwdwUiGb Z19cAkG6H8mMM/ZE2rpAQ+YXvOrnIfga25eiEkU/SpsFvOs3xO2Dvy3T++xqzSNFY8D3 +aTmRp0OVs+W+RxtnQemfyhDYEu3d/7ojJAO4qYU8Eq1vLz1s/VGNktze10V+oRFEzoF m5gw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=z7e8RXUu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t5-20020a170902e84500b001944ced796asi4940620plg.125.2023.01.27.03.26.19; Fri, 27 Jan 2023 03:26:31 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=z7e8RXUu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231579AbjA0LUT (ORCPT + 99 others); Fri, 27 Jan 2023 06:20:19 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56160 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233160AbjA0LTl (ORCPT ); Fri, 27 Jan 2023 06:19:41 -0500 Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B565B26854 for ; Fri, 27 Jan 2023 03:18:43 -0800 (PST) Received: by mail-wr1-x42e.google.com with SMTP id h16so4628844wrz.12 for ; Fri, 27 Jan 2023 03:18:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=IEBwyInNQj4T9UrPWpH8IzyU0lvHzwvDqekdsT+4wvM=; b=z7e8RXUuZeE00PLqOhHKOz0P69AIOZTSzpm+kqpGmfF6mHnKuPV5t15AsXg75C925N psoTn023JsDFVkzzMc4HZv2SKq8OXyDS7GycUVKTKdLTvzabBOKD/0Z/5cJupMRP4S/R F+W4/lVrWtvaIO+rg0UZpeKiTztXkZ1yOyKf3PvB7y+FpFGyF6AQVYNPJgRKxoLgJJCh hYjHRTTapgmumijfAvoE7V5fs4FkGlv1jY+AqCKQBP9AoVrFb23pG86j4bVGgfpb0yGh mEw8bwaA0J/LfF095c506KMzyOxMok0FKTNQGhpoGSYdKiK2wNwwSyVrh+BaSeIuEn4/ 7UXA== 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=IEBwyInNQj4T9UrPWpH8IzyU0lvHzwvDqekdsT+4wvM=; b=lXQpReMTQy3o2GExZ6sn/damntIIi/I4W1GQHO9CUjrr2Lbc8p7JZyCxzoIFOBPcF/ oE4cBs3xpYhkVSiXiza6ukzZql86vWqZhHbKdtJTccQ7P1GV7RVkMJeQCdFc5+B7OOUU npzM61N16GnH/BuPKwrfbraCLVEbMufmlEayhXXuDNpkg9AW9288vbH0QcvN7DoeJxd2 n5wRjHVY8a9DKjRuieNBglqLu9voCVAixlpH9B9BnNZnQkxdR2wd/hQgUtbBd4WZxKiE tJn+RJ+s7PrD9jNqdxhK43hm/K40LtZi+1sG4a38sKBQ/T8bHpbbzYRI5H/08T9rALZk bVdw== X-Gm-Message-State: AO0yUKX8zhpBuUPomUiepNVBsdRi9m6FNtCM44aIC/elJft5Ol8JVS8G GVG/Pm9o+eCyzMpi0XTedvB5sA== X-Received: by 2002:adf:f504:0:b0:2bf:bf4c:3f9c with SMTP id q4-20020adff504000000b002bfbf4c3f9cmr7391975wro.5.1674818308881; Fri, 27 Jan 2023 03:18:28 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.18.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:18:28 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Robert Marko , Krzysztof Kozlowski , Srinivas Kandagatla Subject: [PATCH 36/37] dt-bindings: nvmem: qfprom: add IPQ8074 compatible Date: Fri, 27 Jan 2023 11:16:04 +0000 Message-Id: <20230127111605.25958-37-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174789044645488?= X-GMAIL-MSGID: =?utf-8?q?1756174789044645488?= From: Robert Marko Document IPQ8074 compatible for QFPROM, its compatible with the generic QFPROM fallback. Signed-off-by: Robert Marko Acked-by: Krzysztof Kozlowski Signed-off-by: Srinivas Kandagatla --- Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml b/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml index 9ddf3cef9e84..2173fe82317d 100644 --- a/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml +++ b/Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml @@ -19,6 +19,7 @@ properties: - qcom,apq8064-qfprom - qcom,apq8084-qfprom - qcom,ipq8064-qfprom + - qcom,ipq8074-qfprom - qcom,msm8916-qfprom - qcom,msm8974-qfprom - qcom,msm8976-qfprom From patchwork Fri Jan 27 11:16:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 49232 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp780720wrn; Fri, 27 Jan 2023 03:27:47 -0800 (PST) X-Google-Smtp-Source: AMrXdXuLZCSdzKhpM+6AZltmNNef7lO+sUlVm7Q8xSd39IJ7s4lrHnqTX2ncICN6OO+F1yKLs9vV X-Received: by 2002:a17:903:181:b0:194:a859:3e0 with SMTP id z1-20020a170903018100b00194a85903e0mr51698347plg.58.1674818867071; Fri, 27 Jan 2023 03:27:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674818867; cv=none; d=google.com; s=arc-20160816; b=JppacMC6C40NHw9zOtPQ6oN4c0W+78JKSQCnfD+G4Iu9YWt/sUkwOYIVfwwqHVLC1s kamUswO8nowMywAF8Ug48kXoRn3d2+uc3KAuMsbK99NRJzLAcREBkcZIWuT07Zsyzhlz 3C5aHjbGnEMckAUJevIrgqqdE9C2Vek2rNxaRt0nLxMrDKjXpftQD9Y/nHNclrs2PlhH YwfpWHDlhynn4ZoagyrvLjrHYgP7qMmPdBq5pWVtNnIejal3r9CeH9kty7WxqwPwmJyH f1u6nO5HIm5dLxsmdRGY3wDUZQgz0H0F3P8A8pi4HzaJNE0dwr9Gw3VnzyyH9RvJDt6i HOOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=nophxsV7RTMMr7jT/+RerGv5oOL4oTpwyjcwQZkZTDc=; b=hG6UHwc9ot05NeYcPf7XwmmLHX3feUGo1I+WbVh+lbOPLA4x/GSjgrUjhzxZkfPyrj hlcNxeQ1YxP4v6vjk2haR8ef4bSkLcWibKIzZ40TatdgJkY2sdq2nCvZX4je6fkGcOG3 SfMDkcWrlt7UREnHBMiVFmRa03sLxk0qUlMAdqxILqMlNcvn5mIm8Axcx+M9B4u4YF1B TVF2JjfQtwKdhi/+pQO6/VYkEf8/CjCbgv/HSL29IUYKw13j4DopwBF6+qX8lusqp6qb mRU9ET9rxb+zkakofsGJQXtVOwzWVCU3KmxRX3GTabJbXPziFViPXEvW+jewnawESA2Q U2hQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="Ey/fOJ1c"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h1-20020a170902f54100b001929fa56a48si4770848plf.394.2023.01.27.03.27.33; Fri, 27 Jan 2023 03:27:47 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="Ey/fOJ1c"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232489AbjA0LUv (ORCPT + 99 others); Fri, 27 Jan 2023 06:20:51 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56642 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232456AbjA0LTG (ORCPT ); Fri, 27 Jan 2023 06:19:06 -0500 Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com [IPv6:2a00:1450:4864:20::434]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6D5B37B420 for ; Fri, 27 Jan 2023 03:18:30 -0800 (PST) Received: by mail-wr1-x434.google.com with SMTP id bk16so4642063wrb.11 for ; Fri, 27 Jan 2023 03:18:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=nophxsV7RTMMr7jT/+RerGv5oOL4oTpwyjcwQZkZTDc=; b=Ey/fOJ1cRFNO9y5NIrn+b1FYncc4yFk2walPwaG5KX/r956XOp+lQSIX5FJBAmRc9m m/dHHPCnzM8t+R3teXgt11h+1EOiiEXWeajFDafLOMeKy04taSYCAQaxH8FmwuPQ11Uq 9uwXhyJKzJGDOCtlzRgc/yIPJv8k53whjMnS2aMNnJsMpmc0yskJjfgJ2YMZ8pgcNfpR C6QExyalaFoy7jyesyRW7pWNJw0YeAEPDf2+os3gVVMY0Iox9W+x4vB0FRP2KvCs0V8z xdTSfYKLsWrV7CaXYgUiUOjjkkAzxx3zAyFBj+b7bJuAsWmwLAO5NTqaMRUl1DGghUy/ F4wA== 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=nophxsV7RTMMr7jT/+RerGv5oOL4oTpwyjcwQZkZTDc=; b=TXCm3a2t0CJU7ltKTMIk5KuQZkPqryz/fmTKHGAq4pPiGdiCvcYOHJ6KraxiXOFJPy tT/beFKprN5/smJGy7uTBj9n8cYUArtTSTcRfF6uDGmuKoGLCYzrZ8rXhBmRegQTAyjH CW8WKJxEFfnUHlTqAkrH9RD745unXzNdAcQtlJEXzlZovECwXgEYKoMem4FPcxpn3W66 OQVOm0ZAWE4T9NhO30ChgFoLY5V4dFJB0Zg4WEEfyVSjIxO2WQtMce3ceqJ5OGeBB6Hh 4sg6XG4mSFD2z82Kqe9gWtFcf2Vhg+0Xj9mN2OwVn7R0dmLvXszYa+7aGUBuJXdan1Ro jRCQ== X-Gm-Message-State: AO0yUKVDC/lLr1/f2wVrDE70lP/2ISS9fLf+553Z0iKiq98RN7Ziz1iG atuSi8J76s9LYzVuNa57wY0Dvw== X-Received: by 2002:a5d:5a87:0:b0:2bf:b7ca:8ae2 with SMTP id bp7-20020a5d5a87000000b002bfb7ca8ae2mr9590774wrb.15.1674818309851; Fri, 27 Jan 2023 03:18:29 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c13-20020adffb0d000000b002bfd190fd60sm1843314wrr.108.2023.01.27.03.18.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:18:29 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Arnd Bergmann Subject: [PATCH 37/37] nvmem: stm32: fix OPTEE dependency Date: Fri, 27 Jan 2023 11:16:05 +0000 Message-Id: <20230127111605.25958-38-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> References: <20230127111605.25958-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756174868434565033?= X-GMAIL-MSGID: =?utf-8?q?1756174868434565033?= From: Arnd Bergmann The stm32 nvmem driver fails to link as built-in when OPTEE is a loadable module: aarch64-linux-ld: drivers/nvmem/stm32-bsec-optee-ta.o: in function `stm32_bsec: stm32-bsec-optee-ta.c:(.text+0xc8): undefined reference to `tee_client_open_session' aarch64-linux-ld: drivers/nvmem/stm32-bsec-optee-ta.o: in function `stm32_bsec: stm32-bsec-optee-ta.c:(.text+0x1fc): undefined reference to `tee_client_open_context' Change the CONFIG_NVMEM_STM32_ROMEM definition so it can only be built-in if OPTEE is either built-in or disabled, and make NVMEM_STM32_BSEC_OPTEE_TA a hidden symbol instead. Fixes: ae46fd89cc0cc ("nvmem: stm32: add OP-TEE support for STM32MP13x") Signed-off-by: Arnd Bergmann --- drivers/nvmem/Kconfig | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/nvmem/Kconfig b/drivers/nvmem/Kconfig index ed8ef7460be2..ae2c5257ed97 100644 --- a/drivers/nvmem/Kconfig +++ b/drivers/nvmem/Kconfig @@ -295,8 +295,7 @@ config NVMEM_SPRD_EFUSE will be called nvmem-sprd-efuse. config NVMEM_STM32_BSEC_OPTEE_TA - bool "STM32MP BSEC OP-TEE TA support for nvmem-stm32-romem driver" - depends on OPTEE + def_bool NVMEM_STM32_ROMEM && OPTEE help Say y here to enable the accesses to STM32MP SoC OTPs by the OP-TEE trusted application STM32MP BSEC. @@ -307,7 +306,7 @@ config NVMEM_STM32_BSEC_OPTEE_TA config NVMEM_STM32_ROMEM tristate "STMicroelectronics STM32 factory-programmed memory support" depends on ARCH_STM32 || COMPILE_TEST - imply NVMEM_STM32_BSEC_OPTEE_TA + depends on OPTEE || !OPTEE help Say y here to enable read-only access for STMicroelectronics STM32 factory-programmed memory area.