From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BB0C7C433F5 for ; Mon, 2 May 2022 14:19:40 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id E237383F0A; Mon, 2 May 2022 16:19:12 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=solid-run.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=solid-run-com.20210112.gappssmtp.com header.i=@solid-run-com.20210112.gappssmtp.com header.b="oA+is2Q8"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 64BE383F05; Mon, 2 May 2022 16:18:54 +0200 (CEST) Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [IPv6:2a00:1450:4864:20::32d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id D693883DDC for ; Mon, 2 May 2022 16:18:47 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=solid-run.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=josua@solid-run.com Received: by mail-wm1-x32d.google.com with SMTP id n126-20020a1c2784000000b0038e8af3e788so8532341wmn.1 for ; Mon, 02 May 2022 07:18:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=solid-run-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jpE+8U5CeIbRfOKTQ+ArhMSRJE6mOd6BkFUO7axoz/M=; b=oA+is2Q88QFov9JFfuLdVQDXLYdYSxuimOFF7SKCWOQhLOay6QEsca+EV5Vr6RV39e h96bh0/PcwyW+GFolLky5asRKd9qo070Cy6m9c5A7jZbE6OdgiaDp5dqEBvS40Sp9+8k pTjPqDNA9w4F6u2Ltkgouw4VHwD0bcptEB30hKwfZTFm5QBZhkZUkPgZkt6LoOO6LZk4 3XHo7FLfKLY+srXzFi53RiY5S4rxxMB9+mUeO4lX0LaFgCMIIQJDaebL77k5G7TbrZqM mKWvPQ76POIKAe2vbyBTrlccauFt9YyTZxoknW5fMJPxguoUVXJVWFXznvGGPNEQ3bl7 tP1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=jpE+8U5CeIbRfOKTQ+ArhMSRJE6mOd6BkFUO7axoz/M=; b=GirBWKNx465LQM2IlZSlhwu+Cwx1mFViXL+NIOldqlf6qUcoBY/RTl6GUYFg37GxqR dDx2UJ3AeTc5iJE4YIc/dBcPBuSLn4TEWTNrwsf5IXFxRWPJwi8bROTfbbI5tJIXhANm 1mzVJrnXjOEL4ebhPsxl8owHTkDuX1dJgT2TrMF3DbaxmXxkWIOQorsB7Qas44ll4JEm YR77CHgxawCSAJA+Y/PHfBGJTumMT75ZgPB9d8iVZi4uyDSNjPW242YxJdkc8CpRnTBe X32BGRqCt0m6XrgNFyljzpKTdRnONnTuc6OBCL+DO/AuziTaRg3Js3q+Dk0FX+PnP2KI nRfQ== X-Gm-Message-State: AOAM531I4n2VwdtA+NLGgVQcwaXJ2vCswHKBbNyFS1/c4GL48TUjcNM8 jasbHtwev+jgC6ecpGGJHJYTdcZowD2sBg== X-Google-Smtp-Source: ABdhPJzbObItBwUlscEIoSvk6L+cxNee4F2AcosgSLG6mayMPpeOhfxVaKk6R2I1EN+tXZX64wxRLw== X-Received: by 2002:a05:600c:3ca7:b0:38e:50d2:27fe with SMTP id bg39-20020a05600c3ca700b0038e50d227femr15112549wmb.159.1651501127270; Mon, 02 May 2022 07:18:47 -0700 (PDT) Received: from josua-work.lan (bzq-82-81-222-124.cablep.bezeqint.net. [82.81.222.124]) by smtp.gmail.com with ESMTPSA id t1-20020adfba41000000b0020c6fa5a797sm940035wrg.91.2022.05.02.07.18.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 May 2022 07:18:46 -0700 (PDT) From: Josua Mayer To: u-boot@lists.denx.de Cc: Josua Mayer , Stefan Roese , Simon Glass , Sven Auhagen Subject: [PATCH 02/12] cmd: tlv_eeprom: remove use of global variable has_been_read Date: Mon, 2 May 2022 17:18:28 +0300 Message-Id: <20220502141838.15912-3-josua@solid-run.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220502141838.15912-1-josua@solid-run.com> References: <20220502141838.15912-1-josua@solid-run.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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.5 at phobos.denx.de X-Virus-Status: Clean has_been_read is only used as an optimization for do_tlv_eeprom. Explicitly use and set inside this function, thus making read_eeprom stateless. Signed-off-by: Josua Mayer --- cmd/tlv_eeprom.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/cmd/tlv_eeprom.c b/cmd/tlv_eeprom.c index f91c11b304..bfd4882e0d 100644 --- a/cmd/tlv_eeprom.c +++ b/cmd/tlv_eeprom.c @@ -42,8 +42,6 @@ static int set_date(char *buf, const char *string); static int set_bytes(char *buf, const char *string, int *converted_accum); static void show_tlv_devices(int current_dev); -/* Set to 1 if we've read EEPROM into memory */ -static int has_been_read; /* The EERPOM contents after being read into memory */ static u8 eeprom[TLV_INFO_MAX_LEN]; @@ -130,9 +128,6 @@ static int read_eeprom(int devnum, u8 *eeprom) struct tlvinfo_header *eeprom_hdr = to_header(eeprom); struct tlvinfo_tlv *eeprom_tlv = to_entry(&eeprom[HDR_SIZE]); - if (has_been_read) - return 0; - /* Read the header */ ret = read_tlv_eeprom((void *)eeprom_hdr, 0, HDR_SIZE, devnum); /* If the header was successfully read, read the TLVs */ @@ -149,10 +144,8 @@ static int read_eeprom(int devnum, u8 *eeprom) update_crc(eeprom); } - has_been_read = 1; - #ifdef DEBUG - show_eeprom(eeprom); + show_eeprom(devnum, eeprom); #endif return ret; @@ -432,10 +425,15 @@ int do_tlv_eeprom(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) char cmd; struct tlvinfo_header *eeprom_hdr = to_header(eeprom); static unsigned int current_dev; + /* Set to devnum if we've read EEPROM into memory */ + static int has_been_read = -1; // If no arguments, read the EERPOM and display its contents if (argc == 1) { - read_eeprom(current_dev, eeprom); + if (has_been_read != current_dev) { + if (read_eeprom(current_dev, eeprom) == 0) + has_been_read = current_dev; + } show_eeprom(current_dev, eeprom); return 0; } @@ -446,14 +444,16 @@ int do_tlv_eeprom(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) // Read the EEPROM contents if (cmd == 'r') { - has_been_read = 0; - if (!read_eeprom(current_dev, eeprom)) + has_been_read = -1; + if (read_eeprom(current_dev, eeprom) == 0) { printf("EEPROM data loaded from device to memory.\n"); + has_been_read = current_dev; + } return 0; } // Subsequent commands require that the EEPROM has already been read. - if (!has_been_read) { + if (has_been_read != current_dev) { printf("Please read the EEPROM data first, using the 'tlv_eeprom read' command.\n"); return 0; } @@ -509,7 +509,6 @@ int do_tlv_eeprom(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) return 0; } current_dev = devnum; - has_been_read = 0; } else { cmd_usage(cmdtp); } -- 2.34.1