From nobody Sun Feb 8 08:48:11 2026 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2043.outbound.protection.outlook.com [40.107.21.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 79E1D18785D; Fri, 7 Mar 2025 02:26:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.21.43 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741314400; cv=fail; b=nE5i3zUOidnAMLLVDJPYHo5FNvOjLyta2aD5m4aZIB+6nWVLxjTfXbqx6Cpo/nVg4lhJND/wcbUgN4/cMpvw5uu+rBVUZpJ8upz5wwugb8cOLKPu+R/Hml5jCu9y8ipZLNPafPKgw7i3i2oBUt77kHtWZAVy+suyxyslrw9sQhE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741314400; c=relaxed/simple; bh=SvAxeCPVLz+oJH7VkWcKjMhd6EbTOT6cxWeKn9FnT20=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=kOrHLRkB0ts/Achh2i7ll8opfAap2AVgu5VZkcIgI+MfPtAgWJ9Cr3D9pLf/cImIlyts2Y446RGpDagDO03RijYkQU1JC2+ZnO64nNgxXMBpZ93J6gjfCQeg6jW7FHB51rruLVvVz7zTOmo8HtLE7eNKpZCJH8WdzYtCV9GJa98= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=G3I7CKQg; arc=fail smtp.client-ip=40.107.21.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="G3I7CKQg" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VqIhy1oW3d5wWFaKK3L6LkP9jZngEzgF5iQA9Q6aIJTrw8WgZw9tv2yd5qidUtVUouko8e94jYMx2zpcqAkW5gmHhuODZS0E5lE9ML2ZU0uNgAbqOY8KQVKIuGj/hh7LDNsie3EARiIj7YJ6952EssPYbl08mJYt2b3C7EUhrZKTfsOGHWy/TTBF0WrGW+pQdYyuKgGS7KNFfJ9nrflRRoQlSUMfxhDgFnKXAgAqCTAr0rJQRE3sKSqO1KuVHo9HGOL9iJ38Dn2sDfp6bITEfURFzXIC/VhrEhON3RFkWS/Y2PsP8M7tbUgelPWNUqllCIuoLCjJHxGEQRumPlTJPA== 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=f4+NNzrrxQT2smN3zgbk/Q/gYfXX5ykBgT47gqx1vJE=; b=TDSuYI1UycIYE37UbRUNtUftZtjRtN9Utrf43f0JXCV0s6FW342FKfU24rYdZlmz01Q1nPU5HDFFD1TKICZd/dzmiCL44SkWJiaRQCmwwMk/OKbbUV98bthOpnXrcwPQE2ovmKGVJ0CPmbS0BBI7zAfhbmTtIAtbP3NYZEDPtWnrRskPpTexh6If0e24tFfvPgSCcPdVneioY1wGmN6696pLnWd5zJQ8uRcjYiexR/PZth07mbOwdQHO/nb+fhjko82504OHLvXcwZ7iPrAWAFBo0afHm/e49sqVgJ9+F4+fxisWbFfJETQuS7kAvwdn36L3zWlrm1lNP1Rrt9q+Xg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=f4+NNzrrxQT2smN3zgbk/Q/gYfXX5ykBgT47gqx1vJE=; b=G3I7CKQg3JJ4Fqj/TSmF1mP2+6gds52z5gHDTj2Hq92JDNCLkp7j23KnyPvEFJ0XH15GBs378B978vPVx6PwHkpCtaV8ptt7UIhFyM1NG0pH0pHvOWVYii4Xx87pLMlcBVjhhzd1TVuBtoYr/C/guh4hC9SJYddH4Ng5La3ecsmnQjU5kgQWBwV9eLi+ypC+ITvYqpE6ntT3kmF6VT3QZ68O+OijVnH7DLtRKIY9/qFkVlNgAoW/gJaB8PxoolGr5Gw2Use8eZeBTKY+ogQGUsQo0GbY/WJ2YBv5yyV2tLJec+SYS6EJO68t5cr7QF+UeMnszGNAAbhUFN8dQj5LdQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DB9PR04MB8429.eurprd04.prod.outlook.com (2603:10a6:10:242::19) by PA1PR04MB10628.eurprd04.prod.outlook.com (2603:10a6:102:490::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.20; Fri, 7 Mar 2025 02:26:34 +0000 Received: from DB9PR04MB8429.eurprd04.prod.outlook.com ([fe80::2edf:edc4:794f:4e37]) by DB9PR04MB8429.eurprd04.prod.outlook.com ([fe80::2edf:edc4:794f:4e37%6]) with mapi id 15.20.8511.017; Fri, 7 Mar 2025 02:26:34 +0000 From: Sherry Sun To: gregkh@linuxfoundation.org, jirislaby@kernel.org Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, shenwei.wang@nxp.com Subject: [PATCH 1/2] tty: serial: fsl_lpuart: Use u32 for register variables Date: Fri, 7 Mar 2025 10:25:46 +0800 Message-Id: <20250307022547.1000293-2-sherry.sun@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250307022547.1000293-1-sherry.sun@nxp.com> References: <20250307022547.1000293-1-sherry.sun@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0012.apcprd02.prod.outlook.com (2603:1096:4:1f7::8) To DB9PR04MB8429.eurprd04.prod.outlook.com (2603:10a6:10:242::19) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9PR04MB8429:EE_|PA1PR04MB10628:EE_ X-MS-Office365-Filtering-Correlation-Id: c6b6b323-d9b7-4a8a-b942-08dd5d1f7a89 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?yCTMFZpr79PYHPqdzlXwcbNz2fgWGDMGDqwPf+f7IPZn8x8ctk8WoNh1ZGVT?= =?us-ascii?Q?klKCxoxy/eDaqDZIepGYNYCaYYppDCCU8M76Z7zyLiEXlPeqylu3H++2rs9B?= =?us-ascii?Q?GqP1ytqi0caF+JQArGLuiXIdeQZDoShv+ZxYpNLYX3y5fMhCKzU9Qm6OcHb5?= =?us-ascii?Q?k6I/hY9fDJ5bwzSAgUtzEAky4ViuRmgPuWCVnJJhvFm5AHg8kKnjgmIutAKG?= =?us-ascii?Q?SzHMGP4I2o+BmEMBRvXLeQOyiaYEiJXuLwxbpHHtiPXoIoCyT5H0/Rvj8yOw?= =?us-ascii?Q?yrR1Kw688/RSMBnhLcGOegf0C08ul5BAzSofmQdA2xVt9/rsf9tz4KqQvXzZ?= =?us-ascii?Q?S5w4wzIfznw/Qw1OXlGBrOoIDLKNiGmpsRyvpfSwhcqTCSTnqe23I5hA6EYG?= =?us-ascii?Q?/9RLhCjUCS+5UITBopVZ5CdkiUgCAYYhveaZsB2ywP6iSN7chLou19Q5Y96N?= =?us-ascii?Q?9z4qsp8G5Y1ShmklCThSLanRDLvO6+iRwq6btawMud2gKniocP8aCIFocpnD?= =?us-ascii?Q?7Uz2y4/fjf+uIpVxUq66wiN/nuCvv8+ZXeL4r0M8ryV3fGHoWvZiN1V0CGIU?= =?us-ascii?Q?+JG+4Y+SjlnUJ3LHw/EcB2L+upap4lNuL5SXLMAqtgdz+EBms/o9KI62cnjc?= =?us-ascii?Q?GQWJntQOoffRNOj8EZ3NmCGmgoRJleSaJIoNKfKLfbe3p8w+RH/ZDKoUsBAE?= =?us-ascii?Q?NsVeYl46c0CkU2B97FeM0vFwTezhVGDlxBVkDOHEOQpuuPs8q++iepD6/AUf?= =?us-ascii?Q?liJLWQzEA/iRKTyqp+5137zMSneHjmZdAKTftK2bnGr9OmUqioEP08AiV/wO?= =?us-ascii?Q?6eqkiODyc4RD2zgjXkWxdpNY5iKgl+Nqei9x1DbSWhcLGRNEPGjHfBJ9n+SS?= =?us-ascii?Q?yx/ltlWOpJyQjzA1fVLAw2aXnFhhGxsxpNX3Awc3yAXQCIp7OzslmkSoJX65?= =?us-ascii?Q?tpyw+zSFnePRKfWSGCLp5NO+pFSzbmoL2TGoemCaIo4u8YzQ/fTLKh7eb87E?= =?us-ascii?Q?266LdDqa4miURVfQ7Y6LkFC7QHlA1w8P6mzuka8lUOgVCBP8BJN7PFoQf+Zu?= =?us-ascii?Q?1i45k1ZqThEObVLdjfM5J0JdrktauzIsFC35vu51FUJ+PVxxEWlbCpU1gdp/?= =?us-ascii?Q?TEwdFvDxZLLIUvOINLUGSr6TggKSZX+zHmtYIjX50F5YtmGAxR7m0O+s3dCK?= =?us-ascii?Q?Z3OP8zH8CcM4nhGwtpPZPzlpTVEi/Y5LcRWGW+eeS9HeYnn5U5HMEPm77/5v?= =?us-ascii?Q?VPm0fXQyfKFsDpHqMa/iv2jWS0p008F086kCpCbzfYBH4EhWtZ//XGW2hbga?= =?us-ascii?Q?IAqZMmvX/+wWKgYfKYcoJfRSSS46kGJoybz6+Q3GRQJHHhk1EdglyXM/V+N3?= =?us-ascii?Q?2QGDRVaDmfiZTHLi3QxzgGJeSh7gRC8hlIwBC8Y2v5oxpxfdBb8m0EH91KL5?= =?us-ascii?Q?gdCjJ4A+QiUAdlI7nrIhtzHk9BgGyDJi?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR04MB8429.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?9tdawlYikfp0N7ckBkxugOs8X0keyCwulqFPQpGXhvcgywU8Sbsu/x/BYc2d?= =?us-ascii?Q?xRQOv51mHTGxE3MsUVWLJHl3Q5RXPosOJYCSl8otweJ1wpY9cXBMMm4Pj5l9?= =?us-ascii?Q?FH/wotTfAiIze3KdEt2c2McIvdqcJ8RkJnqNSvRdnsTiwZc9AeJrBhl9HGQT?= =?us-ascii?Q?TWGNIR1WCqpe7c2iHFvW/VuyhD8INKnTJM7eHapD43jQQ2E8GpgebmqK/oLM?= =?us-ascii?Q?J0u18PfwWA9Bu74KKDOqzg8SzgglrqDJtXsLRNSeCC8zqeuhz2Frv21JBEZ2?= =?us-ascii?Q?5+/73QQ1uFA4RefN1lmAMOJryrGNbYoctDS7j8a9ntyFqQRL8bmO5YaGfIvX?= =?us-ascii?Q?YzNsq/AI8CiiYrIEwiH9PIv6GYJ0R8x2cwVFLVz2brYL6pOgy1P7Zswkr2Dx?= =?us-ascii?Q?5zvw3jFryGwQna1nK3t9ZBcBGn2hN8Yf4dz4B7klo8iYcVnUMpMRTKKy94gC?= =?us-ascii?Q?iJB1SAn+Lzt5t69Yu00QH+ao+pI4Nim3YZ8EGcUjd+Fy7Q+KnGsRbb7DF0c1?= =?us-ascii?Q?gXH7F+8vWB8ssdsqp1ZWXZyIqGVf4/L5yxn9PH7cFtXrlIeBbSunRgBIyDC2?= =?us-ascii?Q?549TCpKF3av1x6wOU3F0WeD28COzJeGRkcN15U5+Dg9nkAnM6/0wlgPLn73u?= =?us-ascii?Q?89OhTMUQVDoeQUw+UqT+moUrZGC5PBlFLz/oBoXQu0nTfYQRXIoUw4xr9Ldf?= =?us-ascii?Q?TLjSIJ+dcak6vlOZwWOtA9jaRHkD4W6rYvx2F1ztPc2R0fzBOKcMo5493vun?= =?us-ascii?Q?7/n4gB182rm5WChvHp620EhCb/3uHGFyKiU4bdEjBv4rxTupuzU8NfaP0jaE?= =?us-ascii?Q?UubrHSZyCQovWc+ADwLx/FzeyPreMiiQkhYrDOtj4inzA+pU7MQTkyA71Hdb?= =?us-ascii?Q?BFE25emeJgQfOnzDl8hV1haRuydgQ5hTyH/TO2cSYDq0A0D48tG1Ie1Zdk3v?= =?us-ascii?Q?8bfeu1Itfnmi+TiPHpJwnWVz1DmeVBsbPQEM27ApG5rPmcv31YJ/wPGyfEW6?= =?us-ascii?Q?TOm2QXtRgvMeABnWT4GL6rvinrvgGFwkRtrshBHHE+2m0q3GpPyAVeUkeumX?= =?us-ascii?Q?q5FxQgPCtU76U0UadB19265U/yfhDVPRSVMmTPTvz2+qvvhqFI78ppBoeaav?= =?us-ascii?Q?wlD3bLU+o61xCJIHoqoFHK3f23xkW3hciP+Q6saGQ0P3x7z72Kzmp0mq5GJa?= =?us-ascii?Q?cLNJcQroIiP0N6l/oLs9Ck12t8wFHYI2ObhZXcWx18aS73geDi+M4JoQtCsQ?= =?us-ascii?Q?ilc/i8Oxcg89YFUem7tkRpvgYK6hYlUsuMytfLIvU0t/payrPfmDmHTlfzDd?= =?us-ascii?Q?3e+YiL/uxKKVKB/ZB7WSafYlOzWnbrXIUo0Qi0uWQOtdLeJYqyM4s8zrufPL?= =?us-ascii?Q?eqG+/EN0U2lte4+F2kaVUsg0iYTmIIzWR1g/uwlAghLgpJJlxmE30GY0vz7S?= =?us-ascii?Q?JlHkia5yZEl6B/5PP5sp2QgqGdclGbHVGmTZ0hWvp7LIU/42+tlZqUeB249b?= =?us-ascii?Q?mcOFG35fyAp8mS3ItPd+8dzukaWV3W0ZJenqEfRLe+Hh8PPfy0DKrdwbSH2A?= =?us-ascii?Q?GkK3Wbasi30RdSHBUYV1qREsS1pls14UaEWPOXs8?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: c6b6b323-d9b7-4a8a-b942-08dd5d1f7a89 X-MS-Exchange-CrossTenant-AuthSource: DB9PR04MB8429.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2025 02:26:33.9531 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 0x87s/vfvHv1Hq0r46z2YHFU8y4F3ZBA1OWSd6XxsCzNeR5S3yVjJ0oP5SuLtGCpX5FSgKZcx6NcOQCIHXbGRw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA1PR04MB10628 Content-Type: text/plain; charset="utf-8" Use u32 rather than unsigned long for register variables for clarity and consistency. Signed-off-by: Sherry Sun --- drivers/tty/serial/fsl_lpuart.c | 54 ++++++++++++++++----------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuar= t.c index 4dc2f3e2b8e0..888d744494d6 100644 --- a/drivers/tty/serial/fsl_lpuart.c +++ b/drivers/tty/serial/fsl_lpuart.c @@ -450,7 +450,7 @@ static void lpuart_stop_tx(struct uart_port *port) =20 static void lpuart32_stop_tx(struct uart_port *port) { - unsigned long temp; + u32 temp; =20 temp =3D lpuart32_read(port, UARTCTRL); temp &=3D ~(UARTCTRL_TIE | UARTCTRL_TCIE); @@ -467,7 +467,7 @@ static void lpuart_stop_rx(struct uart_port *port) =20 static void lpuart32_stop_rx(struct uart_port *port) { - unsigned long temp; + u32 temp; =20 temp =3D lpuart32_read(port, UARTCTRL); lpuart32_write(port, temp & ~UARTCTRL_RE, UARTCTRL); @@ -752,7 +752,7 @@ static inline void lpuart_transmit_buffer(struct lpuart= _port *sport) static inline void lpuart32_transmit_buffer(struct lpuart_port *sport) { struct tty_port *tport =3D &sport->port.state->port; - unsigned long txcnt; + u32 txcnt; unsigned char c; =20 if (sport->port.x_char) { @@ -806,7 +806,7 @@ static void lpuart_start_tx(struct uart_port *port) static void lpuart32_start_tx(struct uart_port *port) { struct lpuart_port *sport =3D container_of(port, struct lpuart_port, port= ); - unsigned long temp; + u32 temp; =20 if (sport->lpuart_dma_tx_use) { if (!lpuart_stopped_or_empty(port)) @@ -855,9 +855,9 @@ static unsigned int lpuart32_tx_empty(struct uart_port = *port) { struct lpuart_port *sport =3D container_of(port, struct lpuart_port, port); - unsigned long stat =3D lpuart32_read(port, UARTSTAT); - unsigned long sfifo =3D lpuart32_read(port, UARTFIFO); - unsigned long ctrl =3D lpuart32_read(port, UARTCTRL); + u32 stat =3D lpuart32_read(port, UARTSTAT); + u32 sfifo =3D lpuart32_read(port, UARTFIFO); + u32 ctrl =3D lpuart32_read(port, UARTCTRL); =20 if (sport->dma_tx_in_progress) return 0; @@ -961,7 +961,7 @@ static void lpuart32_rxint(struct lpuart_port *sport) { unsigned int flg, ignored =3D 0; struct tty_port *port =3D &sport->port.state->port; - unsigned long rx, sr; + u32 rx, sr; bool is_break; =20 uart_port_lock(&sport->port); @@ -1113,7 +1113,7 @@ static void lpuart_copy_rx_to_tty(struct lpuart_port = *sport) int count, copied; =20 if (lpuart_is_32(sport)) { - unsigned long sr =3D lpuart32_read(&sport->port, UARTSTAT); + u32 sr =3D lpuart32_read(&sport->port, UARTSTAT); =20 if (sr & (UARTSTAT_PE | UARTSTAT_FE)) { /* Clear the error flags */ @@ -1279,7 +1279,7 @@ static void lpuart32_dma_idleint(struct lpuart_port *= sport) static irqreturn_t lpuart32_int(int irq, void *dev_id) { struct lpuart_port *sport =3D dev_id; - unsigned long sts, rxcount; + u32 sts, rxcount; =20 sts =3D lpuart32_read(&sport->port, UARTSTAT); rxcount =3D lpuart32_read(&sport->port, UARTWATER); @@ -1411,12 +1411,12 @@ static inline int lpuart_start_rx_dma(struct lpuart= _port *sport) dma_async_issue_pending(chan); =20 if (lpuart_is_32(sport)) { - unsigned long temp =3D lpuart32_read(&sport->port, UARTBAUD); + u32 temp =3D lpuart32_read(&sport->port, UARTBAUD); =20 lpuart32_write(&sport->port, temp | UARTBAUD_RDMAE, UARTBAUD); =20 if (sport->dma_idle_int) { - unsigned long ctrl =3D lpuart32_read(&sport->port, UARTCTRL); + u32 ctrl =3D lpuart32_read(&sport->port, UARTCTRL); =20 lpuart32_write(&sport->port, ctrl | UARTCTRL_ILIE, UARTCTRL); } @@ -1482,7 +1482,7 @@ static int lpuart32_config_rs485(struct uart_port *po= rt, struct ktermios *termio struct lpuart_port *sport =3D container_of(port, struct lpuart_port, port); =20 - unsigned long modem =3D lpuart32_read(&sport->port, UARTMODIR) + u32 modem =3D lpuart32_read(&sport->port, UARTMODIR) & ~(UARTMODIR_TXRTSPOL | UARTMODIR_TXRTSE); u32 ctrl; =20 @@ -1586,7 +1586,7 @@ static void lpuart_break_ctl(struct uart_port *port, = int break_state) =20 static void lpuart32_break_ctl(struct uart_port *port, int break_state) { - unsigned long temp; + u32 temp; =20 temp =3D lpuart32_read(port, UARTCTRL); =20 @@ -1665,8 +1665,7 @@ static void lpuart_setup_watermark_enable(struct lpua= rt_port *sport) =20 static void lpuart32_setup_watermark(struct lpuart_port *sport) { - unsigned long val, ctrl; - unsigned long ctrl_saved; + u32 val, ctrl, ctrl_saved; =20 ctrl =3D lpuart32_read(&sport->port, UARTCTRL); ctrl_saved =3D ctrl; @@ -1845,7 +1844,7 @@ static int lpuart_startup(struct uart_port *port) =20 static void lpuart32_hw_disable(struct lpuart_port *sport) { - unsigned long temp; + u32 temp; =20 temp =3D lpuart32_read(&sport->port, UARTCTRL); temp &=3D ~(UARTCTRL_RIE | UARTCTRL_ILIE | UARTCTRL_RE | @@ -1855,7 +1854,7 @@ static void lpuart32_hw_disable(struct lpuart_port *s= port) =20 static void lpuart32_configure(struct lpuart_port *sport) { - unsigned long temp; + u32 temp; =20 temp =3D lpuart32_read(&sport->port, UARTCTRL); if (!sport->lpuart_dma_rx_use) @@ -1885,7 +1884,7 @@ static void lpuart32_hw_setup(struct lpuart_port *spo= rt) static int lpuart32_startup(struct uart_port *port) { struct lpuart_port *sport =3D container_of(port, struct lpuart_port, port= ); - unsigned long temp; + u32 temp; =20 /* determine FIFO size */ temp =3D lpuart32_read(&sport->port, UARTFIFO); @@ -1959,7 +1958,7 @@ static void lpuart32_shutdown(struct uart_port *port) { struct lpuart_port *sport =3D container_of(port, struct lpuart_port, port); - unsigned long temp; + u32 temp; unsigned long flags; =20 uart_port_lock_irqsave(port, &flags); @@ -2233,7 +2232,7 @@ lpuart32_set_termios(struct uart_port *port, struct k= termios *termios, { struct lpuart_port *sport =3D container_of(port, struct lpuart_port, port= ); unsigned long flags; - unsigned long ctrl, old_ctrl, bd, modem; + u32 ctrl, old_ctrl, bd, modem; unsigned int baud; unsigned int old_csize =3D old ? old->c_cflag & CSIZE : CS8; =20 @@ -2530,7 +2529,7 @@ static void lpuart32_console_write(struct console *co, const char *s, unsigned int cou= nt) { struct lpuart_port *sport =3D lpuart_ports[co->index]; - unsigned long old_cr, cr; + u32 old_cr, cr; unsigned long flags; int locked =3D 1; =20 @@ -2613,7 +2612,7 @@ static void __init lpuart32_console_get_options(struct lpuart_port *sport, int *baud, int *parity, int *bits) { - unsigned long cr, bd; + u32 cr, bd; unsigned int sbr, uartclk, baud_raw; =20 cr =3D lpuart32_read(&sport->port, UARTCTRL); @@ -2819,7 +2818,7 @@ static int lpuart_global_reset(struct lpuart_port *sp= ort) { struct uart_port *port =3D &sport->port; void __iomem *global_addr; - unsigned long ctrl, bd; + u32 ctrl, bd; unsigned int val =3D 0; int ret; =20 @@ -3025,7 +3024,7 @@ static int lpuart_runtime_resume(struct device *dev) =20 static void serial_lpuart_enable_wakeup(struct lpuart_port *sport, bool on) { - unsigned int val, baud; + u32 val, baud; =20 if (lpuart_is_32(sport)) { val =3D lpuart32_read(&sport->port, UARTCTRL); @@ -3090,7 +3089,7 @@ static int lpuart_suspend_noirq(struct device *dev) static int lpuart_resume_noirq(struct device *dev) { struct lpuart_port *sport =3D dev_get_drvdata(dev); - unsigned int val; + u32 val; =20 pinctrl_pm_select_default_state(dev); =20 @@ -3110,7 +3109,8 @@ static int lpuart_resume_noirq(struct device *dev) static int lpuart_suspend(struct device *dev) { struct lpuart_port *sport =3D dev_get_drvdata(dev); - unsigned long temp, flags; + u32 temp; + unsigned long flags; =20 uart_suspend_port(&lpuart_reg, &sport->port); =20 --=20 2.34.1 From nobody Sun Feb 8 08:48:11 2026 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2043.outbound.protection.outlook.com [40.107.21.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7227716F282; Fri, 7 Mar 2025 02:26:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.21.43 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741314402; cv=fail; b=H/dtlAOlr+2OUUgFSCAn6n2WKlX3N5dbLpwOJw43Dmmv4C0HC7hbwDX1PP0dA2wKuKLgIuatoLkxOwogknD3eazJLZozMenDWaynCujdHir1RbHyx4eJJkwK8NlI5FkabMtdiPfHS45320aFfLEv9P45mptN+QCcPpvXCqJV5qc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741314402; c=relaxed/simple; bh=Ak8/boKXPB5ZoBAGMIfTlTDOU5H8IsmrTOYvSJYIN7k=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=H/z6gFom+GKqrko4FTXlmzkeklnwrrnt2QH2lbRQxNN2rcL/y073K/xQPx2c5qpzSDlR8CLYEBo9Xv8MRbJobOrUv8RyjgNLXgJ8qWpI9G4hwTfuZdKuKsjJHCjrqZa3f5Yg7KM9gSCUS3FKxqOH5sdaCvViLK4rKxo3dqtQKPE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=kibbsBfp; arc=fail smtp.client-ip=40.107.21.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="kibbsBfp" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=D2sMYCpJm4M9cdW9cuu/6Grdak7oHZmFGTvHaoLaxHklB/mTlOX8eH67Cvg3NHs2bY/SeBYFd+ezHuS7A6Wl7n9tDZHiceheU8A47Onq5Ie3gTntqAUgZUosCOY/VheGZApU2X4y4sm+271aFsX/QxkKOg2yWA/gPUcYMzy51A4yUPPoNDzq3qpTxRi5jtT9uquPIN5iCnk+tBpRahcjCFPvzsfW9dOcxqyqpGKSrSG2Pzvnu0UVFrVuDGB7Qt0AXIBGYUkwWmU5Iw/WTLw02XTN5GyZ7Xrmu5ViVqD8yGNHoxKvd7XRuxXSnWfqI1eU0O+TF6w71ez/eOtgqXS/pw== 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=2d0rQOBVw1zDir33v1ZWkGIuJSjpwI1CWr59WGmNarc=; b=mFHmfEO0YxU0f1qBzK3IzhNWzffrRAKfecU9Mc9nHsUI1/BtWq1Ua1Wyy0ThI73Ma044PoNrXocnfTjSkz1jIqaosXSBgqDDnBzMKy3LJ6O5/NxAnkJ+q5oyw3AuhPYXR1jcsTqiz5Vp6qG1u7X0tUb6CNAZs57UfyuiNO0c7e4hW27EnnVPVuqoEsOEzHUm1B/nb2lBpzji4VqStWFmw35BeOpW5R2LulFbz57IRE78eXhTqRaorvQ1R+5cZxX4zAlwifmkbG5j/LJmTiaDGkRx/jg1T3W/DO62jhLLSo4a3G8RVeb/VgG9rcYuJUeIzc67W4kCwG0Kxc/P7T5fmA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2d0rQOBVw1zDir33v1ZWkGIuJSjpwI1CWr59WGmNarc=; b=kibbsBfpckC1KC33j+SEWN1uq7R32zDCl7vPVzmTL4nIHt63JifyyF79LvvShbmJdNkLKnXuRSwLOZ1CBBSVUNFca7vQfvXxsZ2QmvbdZydVlB94NG0DN6EM7dRYUgeyu8Yv9YtOe49FGRi61Xmu7fgGBJADNVsRRhw5SHHj2KMeZJEqGSO+ISphS1AV1tyNp2ORo21WkL4EvqHmCaTSvvvBRlWdXlktWfF2TpWe1EMnLC6pRAm53QMIAFfzySicT4bh0BjPRbrd5tRwUIUqwEpYoGdGcu7CrazIzqnsG35mB2N7mVsW0EivQd7y3jblVJTCXnRB9Jas4XqQEfXIwA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DB9PR04MB8429.eurprd04.prod.outlook.com (2603:10a6:10:242::19) by PA1PR04MB10628.eurprd04.prod.outlook.com (2603:10a6:102:490::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.20; Fri, 7 Mar 2025 02:26:38 +0000 Received: from DB9PR04MB8429.eurprd04.prod.outlook.com ([fe80::2edf:edc4:794f:4e37]) by DB9PR04MB8429.eurprd04.prod.outlook.com ([fe80::2edf:edc4:794f:4e37%6]) with mapi id 15.20.8511.017; Fri, 7 Mar 2025 02:26:38 +0000 From: Sherry Sun To: gregkh@linuxfoundation.org, jirislaby@kernel.org Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, shenwei.wang@nxp.com Subject: [PATCH 2/2] tty: serial: fsl_lpuart: use port struct directly to simply code Date: Fri, 7 Mar 2025 10:25:47 +0800 Message-Id: <20250307022547.1000293-3-sherry.sun@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250307022547.1000293-1-sherry.sun@nxp.com> References: <20250307022547.1000293-1-sherry.sun@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0012.apcprd02.prod.outlook.com (2603:1096:4:1f7::8) To DB9PR04MB8429.eurprd04.prod.outlook.com (2603:10a6:10:242::19) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9PR04MB8429:EE_|PA1PR04MB10628:EE_ X-MS-Office365-Filtering-Correlation-Id: 8124bc17-2583-4de1-3bf9-08dd5d1f7cdd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?wEDAnVQ3RyAkNwnOYjzm+TEnEpCI2qr40evkj+dBJgoKe/+TeV6HzhfKLupe?= =?us-ascii?Q?ww3Wyj62g+7ZsW29fmArKrLTnqsDiLDQnWEEMCpr4ZqXt09ql9sqJw93sABM?= =?us-ascii?Q?w8t+k/QQunK6YWrv5N8N/n5Bc/i54HyXJDmd2e60Yd+2xBocrssWToG3U2rx?= =?us-ascii?Q?Ez20vwZdm5rI37KHg2NwWeoJHHCXGoEvfNwh3VSzF/bloaFpxFWdNIN6P+Ng?= =?us-ascii?Q?mN1C7EzHu6HEGjxL55yhf9MPf+79oAzBOT3+uDhg8QpX1UYUvV1cX8d3RrNj?= =?us-ascii?Q?elzTyYzMCjI3vumaw6VEB6avXjNirSfKJ6Bv0YYYLGeaum4hUbNn+ZKrmdPc?= =?us-ascii?Q?RNYPNYOrN7bPYznCUSadZb+YkEnmYfjoxodpadlLtv+D0xJ6jDv/tEk9Fc/G?= =?us-ascii?Q?jq3K6p93anFde1HqqTErFkIXhPJXrG1X4SfiL4Yh7CuIq8Y8UBTC0T/8Rzgo?= =?us-ascii?Q?niSHt1sJlf1xgV6rELw1aYKYe4qcsjqx3lk6tBcQ6tUvvp33B1Z2Tfszpwrj?= =?us-ascii?Q?BL7NTMdSXzCUXSFFqgWk0dPHeo8vL6cFLrSvLvKZMkgnUxYo6cH7JsYT4ME4?= =?us-ascii?Q?5+yxXdwK1vTE0U05rM3Dw9jhtX32mYjBaERG7yh9xv86kcg7hQKNMtUuVLf7?= =?us-ascii?Q?6xgc/ursAxR0vzSbbO6u+2jMcwC3JP4/TcKfhQD0PDouiutFpj7PoGc4jEUE?= =?us-ascii?Q?wWaafcBidc32jR5KXiDT7N0BrA7WOBNLmNx1YOFvKoRETYjou9mSF+ZL1cqp?= =?us-ascii?Q?7Q6jnGFiPTdN1D1Ky51nu4BsfSBNkiY6vyE+plqE6LmZCckeblU8uNm2zYXI?= =?us-ascii?Q?ROPAzEZYSTKKBDkL+4qiLdvLHBLOpscNbKarFp6K+tuP/rTlFzLGoBKz67So?= =?us-ascii?Q?ko5O6Tl4CG3sF3eM7Bse7iYNO0dPry4tFjDWh1b/rtCP5TSSQTBu8MfSPVIJ?= =?us-ascii?Q?OrmY1/puN1IdyfOUvJImqw9a3UEUsCi5wwqiSMLzTA89HchXtOaeBr4EZ0nA?= =?us-ascii?Q?1Vl0+kFxzA6JcUyknlHt9E+wsv9sXVppp0xO8dsyYmhFD6ONL/uhvQJx27qi?= =?us-ascii?Q?h2F5byMvF/Abf1ZqMxfqAhNrRgRE3qmt27f9Wq8tFb7dwdAUhMUAMZVG/ePS?= =?us-ascii?Q?5MQpa1RaZ+W2q0TwYrelWZDX6vICMW1WWLNgDM/RiNC5+g3/F7IdMB5iO5NT?= =?us-ascii?Q?WQXD66s0xGrqn7NF+1JutcR2Ucq2EH6qhLnjP3pybOoUObd4eBbc3A8+6Bby?= =?us-ascii?Q?Ave+XRIXLTr/jIUUU0cKIopmrDYhDbc/tEzm0Yju22tzUklUUVcphE0kI8aH?= =?us-ascii?Q?isKZc69qifcmpvJH+woR7T+lfnmPKumaLbL8bNOnIcHPGomgvHa4SyQ1Igbt?= =?us-ascii?Q?d/MjQmAOYpsZbEVVlYeJa/cb8H+o8aaKGvOP8ihi37dvkw0bGD7FEcoGgaqq?= =?us-ascii?Q?ljkP1mxqyINWF6mQ4o4PwASPajd2vJJR?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR04MB8429.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?LDDH4plJIL6OuUkdOPTIUDYM3t2LtZOJ9245X1nHAKfmIWNy2eMt0zi4XXYQ?= =?us-ascii?Q?kWYSS/jTJGjlzHs76iUugNd4oadNGPYH8g8qsb9Rq0uouKeMfGCyemrVbZvj?= =?us-ascii?Q?h2JRENWhXrqeuLJEGe7/odpkrGh/B8X12L3VMG3UEYwz46a+BNhLAl23NGEj?= =?us-ascii?Q?byUH0Qx+qAA6Esg4dCbC7vLl/ZJNnuhYlDQmc0BysDWQ2LLP/pYtp0ZzDpCG?= =?us-ascii?Q?cnzgRab/RmHTs9U4BJj3KCwzyeltXsJVUjOudeBJ7GOIWGmono8acsG0jczV?= =?us-ascii?Q?rS0HrPcKlR3zQWTff4kUAzxdJQPCb7GfENaJ4O2zvf3CbdY8v28INK3k3khE?= =?us-ascii?Q?y5vw933WG9B3EpJJ/P4wbqgiLm5JT7A83y9/xwJKA+nJ3Hk3qbyZb0lZXUWE?= =?us-ascii?Q?7w6i+hIBYlcX4KvlWD12Ku0LJGmMR4NQaZUmg+O0b6cfX4gAh5HsZMUrPW//?= =?us-ascii?Q?9b2lIbZxVRrBsiBVroG/VrMTpHnOeqLYE3h/89/lI1joizraVH/oPkha1nnr?= =?us-ascii?Q?uV7GPeR6r0qX3aTkVvq7HccTWlCJ4x32il072U1owwxzTDaZTWaywA0Kb2g5?= =?us-ascii?Q?zFbn/cSkFUK8o/BOznYb08vppuqi9gZ20/utsHUBw4i9Dpq2r2cgytdZTAki?= =?us-ascii?Q?dQr0Xg0zRAMjsXMc6BtnD/gNHKH0hHC3wGb1Zpfv7V05nliO4WWbuuJuGy8M?= =?us-ascii?Q?L/x9TDGI5H3ak3YPqK5F6WjscxuLrHmQiC8Y5KNkTrOAVwnCq1woChgsxpP1?= =?us-ascii?Q?yhmVxaOjDbp8cBOVTwb1stGuchnNMkL7s8RlG5tSQZ7IftvJg62a+tJ8p22x?= =?us-ascii?Q?h3iDr7WqFW0nUgsZgKW6B9GtbvmRrUfqXnFcBoilPT/w1IokWxInKL7dljuO?= =?us-ascii?Q?WH1XoIDTPm4Tw1Otl6oQPDjWTpY2ZzsXahQjsB2d6+00AIhY5qG6Qr6UbBGn?= =?us-ascii?Q?OxYJKZ4qtGb/pLE2PTljzvphRfBzY16MfTxYzRgxspbVUjWs2p7/FKZphnV5?= =?us-ascii?Q?dMz55oDr6vFmpy9EapT1YXrEXwpIAMb3YS24qY7Ha9LYcbAgj6voKj5nMoGZ?= =?us-ascii?Q?W4LfzNjORoH6pS2kjf6MM+bO1FXsV9GPZ3pEMTY9ycSB6ySq6HDp0i+tM7V3?= =?us-ascii?Q?XnoQ+YRlv5SSnRNquoK2gH7MV04IHo17+rfJcEe+zditPY/kO+8DXES8sRjx?= =?us-ascii?Q?nYe8amllH0TPaNlp216DhMqgsLGJwQpmNwrIroCiO2DdRL0K117xtm4mv8Se?= =?us-ascii?Q?m7ZDNRSlB4/X0VEA4sRsITvQ2Hrv1c1hmNRRuunqdWwtryVvB7VB6VV2aLqA?= =?us-ascii?Q?7ui8p+JT2+sk3yO+kGseDCgrb4XwMvQXtz0fu2ruzHVp5C6RmDL3vTNMSDvy?= =?us-ascii?Q?75BgaaMnFcn8Wb0M5mb5EFwAMP3tgFm1AuegTMlOHves10Sy7iUpfGpc+o8q?= =?us-ascii?Q?VWOLbJOps2qDMFH7+mWtUlJ2gk733tRHvur53KNXembUsDRTaFR75riCiqki?= =?us-ascii?Q?r2/jahJ/qQ8cRsSjZExyg9aeqyeqND5k8RyKSTT7NMDwFZwdDdkHDPWHtPSk?= =?us-ascii?Q?EsRfQgJwcWxiROPNh4fw+/usd7OUyxUKqawbXpHm?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8124bc17-2583-4de1-3bf9-08dd5d1f7cdd X-MS-Exchange-CrossTenant-AuthSource: DB9PR04MB8429.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2025 02:26:37.9668 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: AXP5LKB1KSNDKS7wrR1OHNOe1Cp2pOvZiOlieZ4nz2NGOdxu4NUPCMWykutrqU6OGHywqCWise4BGAIfkz3Uxg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA1PR04MB10628 Content-Type: text/plain; charset="utf-8" Most lpuart functions have the parameter struct uart_port *port, but still use the &sport->port to get the uart_port instead of use it directly, let's simply the code logic, directly use this struct instead of covert it from struct sport. Signed-off-by: Sherry Sun --- drivers/tty/serial/fsl_lpuart.c | 208 ++++++++++++++++---------------- 1 file changed, 101 insertions(+), 107 deletions(-) diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuar= t.c index 888d744494d6..740de74e9f0a 100644 --- a/drivers/tty/serial/fsl_lpuart.c +++ b/drivers/tty/serial/fsl_lpuart.c @@ -581,7 +581,7 @@ static int lpuart_dma_tx_request(struct uart_port *port) ret =3D dmaengine_slave_config(sport->dma_tx_chan, &dma_tx_sconfig); =20 if (ret) { - dev_err(sport->port.dev, + dev_err(port->dev, "DMA slave config failed, err =3D %d\n", ret); return ret; } @@ -611,13 +611,13 @@ static void lpuart_flush_buffer(struct uart_port *por= t) } =20 if (lpuart_is_32(sport)) { - val =3D lpuart32_read(&sport->port, UARTFIFO); + val =3D lpuart32_read(port, UARTFIFO); val |=3D UARTFIFO_TXFLUSH | UARTFIFO_RXFLUSH; - lpuart32_write(&sport->port, val, UARTFIFO); + lpuart32_write(port, val, UARTFIFO); } else { - val =3D readb(sport->port.membase + UARTCFIFO); + val =3D readb(port->membase + UARTCFIFO); val |=3D UARTCFIFO_TXFLUSH | UARTCFIFO_RXFLUSH; - writeb(val, sport->port.membase + UARTCFIFO); + writeb(val, port->membase + UARTCFIFO); } } =20 @@ -644,33 +644,33 @@ static int lpuart_poll_init(struct uart_port *port) unsigned long flags; unsigned char temp; =20 - sport->port.fifosize =3D 0; + port->fifosize =3D 0; =20 - uart_port_lock_irqsave(&sport->port, &flags); + uart_port_lock_irqsave(port, &flags); /* Disable Rx & Tx */ - writeb(0, sport->port.membase + UARTCR2); + writeb(0, port->membase + UARTCR2); =20 - temp =3D readb(sport->port.membase + UARTPFIFO); + temp =3D readb(port->membase + UARTPFIFO); /* Enable Rx and Tx FIFO */ writeb(temp | UARTPFIFO_RXFE | UARTPFIFO_TXFE, - sport->port.membase + UARTPFIFO); + port->membase + UARTPFIFO); =20 /* flush Tx and Rx FIFO */ writeb(UARTCFIFO_TXFLUSH | UARTCFIFO_RXFLUSH, - sport->port.membase + UARTCFIFO); + port->membase + UARTCFIFO); =20 /* explicitly clear RDRF */ - if (readb(sport->port.membase + UARTSR1) & UARTSR1_RDRF) { - readb(sport->port.membase + UARTDR); - writeb(UARTSFIFO_RXUF, sport->port.membase + UARTSFIFO); + if (readb(port->membase + UARTSR1) & UARTSR1_RDRF) { + readb(port->membase + UARTDR); + writeb(UARTSFIFO_RXUF, port->membase + UARTSFIFO); } =20 - writeb(0, sport->port.membase + UARTTWFIFO); - writeb(1, sport->port.membase + UARTRWFIFO); + writeb(0, port->membase + UARTTWFIFO); + writeb(1, port->membase + UARTRWFIFO); =20 /* Enable Rx and Tx */ - writeb(UARTCR2_RE | UARTCR2_TE, sport->port.membase + UARTCR2); - uart_port_unlock_irqrestore(&sport->port, flags); + writeb(UARTCR2_RE | UARTCR2_TE, port->membase + UARTCR2); + uart_port_unlock_irqrestore(port, flags); =20 return 0; } @@ -696,30 +696,30 @@ static int lpuart32_poll_init(struct uart_port *port) struct lpuart_port *sport =3D container_of(port, struct lpuart_port, port= ); u32 temp; =20 - sport->port.fifosize =3D 0; + port->fifosize =3D 0; =20 - uart_port_lock_irqsave(&sport->port, &flags); + uart_port_lock_irqsave(port, &flags); =20 /* Disable Rx & Tx */ - lpuart32_write(&sport->port, 0, UARTCTRL); + lpuart32_write(port, 0, UARTCTRL); =20 - temp =3D lpuart32_read(&sport->port, UARTFIFO); + temp =3D lpuart32_read(port, UARTFIFO); =20 /* Enable Rx and Tx FIFO */ - lpuart32_write(&sport->port, temp | UARTFIFO_RXFE | UARTFIFO_TXFE, UARTFI= FO); + lpuart32_write(port, temp | UARTFIFO_RXFE | UARTFIFO_TXFE, UARTFIFO); =20 /* flush Tx and Rx FIFO */ - lpuart32_write(&sport->port, UARTFIFO_TXFLUSH | UARTFIFO_RXFLUSH, UARTFIF= O); + lpuart32_write(port, UARTFIFO_TXFLUSH | UARTFIFO_RXFLUSH, UARTFIFO); =20 /* explicitly clear RDRF */ - if (lpuart32_read(&sport->port, UARTSTAT) & UARTSTAT_RDRF) { - lpuart32_read(&sport->port, UARTDATA); - lpuart32_write(&sport->port, UARTFIFO_RXUF, UARTFIFO); + if (lpuart32_read(port, UARTSTAT) & UARTSTAT_RDRF) { + lpuart32_read(port, UARTDATA); + lpuart32_write(port, UARTFIFO_RXUF, UARTFIFO); } =20 /* Enable Rx and Tx */ - lpuart32_write(&sport->port, UARTCTRL_RE | UARTCTRL_TE, UARTCTRL); - uart_port_unlock_irqrestore(&sport->port, flags); + lpuart32_write(port, UARTCTRL_RE | UARTCTRL_TE, UARTCTRL); + uart_port_unlock_irqrestore(port, flags); =20 return 0; } @@ -1449,12 +1449,9 @@ static void lpuart_dma_rx_free(struct uart_port *por= t) static int lpuart_config_rs485(struct uart_port *port, struct ktermios *te= rmios, struct serial_rs485 *rs485) { - struct lpuart_port *sport =3D container_of(port, - struct lpuart_port, port); - - u8 modem =3D readb(sport->port.membase + UARTMODEM) & + u8 modem =3D readb(port->membase + UARTMODEM) & ~(UARTMODEM_TXRTSPOL | UARTMODEM_TXRTSE); - writeb(modem, sport->port.membase + UARTMODEM); + writeb(modem, port->membase + UARTMODEM); =20 if (rs485->flags & SER_RS485_ENABLED) { /* Enable auto RS-485 RTS mode */ @@ -1472,29 +1469,26 @@ static int lpuart_config_rs485(struct uart_port *po= rt, struct ktermios *termios, modem &=3D ~UARTMODEM_TXRTSPOL; } =20 - writeb(modem, sport->port.membase + UARTMODEM); + writeb(modem, port->membase + UARTMODEM); return 0; } =20 static int lpuart32_config_rs485(struct uart_port *port, struct ktermios *= termios, struct serial_rs485 *rs485) { - struct lpuart_port *sport =3D container_of(port, - struct lpuart_port, port); - - u32 modem =3D lpuart32_read(&sport->port, UARTMODIR) + u32 modem =3D lpuart32_read(port, UARTMODIR) & ~(UARTMODIR_TXRTSPOL | UARTMODIR_TXRTSE); u32 ctrl; =20 /* TXRTSE and TXRTSPOL only can be changed when transmitter is disabled. = */ - ctrl =3D lpuart32_read(&sport->port, UARTCTRL); + ctrl =3D lpuart32_read(port, UARTCTRL); if (ctrl & UARTCTRL_TE) { /* wait transmit engin complete */ - lpuart32_wait_bit_set(&sport->port, UARTSTAT, UARTSTAT_TC); - lpuart32_write(&sport->port, ctrl & ~UARTCTRL_TE, UARTCTRL); + lpuart32_wait_bit_set(port, UARTSTAT, UARTSTAT_TC); + lpuart32_write(port, ctrl & ~UARTCTRL_TE, UARTCTRL); } =20 - lpuart32_write(&sport->port, modem, UARTMODIR); + lpuart32_write(port, modem, UARTMODIR); =20 if (rs485->flags & SER_RS485_ENABLED) { /* Enable auto RS-485 RTS mode */ @@ -1512,10 +1506,10 @@ static int lpuart32_config_rs485(struct uart_port *= port, struct ktermios *termio modem &=3D ~UARTMODIR_TXRTSPOL; } =20 - lpuart32_write(&sport->port, modem, UARTMODIR); + lpuart32_write(port, modem, UARTMODIR); =20 if (ctrl & UARTCTRL_TE) - lpuart32_write(&sport->port, ctrl, UARTCTRL); + lpuart32_write(port, ctrl, UARTCTRL); =20 return 0; } @@ -1827,11 +1821,11 @@ static int lpuart_startup(struct uart_port *port) unsigned char temp; =20 /* determine FIFO size and enable FIFO mode */ - temp =3D readb(sport->port.membase + UARTPFIFO); + temp =3D readb(port->membase + UARTPFIFO); =20 sport->txfifo_size =3D UARTFIFO_DEPTH((temp >> UARTPFIFO_TXSIZE_OFF) & UARTPFIFO_FIFOSIZE_MASK); - sport->port.fifosize =3D sport->txfifo_size; + port->fifosize =3D sport->txfifo_size; =20 sport->rxfifo_size =3D UARTFIFO_DEPTH((temp >> UARTPFIFO_RXSIZE_OFF) & UARTPFIFO_FIFOSIZE_MASK); @@ -1887,11 +1881,11 @@ static int lpuart32_startup(struct uart_port *port) u32 temp; =20 /* determine FIFO size */ - temp =3D lpuart32_read(&sport->port, UARTFIFO); + temp =3D lpuart32_read(port, UARTFIFO); =20 sport->txfifo_size =3D UARTFIFO_DEPTH((temp >> UARTFIFO_TXSIZE_OFF) & UARTFIFO_FIFOSIZE_MASK); - sport->port.fifosize =3D sport->txfifo_size; + port->fifosize =3D sport->txfifo_size; =20 sport->rxfifo_size =3D UARTFIFO_DEPTH((temp >> UARTFIFO_RXSIZE_OFF) & UARTFIFO_FIFOSIZE_MASK); @@ -1904,7 +1898,7 @@ static int lpuart32_startup(struct uart_port *port) if (is_layerscape_lpuart(sport)) { sport->rxfifo_size =3D 16; sport->txfifo_size =3D 16; - sport->port.fifosize =3D sport->txfifo_size; + port->fifosize =3D sport->txfifo_size; } =20 lpuart_request_dma(sport); @@ -1964,8 +1958,8 @@ static void lpuart32_shutdown(struct uart_port *port) uart_port_lock_irqsave(port, &flags); =20 /* clear status */ - temp =3D lpuart32_read(&sport->port, UARTSTAT); - lpuart32_write(&sport->port, temp, UARTSTAT); + temp =3D lpuart32_read(port, UARTSTAT); + lpuart32_write(port, temp, UARTSTAT); =20 /* disable Rx/Tx DMA */ temp =3D lpuart32_read(port, UARTBAUD); @@ -1999,12 +1993,12 @@ lpuart_set_termios(struct uart_port *port, struct k= termios *termios, unsigned int old_csize =3D old ? old->c_cflag & CSIZE : CS8; unsigned int sbr, brfa; =20 - cr1 =3D old_cr1 =3D readb(sport->port.membase + UARTCR1); - old_cr2 =3D readb(sport->port.membase + UARTCR2); - cr3 =3D readb(sport->port.membase + UARTCR3); - cr4 =3D readb(sport->port.membase + UARTCR4); - bdh =3D readb(sport->port.membase + UARTBDH); - modem =3D readb(sport->port.membase + UARTMODEM); + cr1 =3D old_cr1 =3D readb(port->membase + UARTCR1); + old_cr2 =3D readb(port->membase + UARTCR2); + cr3 =3D readb(port->membase + UARTCR3); + cr4 =3D readb(port->membase + UARTCR4); + bdh =3D readb(port->membase + UARTBDH); + modem =3D readb(port->membase + UARTMODEM); /* * only support CS8 and CS7, and for CS7 must enable PE. * supported mode: @@ -2036,7 +2030,7 @@ lpuart_set_termios(struct uart_port *port, struct kte= rmios *termios, * When auto RS-485 RTS mode is enabled, * hardware flow control need to be disabled. */ - if (sport->port.rs485.flags & SER_RS485_ENABLED) + if (port->rs485.flags & SER_RS485_ENABLED) termios->c_cflag &=3D ~CRTSCTS; =20 if (termios->c_cflag & CRTSCTS) @@ -2077,59 +2071,59 @@ lpuart_set_termios(struct uart_port *port, struct k= termios *termios, * Need to update the Ring buffer length according to the selected * baud rate and restart Rx DMA path. * - * Since timer function acqures sport->port.lock, need to stop before + * Since timer function acqures port->lock, need to stop before * acquring same lock because otherwise del_timer_sync() can deadlock. */ if (old && sport->lpuart_dma_rx_use) - lpuart_dma_rx_free(&sport->port); + lpuart_dma_rx_free(port); =20 - uart_port_lock_irqsave(&sport->port, &flags); + uart_port_lock_irqsave(port, &flags); =20 - sport->port.read_status_mask =3D 0; + port->read_status_mask =3D 0; if (termios->c_iflag & INPCK) - sport->port.read_status_mask |=3D UARTSR1_FE | UARTSR1_PE; + port->read_status_mask |=3D UARTSR1_FE | UARTSR1_PE; if (termios->c_iflag & (IGNBRK | BRKINT | PARMRK)) - sport->port.read_status_mask |=3D UARTSR1_FE; + port->read_status_mask |=3D UARTSR1_FE; =20 /* characters to ignore */ - sport->port.ignore_status_mask =3D 0; + port->ignore_status_mask =3D 0; if (termios->c_iflag & IGNPAR) - sport->port.ignore_status_mask |=3D UARTSR1_PE; + port->ignore_status_mask |=3D UARTSR1_PE; if (termios->c_iflag & IGNBRK) { - sport->port.ignore_status_mask |=3D UARTSR1_FE; + port->ignore_status_mask |=3D UARTSR1_FE; /* * if we're ignoring parity and break indicators, * ignore overruns too (for real raw support). */ if (termios->c_iflag & IGNPAR) - sport->port.ignore_status_mask |=3D UARTSR1_OR; + port->ignore_status_mask |=3D UARTSR1_OR; } =20 /* update the per-port timeout */ uart_update_timeout(port, termios->c_cflag, baud); =20 /* wait transmit engin complete */ - lpuart_wait_bit_set(&sport->port, UARTSR1, UARTSR1_TC); + lpuart_wait_bit_set(port, UARTSR1, UARTSR1_TC); =20 /* disable transmit and receive */ writeb(old_cr2 & ~(UARTCR2_TE | UARTCR2_RE), - sport->port.membase + UARTCR2); + port->membase + UARTCR2); =20 - sbr =3D sport->port.uartclk / (16 * baud); - brfa =3D ((sport->port.uartclk - (16 * sbr * baud)) * 2) / baud; + sbr =3D port->uartclk / (16 * baud); + brfa =3D ((port->uartclk - (16 * sbr * baud)) * 2) / baud; bdh &=3D ~UARTBDH_SBR_MASK; bdh |=3D (sbr >> 8) & 0x1F; cr4 &=3D ~UARTCR4_BRFA_MASK; brfa &=3D UARTCR4_BRFA_MASK; - writeb(cr4 | brfa, sport->port.membase + UARTCR4); - writeb(bdh, sport->port.membase + UARTBDH); - writeb(sbr & 0xFF, sport->port.membase + UARTBDL); - writeb(cr3, sport->port.membase + UARTCR3); - writeb(cr1, sport->port.membase + UARTCR1); - writeb(modem, sport->port.membase + UARTMODEM); + writeb(cr4 | brfa, port->membase + UARTCR4); + writeb(bdh, port->membase + UARTBDH); + writeb(sbr & 0xFF, port->membase + UARTBDL); + writeb(cr3, port->membase + UARTCR3); + writeb(cr1, port->membase + UARTCR1); + writeb(modem, port->membase + UARTMODEM); =20 /* restore control register */ - writeb(old_cr2, sport->port.membase + UARTCR2); + writeb(old_cr2, port->membase + UARTCR2); =20 if (old && sport->lpuart_dma_rx_use) { if (!lpuart_start_rx_dma(sport)) @@ -2138,7 +2132,7 @@ lpuart_set_termios(struct uart_port *port, struct kte= rmios *termios, sport->lpuart_dma_rx_use =3D false; } =20 - uart_port_unlock_irqrestore(&sport->port, flags); + uart_port_unlock_irqrestore(port, flags); } =20 static void __lpuart32_serial_setbrg(struct uart_port *port, @@ -2236,9 +2230,9 @@ lpuart32_set_termios(struct uart_port *port, struct k= termios *termios, unsigned int baud; unsigned int old_csize =3D old ? old->c_cflag & CSIZE : CS8; =20 - ctrl =3D old_ctrl =3D lpuart32_read(&sport->port, UARTCTRL); - bd =3D lpuart32_read(&sport->port, UARTBAUD); - modem =3D lpuart32_read(&sport->port, UARTMODIR); + ctrl =3D old_ctrl =3D lpuart32_read(port, UARTCTRL); + bd =3D lpuart32_read(port, UARTBAUD); + modem =3D lpuart32_read(port, UARTMODIR); sport->is_cs7 =3D false; /* * only support CS8 and CS7 @@ -2272,7 +2266,7 @@ lpuart32_set_termios(struct uart_port *port, struct k= termios *termios, * When auto RS-485 RTS mode is enabled, * hardware flow control need to be disabled. */ - if (sport->port.rs485.flags & SER_RS485_ENABLED) + if (port->rs485.flags & SER_RS485_ENABLED) termios->c_cflag &=3D ~CRTSCTS; =20 if (termios->c_cflag & CRTSCTS) @@ -2322,32 +2316,32 @@ lpuart32_set_termios(struct uart_port *port, struct= ktermios *termios, * Need to update the Ring buffer length according to the selected * baud rate and restart Rx DMA path. * - * Since timer function acqures sport->port.lock, need to stop before + * Since timer function acqures port->lock, need to stop before * acquring same lock because otherwise del_timer_sync() can deadlock. */ if (old && sport->lpuart_dma_rx_use) - lpuart_dma_rx_free(&sport->port); + lpuart_dma_rx_free(port); =20 - uart_port_lock_irqsave(&sport->port, &flags); + uart_port_lock_irqsave(port, &flags); =20 - sport->port.read_status_mask =3D 0; + port->read_status_mask =3D 0; if (termios->c_iflag & INPCK) - sport->port.read_status_mask |=3D UARTSTAT_FE | UARTSTAT_PE; + port->read_status_mask |=3D UARTSTAT_FE | UARTSTAT_PE; if (termios->c_iflag & (IGNBRK | BRKINT | PARMRK)) - sport->port.read_status_mask |=3D UARTSTAT_FE; + port->read_status_mask |=3D UARTSTAT_FE; =20 /* characters to ignore */ - sport->port.ignore_status_mask =3D 0; + port->ignore_status_mask =3D 0; if (termios->c_iflag & IGNPAR) - sport->port.ignore_status_mask |=3D UARTSTAT_PE; + port->ignore_status_mask |=3D UARTSTAT_PE; if (termios->c_iflag & IGNBRK) { - sport->port.ignore_status_mask |=3D UARTSTAT_FE; + port->ignore_status_mask |=3D UARTSTAT_FE; /* * if we're ignoring parity and break indicators, * ignore overruns too (for real raw support). */ if (termios->c_iflag & IGNPAR) - sport->port.ignore_status_mask |=3D UARTSTAT_OR; + port->ignore_status_mask |=3D UARTSTAT_OR; } =20 /* update the per-port timeout */ @@ -2359,22 +2353,22 @@ lpuart32_set_termios(struct uart_port *port, struct= ktermios *termios, * asserted. */ if (!(old_ctrl & UARTCTRL_SBK)) { - lpuart32_write(&sport->port, 0, UARTMODIR); - lpuart32_wait_bit_set(&sport->port, UARTSTAT, UARTSTAT_TC); + lpuart32_write(port, 0, UARTMODIR); + lpuart32_wait_bit_set(port, UARTSTAT, UARTSTAT_TC); } =20 /* disable transmit and receive */ - lpuart32_write(&sport->port, old_ctrl & ~(UARTCTRL_TE | UARTCTRL_RE), + lpuart32_write(port, old_ctrl & ~(UARTCTRL_TE | UARTCTRL_RE), UARTCTRL); =20 - lpuart32_write(&sport->port, bd, UARTBAUD); + lpuart32_write(port, bd, UARTBAUD); lpuart32_serial_setbrg(sport, baud); /* disable CTS before enabling UARTCTRL_TE to avoid pending idle preamble= */ - lpuart32_write(&sport->port, modem & ~UARTMODIR_TXCTSE, UARTMODIR); + lpuart32_write(port, modem & ~UARTMODIR_TXCTSE, UARTMODIR); /* restore control register */ - lpuart32_write(&sport->port, ctrl, UARTCTRL); + lpuart32_write(port, ctrl, UARTCTRL); /* re-enable the CTS if needed */ - lpuart32_write(&sport->port, modem, UARTMODIR); + lpuart32_write(port, modem, UARTMODIR); =20 if ((ctrl & (UARTCTRL_PE | UARTCTRL_M)) =3D=3D UARTCTRL_PE) sport->is_cs7 =3D true; @@ -2386,7 +2380,7 @@ lpuart32_set_termios(struct uart_port *port, struct k= termios *termios, sport->lpuart_dma_rx_use =3D false; } =20 - uart_port_unlock_irqrestore(&sport->port, flags); + uart_port_unlock_irqrestore(port, flags); } =20 static const char *lpuart_type(struct uart_port *port) @@ -2824,7 +2818,7 @@ static int lpuart_global_reset(struct lpuart_port *sp= ort) =20 ret =3D clk_prepare_enable(sport->ipg_clk); if (ret) { - dev_err(sport->port.dev, "failed to enable uart ipg clk: %d\n", ret); + dev_err(port->dev, "failed to enable uart ipg clk: %d\n", ret); return ret; } =20 @@ -2835,10 +2829,10 @@ static int lpuart_global_reset(struct lpuart_port *= sport) */ ctrl =3D lpuart32_read(port, UARTCTRL); if (ctrl & UARTCTRL_TE) { - bd =3D lpuart32_read(&sport->port, UARTBAUD); + bd =3D lpuart32_read(port, UARTBAUD); if (read_poll_timeout(lpuart32_tx_empty, val, val, 1, 100000, false, port)) { - dev_warn(sport->port.dev, + dev_warn(port->dev, "timeout waiting for transmit engine to complete\n"); clk_disable_unprepare(sport->ipg_clk); return 0; @@ -3190,7 +3184,7 @@ static void lpuart_console_fixup(struct lpuart_port *= sport) * in VLLS mode, or restore console setting here. */ if (is_imx7ulp_lpuart(sport) && lpuart_uport_is_active(sport) && - console_suspend_enabled && uart_console(&sport->port)) { + console_suspend_enabled && uart_console(uport)) { =20 mutex_lock(&port->mutex); memset(&termios, 0, sizeof(struct ktermios)); --=20 2.34.1