From patchwork Fri Dec 6 23:04:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Niedermaier X-Patchwork-Id: 2019579 X-Patchwork-Delegate: festevam@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=dh-electronics.com header.i=@dh-electronics.com header.a=rsa-sha256 header.s=dhelectronicscom header.b=OBnK3yVB; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Y4n1v4qkfz1yRL for ; Sat, 7 Dec 2024 10:06:27 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id A8E6088DFA; Sat, 7 Dec 2024 00:06:17 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=dh-electronics.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=dh-electronics.com header.i=@dh-electronics.com header.b="OBnK3yVB"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 9E66B88D72; Sat, 7 Dec 2024 00:06:16 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: 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_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 Received: from mx3.securetransport.de (mx3.securetransport.de [116.203.31.6]) by phobos.denx.de (Postfix) with ESMTP id DD4AC8974C for ; Sat, 7 Dec 2024 00:06:13 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=dh-electronics.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=cniedermaier@dh-electronics.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dh-electronics.com; s=dhelectronicscom; t=1733526346; bh=JVzB0Goe2csNr6aC41CkhmwFTVcPoebxIWkOdKB2nPM=; h=From:To:CC:Subject:Date:In-Reply-To:References:From; b=OBnK3yVBYJAFQvLmgmNq1GOf+a7nUuN+xIVXk4okJExQdY0yKba6+PxjhHQ2kgzmt DVEAOw40khA1kJmtagJ4SqljWDLTmL/uK3CPAKwQ/RodMX5mZBwgBHyuJhzjsmPZV+ Pi3mz0MJaBwfXFDi6XH/vBHR28Sd81o9cFlnl9V6GN+C8FAYirbfzvhY5xmR/0el5W yJuygIGzx0DSNzLB/0+gChbnCUSyIupBFcjcBoIeZD7oL58zzUajeYpO4QztoS7u3n hU8NfrLnbmJW3/BTCRN03DO53p6SoJreb85twqrQT2STTb9YZGOyqBtkYjXYJBIDlh 5gPOgi/rK3XKw== From: Christoph Niedermaier To: CC: Christoph Niedermaier , Marek Vasut , NXP i.MX U-Boot Team , Fabio Estevam , Stefano Babic , Tom Rini , Subject: [PATCH V6 4/4] board: dhelectronics: Sync env variable dh_som_serial_number with SN Date: Sat, 7 Dec 2024 00:04:20 +0100 Message-ID: <20241206230420.54704-5-cniedermaier@dh-electronics.com> X-klartext: yes In-Reply-To: <20241206230420.54704-1-cniedermaier@dh-electronics.com> References: <20241206230420.54704-1-cniedermaier@dh-electronics.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean The env variable "SN" is used to store the serial number on DH electronics SoMs. New SoMs will use the variable "dh_som_serial_number". To ensure compatibility, these env variables are synchronized. This is achieved using callback functions. Signed-off-by: Christoph Niedermaier Reviewed-by: Marek Vasut --- Cc: "NXP i.MX U-Boot Team" Cc: Marek Vasut Cc: Fabio Estevam Cc: Stefano Babic Cc: Tom Rini Cc: u-boot@dh-electronics.com --- V3: - Add this patch to the series V4: - Remove the recursion prevention from the callback functions => The recursion prevention will be generally solved in the callback function call in a separate patch v5: - No functional changes, but changed the order of the patches V6: - Add Reviewed-by tag --- board/dhelectronics/common/dh_common.c | 17 +++++++++++++++++ configs/dhsom.config | 1 + 2 files changed, 18 insertions(+) diff --git a/board/dhelectronics/common/dh_common.c b/board/dhelectronics/common/dh_common.c index 6a942909cc..71010803f5 100644 --- a/board/dhelectronics/common/dh_common.c +++ b/board/dhelectronics/common/dh_common.c @@ -11,6 +11,23 @@ #include "dh_common.h" +static int on_dh_som_serial_number(const char *name, const char *value, enum env_op op, + int flags) +{ + env_set("SN", value); + return 0; +} + +U_BOOT_ENV_CALLBACK(dh_som_serial_number, on_dh_som_serial_number); + +static int on_SN(const char *name, const char *value, enum env_op op, int flags) +{ + env_set("dh_som_serial_number", value); + return 0; +} + +U_BOOT_ENV_CALLBACK(SN, on_SN); + bool dh_mac_is_in_env(const char *env) { unsigned char enetaddr[6]; diff --git a/configs/dhsom.config b/configs/dhsom.config index fc76632630..380bedaa5d 100644 --- a/configs/dhsom.config +++ b/configs/dhsom.config @@ -49,6 +49,7 @@ CONFIG_CMD_UUID=y CONFIG_CMD_WGET=y CONFIG_CMD_XXD=y CONFIG_CRC32_VERIFY=y +CONFIG_ENV_CALLBACK_LIST_STATIC="dh_som_serial_number:dh_som_serial_number,SN:SN," CONFIG_HASH_VERIFY=y CONFIG_MD5SUM_VERIFY=y CONFIG_SHA1SUM_VERIFY=y