From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753515AbdEIHwy (ORCPT ); Tue, 9 May 2017 03:52:54 -0400 Received: from mail-sn1nam02on0044.outbound.protection.outlook.com ([104.47.36.44]:1584 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752856AbdEIHvV (ORCPT ); Tue, 9 May 2017 03:51:21 -0400 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com; From: Dong Aisheng To: CC: , , , , , , , , Dong Aisheng Subject: [PATCH 1/6] tty: serial: lpuart: introduce lpuart_soc_data to represent SoC property Date: Tue, 9 May 2017 15:50:43 +0800 Message-ID: <1494316248-24052-2-git-send-email-aisheng.dong@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1494316248-24052-1-git-send-email-aisheng.dong@nxp.com> References: <1494316248-24052-1-git-send-email-aisheng.dong@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131387898714717601;(91ab9b29-cfa4-454e-5278-08d120cd25b8);() X-Forefront-Antispam-Report: CIP:192.88.168.50;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(336005)(39410400002)(39850400002)(39380400002)(39450400003)(39840400002)(39400400002)(39860400002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(9170700003)(5660300001)(8656002)(54906002)(33646002)(356003)(50986999)(110136004)(4326008)(7416002)(5003940100001)(77096006)(38730400002)(189998001)(48376002)(498600001)(85426001)(50466002)(6666003)(6916009)(86362001)(305945005)(2950100002)(105606002)(76176999)(8936002)(104016004)(53936002)(47776003)(50226002)(36756003)(2351001)(8676002)(106466001)(81166006)(2906002);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR0301MB0907;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;MLV:ovrnspm;A:1;MX:1;PTR:InfoDomainNonexistent;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD022;1:pPncLdfKi4NS30Fh1ejXHPLUlbI3G6JXMVlIpE3vEiNIkF9VdhS8u6uiRamMfC/DmE+qK8TrgjoVH9/iPzj9RfgvHiiT7qd6tYrZgn6HxfUIq0FDHlaArqjAWzSiJ4P64zS3QOwS81c/WUSqggpk+TKojbU2kovZOLhWCaFvFm8BdxP+FYtqDFa/eXmZXaPr1w7NGCqAsObKmOtoCQN5C69oqe7UUWsk0aM14Ms0UCxkD4oXi3DehC6jVCynEfcrx/L0TGbp72gjVZB+XCAFQ0QxEtBld7ecZW8wXqarOJuvno1k33UF7Q3ACdmeoWqknjE6jOg0fxdK6nhkh5fAReWQQ0gMSy60VzNZMC9m4umyl648CzOXzYnXt3DIXA5jlt7C96xy2P5YoRmytRK8GPsc5FSsqBV7jrmngIUlZjBp/GK8d97OhqWQrDyMpKAsbB4tURtGvrmAnGZiWozgySAoJHaAsDsTc+LOIyCRPtA61FgxSmeYkE95w3uWl8zINkjc7WPOoN3zHDD1QgTBjBk1sA6Rxn1d/SDSAFUdhhLbUKAK0GnXouXgqeILx0O8UeHT6FiLY7wi0VcwXidV+palV8sxQT5uuS1pV9l5gDCMuNfxYnqFIEDoFubif7QY15XQ0JfrJjI35JZvktj40leGmogNSeqk1AdqYjVnM454lJHyHIQ+q9nE191f5vqSb0M3deSuVgCDOHzTe/JqArN3TRlNd1RZpJ0VHCY3pOY= MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ac5f91b5-7e19-468a-f299-08d496b02910 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131430075)(201703131517081);SRVR:CY1PR0301MB0907; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB0907;3:4/PyO2EZ4wVzHe9akMwnj/tZQuymg9mGWm9I9cxN0GucaGXv2SHz2/pDlzkdQrQPgNJZuKzL9XNQJglsnrQ6qswm2uSztxeDhXLsL8b9pcluW6WVFpPv5j/klfjUsQT32LeqCJg6qc59ps2fZCGyBl0ojq5Y52AsUx4OkVFYvPlPRp7AgwFEVyssTAoymb6BaxdDGlDfWU9dJlvs/MER1D+0uQXSuuWnaExzANjtULVBGgZEGefzmp0U8XU1n8pDHNEOH8iiPy1UzQStqagzSRH7/a+EOgD4lsjZc51jBE5yfOuxyBHGX1CxhHsnIdyX6BeyWfAidLqHhuCswElPj+7IeHbNWVKRyvet4sggEaokHPzkgXgKqg1CeMV/46ZDgScv+mkNBFkYiiPIjfeHSXBlR4VcUaJSCacrj6dMfCGQfXn4VqtPtgnmwHyOT9+V;25:vokttEZKX/vPc3Tm0vDmBLjQnm58UeLuYdaYEkHFpBledLLEQqrd2QFngoCM5BY4K2NWeI+gT5wDWhYzn68nsxiT2Wifg1RtnHKqdV9AgvAnTWICqYQ/AfmeOd7YjhvvFqjdDu2S6dF0wSDQVZ6Qe9O6qSI5JecWh1emsI3JeWOwsjtImTv2/DbOYmfxyhiGgGne6JLm3u+I/Bd7Zxcet6hz7M18zxqvD/JVQkm6wKZIKwv++qUugU4zZxEq9cY/MWLTjR/L+o9LVRK+ZRGCtiXKH5SVFfgKZOol0icXHZ+H4stDo8Gks827LtzG43Ak075wthreXCL7jYYbfw1FwzckP2/RUuXeBYIaFA7up++IJ1P65kaaLD3EihxF6/clotp3ubybVsChDKEWG8hQn+3J5Y158FAMk9q3uMGOOelJbxsi7NvvL/tT+hdl7n61Wr5i8zjAe6VAN1YFdIxd1w== X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB0907;31:jMJU7eOpypC+NqEJJUBEhA9aT+X7CC2kIrU7TYiOSJJgOVWaVv/9Vj/1d67qgylop1zKFg9l+cgOP9Nn1XqAabBfqb6ledqmc1+/ns+DvS2Ej/NhlXzYfei7VaK0nWu+SFa4TnB6fQYkRfE/8bMrrHBdzQ39PrHPfSb5/fqBYALDoiEEwrtfqWN7XzKeEMcoDz4c7ActHqONv05ifUkmNkXMSYxH+M9nvktV9oaN6/Nkec8EdHlPHgl0q1Ox4GuKJ7bnq4I2ZySd+c49LN/1m9mUQZNWHvHh46wQFeifAJE= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6095135)(601004)(2401047)(13017025)(13024025)(8121501046)(13018025)(5005006)(13023025)(13015025)(3002001)(93006095)(93001095)(10201501046)(6055026)(6096035)(20161123559100)(20161123563025)(201703131430075)(201703131448075)(201703131433075)(201703161259150)(201703151042153)(20161123561025)(20161123565025)(20161123556025);SRVR:CY1PR0301MB0907;BCL:0;PCL:0;RULEID:(400006);SRVR:CY1PR0301MB0907; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR0301MB0907;4:F/wUghdQ2a6XvpAeDljbL+gRSP/UCmXU42CJDkcR?= =?us-ascii?Q?vW5+icBcNhGzQ6//kFV7vGNHl0hg7ZGJsXCkzlaMhaPFyHEAS8axWupuRdHe?= =?us-ascii?Q?4Ev4EZwzFxO3cbJcKO3filxhD9qXo2stLPoL+T8LyWHNIUmmFkH7my9fFglq?= =?us-ascii?Q?WnvyvcRrORvgY26IleZ/RAk3pCXtvWGXmQ5HZe/Qbo+DOh0jpF5ELulnZ8KR?= =?us-ascii?Q?VO2HRGOXSfsSmCZLz7En88QKr+8JR/CztaXjph6xcy/zMaKopxdSJJXgFMj1?= =?us-ascii?Q?zE0Gzh3gUKFE3pxZM8qFftzmiBhfS/f1vy2ookvSzezl6ulURCAZTynY5PYF?= =?us-ascii?Q?wY2sGy3PhGjFISV17maD61ybPCEiuXSnbo8j/vUY0Gfuu64WTugCUpnqnT+A?= =?us-ascii?Q?bS+P34Hdod60XE8HBpZxnE2zHJZ19t0hu6QfIs9r0F2loHHvD8VjIYlQnrin?= =?us-ascii?Q?8X/5PjbS7V5GJFFCJDYn+801PmCWF9G49A+70jkIseImYgLdyyCvldYv8utm?= =?us-ascii?Q?OzAU5KvQkcZzXeAswVk/HJMh3t9rJVNaIau9UhiijrYtXI5wt0mJTOLvQDbZ?= =?us-ascii?Q?dcx0/gGPEC+LDKe34uw5Sl0dVBozuwgwVeycEuyloaOhmgRFOUScMT0CbYNp?= =?us-ascii?Q?vpZFLEefgZJdzFMTj87EoH0lNVFr67G+VGgFiUHvZjhwsctVZdXE+VOrzhCP?= =?us-ascii?Q?K80Ky3P/3CVKa5xs4yUN1dhEtaCw/Dnjd/DkKJehsNwx2AiQ84mXmcExg6sp?= =?us-ascii?Q?ftP0pSlISHnz5yjvWRcpxV4jAEIlWotTCK/8Qw0vglzes3zGA8ImKNyOJ7Yd?= =?us-ascii?Q?wd/vQyutCb536xsUrQY8TCCsjsOCfb+GAEQYo67atHEAmOHrmp9NS397R9FA?= =?us-ascii?Q?Pqeppw1yRMH+aWLyS5HP1naJXYtNBLvd7AtkdHxeK3Y5cTA+oOpg1Jgxynzl?= =?us-ascii?Q?cKcrdnAHL8mUIH3cpIfsi1F8c307UGbUAuq7v5Vfow=3D=3D?= X-Forefront-PRVS: 0302D4F392 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR0301MB0907;23:/FBDoUEC2Bps67aRbokB+bcKBO9hO0F8jASYmBp?= =?us-ascii?Q?U8fYO6Iax+U0ISxPbu+q6/jROx/q3X2l4o0OdCiE7oji9NSt+gmEAqwMDBw+?= =?us-ascii?Q?nrO4x+BUDFV7GEt0/ngxSpL9SIuoRBYV2haSGDyuQec0lYUVlHHjiPkl+sol?= =?us-ascii?Q?3ZuyrC/0/SZnT5Zhh0jSZX6exX5ihierKw+lrNZJTb5pRXfVTRdIbNb5DdZ2?= =?us-ascii?Q?eHkB1B3uvX0B+spXp38hvMW3KXXeyX9/+qv7WHR0LOWYkicuDlGenPlN2GzI?= =?us-ascii?Q?FDIKhIgvkCM3LHxHOIX269Pn2slQXVrIrRO/+UjRAyfcATDRvf4kUj7H+HYM?= =?us-ascii?Q?dejG3L5cHsz20Ts+9C8RacKRLIglGU52esBTFuMO+s999MeFiapLzHoGlV02?= =?us-ascii?Q?IVrzJTuWH9/gcIwdynvbF5kEuDd+QWaxnkh6asHQMC1Kt3Xs+y+omS1OVosm?= =?us-ascii?Q?2QJG1aVu7R/29ufg1Ro/AxMz6Yu8fuKe7vD6p0htiV4cGAj4FrRWywBpPbnF?= =?us-ascii?Q?7XTiBWaOTPPx7rj4JvEMP8iy0oHQiKvUj+IZlL9Q23XHHHBtgifAjW5lCVQ6?= =?us-ascii?Q?ZcWWnO8J4G20J23frEhtj76B5KOdXSba9VoFBKsMeKF+trq706jkxyBgmOJC?= =?us-ascii?Q?n8rdbxdY8DXeNl6Uml1RAhHgm+Hc0WqQKkyMtGe76ivCdJ1s/0wZZ0Y5lYcb?= =?us-ascii?Q?68QZ5imcQDXKhwGKTxailXsMn5JBsEndGNbeBgBYWXUm2S/mydWNu0LuMyeW?= =?us-ascii?Q?um1tmfg0/Lk7V0olCULcjSjXS1og1DG3sPun/pKYOBIoqhpCwMoNsmYtJew3?= =?us-ascii?Q?GDfveRJyZpX70+znO27YLtPfGKKYWtwXwfDdzmU2h7aNbYSEOfAUA3DeIOlC?= =?us-ascii?Q?PpG65tn4M81iBDKmWguEqm7opULV/LT1OuU6A3ztAMENX+jxwbTZfjW4uAul?= =?us-ascii?Q?4zf0OsQZ1mDd1cumwZuX6VoKQ+XiOMSF6EziAZIkP44NSj1MwZCVofmelolX?= =?us-ascii?Q?F+twgPe9ZqSOyCV5jYKm6YI0O9cdxUlQOcs5eNsu/Y/pl+TLvYqrumwkTgib?= =?us-ascii?Q?AB3MoAdGi7ZPVI5g9K1dppsL7ucaxuRn4rhI/WrsPMlOZDaQV9arWi/JTY7J?= =?us-ascii?Q?SCUnq9UCtkhpVzxK4X81n+ujtdLnnlL4QPzLmSBqd6tOJsu9SS1yBzUsGlva?= =?us-ascii?Q?fQWHhFh+xUIk4qjjxtX0dCkAuGKFLWzEqyXKVxET1HUZgDPBaKhL+2RNx4ur?= =?us-ascii?Q?vRT06KH/CDsiDA1tFrn4=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB0907;6:2EIOpPRPPSRTXPBmyUqWvViqWMU8sKNxhYG6/odABiFdKKVzADYyBJx9u6/KqeBoNhYuxfmnrtwESgmOHAqnRAhPBZRfD4CBXRPOzuxrIIw34gzWyoDi1hRwaCcyAIr8u9nyIQ8dOQpd1QPHYr7hrd4FOmuuPZHaGULs1Y+GmZ41IbC8fZ0odBo+Ud9d0Ann+9fakz5P0jCkwwMwd20IXEuOwIWNLp+zxVA8SaN3OebO6ju+2vVj4smiaqD2cI9uvdXPqhzh/8MsHryvWDMcOcHXvj74keYLkUadl9FFgqucM1p/SKJErrVxfTCVjU/+mgkIltDhZylxDqlOwb00/5g6kUn3Bt52SROwb8aSMKXhp6vEh5XVlPSb4aBB4AOFf6iKrv8PyM321QoeuxXZeMhkfaM8XRXrqMMNNCWuN2AMDTFkr73Vc3EmYCi1BYfmulw5ASHDQv6u6Z30D+Unh4P2llkLAXVx/6r70mvGO+KJOyjIQYWDL9Q/LE2YGdG5;5:vm+KU58NxcP78Mf2MrOlf8hbWoOn8u16KFECKqVGt7nYsvzXsovWnNZqGI8f9rVi7szcCANBdQ0h+kGUJKEBHqtvFJVHRm8hAw+NkBWmBIufKXfNXsrfoIB9nyUE263Z7j48eu1oO7Ni+zg4GqiMXsTd6iZwSfyZNV3T8e0Yw/l8gq/77SBCyLPCeclmQMLf;24:WNf6mF0z6dY35PXCV6BLS6pVY/yuFcDQ3FhymRTg8ZrqPDKccmEcditqfSnS6iWQ6QIp24uxh/y+BfVjxKZWINwsbKyVzRl9Py2a8hcOWVM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB0907;7:jA9/x1+pCvNzXM6dJ0XTyDukixwuQ7vX5p9Ukyl6ShcVVV45vZDdYmj06Fr4Nij58M2GkcX9911RkHHlOwkRxqGQ1AuNtcTlbz0k5/Yk1A4Rd5aPzotn4njUT+yz3kNWtmvk7xYFXYZpdj4YtakAif+T+ICIgj9W97ZS7hbhOoIcUNKco2FMR9zmH4M1qsPhvksaoFyT/7gImIGeVglKmlyUAowU9H3JDUSS4cZPWAxiqglId8bHFxSmqpy905UV1ND9jDklD3u1nJRq8uAxN3arKFc6uJbKQ9YakTOQSbYCUj7dUPbCFs9x+PoRNGUxEpQN/mUJrXYsTbfzIRCCFQ== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 May 2017 07:51:07.6029 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0301MB0907 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is used to dynamically check the SoC specific lpuart properies. Currently only the checking of 32 bit register width is added which functions the same as before. More will be added later for supporting new chips. Cc: Greg Kroah-Hartman Cc: Jiri Slaby Cc: Fugang Duan Cc: Stefan Agner Cc: Mingkai Hu Cc: Yangbo Lu Signed-off-by: Dong Aisheng --- drivers/tty/serial/fsl_lpuart.c | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c index 15df1ba7..cd4e905 100644 --- a/drivers/tty/serial/fsl_lpuart.c +++ b/drivers/tty/serial/fsl_lpuart.c @@ -258,13 +258,21 @@ struct lpuart_port { wait_queue_head_t dma_wait; }; +struct lpuart_soc_data { + bool is_32; +}; + +static struct lpuart_soc_data vf_data = { + .is_32 = false, +}; + +static struct lpuart_soc_data ls_data = { + .is_32 = true, +}; + static const struct of_device_id lpuart_dt_ids[] = { - { - .compatible = "fsl,vf610-lpuart", - }, - { - .compatible = "fsl,ls1021a-lpuart", - }, + { .compatible = "fsl,vf610-lpuart", .data = &vf_data, }, + { .compatible = "fsl,ls1021a-lpuart", .data = &ls_data, }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, lpuart_dt_ids); @@ -1971,6 +1979,9 @@ static struct uart_driver lpuart_reg = { static int lpuart_probe(struct platform_device *pdev) { + const struct of_device_id *of_id = of_match_device(lpuart_dt_ids, + &pdev->dev); + const struct lpuart_soc_data *sdata = of_id->data; struct device_node *np = pdev->dev.of_node; struct lpuart_port *sport; struct resource *res; @@ -1988,7 +1999,7 @@ static int lpuart_probe(struct platform_device *pdev) return ret; } sport->port.line = ret; - sport->lpuart32 = of_device_is_compatible(np, "fsl,ls1021a-lpuart"); + sport->lpuart32 = sdata->is_32; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); sport->port.membase = devm_ioremap_resource(&pdev->dev, res); -- 2.7.4