From patchwork Thu Oct 3 14:10:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1992362 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=T9oYJY0+; 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)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4XKD9n57Zrz1xtk for ; Fri, 4 Oct 2024 00:11:09 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id B0B8588DD4; Thu, 3 Oct 2024 16:10:38 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk 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=prevas.dk header.i=@prevas.dk header.b="T9oYJY0+"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 83CB688E4A; Thu, 3 Oct 2024 16:10:37 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_PASS,T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on20600.outbound.protection.outlook.com [IPv6:2a01:111:f403:2614::600]) (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 29EE688D9E for ; Thu, 3 Oct 2024 16:10:35 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jSFPeGzlPRumHPQY72sKfRHKIGG9YjMd+yGkrbp7WLd3lXYTSLt1N1TWes1mkU497ZhlKBUs4vKDZmOrCBVyMaBT++kc0w7wNHhDCSw5dnCqFKWIaaam7UkkZPcFs5I6USRxswku0m5VP23WeW4V69XocII1IvCFOV/x4t310214/HAOyxv/AZX9s7k008xjY9KiHGu2nkGeyjAe0OPhUj2JWFkCitOAiUkQ8MtjlDG0ELTloyyDrhn2znFc7SOunJLXqCWrnB1D+E38ZAnlA39vsy4QL086ZygHteboByI8JLINcIdGKfUbDDDFv8tQNRd0p5QDdNmS943PpF5OyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=rpBe+Vi+z1HEclBT5mvMc1DhJML8HXcb1ic1dFK4TzM=; b=yK/P6oqkpjo9kByWMIHCoA0JMSF1Bw7mJwoprXGIRi1+75A2/qLAPQ2HK9ErR7hJjgziiitXSqBvIaa4VF4kzHeuTXFfqN8+3yYsUDdzreCMmyj51qgghniLAIo+Baa9hUwmJfJAxuy9J0iMevS+X51osMIxQpGgjTGOL2TRCnj/LapxCF62/v50sCfxhWPXb7Ui33OsGy4phXf2EfNF4svUd39SyP2VncTphteVL4p8c0akctAK9576ANdyn9JMzCpyuq+5jest7InvZs0OQ4kXDkZFCwlaJGgqg2Hjgby4eMMYoILunbkF5Dxsq5iOHoKd6oCP5F0/GE7Nc4hhDw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rpBe+Vi+z1HEclBT5mvMc1DhJML8HXcb1ic1dFK4TzM=; b=T9oYJY0+iDShZuWYT8cO5UiBbh15Qj46WKACgXNXAvs6HV6qbJ4b+Xnj2T1aNpfsWi4gDyC1pgWQupB6lCM7Qx2z/Le9zG7CK/hauCpE1BtZ85taZy8VT6Uomxbk6IWQzFDF6pY3F7iDSsLiePoOv1Y1dA7lHO7aPDZgq9MAyKg= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=prevas.dk; Received: from DB9PR10MB7100.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:45a::14) by AS4PR10MB5341.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:4b9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8048.9; Thu, 3 Oct 2024 14:10:33 +0000 Received: from DB9PR10MB7100.EURPRD10.PROD.OUTLOOK.COM ([fe80::9fcc:5df3:197:6691]) by DB9PR10MB7100.EURPRD10.PROD.OUTLOOK.COM ([fe80::9fcc:5df3:197:6691%3]) with mapi id 15.20.8048.007; Thu, 3 Oct 2024 14:10:33 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Stefan Roese , Tom Rini , Rasmus Villemoes Subject: [PATCH 3/4] serial: add build-time sanity check of CONFIG_SERIAL_RX_BUFFER_SIZE Date: Thu, 3 Oct 2024 16:10:28 +0200 Message-ID: <20241003141029.920035-4-ravi@prevas.dk> X-Mailer: git-send-email 2.46.2 In-Reply-To: <20241003141029.920035-1-ravi@prevas.dk> References: <20241003141029.920035-1-ravi@prevas.dk> X-ClientProxiedBy: MM0P280CA0106.SWEP280.PROD.OUTLOOK.COM (2603:10a6:190:9::25) To DB9PR10MB7100.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:45a::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9PR10MB7100:EE_|AS4PR10MB5341:EE_ X-MS-Office365-Filtering-Correlation-Id: 7ab8e072-1e8b-4338-bebc-08dce3b524f9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|52116014|376014|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?3oCwX2CNKBSGr74IWDmvlYrwxa9beqn?= =?utf-8?q?B1QpfX0RDtWC/mtVpEUaMlmLEKOkqVM/iGVgpFM0WHVojPtvLrobwP6Fb+wScjdPq?= =?utf-8?q?NmazMunXY8DTgDqHTQnJc7/I68BEHhccrnS9kCc6Nafbu7yoAmYOBfBwzh3kpMQWk?= =?utf-8?q?4lqYGKzRdDViif5utr1+HzTxecMwCvudiwIY5wn9wwgAZjJcUOSwdjxSVaarUJrVu?= =?utf-8?q?60t9OLgMJ+XG86dxdLJny/+/ix3rQfxwXdNQmJEe7eIS30NErz+Ej9tPL7nQdbLGw?= =?utf-8?q?7w5MIi0Yic3Q410TJGNnhG3yc/MX7AXinS4R7Ze/4T1hoUb0z+0aB4603/+x6PKqE?= =?utf-8?q?Ak+ULEuW09TQ/iSYU8egNTgK/brIocUCmszHbeAoQl62Aj5EcSwSMTG1z8q+aMo5e?= =?utf-8?q?dYsII4+QVtyAS/xelmsx5DyaKQ65kqj9rk3fdAfKKQThFRTHlj/pY3ffnm1PT6yWv?= =?utf-8?q?wVwwF+7xx64QZWGnOO4+Wjsh8X54j35ICsrLO7gytUJhHZt5HWFnm4OChpdUEDTc2?= =?utf-8?q?lnXm/gwRdO7nKCM9nt01aaSE+HvahAPtZ9yIyChDruNbjvKyWll8IrPxuthM7UyOw?= =?utf-8?q?ysu5IfExsf8wNJ8RE3QHkslTojrpOVpPuww3Zt+T7qx3fgKq1oKrURsHgUFkiGT6T?= =?utf-8?q?XfptUSg157xC1cF/FJTGrFTTBrQJiaA5B0uWikjvcseLIcOpznRo51r4yx3noAbU9?= =?utf-8?q?CX+IaOzbxusbMS8hhP45JU8+0fC7WIiiiO0xTlahZB0jhonMmXfEe6NvjOVz/KUbx?= =?utf-8?q?3xt+XslS/Jv+/LIpUzTyHNWJnSpGedu7A4B1RvphvqpZ7fsankYvbs67ng85CeuTf?= =?utf-8?q?F6B2mOHkqULbJfnnyxhrOFkBzYTwTu9XTHT6S7b2jvrXqLQ7rD2hXuQp+PfTbZ952?= =?utf-8?q?lfccTNFC7LWqmcCBVDqYI/ChIqmhEX5Yss/TBf12yLbIQyQB7fUmZFfLaWhATLWoa?= =?utf-8?q?1VYqyvD8Q7bD+kPyB/TK6k1WbXQahghXzPq3RIfv1MV/kcfWvkvihP8sJ6KPjSvqV?= =?utf-8?q?wBh0ar4TOUZTpDzuEuGaNhr8BDCS0E3YIema9BSpVoF2Z8j8qYw4mU3I4fugz6HDd?= =?utf-8?q?geYOezNfomZMObkum50eJkJ/SvmGkk9S6vOmBxm4IOoC11LJ7Z9SLA3heJR/Q1/wx?= =?utf-8?q?MLFGoKxxwqpuvQDH4sYMlvoEQp2AJooFKx9OLdNI/lJIa5MIEu60VhgOKvpItWdQg?= =?utf-8?q?HKA2b3DNQPRTpyacs2Kf1WWiY9zOij+JagJJKpO1AYvDV3nA0REgvryKETPWGkuuo?= =?utf-8?q?nXxJclivS3zDR6iLBegkfZ7O5RTWz4EOTSg=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR10MB7100.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230040)(366016)(52116014)(376014)(1800799024)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?NjfFiASwcMYKPqwbcVaPEnp6dyFz?= =?utf-8?q?rugChWSbqwh9qI4oBa5Wfcv1VPExnDxZYOiugcs2rdiAoeuYwE6Rv7YaHstsURzUl?= =?utf-8?q?PDKu8ygq9uVo38Snb68FYrPgSj/A06SfJGgJbq3S7GxxvfOoltmmHW/3UUOsa56/4?= =?utf-8?q?PR27HniVCC2td6xrbe4zgvBjW/vDSb+M4ewLkO4PY6UUldNhc839moaCuLP66ySAw?= =?utf-8?q?x2gSiofiTfMHaK0zIgD++7A3XwQd7ZnKfZ1GZ0dccUnFSelu9RJGVbwr5qX0TXg8j?= =?utf-8?q?sZrfb7yCEgBQUGtw0VX/6NxykTyeMLwc7TbN+BgMYN0CQSzugJJghepGhRavgAiok?= =?utf-8?q?ND/W5nx5tZPtRJ6/qxjZQ7bpZITf6P/CgnNs0KtdmknfKmYEBV5/g7Mgvqb+mPCEc?= =?utf-8?q?l03GqYKS9kEjAsr41RZTo/zjAWXeIbcPUCpO2IXThcTMYbTu2/sEdvZbTUcn8kTH2?= =?utf-8?q?2ATIXUP/JlVtNNPkb6Ucs+du90P2yaz/SH2CZiPjVw02+n5563Iqvg26IvaKFnUnC?= =?utf-8?q?T7cX/9r4p4dDQ67cpMKE8Q6H2DmIBH/77XSKBIAhietFHB6nNIVYJgbGxAZ8OfiOQ?= =?utf-8?q?ZrPQe76PGNkAmfCNqQASViCPQd9kxCxMkP5zaDp+5pKkaF3nQoExiC/R1+sPIQDzI?= =?utf-8?q?54CBvMQkqSYbpB5G27RCjyyo72Gz8uTpi5FCh2ToMJAluHP8N/MOl6OYaI9Lv/Bdx?= =?utf-8?q?cAA1zNuOFGmfTJM8/huJWxpA4UVwqy2nb2D15dJcazc1xDOre1RqtLc1eGPjK81M2?= =?utf-8?q?vHT3Y5LRBkhRfKb7Yyeh8FQ6Y5pQ95GyLcbokrvNpu4hzYXXdnSOR0QTTuu672CWf?= =?utf-8?q?9STkiMYXV56bzP+S6fCVMR2ahC5ksfkCznaNtHDSppmXh2WCky0yHF4yK1hDoeShA?= =?utf-8?q?4VsbisS1hGopHp9WtGFV2w2HUe5xHjMLVSjNiHYzBoBsdug54Gwr8RyKAWIl8LJ0w?= =?utf-8?q?7LwhAIY/UGh3AD7SXBYDMuJMXrb0Zh4YMCFdzyDwDg1Iirrk/8EetgzD5PI48podQ?= =?utf-8?q?amKY40AW4wDjNEIrg/C0cnY1SeWmE5RrqtqpqrhScPtXr4v3pkSGeMWgVRa0zDyjk?= =?utf-8?q?36W0MS49A8+0UcxucMbefZ5TeZaf6QHtN2pFBgoumrfv/hfKWq7/0gWx2GBpOhC8b?= =?utf-8?q?Jcjpfanp/py9GpbmuUGVNUcLE5L17uPx7Rys+kmIHQp5Ay/AntwFdknmCrsVyQM5R?= =?utf-8?q?X77WkOsCNMAUEtcaW0+4ssVnTBl4V1eUodufrRwT+d3T6AqnPirtDTrFiPBC4uGNb?= =?utf-8?q?SccrF0pgN0ZbKc8MaPxUqCLHg+sCuYITiuPi9XNHVb+9JFzpn8HSnzMJyIrDAK8W2?= =?utf-8?q?+v3LjwkalhUwjzT3p/IS/sISOL7Oh0cNGddQq9ij7K0X6VC42t0x/9KUKzVkHEH6r?= =?utf-8?q?wlm+AdGSORh6D5gRZttLxHb+FxW01OQh50Ps6mx2dk+sRvE036/jvkj29ocoUq276?= =?utf-8?q?50hpfvW9q0FvrT1VBkuaK0vDlfeWAGiyWOV1KB9IpI2GpP9svQ9Y+G5279vt5/r5q?= =?utf-8?q?k7NKOzaXmwja4v2iHj/6nkCxIZBcHUNJcg=3D=3D?= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 7ab8e072-1e8b-4338-bebc-08dce3b524f9 X-MS-Exchange-CrossTenant-AuthSource: DB9PR10MB7100.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2024 14:10:33.0422 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: BqymZcQProVmPlqSydPlLxES2rWD/zad6yZ6MjNgQ6h+yBOIqy68j2zoiStWN+Yky7gfeLG416ilkjfcTcmyrj8PEW7XWN2rU+mvUMQhWUI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR10MB5341 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 help text says it must be a power of 2, and the implementation does rely on that. Enforce it. A violation gives a wall of text, but the last few lines should be reasonably obvious: drivers/serial/serial-uclass.c:334:9: note: in expansion of macro ‘BUILD_BUG_ON_NOT_POWER_OF_2’ 334 | BUILD_BUG_ON_NOT_POWER_OF_2(CONFIG_SERIAL_RX_BUFFER_SIZE); Signed-off-by: Rasmus Villemoes --- drivers/serial/serial-uclass.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c index 28d7a202afc..484f0f7d3e8 100644 --- a/drivers/serial/serial-uclass.c +++ b/drivers/serial/serial-uclass.c @@ -18,6 +18,7 @@ #include #include #include +#include #include DECLARE_GLOBAL_DATA_PTR; @@ -330,6 +331,8 @@ static int _serial_tstc(struct udevice *dev) struct serial_dev_priv *upriv = dev_get_uclass_priv(dev); uint wr, avail; + BUILD_BUG_ON_NOT_POWER_OF_2(CONFIG_SERIAL_RX_BUFFER_SIZE); + /* Read all available chars into the RX buffer while there's room */ avail = CONFIG_SERIAL_RX_BUFFER_SIZE - (upriv->wr_ptr - upriv->rd_ptr); while (avail-- && __serial_tstc(dev)) {