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 34C51C77B75 for ; Tue, 16 May 2023 11:42:27 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 18BA7860CF; Tue, 16 May 2023 13:42:25 +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 (1024-bit key; unprotected) header.d=solidrn.onmicrosoft.com header.i=@solidrn.onmicrosoft.com header.b="X6n5EPqu"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id BC17D860C7; Tue, 16 May 2023 13:42:23 +0200 (CEST) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on062d.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1f::62d]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 23CD786113 for ; Tue, 16 May 2023 13:42:17 +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 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kCIoe7i/FBLey85QWHENp8QQnIvevEhjlW/dUWW/MTfBITl98Mt7AWb90cHi/wn3d7jGWdN9qvhajVZNuhDew+YmXR06j59G6Cdfk6x0EgI1ePSYpe5gDsh/ZtsaXjTDS/F9xXh98VCs+fmvA78e7FbY0aiEHPQ51u1/SF5+LKIzwxNxoZCxDhgfDSUiFNtvcF7qHXvWhHVpUB8VfYZiiMegsm3Ee2W1hFKb/GKV27lfYLyOrca/kL/EUmT93PyH3YMkG5d0EQQ+avt0VHxTYlEApZrd8ZRg+HEn+CCmi2ayki5pVHYv7eywYV1ibHiJex05jIf6wFou32eCpHmUKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=WW/FNDbuyvB9zt+WRv7rc2waevrx8TQ6MUe7nU00EyE=; b=L5Wb60GefTq0yNrKPUJ7fygtqUlilOfIeTY7ZAtVW4H0If7Vo487EIA8cdztjsfut9IkXMn3J7PNg6u0xaDMHvvI5DoUeD0Q95wf74gBSZ1M7Z3CG0Xdk1ys5vjoCLQvJL/aCQ0S++u0EtFG85A2eCKYxcso4RWpommSpgSbNbgCWmznpoFelXJPC1wKrjqFZCXhHJkK6NsLZ7OPwKu0xjBe4IMwBzJjExxiYbM27yDq5JL+6oEM/maXyt3IVvqLGpyyo3H/EWPyXkQ6lDxMKN3NgUD6HjEVryXUEHt97E3ctI7mvv1sz1nscttv6stQoU5sxNioOcbIGtB0DKuJMQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=solid-run.com; dmarc=pass action=none header.from=solid-run.com; dkim=pass header.d=solid-run.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=solidrn.onmicrosoft.com; s=selector1-solidrn-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WW/FNDbuyvB9zt+WRv7rc2waevrx8TQ6MUe7nU00EyE=; b=X6n5EPquM8ec+Uv1Sgc+r9eBmwfxJcB/756P4Odmm30DiPs5wXPYucRwea0B7BfjN8vsLbT0Z7c1VNgv8HdVppdq2aGg5y35T8essD6K1UdrufEL3Zp75W6hWdD86ncKvtwpmvcpaT32fLANf6lgihnsPtEmVlghRV5Uq/KvvQc= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=solid-run.com; Received: from AS8PR04MB8963.eurprd04.prod.outlook.com (2603:10a6:20b:42e::18) by AM9PR04MB7521.eurprd04.prod.outlook.com (2603:10a6:20b:2df::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.32; Tue, 16 May 2023 11:42:14 +0000 Received: from AS8PR04MB8963.eurprd04.prod.outlook.com ([fe80::9e27:8c41:a8d:938e]) by AS8PR04MB8963.eurprd04.prod.outlook.com ([fe80::9e27:8c41:a8d:938e%6]) with mapi id 15.20.6387.032; Tue, 16 May 2023 11:42:14 +0000 From: Josua Mayer To: u-boot@lists.denx.de Cc: Josua Mayer , Stefan Roese , Baruch Siach , Heinrich Schuchardt Subject: [RFC v2 0/3] lib: tlv_eeprom: refactor API Date: Tue, 16 May 2023 14:41:50 +0300 Message-Id: <20230516114153.3896-1-josua@solid-run.com> X-Mailer: git-send-email 2.35.3 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: FR2P281CA0143.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:98::16) To AS8PR04MB8963.eurprd04.prod.outlook.com (2603:10a6:20b:42e::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8963:EE_|AM9PR04MB7521:EE_ X-MS-Office365-Filtering-Correlation-Id: 7f887717-15ea-47a6-645f-08db5602975a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zJhpkDQPDxh1aeDNg96ZnHulYrkMIiJ1KOh2NWu/iJbqfyyVrYETTh0UXyrZWUsyaNqH8ESXDxgmb9/8+eBUssOd8LrnziYr5aAH7ZzEZ6/f8l/WF0VbhAqk5+cLTfcOAx4qdZTgudaqPPKIZ9ScUy7/BKwOh/Dxv2YerLCw4K001TQT/5K+7xbhnQxhwoshKYfL1U291TxTiwfvrbdN3Axb6+dyp8pJkBMjxM7GdHJ8RxIUcqFoTXIX10olrd/rPRZA6UA0611FngwhcXLnuDxaRjiUlgXaCK5YZmhi3PK6eZZNdMCdGwYFpNx8vZhNUHP25jcElmBYHeWqM3AS9LETXa1v00iYnXwkfXKaR9MAr5Zx/cNnurnmoVWOBx0uDwUm2zOVYOI4SiTvFsluGYoUPeDRfAggQDPrf0nvTcTXdfifJSj9L0TQTb1Yr5v6Qm5yf+IYkwi2dKHHUrwGF6XeAIwPOal1Iw+DMoOWL497iuSRkEf1XVClu0MpUYzpsxm1oIHyLlWbfwWAWsitAw54kPeR9cbaQCSP7LpxpVyvaPfO1zwwRhkxZHjUIpxb X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8PR04MB8963.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(346002)(136003)(376002)(366004)(39840400004)(396003)(451199021)(6512007)(6506007)(1076003)(52116002)(83380400001)(36756003)(2616005)(38100700002)(86362001)(186003)(54906003)(2906002)(316002)(41300700001)(478600001)(5660300002)(66556008)(4326008)(6916009)(66476007)(8676002)(66946007)(8936002)(6666004)(6486002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?FraxVEXw5RZpfLOpolPrfJ9MPL+jtB9yghzYiPTejVbE5itTyD7zsoFLhbuI?= =?us-ascii?Q?wllxUp9Q4BKPwgjSidKwSNkUT2XY/U8B+YF9/NNIQqIxUzQ96ejnFO4XNiLm?= =?us-ascii?Q?PvoifdYW4Pe7ujypAb/tJ8G2/sLUxNaQZ6Y1VU3gWMLlCUchtNEZdUkrjAos?= =?us-ascii?Q?YT2FH6fkA6PuxwqW2ZFj//rd1dKknpV/YnbeAobGtHcdmwMpX9O7buFs3Puf?= =?us-ascii?Q?/6x49zLa4AaAWCPQLb9sn/EmlT59eIzsLim45d1ICNnOOpgIXkym1MRoo5CW?= =?us-ascii?Q?n45QPGY5vQLutzTpdG0wh/9vqt0iMGIZRPid7nD0Ar9GRxTiFmfq9xGnYL0a?= =?us-ascii?Q?U+2e7kXHk/GNqqOPywkan9orxB5Zu35eHH7ceMa8Kb6pQBnOHGuUjQNLUpDz?= =?us-ascii?Q?Qlfvkg2Pr6h/PiF+sJVz1HiPj9uZp/LZEeNicFqQojB6lTJUjjN+5LTkARQB?= =?us-ascii?Q?b+rogtVGZW/Pk/vlTjXzJthZDdjR3eGPwSCpLUZ2osbjRDNzxmkVqD1E08z5?= =?us-ascii?Q?vHzKyQk9pxaYwVNCTpxpp6J3IbZHTKLjLT7KLGHzIkJVoHu7wYdAlPbGHorT?= =?us-ascii?Q?zJDQ2mWNTlX0CLr1O1n5ugnBhQl4Oy6U1ZKvSq5fbh7DoAGLqeC7jHeNLbwg?= =?us-ascii?Q?jreNxc17H8tarNXzTwmSasuGL4L7fUh8SFNDOsjsecUfXtKxkxcupcNcMpm1?= =?us-ascii?Q?Pj9vwRnbrI6Xkx0ncTFPuj8yJSIAVKqwK2rUoRsddFwMTt3EziPEpVynQpOv?= =?us-ascii?Q?LAtTQQtMlY2hKNULlMNyR6JCGYQIk1ToYWWdjEQ7HpUVBsQfRtIRDBziIe+K?= =?us-ascii?Q?U9gxAi96v/y3IXzllH0sC7UHyY4igtFfB3mJf1eJFHaeu+OkOn99z00iGQnH?= =?us-ascii?Q?0iMWRhv8EMGO1EWO7ioNLnfJm9QWmh4tuESAy3CrevstXoyht+gLD4agYSPi?= =?us-ascii?Q?BwY82Z5jsK4n47aoFas8ZAJiExZPWSCAa5IC7RBue2aJ4WiN0gLPZP7aOTKV?= =?us-ascii?Q?CLjyN9a9RM9BqrXfyy9+Gnx8DjIG+AeRHmkZrIi2BdiDpYNvyXpFRF7kpH5H?= =?us-ascii?Q?PuU1DAAyfGF0XPvvtP+7zygiUCpjn0cpdmbNqwbbUJJb1cbKm6kEI2qLJJ+f?= =?us-ascii?Q?g7E+2PyGCas4BLbaEpPUar95B8BwdCdnhHQI/QpMehjVHgHHGShimBAfgAF0?= =?us-ascii?Q?8JTP4fjdgSpQFKRX+G26BFJKHX2ly9d1fbhlEekHIcSDmDhEG7+LGq2rY2Bj?= =?us-ascii?Q?gFU6kRvhRNhdg7CyzCEr6BRgOC/FpRpL4ASmd019LDsd3NEl7W3dhSAZWpzJ?= =?us-ascii?Q?/CWhYdA1CtEBsuFEQFj26dXtOg8Y0dW97y9AdYeFVRzNwKPy17WFXTiIC0X+?= =?us-ascii?Q?m+Mxs1xw3XoVmsl6NTj/LkG5ByS1HnogWhUgNfNTes5X6gOOkavqcCxwI9sN?= =?us-ascii?Q?DCE0Pv8AWQn9lyqwBHg1Cz1PbW0TH0J3xCkBGfXIuGT+gpZdSjVMhxRWDNIQ?= =?us-ascii?Q?hmEHNwZHBn43t+DzOZtE4jL8rgvTTT+NoVNEJwANfVGhXkW9R8hht+1xFSOa?= =?us-ascii?Q?PkVAHHm5Nmn5hpisar85uar5P+pPexV3QFbhI6shijRM/oUwuqGnvj9bErQz?= =?us-ascii?Q?P72bH9cw1+DttEqSR30PU+k=3D?= X-OriginatorOrg: solid-run.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7f887717-15ea-47a6-645f-08db5602975a X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8963.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 May 2023 11:42:14.4154 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a4a8aaf3-fd27-4e27-add2-604707ce5b82 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: vOLoufhgqizOSnqlErHYWq6ct/Aduwefgri0J7lUGFikFfZ1cnjRKDqWNOOyj3KvYejqu7jFC1QiY0zpzCHSCg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7521 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 existing tlv_eeprom functionality has been designed as a single application living as a uboot command. The split into individual library and command, as well as attempts using this functionality extensively for board-identification have revealed several short-comings, such as: - Inconsistent naming convention - Inconsistent order of arguments - Stateful functions - Complex inter-dependencies between functions - Control of low-level information such as header checksums by command - Difficult to extend - No clear separation between eeprom access and tlv format - No support for multiple entries with same code (e.g. vendor extension) Introduce a new API with clear names and support for duplicate tlv codes. Further rewrite the tlv_eeprom command, and the solidrun clearfog board logic to utilize these new functions. This is the second draft, I am looking for: - comments on the library functions names + descriptions - comments on the use of udevice pointers, especially wrt. "tlv_eeprom_get_by_index" function that I am not sure about keeping Please note that there are still bugs and untested functions in this version. I am planning to provide a complete result in the coming weeks. Josua Mayer (3): lib: add tlv_eeprom library mvebu: clearfog: convert tlv parsing to use new library cmd: tlv_eeprom: port to new shared tlv library board/solidrun/common/tlv_data.c | 46 +-- cmd/Kconfig | 7 +- cmd/tlv_eeprom.c | 507 +++++--------------------- configs/clearfog_defconfig | 2 + include/tlv_eeprom.h | 242 ++++++++++--- lib/Kconfig | 2 + lib/Makefile | 2 + lib/tlv/Kconfig | 18 + lib/tlv/Makefile | 4 + lib/tlv/tlv_eeprom.c | 599 +++++++++++++++++++++++++++++++ 10 files changed, 918 insertions(+), 511 deletions(-) create mode 100644 lib/tlv/Kconfig create mode 100644 lib/tlv/Makefile create mode 100644 lib/tlv/tlv_eeprom.c Cc: Stefan Roese Cc: Baruch Siach Cc: Heinrich Schuchardt -- 2.35.3