From patchwork Mon Sep 25 11:01:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1839016 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=BG0p7Wxv; 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 4RvKgW1CSlz1ynX for ; Mon, 25 Sep 2023 21:01:27 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id C9CC786C16; Mon, 25 Sep 2023 13:01:16 +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="BG0p7Wxv"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 139C586BE6; Mon, 25 Sep 2023 13:01:15 +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,SPF_HELO_PASS, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on20713.outbound.protection.outlook.com [IPv6:2a01:111:f400:7d00::713]) (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 7652A86BD3 for ; Mon, 25 Sep 2023 13:01:11 +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=arcselector9901; d=microsoft.com; cv=none; b=Gm52xD6wUH5XBh9g2THnBl1M+moMcmljfbmZoNGCzlkeVpaf7ppRCOgR+mXSUCS7oXbUd1RKu3ogokUonM+0yOtO+UaCMZmHdQQAWcx1/CGfjq4BzSM6MNzpHviCUxxXe6BhrO1j7L3PqnAybJMncLd8c318xm6Km64dNyqBZTPmf+tDEPGHdOkE7pb/GMdXB63tRAFLk3mWvv89pZ3oROxDNrsrZzXEPC5fhSHLwfQlGOMLSmOwzroVvp73v3UfUuAx3O4RUK0iyT+eFbqdUHBWk0PCObwQPRkmVYLiG0t7pZT6DrrdrQakHZSv3IiTKWrkunwIEQxyB4d+reBeGg== 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=0nIAJ6UzG1YmMhmDkBgBOK4FPePEHqhNB6YHvhJ761I=; b=gxetNyjj087or6nXhWLIebBPId3rkgPg0SZ6cG/N/tN0afPFd9NtMGKfGMlqPUf0ViRrAdsNGfVL4IujXjugwMwKwQPpxNFnNNOImfHTjtauLh4AwLO7HxA4GIOnEeF7UJumBLZet2qib8n5/mrAjdlti27iQJuXhvywlg1cQhZj0VfAXslkQar+j1Iu864QaNB0pkQnQY17JelMJrFpi6BsMNAkepoeAszjEg+pFMvKC94yd56lYX89jMaiYSsFp3FN5dNTmYh0racpRb02LHgQERbPG7WVGllCagMDGM8+Zdc3OerkJGRuhii23ORrLyaQ/b3kiYmDYHGaQcbYeg== 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=0nIAJ6UzG1YmMhmDkBgBOK4FPePEHqhNB6YHvhJ761I=; b=BG0p7Wxvt+PE61URB1JGzR568PwWwuNPgNy45CExtLU2tYvFW29RARBWHEdLd/ilYX0PAR11PU4UPvifjKKTsHZ8/CeJh8/ARU06IEyLnzyn0peXu+QcEMqTIUgsCvqTXVS2CBPkgcLRuTFo7WZw8Q/zwBkhZh47/FXS7FqCaOI= 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 DU0PR10MB6060.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:3e3::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.28; Mon, 25 Sep 2023 11:01:09 +0000 Received: from DB9PR10MB7100.EURPRD10.PROD.OUTLOOK.COM ([fe80::52ba:4d74:6ab:aa5]) by DB9PR10MB7100.EURPRD10.PROD.OUTLOOK.COM ([fe80::52ba:4d74:6ab:aa5%7]) with mapi id 15.20.6813.027; Mon, 25 Sep 2023 11:01:09 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Michal Suchanek , Marek Vasut , Tom Rini , Rasmus Villemoes Subject: [PATCH 1/2] serial: serial-uclass.c: move definition of _serial_flush up a bit Date: Mon, 25 Sep 2023 13:01:00 +0200 Message-Id: <20230925110101.376878-2-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20230925110101.376878-1-rasmus.villemoes@prevas.dk> References: <20230925110101.376878-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: AS4PR09CA0011.eurprd09.prod.outlook.com (2603:10a6:20b:5e0::13) To DB9PR10MB7100.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:45a::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9PR10MB7100:EE_|DU0PR10MB6060:EE_ X-MS-Office365-Filtering-Correlation-Id: 8be5be39-99b1-43e8-cfa2-08dbbdb6b975 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QfhM9OYa4zdrmmWUvuuLHdRIr7rbwjLSO8xSkRfjRsh56u5CtHSKXfao66HwjZlbwF9IgQqqe+y1gz/oSqqPnAlwglXIWjfy9IcLaXYcnxHVu0e08yqBP7DYfdzJFcJq0mf4LQM6JyIEHHOAKdp8sUa1TlvQzU3YgPkbTinp7u4Onnk8ajcCvQ5WyVuWW3CKPJy8uJNZVFv+ZKsmgKDvi0cnMvNWJEExJK5yGEKSprWQNcJticWJUwPbDbvZs4OGdGKkH2y4UrqNxzckC5VCW/UKhs6GPZrvd6WANza0I+bPM+otei2ji3hlMML08YSZaiTemGdJKTKktPKoz26/e7KnFcNAh5rhjSN+TnPEsK4z/DaQXcJ55PfTXwmYok6bvK6umdea2syPjCkRE9AUNvIdaei18Mj6tx432i7rFi8CPQvlspq2e09EpFSdxJNv+Iu2or2yNvxNKREMFJ5iQewHQhJ4q+gNONtxky8SOELYr9roPa/44te2wAQ8FLlQEx2JOQNA1es6HxpqncLJNY5SSX867FiWcPTGbUw90eOKAiVXhJDQX5OmcdDa0KDitMwi4FeeDpc2ALtDvKNEHBWUzvp+/118/XJ4PoVGgCTFl9XNVcdwjL6KMFqG+gvk 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:(13230031)(366004)(396003)(136003)(376002)(39850400004)(346002)(230922051799003)(1800799009)(186009)(451199024)(26005)(6666004)(478600001)(2616005)(107886003)(1076003)(36756003)(86362001)(83380400001)(5660300002)(6486002)(52116002)(38350700002)(38100700002)(6506007)(6512007)(4326008)(2906002)(8936002)(8676002)(41300700001)(316002)(54906003)(6916009)(66946007)(66476007)(66556008)(8976002)(44832011); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 2P51dqv/bYnhGV4CssLyc2PJmIRJzHrHQKzblLJvp9Mh6l23uoMds+jbpjN3sOunCfaMLgixZu6zKB8WnKsfZ8+P2y/gzK1R4ZR3slt6WpmTHVA8P4ficJt8Ic6RDDSgva/EXvxwXHYOaWeaE8SI18VotWnVGRileA/0jSYdkQxqS8yiwhWnAfFhdTBICoh8m28r0gi91IPkXSMmGJ8qvdmtYhEaSHad3mimEDXEwzIc7k27aAIQgcKZ3IDzRn0nypxd6g+9PbKqAFHIJUEM8YHeKAoeWl4GFV+w7fM7Lavd21qFrqRcwdTOOXQvAtlOdnU7N+Rb0tvcFdkpbJ+owFQ4qHB14q56LZsuXn88ExkcqHLRse86juQbRfwVt4+81/qt6vt0grvEkOCnD2qIufUsgINv0SsiQl4EGfd+IUSKRSowlYK7OwlzQOBftDqXN76bVGEoewY3SDDmVRl+tKpzdZpPimlUr04Nf3+gRNHUY8SzUsefajMZ0TKJirrNFiLg5icIbtbi7B4PbVQGqt12qzMJ1yaiGjBtC8KBq+dp6atlZDHsxjGqA5wxBDftaezucjsEH138Olth4Z+D6eR11yoh88WAnm5hQjOY5f34tP8qM/U8puvhxSXrkKN48dQZuHivkR2ymIIEinKgP08nFekL3whjKE4p+4DETaHBfb1lE531AJGpbJ324sklhVSK0p6KKQ6cSlHAZtGAgEakMJk3ixzHNelxeHJo6AKK5FxOzlnF8QIm0h/145nhm98bYNxxdt2390on27TjeCfRZDYHHhoTv6A2Wz2IUzoKgRapR2r5rsjAi5814Id8bc3V5bwijNG72F+uBzPR1JGfm+iYhm8/q21ZvZoZWifegWO+PTC0T1x1J+RqJ+kW+kztVi5LxJhZ4wYBL7hdX0BziVAPVCPkJVD5aLs5TAbOMShlZ/d+rsjueyIlI4PPANEmVVCX5uoDIhLmvMApjIPAWSWWfNzOc3FZIOqaj+eMhIE3Ctxf5TCF6v94+LAzuh9tECR1g/dDlXQ/JAgOdCvE4ft2cl59QP5yLinbrA+sbpTbRXHwhPm1N7SB9yIfBZQrhVwWAZksTAZlQjgUP/gheU4+Xai6aYFG5CGhKYMr8bZor4+NK8Sug8A11p9fNPmGPJf28wx7iU4Td43AkeahVGwLMs5I1WTni9CnwxSJMpqlLSIn9oZZx/4MYgnUfTZy/06fYrg1NqjTmi5qGEsEzMPB1hGaZPegWW9q+tD71D2XlraxxAIfL06YRkzukBaD6h58q+na7bTdrVJ461gpWhy1k+7qCJxIhJWjZ3TJENDH74LwcM3X1ylmJv41yozMBFjoRNufYAHxg+6sbCEjvC5JNc1wR/JMjqMiWM3ghifFXjAhrKhMwCRWkmor0zV3BB0UYlI2D3TkdJ/+sUU5yYhtOyYPr7uTkBz8Y5AVQW+hjtjY3tGtd7o6ed0sy74A4BamNG/zUg5lT+I4HEAlzxDvPH9TGVnwhmdcF6LruSzP0ni8vyNdNbDdD9QE+7F+SZ0Q6P8HcWX3RECDdPZ+Z6l5LcgE4OaLVEaiPL3iDwoFkMWCmmf2Nd6tmITrEqfEKiF31RdC5BZBmwGwqg== X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 8be5be39-99b1-43e8-cfa2-08dbbdb6b975 X-MS-Exchange-CrossTenant-AuthSource: DB9PR10MB7100.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2023 11:01:09.7556 (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: t+v9fQx1cvmvP6uebc5cmVpSqzYiBrM1169rn+Gm2EUu2Z2roU1wgz05sS9X/7hksmrx+l0WAd4GarA810MqeQ4DYhbypOO3wqVWHo5XCTA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR10MB6060 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 Preparation for next patch. Signed-off-by: Rasmus Villemoes Reviewed-by: Simon Glass --- drivers/serial/serial-uclass.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c index 067fae2614..2f75ff878c 100644 --- a/drivers/serial/serial-uclass.c +++ b/drivers/serial/serial-uclass.c @@ -181,6 +181,18 @@ int serial_initialize(void) return serial_init(); } +#ifdef CONFIG_CONSOLE_FLUSH_SUPPORT +static void _serial_flush(struct udevice *dev) +{ + struct dm_serial_ops *ops = serial_get_ops(dev); + + if (!ops->pending) + return; + while (ops->pending(dev, false) > 0) + ; +} +#endif + static void _serial_putc(struct udevice *dev, char ch) { struct dm_serial_ops *ops = serial_get_ops(dev); @@ -234,18 +246,6 @@ static void _serial_puts(struct udevice *dev, const char *str) } while (*str); } -#ifdef CONFIG_CONSOLE_FLUSH_SUPPORT -static void _serial_flush(struct udevice *dev) -{ - struct dm_serial_ops *ops = serial_get_ops(dev); - - if (!ops->pending) - return; - while (ops->pending(dev, false) > 0) - ; -} -#endif - static int __serial_getc(struct udevice *dev) { struct dm_serial_ops *ops = serial_get_ops(dev); From patchwork Mon Sep 25 11:01:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1839017 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=FUvVH0E1; 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 4RvKgj6b5tz1ynX for ; Mon, 25 Sep 2023 21:01:37 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 36B8D86C2D; Mon, 25 Sep 2023 13:01:17 +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="FUvVH0E1"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 21A5086BD3; Mon, 25 Sep 2023 13:01:15 +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,SPF_HELO_PASS, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on20713.outbound.protection.outlook.com [IPv6:2a01:111:f400:7d00::713]) (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 967AE86C16 for ; Mon, 25 Sep 2023 13:01:11 +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=arcselector9901; d=microsoft.com; cv=none; b=SXcNaPwhYZHSGZYog6eX+hbFI8JfvYJtfBZO3H5L4NlG96ebuCCjLc8Hl7sQAWt9b7+VOiiv+uZja+aqXPA6taOdVbZ6jJmis8FAV8FQq8woKgcRRPzBOcSrr6NgAwneuPLA2IEkBzbvzAToAEOvTmB9DIs8LwXGXpiKqV7ehrRVBHzlPF7MN88lWCNY7EpWkI2UkDwCkEZ9s8DMBkXzQBhRm1iWgZt0fS3769TrE8zcdUkAXybWjuxuabYnI9wFQXD3UkBU2vGo/5nYSh/uB9StHY8bqWr2edpb1lHLtWQacJTtSWflBQvxsCizlXb2orrJhj5CmITKbncHX/PD2w== 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=3augZv74EXfsoaOs37aGki083mFRMXoJGL/NR7nm4r8=; b=HyZo8R9j5YPedvYbNNLCJ+gMMuKRci8UZ7RuZX8ecVU0FgH+QHD6m5v6BSrpxWRzul7hl5GsuL2adUIUTzxAK5GG/lKwj05gFiVPK7xDJsgjbrkTVeW97JeNI5YoiArsMj9yflGHMszoMzIFRSYJ1NFXjCZ5yD6EdYdbqP46o73yIwECZRXW04xpUp1914pku+xIv3CaKv6QoX0QVAqzvujYsIt7szGE8HLjb/0mC7DKRR8r1iwdxvA+BmrtJM0xSgMjQfIMcJFxVmXaylfvBxba75XyZNkMz6nivQgKdmgFnqV9BY0XO358n3qZnB05+dGzX/DBe59kQMpYmKvXMw== 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=3augZv74EXfsoaOs37aGki083mFRMXoJGL/NR7nm4r8=; b=FUvVH0E1W8JNlqZAwhj5BBkJbJvA4UZfJqpghGnVRPS10p7pJfHQgsr59t2aSZVh40JQxnTO2YYbkmuaU5jDemYhUx/6AuOOGxMIdMBHm4X2qxOePlo6z01a6AXv4H2B1LUlYseW2k1oFK3soJ5Y8U2r4d5P2OUqkdSPWbHN/A4= 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 DU0PR10MB6060.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:3e3::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.28; Mon, 25 Sep 2023 11:01:10 +0000 Received: from DB9PR10MB7100.EURPRD10.PROD.OUTLOOK.COM ([fe80::52ba:4d74:6ab:aa5]) by DB9PR10MB7100.EURPRD10.PROD.OUTLOOK.COM ([fe80::52ba:4d74:6ab:aa5%7]) with mapi id 15.20.6813.027; Mon, 25 Sep 2023 11:01:10 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Michal Suchanek , Marek Vasut , Tom Rini , Rasmus Villemoes Subject: [PATCH 2/2] serial: introduce CONFIG_CONSOLE_FLUSH_ON_NEWLINE Date: Mon, 25 Sep 2023 13:01:01 +0200 Message-Id: <20230925110101.376878-3-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20230925110101.376878-1-rasmus.villemoes@prevas.dk> References: <20230925110101.376878-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: AS4PR09CA0011.eurprd09.prod.outlook.com (2603:10a6:20b:5e0::13) To DB9PR10MB7100.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:45a::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9PR10MB7100:EE_|DU0PR10MB6060:EE_ X-MS-Office365-Filtering-Correlation-Id: debb1161-2d8a-4f16-a64c-08dbbdb6b9ea X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KxH2pZBSIWQaPl/5bELDPJj02muwcTJZ8yHksw/ACsH3vVAk7D4DeEZj+lIADArdI841q6csNsBZiq+Y4mtXMHbfmcYWx7Z2f/zn02kwE822Jovf3G4L9y6OV8iwjreEPmZY9ATfZ5uHn1pKfrvI+2BvO+tLZhBHeBu1xppGU1ylZ5W5nZk4IygNWvFzrBcRzXSni7FqExRvC///BlGifmx/swoFbfd0fuTEkp4ax/+Kii1wnKZGzKHwhXt0SGJX7Pl4iymT/jFPrcEhiQdvlXK1Rxd+k8MrCQzFL8prkufaqpfIpPbpZF5da5bANK128em/0MCCvMaSSzN2KMFHvbfizz6C8zKYyjLYZ6cF4P31Yd4Rh0s8W6ehU0XyT5N1+HQsf0rE/EVmZnEbDxyzY7c6iDkVImbsnFE+Di45RjcX82hfF1wYHV2Vm6B3HhFICi/5M6Voz8ZKsJmrh+VxlJPh9ALzEplmKlhb71NXUAlvs46Af6PuKwGYL7+85hVZQjSEnNU+pcWjXEmo7BQMvSXHSXyjzeyoxkoCLXFgaEBDC+nWsFslxl4K+8RaL+sYIg94YqsKjgy1lbe+q40nxLBFGDKAZrr4MQPY1U06zy8HQBPI51Dp6xyo3zPOouDc 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:(13230031)(366004)(396003)(136003)(376002)(39850400004)(346002)(230922051799003)(1800799009)(186009)(451199024)(26005)(6666004)(478600001)(2616005)(107886003)(1076003)(36756003)(86362001)(83380400001)(5660300002)(6486002)(52116002)(38350700002)(38100700002)(6506007)(6512007)(4326008)(2906002)(8936002)(8676002)(41300700001)(316002)(54906003)(6916009)(66946007)(66476007)(66556008)(8976002)(44832011); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: CuX/nOsxkAWedG96jGrJS3Y2wqQl0qzmymz5kfJbLVfN0uabvwTNoVw9cPG1Xy8Hg2R02yVfMoWCpc8Xzt+izydb7XmzfjC9l7/TRlhKkO2qvm2Qx9uvrnGye1vXYwL/Rk9DQot7eUqDpkqYuT4TaHU+l0uQBhEvBmGSP9BzxguERDJFM2xh4SiJT9skCMgdLf4jOnSvq4Szd2yZ2c46OvHertceNMAy9LUFAXHMAvbo98kIXad3bDCKWK7NLcIBh5XooKMSobYYa+ofHw3MnpZFF/n6Q/T698k6UajRNDfdN5p7fLNWTdr76GTy47j1iRuvBNp9I8S97yfkS3xtNkesTs0wKFmdqbE8cP/fxOO+jUqYz1c3BsGHgopOv74F8ECBvgG2aGy/US0P9sfJEa00xBXjBEZK+JmRuyv9qyRqFMyq8GX7oiECKX3he8q6gDDE7a+2/W3XMj3nvbuKTEiuBEfEMku2ICCRY4caAUCPIWC8y0PAF3vJ8fOzg2v56I55wK6YqSN0YVJ0YZNSbEzZoJP9dRbJUzHtD6fY7QrTXxiy7+/BMabjtkKG3rtBPaGCoXgwYvJKXEh8OssOKSDulY50PZgaIS2Pm7EPHMs57YZwjxOWAqEkTt+RPdHxg5nKWSKZjbM0CX3/o2w0CLdY+dbRy2eyp8PhM4M1EKqBMY2Iam5F5igY5DT/uLbtYNm0NOVxdF1hehf0XWBm+SMXIqSeOljmO/EENAlT5sjs4bxLvANd8ILj9Nwo+VDXmY5/ZjqLBLp9oIZYBIeAf6iWnjTFRQYcYkrd/7lEu4joDQweMqpQptthkQJ6ASxSjWLmZRI5IQKAN8EJvh+RtPUan3BtyrJHHEwRqWzo7bdaUlpiY7+jBD+k39SoojCLI0XtiF6nwWfXzc7eddt78fXnIZMFcElRPctaMjkTpeNJL8orfWXIZpkyAURuu3RQ+GBUzibAWSPSq5nJvd6azlgq+BJ7lJafa/Vm3SpOuZSCJr+sPLD/kJ2TJ0omfBu0JWnseq/Yk9px7ts7J4ASxPawx0BpFxJBizGTuKAoLBIuWpj96TG2yMWEn80+m/7NNtpMcL0DCGjfmvI5YLPA6GVL98Sdv/bzkv2VoEYsrj4bKQNIhhvboRQxBZtuUb5se45CjwIhPx4F+jD6ZSdx5cNpjrz0HA0dfELRZ9e8yMQ+I476bMaDCb4FKK4qG8nzMiBmczrwm7ihKRfH5KVcRxLQL40K/q06iwbkmkhKWXULrrlLGIxLI34b6z6UjsMQ3b4IlOZrjw3bwHGIATLE4Vuf1BfTXL/hpYOxZzkQyjfWpssIFvty2DBH2/lRdMkrnPwj3DdR/asNjxnCsPSFy6nk8MX0ZmO01eraetASq9KE/N1c6djvw44HH8ZpXcF8QkNkLljZwwlsyH55xUJ2tu83iJsbFRcT3iyp5xR3LZtW57fO7tj86V95c+7eA04mZrejo1yu27yRCpIopYl/OykbzoSnpoMZaAVlwttFzphTl93UejCUyQKIdUU6H4j8O95fZtOwTFE1IpPW65yrn5BkiPCbImAq4mI+8jkBBD0jBq/aONsZWc/7qO2RTzoOO0JnKZXg7allBp+89Ww3Ig== X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: debb1161-2d8a-4f16-a64c-08dbbdb6b9ea X-MS-Exchange-CrossTenant-AuthSource: DB9PR10MB7100.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2023 11:01:10.5150 (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: XEv30xJcrYax3tM66fUvI91d+CJTTcJ4Zg4ibaiffXv5+dLypcbV3/cEuYmOphjFGLIIH+sWHvazYQGEHpf9Z9I4JHCqRQpyhYQTSd4w0hQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR10MB6060 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 When debugging, one sometimes only gets partial output lines or nothing at all from the last printf, because the uart has a largish buffer, and the code after the printf() may cause the CPU to hang before the uart IP has time to actually emit all the characters. That can be very confusing, because one doesn't then know exactly where the hang happens. Introduce a config knob allowing one to wait for the uart fifo to drain whenever a newline character is printed, roughly corresponding to the effect of setvbuf(..., _IOLBF, ...) in ordinary C programs. Signed-off-by: Rasmus Villemoes --- common/Kconfig | 11 +++++++++++ drivers/serial/serial-uclass.c | 8 ++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/common/Kconfig b/common/Kconfig index cdb77a6a7d..49130f2a2b 100644 --- a/common/Kconfig +++ b/common/Kconfig @@ -224,6 +224,17 @@ config CONSOLE_FLUSH_SUPPORT help This enables compilation of flush() function for console flush support. +config CONSOLE_FLUSH_ON_NEWLINE + bool "Flush console buffer on every newline character" + depends on CONSOLE_FLUSH_SUPPORT + depends on DM_SERIAL + help + This makes the serial core code flush the console device + whenever a newline (\n) character has been emitted. This can + be especially useful when "printf debugging", as otherwise + lots of output could still be in the UART's FIFO by the time + one hits the code which causes the CPU to hang or reset. + config CONSOLE_MUX bool "Enable console multiplexing" default y if VIDEO || LCD diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c index 2f75ff878c..b41e3ebe7f 100644 --- a/drivers/serial/serial-uclass.c +++ b/drivers/serial/serial-uclass.c @@ -181,7 +181,6 @@ int serial_initialize(void) return serial_init(); } -#ifdef CONFIG_CONSOLE_FLUSH_SUPPORT static void _serial_flush(struct udevice *dev) { struct dm_serial_ops *ops = serial_get_ops(dev); @@ -191,7 +190,6 @@ static void _serial_flush(struct udevice *dev) while (ops->pending(dev, false) > 0) ; } -#endif static void _serial_putc(struct udevice *dev, char ch) { @@ -204,6 +202,9 @@ static void _serial_putc(struct udevice *dev, char ch) do { err = ops->putc(dev, ch); } while (err == -EAGAIN); + + if (IS_ENABLED(CONSOLE_FLUSH_ON_NEWLINE) && ch == '\n') + _serial_flush(dev); } static int __serial_puts(struct udevice *dev, const char *str, size_t len) @@ -242,6 +243,9 @@ static void _serial_puts(struct udevice *dev, const char *str) if (*newline && __serial_puts(dev, "\r\n", 2)) return; + if (IS_ENABLED(CONSOLE_FLUSH_ON_NEWLINE) && *newline) + _serial_flush(dev); + str += len + !!*newline; } while (*str); }