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 ABF86C433F5 for ; Tue, 22 Mar 2022 21:04:29 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 729FD83F72; Tue, 22 Mar 2022 22:02:48 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.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=seco.com header.i=@seco.com header.b="fatmoDMK"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id EDEF083D65; Tue, 22 Mar 2022 22:01:43 +0100 (CET) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-am5eur02on0605.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe07::605]) (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 9AF3A83BBA for ; Tue, 22 Mar 2022 22:00:39 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SXfXhpyP8uboXN6raN6bc23mQbl8O4EhbWRBCv1ZveH08VIoQeAk4Hrb+YAUCVDoYixR7nxRNDa2bwiNp1SX3C44Y3tQ8TZalg67Jot7/uvg1y0kUHX5hgrN6p3CqH8lnE8vKeX3LoeVxbNuZlRzPhwJeFT66xc27aI/9TbiwLG5LzJ/iUAfsm7c85bEfiAPxyj/6pHPAJL80y2gK44+49HkvBVCtbq4Py53eYM1rFStTWBUe7goJrNKMRnOwIRduBQe1JP7a193qLVzrk37FT7gpWhqyNxDYDj1G9dH456QBZTksYQAohAcm2lUOCUWbAcdavOi55No2gri/fap/w== 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=sukxuADOgxcTB3E4gemNACULeLPdnt9JDyaXczHSJ88=; b=YmEiXwCLCLcPJ76k4VgxrsYtEZA6A1ZOGMA4qcGhN9s7M2o6xH/2EYQqzEebf4VSmIUZ2ql5DjokFBIPBrKz8P1xNg3/oJhboXxoZmZVCowckGjBdGtr2s62GY4UCapCuiuhiB93lmeqUn8kwXSGb1Yi/0D8thQtLH5oE9M2ru79Z+TURI1bz7SUMzTcNNzkBjf7rvQcZRwXoAmaXKeZKeQjO+QfxmtyI7qIRmcfeBjiEsQsblmcqA94IPYYko9O0ibu98mXcwl52J6kFv4iPfgXXZSHf7Mpw4saYA6UIMuuqYVnCFs3cfeJXHEZ41C41Q94ZBpm+CBQioALTjYjnA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sukxuADOgxcTB3E4gemNACULeLPdnt9JDyaXczHSJ88=; b=fatmoDMK2xVgLpvlLsPoQX+jruo2CogiWBO7Q3+HZaKHThEE/DTDpeT1US7GA70kP74lH0+q5Jt188RN1VTC1Cza/MkBaKgTHzwAT0HixU/l0SxBrhpkHY0f/BlxI7f1JctrBue8PYnU8EToNajXf+5/jbcfEv/bXW/uP7lScjboWe3iFWmyiXyqMy66fVhrlSDQQkYnUHGjymmf3/dGDOzpMjKm7ae/LFmeZkMIf4qMT8X4XSqBXxlpfIiEFetBJ1L9gqjkG6OMu+azBvyuwCSxGzcIloG5EuDP5Ng/j63OXvzcWTRzqOcj79DUYuC7t24rIJTvlcV69AYnOTahRw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB7PR03MB4972.eurprd03.prod.outlook.com (2603:10a6:10:7d::22) by VI1PR03MB4591.eurprd03.prod.outlook.com (2603:10a6:803:5f::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5081.23; Tue, 22 Mar 2022 21:00:38 +0000 Received: from DB7PR03MB4972.eurprd03.prod.outlook.com ([fe80::2414:8ad5:9fd6:3bff]) by DB7PR03MB4972.eurprd03.prod.outlook.com ([fe80::2414:8ad5:9fd6:3bff%5]) with mapi id 15.20.5081.023; Tue, 22 Mar 2022 21:00:38 +0000 From: Sean Anderson To: Tom Rini Cc: Linus Walleij , Liviu Dudau , Andre Przywara , Simon Glass , u-boot@lists.denx.de, Sean Anderson Subject: [PATCH v3 27/29] serial: sandbox: Implement puts Date: Tue, 22 Mar 2022 16:59:35 -0400 Message-Id: <20220322205938.1721846-28-sean.anderson@seco.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220322205938.1721846-1-sean.anderson@seco.com> References: <20220322205938.1721846-1-sean.anderson@seco.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: MN2PR20CA0012.namprd20.prod.outlook.com (2603:10b6:208:e8::25) To DB7PR03MB4972.eurprd03.prod.outlook.com (2603:10a6:10:7d::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6769e76a-276f-4031-a952-08da0c470476 X-MS-TrafficTypeDiagnostic: VI1PR03MB4591:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oyb9zdoULMrd14hYAjf/JYK6C+znL5R7RpAValp24Ut5uYhfAo3pRG3troiyDmsoiQ9vf3hybIynfaNQHotzROLs2VZQmzQb/k1hSeWBAV/OYy6Dsk+bEQFhXGao/plNunnE5QHZg1/CpYGOdDAYO76To/JzN14EMZ8H6subs9071yWGZBIonu8UJaJqp62byaa+23CN9JHLMMcblaFVNxABMJFK14dv4yWgv4fKbVUTGjMGpt7RwfR17N6hDIsNjeDsr7JGPHSp/4PXcoIQEQHsl/Rbe2+8pPGYIIExDHbamzkjWKylFktrBVLOOu7UkUHhh/dhuI5SSAN3L6173s+11gxWSrHdvuhpU/yt2MnIniHDcscKeni8RA0dvG+unLoo2VWPFGthdE0krwmU/iZQAnrgP2tVvD3+1NecOovtM33x0dNVf82/P8++us24mSbzVwF1i1fLrcJrlRzR42w2IAAhXNLucU7fJwiqQ2ve8tXBOKS/RBmSRtE9PJYFkjCPk0zklRW7sMsTduo33SD9cZysLJWL4hSH2v8dobfAWGBxoYkus+G19MboOQawkUNB4DdYT6nDOmDQvbWi9vhFKOyZc331re71I68PAqGsX13NKWeFEd9RLMub2KhEAppWtPAXmOBktLnKe5xDDZX0XlZCIP2kaju8ptIA1+zHWh5QcGonRGLdu2uvfqvWA2XcGyvJYEHz8ZU3QH1hFA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR03MB4972.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(2906002)(83380400001)(6486002)(186003)(26005)(107886003)(38100700002)(38350700002)(2616005)(1076003)(6506007)(6512007)(6916009)(36756003)(52116002)(54906003)(316002)(4326008)(5660300002)(8676002)(66556008)(66476007)(508600001)(86362001)(66946007)(8936002)(6666004)(44832011); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?YSqIdylDLYJMnqPbh/H44JifLUq+jDcSuRfIkqVsbvhVNHUo0U3XlIrHz6Mg?= =?us-ascii?Q?2VeWiDzHAK8IGoXEBnXKl4YH25JCvIUBioKEvrkYd17mXZHkzNU7Z3v7fTvK?= =?us-ascii?Q?UIWtBeAdqdKBCz4XN2/Dhhw0FF7nonuqTHPMcAXygVzy2ThgTUEPrDZi3Vs7?= =?us-ascii?Q?UhCJiXMj8F4rHyJ7BJr/QM4Jfnb3uI7aFZzik9I4QKchTF17QCSjDDF0ShmN?= =?us-ascii?Q?wRLHyD6wqejJceRRhBGSNPb+3Ghi1qOq/vmdyi1m8D9dde5vec19YNpK+2p+?= =?us-ascii?Q?eIA3GZ62WRD1MoPfu36R2yUdQ/S0biM3x5pfCrK8vUWDJwXEaTqiUFFpWVQ1?= =?us-ascii?Q?0tEo5K+hB+xNH0+VxuX0/NobqfJRbpGcpPwEHFYs3uO7si6OcxEKFtUVcLhU?= =?us-ascii?Q?FuwMxhVTQdQOenHtkTZZW5u8Ey2Kqqi5pNBA+5ZgyfXGej/WDSR89Emmn41r?= =?us-ascii?Q?fla9ncBiRY+njcLjb+dw2FNyzXeDvEP4D7ihkI5BJmu3UoTTfHNUA5OG+iB7?= =?us-ascii?Q?OxKXBzBuItaAg+oxkXpBgvyHJqKV/yuJMKif45rFSUNEWnwI3rwLJ3vKPHZH?= =?us-ascii?Q?jwLUeYA8Oel9vqCIvRapFgY140VhSX/KT4MoZXyhenyb4m1Nrflw4UTxNH64?= =?us-ascii?Q?ELgyLf/yXFtsu/Qkxeq1SgBOESgarNk6CezepRel0Q6RmiEPZhaZXkJ4N67c?= =?us-ascii?Q?peVeCYjm/WhUcqHDT+QHFqFXBKrC8KRKnvqHMt/kHds65I01YCeO/pX0cVk9?= =?us-ascii?Q?wdouPQklxiGVO0e8KsMkP3tzQ2qcyWS168f6ysiTDSYE0DeXxjkSLuztTt8i?= =?us-ascii?Q?c5FfJhsZ2nE/U3Twlwj3STTAcoSlblASNmU8hOzEsBOGOVga4BTEoaEICA7t?= =?us-ascii?Q?zBOZsymp7bJHdzn5Xn+/fRU0IFdFahglKANhDASH8xqXeDhSAOHmw34pnhiL?= =?us-ascii?Q?ZxHRYlStlLYJO+NOnza86B0vB5iKwGGTtyfLpfACCIklSdLYGyRPrJdsTBq8?= =?us-ascii?Q?8KoUY6y/iM0wL0JKR/1ZtV1AHZRZJLpj9Oy+pMKVpgOtB5tyvmgqZ/n25f7B?= =?us-ascii?Q?GKR+WWag6rGvJNpJ8JN8WlFuB7kRgzwR96YSlRfk+60DKvsP3LiAgpsM8OKH?= =?us-ascii?Q?QE+2GySjEuiwVPhGqlCvW2M7nCGQFxEEOGceqQBY9HhReVL80iwNnqXf8T0d?= =?us-ascii?Q?1Bzjq7bsO/eFTKoBJGK+ExsWqwh2RQt+60h+0qRhchpNwiscJs5T1hg5xhJy?= =?us-ascii?Q?4zHncWnj31ItbvT9Vxw50SPxKwuLircLCoKV8mbCI9Oj01HFykAIauskyano?= =?us-ascii?Q?ng8WDRchqiHzPS7wUvYmPYTmHKrr4b2IYKqP+ZSXe5xi5eD+V6S2Q/bC2LSe?= =?us-ascii?Q?/bMn43Q+oBWqKidOaTre/hJl1R22sSbcDCqJH0BMz12jKJfnO7wIz9MPs8Jc?= =?us-ascii?Q?4TtZKRyaZCdstMO9QmRl9LL1JL244nVsSV3rhy5F2ZKVgb424HRKMQ=3D=3D?= X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6769e76a-276f-4031-a952-08da0c470476 X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4972.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2022 21:00:38.5005 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: mxM3/j36TDzCshx3aXTMx+FL3EZQsAi6qsJPpWrb10rKH5xyQxw+q9EZb32+DAKeultr4GfjTLtmLdsMMCJ3DQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB4591 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 This implements puts for sandbox. It is fairly straightforward, except that we break out the shared color printing functionality into its own function. Signed-off-by: Sean Anderson --- (no changes since v2) Changes in v2: - New drivers/serial/Kconfig | 1 + drivers/serial/sandbox.c | 21 ++++++++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig index 1a109b2411..86c4c6d5a0 100644 --- a/drivers/serial/Kconfig +++ b/drivers/serial/Kconfig @@ -775,6 +775,7 @@ config S5P_SERIAL config SANDBOX_SERIAL bool "Sandbox UART support" depends on SANDBOX + imply SERIAL_PUTS help Select this to enable a seral UART for sandbox. This is required to operate correctly, otherwise you will see no serial output from diff --git a/drivers/serial/sandbox.c b/drivers/serial/sandbox.c index 0b1756f5c0..50cf2c74a7 100644 --- a/drivers/serial/sandbox.c +++ b/drivers/serial/sandbox.c @@ -67,7 +67,7 @@ static int sandbox_serial_remove(struct udevice *dev) return 0; } -static int sandbox_serial_putc(struct udevice *dev, const char ch) +static void sandbox_print_color(struct udevice *dev) { struct sandbox_serial_priv *priv = dev_get_priv(dev); struct sandbox_serial_plat *plat = dev_get_plat(dev); @@ -78,7 +78,13 @@ static int sandbox_serial_putc(struct udevice *dev, const char ch) priv->start_of_line = false; output_ansi_colour(plat->colour); } +} +static int sandbox_serial_putc(struct udevice *dev, const char ch) +{ + struct sandbox_serial_priv *priv = dev_get_priv(dev); + + sandbox_print_color(dev); os_write(1, &ch, 1); if (ch == '\n') priv->start_of_line = true; @@ -86,6 +92,18 @@ static int sandbox_serial_putc(struct udevice *dev, const char ch) return 0; } +static ssize_t sandbox_serial_puts(struct udevice *dev, const char *s, + size_t len) +{ + struct sandbox_serial_priv *priv = dev_get_priv(dev); + + sandbox_print_color(dev); + if (s[len - 1] == '\n') + priv->start_of_line = true; + + return os_write(1, s, len); +} + static int sandbox_serial_pending(struct udevice *dev, bool input) { struct sandbox_serial_priv *priv = dev_get_priv(dev); @@ -212,6 +230,7 @@ static int sandbox_serial_of_to_plat(struct udevice *dev) static const struct dm_serial_ops sandbox_serial_ops = { .putc = sandbox_serial_putc, + .puts = sandbox_serial_puts, .pending = sandbox_serial_pending, .getc = sandbox_serial_getc, .getconfig = sandbox_serial_getconfig, -- 2.25.1