From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1763677AbdEWLox (ORCPT ); Tue, 23 May 2017 07:44:53 -0400 Received: from mail-sn1nam01on0060.outbound.protection.outlook.com ([104.47.32.60]:49472 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1763659AbdEWLok (ORCPT ); Tue, 23 May 2017 07:44:40 -0400 Authentication-Results: spf=pass (sender IP is 149.199.60.100) smtp.mailfrom=xilinx.com; lxorguk.ukuu.org.uk; dkim=none (message not signed) header.d=none;lxorguk.ukuu.org.uk; dmarc=bestguesspass action=none header.from=xilinx.com; Subject: Re: [PATCH 1/1] xilinx ps uart: Adding a kernel parameter for the number of xilinx ps uarts To: Alan Cox , Michal Simek , Rob Herring CC: Sam Povilus , , , , , , References: <20170520022154.6766-1-kernel.development@povil.us> <20170520172008.5a979e8a@alans-desktop> <517d864d-d230-3abc-eb3c-4b628dc4625f@xilinx.com> <20170522192636.5b578d89@alans-desktop> From: Michal Simek Message-ID: <1668f36e-f9be-7008-004a-e467a6813e0f@xilinx.com> Date: Tue, 23 May 2017 13:44:24 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <20170522192636.5b578d89@alans-desktop> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.1.0.1062-23086.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.100;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(39850400002)(39840400002)(39860400002)(39400400002)(39450400003)(39410400002)(2980300002)(438002)(24454002)(76104003)(199003)(189002)(9170700003)(50466002)(23676002)(106466001)(2906002)(77096006)(31686004)(63266004)(9786002)(54356999)(54906002)(76176999)(50986999)(64126003)(81166006)(356003)(8676002)(65826007)(6666003)(2950100002)(5660300001)(305945005)(4001350100001)(229853002)(36756003)(65956001)(38730400002)(93886004)(8936002)(47776003)(189998001)(33646002)(4326008)(86362001)(230700001)(53546009)(36386004)(478600001)(31696002)(83506001)(107986001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR0201MB1914;H:xsj-pvapsmtpgw02;FPR:;SPF:Pass;MLV:sfv;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BL2NAM02FT034;1:CXAihkbtON9ajVzsFxuT83iQwD6bgmOl0j1LcSqbF0mELlU6XZ5lXkzVa+x07Zg7nbjoEkGO5XWro7m+vNf9jpBpRGOT5LABTvdh3+kOyA5i66RCUObkhTs4rNeZWbze4Yvfb6nJepiyj12q/ooSj3sOV0ECpM/s4lAtmZEa1CQRLKQE+KvUG+1SroRsPNUPyoUgZzc+4/9lIftlkTJILcU4dgpiGOQdPnJ34OzGmlEKAjE7HL3a3hOxANQiKJUOkFk2DCS9fXl+XfnhQFUhvHLC16BMLba/UvDHgDyJJVYVtwUGNWYtjB5ai9xL0enhza6DTezQc1KJcqIOf0AOq+Q2LPGHYCOUT05Po1baUvtozZUoBOj186CBvfQBPS09zQcE+mw5sBnOUd9xW/zd2HTy5H9O3P3LTuzt6vLCBoPgnUxCej67IoKpKNmiiqgC0GodqVSPnUtIPUpvPNtb33Tkf+xE5BEBtuB4CoY24T5GOsDnu0QvGhBItgg3tp0JPQjfCK38F/li3NtBBhsMiO6L+TMQpGucmwWKOjZlaLWAfBNRWPt/yepRUwI8wvv5 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY1PR0201MB1914: X-MS-Office365-Filtering-Correlation-Id: 738d9674-5aa4-402f-1028-08d4a1d116f4 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081);SRVR:CY1PR0201MB1914; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0201MB1914;3:0RPHx/frA6mRaFM99O7a0v49cDeYtNoThRq68sdMJhYxfdzVAKhX157Bq45NPryRkoAFTBJL50AIgdBrqSaFHRuFKl0tG+yT1LB/c9F5cqSfDoAHpV49UDT8Jf63K89pqTe1URTBUUt3pTiTdunpR/bIBZlIflmpL0/YTTeBaH/enRHbc9K7qNeU+AYlyMAwfM+pjuEd83LgFoJarDZEv/6xeW/78hTkeRgLTNr4qmnPv2W4nioVChaNKLIHtvA4K1bdYZ6UQAKQ67QsZA7+DscjokM0cddfF8XIx1kqlf8GP3aFpOgSFJJc3LScqtQ8s/0x8JHpmhZRQwre4NnnF2u3MmEK+qisn+OdQ1o7mg5y9jwa1GZBfKFeIfj4+wUkCBWlAthp1ChGAXpXn+UfPkEIlgmKsQbYWFHxPhYttw1x8EVNhdoGlbYFSdGHDiu34W2Z6OpFd/Urv8tgmH7PvlnSPdXu1VucpcnCTIzq4RpY46Gn7cTYKIydejaJHFs3 X-Microsoft-Exchange-Diagnostics: 1;CY1PR0201MB1914;25:m8Ad9HKAhJwa3eSLEj3Ff+B0qEAxhGPYNrnrNtaRtZ7Bz3rOYyVUbil9seWAvr2HAv82bADbkVF36eGRjaKE4v20ckd2AODmqLhzn4X6P93lwxcQClKEeoG7ePH1AnadtxZz+h7rK/KZXLWi3C3gzsGR8+7Nio/jOVuOvlb7TuFOAJjZxJkZeGY9Ahosn9ZcGBu47cN9bMhyO1vDA8jcGvYDS94vyW/49uyWzHmQaVqCmc22CHRn3AIp5Cy5zIh6nSK+5Wcrq1q+Lt5+kG+J/MkE4hh/kLttWlTsgAYqNYjZMU7rP8UWJqNDzzadIdlfy8sOD/psqs4ILPJIvH/fne8etUPuwoBZlCc23k9iO1bvx29gQuuo+xywT4uiCodY84WiIUhlGZElXhUjzZewpSiPs8KKsbWJxo3J3DidOqwRV4r5+Z6TUUn309xPll8TWU6V02d6HpPrKT+/jC14J7IDrliUwKaz/EQiVT3TZWM=;31:iwsVFrMLdbASLLz6ZlSMl5eU9Q9+IMKS9/t+IV+nYyH8LKbkgHdJKt2hgmNoefI0O9CTr5bugNldEVoVvOy4lcyvDNm95BOcbWfwqUvyCfb3DeeHbgllWd4RvBMM4UVBDKTjyLqPzRU1ABkto0eQeuwj9DEjKmErqvMrEXpR7QCCpG3uqzYkic3rcK8ok2vaDlpdpfClWsWekemokDhB7mJ23gZHVGQayaLtgRcVkLf7yMO57ta963R+0OKzPpJbpsqChV9bbWceYUCmTwZXQw== X-Microsoft-Exchange-Diagnostics: 1;CY1PR0201MB1914;20:JRUCZCH5mvgM76om7s2EQuMoSggj8F5g7IYdomfz4ddrYAmy2eDReqn1hE/KQiZmUxlu+NL4Ps3oR4o/fAf252ufLMIrEjasbh6hPK1Qfn8mb8Lmsdo9XzRXe5xZfVaOX1zLarZG/VBrgFQoIaQnkp8zEq50GTG6Vh1eGOD97eqmJr0X+r0MZMhpZ0EQ+WdRgQf9G8WOn2FmA35EQyahuROxeL4agRC2vcFJCFiClhjWaeJ1mj7vimTa2Ld1UuKMpPYoSv3pOlOkMOPgJlJzQc6LNkj6Mlk+8ATvj6GVkpjxM5KmjqdTI157zkKE4ESPty1wu33pV9fb1iFrcctCE+3VCrZ+B9joISFT1Zhq5+w7v16hhl6kCknFsZNq+Jcq87nHQgn3mjlp4v/OCQFtRIKndfyWA/5mhff96Jkcbv5dZZuJJIQekI8xDKX/+s0P2h7yAKdqh3magyPuUTKe8rNw4Q1FuYw5hMjzAtnYZCq8zAnEtxZMfC8QJHB2N4Sj X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(13024025)(13023025)(13018025)(5005006)(13015025)(13017025)(8121501046)(93006095)(93004095)(3002001)(10201501046)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123560025)(20161123564025)(20161123562025)(20161123555025)(6072148);SRVR:CY1PR0201MB1914;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0201MB1914; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0201MB1914;4:bhe0FXkCDc6ITVOboz8+O1nEvToTJKyn0TvAsENgXPnSeMnHUanq8LSovQf2fgcEQ4Y6J/b9WnHk6t+1G/GXEwkkeDzI6L82K+ZTLMPxhQi9mgcufnAoDlC2pDj2DzeVPnoyygtfDwzXkCEScguDYWHLYByreYfIYwDARFzxUlY62xkBRuFQB7pam/eWEsU1mJmDi69/4XF05IN31cm9QWzolnUm1Rw76iGnDZrGmGFc3ZYiAK455nuXRHU4ZwJrI2GXt2oYSU0vTeUwcjaWzDFsetdTiU+qJ+T8R6pQd4mGBcI3IfohugSuiCM52m87A8NtJAuVLmIL5Kx0E7+GDXc3h1Cy7Sy/7T6fY3XjCemoOQYd4GpXR0UyGiVFz4pFOt33ztIiJdnEymlg6yoq5RtmzTuNl6VQtxOEwHfpSVFNn1/mZuxWG2ekerZptjNz0DXFiYLICeWKWlVnB48Kwo1xed3OHptnPMFbWKken8e0QYtW8OHNYzVaBUFD3KgtzYIj5sgu+lRs80RAndcWrgVELv42++jobREZlLMeuI0IfB0/d9cn6Lt1JbHRF78t1CQ+nX2eO1qCPjzhzYTxK4OTQkQHXmMCRyAEYmofg18CJ5axXGwYKaMCSDemmGg38TV4OfiIhThKMjNEFtYuF95HVE9Ccc6Ar8+cqvRs5vvfV6xlh7cTY/foeklZjKL6HVENc1t4TXR9lnR8CU4cmeXEOrCLruzAICg1Jpa9YYyY/l/7M7U1g4YVnKacvA869fwuKIjgmk8iuPCmeQ/8xRPEUpGRE9ECk1a9wPJM6c5BfMgisTnyXAGpBueXuOE4sVQVSyqFxhJHSfGDv7cCkG/RXeqPYLMwUyTv3BtnvyUVDqLec2VGcaw2WJ61pPvEitmAxLVY3wkqRXFbBBXVUg== X-Forefront-PRVS: 0316567485 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTFQUjAyMDFNQjE5MTQ7MjM6cndkVWpXeEZZVGQxV3N4YVYzWlY1ektq?= =?utf-8?B?ODlPNTYrNXBwSkl4STVXbUprRkpYMFFsVllQVkxwMWpOYkxqMVdIQXM5elll?= =?utf-8?B?T0VGQUlFY05USDZDVGdNNzJZY0l5TndJeXNqRVNVbWNTQjI2YVRTKy9VakRh?= =?utf-8?B?YkRQSUI3WEJRS29wOEIvSDg0KzlGNjlvWTRRRzl3MkU2dHgzR2Y5TVp2RWkr?= =?utf-8?B?U25RdVYzWmNHOWEzcmU4ekw3dEcweS91YUs3aWxJSGcvRzMyc1dqVURMWUZq?= =?utf-8?B?YW1KWUthY3M0OENoNVhqVENKcnBXQnAxOXdyMHo3RjNvOUlpUVpZMlBOM05G?= =?utf-8?B?TXdSWG5veHpWVWlWRWJYcEFUMEtyZldkYUNSM0hKL2QxczNCeVBPbWVQd1pp?= =?utf-8?B?MndzSGhXSVdXZXZCamFLVnNHRFdmRjdyUnlUWVNkL1B6RTltbElHK2RCYitR?= =?utf-8?B?K3BkeWIyd0hWc25IN1pya2svMzI5WFBTZjVvS1VhS2drK0tVT21uTFFKTEUx?= =?utf-8?B?NFRJWlBNZTdqTFRGV0ZpaG1Xdy9UNmFrK3JCVCtpc3pxZXhPeURBcEFGa3l2?= =?utf-8?B?SFFYa0lxU0c0ZlJ0QklEdHFXMDZSMkx0MHdzVFVLU285bU9OeTFyeUtodm9L?= =?utf-8?B?ZGNCZVo3dWZVRytkTXhQbldrQzErVU1vWkh3K2xMYUdpdVFaRVRlcG9lbFQx?= =?utf-8?B?YXBoWEVsbFF3ZTUxMlZwbzZ5ZktTcmFwYXBuK2UyR08zNjlCWm5VRGFqbHps?= =?utf-8?B?cmNQZFBxcE5KcVpPcHUxWEovM0N6ZzdMWWkzN1FObDZSVzREWnhTYlVDTGR5?= =?utf-8?B?Y2xJNVFMbHRvSFdidXlsZ3c0OTBpL3FaSUM5ZGg5N0FWcmRHT25zcUpxWWcz?= =?utf-8?B?RzdYR2xyd2R4d3lFWlVac3I5QmpxSU16QzAwSC93ZHBRZDFHTlB1QVp0TUt3?= =?utf-8?B?UEFCOFgwSlFaT1U0dFlXN2dTRi9kYlZ4SjV5SnFSRC9yUG83VVBCWHpDRnhn?= =?utf-8?B?U0xpZEprTXFPUmtUbXc1R2tQQjhGamRHN2QyM1ZNbmlTeThIYU83MU9zL2RJ?= =?utf-8?B?YUdlUWNrMnJqQUtMalQ2ZnR4U3BBSkErLzJIcUxEa0x6ZzNIRkJSYi9SSWpV?= =?utf-8?B?RkZYd0pURGdIaVRYYVVGTGlMR0NsUmduSEM1Q0twWUVMWE1Cek50VU0zNTFK?= =?utf-8?B?SEFtbW01Y3pSQm45QU1tend5Z010ZnRnQ3JKWld1bFBwTWU4L0kvdW84NnBS?= =?utf-8?B?dUFaV3laS2Zyb05IQ3pkeStRZmttMWtkeS9WdTVTTlltY2l3YUwzS2xudkZF?= =?utf-8?B?QS83WEtaV2JHaUtHcmRVR0xrSGxrbHMvOWR4MzVqRjBJa1BablJCdERsVmRz?= =?utf-8?B?N1doVzlqYVAwNlM4VjY0THFVTVZHMFhXcEk3RkFDTll5SUJCV2VUWmJraFBs?= =?utf-8?B?WmdoZWUySUc1V0JJaWNiUEtSTTZFa1RyaFRvRFhQaC9hcHMxZGYzRUFNbGJJ?= =?utf-8?B?UDFGM3pxUkFrL0Q4YnVrdTgxU2hOcmV2eDUyMHBHZSt4aUZUY24vWXM5cC9p?= =?utf-8?B?WFV6U2Y2MDdWRytQSzdCUDAvdE4wRmNibEpJbjIxZ01nNlRoYnVhbGMrd280?= =?utf-8?B?NW1rdGllL0VFNUJUbVE3QVNFUUdSVWhWQ2VxVC8wWmhkVmcyeEtBeHZCK3ZX?= =?utf-8?B?aW5kRDh0bHFRYnozVGcxTlkxdnZZdjNEczlIbGRhVjVRMzJzakpPcytORE00?= =?utf-8?B?RVMxTTVvSDdkdDE3VHFXdEdSYk94SVYxbWp3c0IvUkd2WUJ4eHAxYXUyT290?= =?utf-8?Q?dCj1k9ZyqIXSRZ4?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0201MB1914;6:tr9JtXhMp6DQ1RmjuVbK6ZCmBe1vdWYHsT+Q3g3qB6BvcxbCtD/3JZLbzd6v1De06pWYEhukS+mD8RA2SGfGFC7/9LrLAgBzVAKGB0wPm/y9umyFZe8doqp5qlh/mIIAZB3+sMklpvNpOYdLYV3PSucAGwaGtnXYWAAvFn6/WWxo9Gfq58ggSQdQyUaK1duZVN7M3OC1Llniu58e04DxMlgtvN2B1xMudzJ9g+NtKRFuuiWfQ32TbvSRS80AsTVn5qFG6y5Kl+xlgKzPbmLV6u78HZL0h6YMzeuQzGLWKT1k5yK/7u3WxMnIZslA7W5q7aGTINQMwZNLxH63qSy6WA1XOsTbu5Fe2cDGxKsm8Ltf3/7l64nqNYpWXfWFqBqF+GPe3n39r2ejKQyliFKMXhtwxb2kJ6nqBi7C2g/PwoFTuwnLETnb65nHVWAEQ/CsDwoFzP1sJXqBc6SvKQRqUT081sQzIgoo0buDJwOjGhU+LpyBxKDQ6T26ob+GrkXGQeCgUa3YMKGNK2aLwodlhBVnyQHy4p42DTIscyaOfMU=;5:xh0Ny43A+tiqFtiAUc9Alch7Hvm0I9uPZYn4k1TJXG4lEOPoXgL76nJay+z6bqmM5XLsGBwNkAw9xx/ojyFYmNWhn8e2e8iEktZAc9A/J7FbntaMB+pgU7Ki4GghCk7SJvvW5/o7xv+o/52f0NSadA==;24:vWMV2L1LMVUFDyncXdMkq+nGV/DCZc3WmZ8WdaIvB0U0+KR8IKaaKTkWcWFXmARMDtReh62tjwKXHtc5rF2pqmkM+G1BYcTJjFIC/fHrA2U= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY1PR0201MB1914;7:5Qw1EHEiJsIDM+VANymZucrvyLJ6w5LoV2MjI7fkubuPPR2bxf2h/2BQb08M8XLaUJW1+fmKzaNXHVBEHDKX0SYagYltkXP2SUW1MMnmkweb4ZNFDvr6qXgYYb5HMHD0xfytW34iDGr3aRpkbdxWRsTbSv8okYWFl9VdWz/10oJ6tAJL2fEQSpIiohgBNeeqr7Onu3GnOYs+eQCD3qskmSV/FmvAtKsoyvVhXcISTdIw3/BQjOgI3sJHv3EoN3wElUAU8jSOly7WQ8lSgZnn9SND3jVG3TPS3Zlw5Te4N/re9g/mUTrN/0PVDl985zLB9qr0xr7mh0ieeQgkYpbT+Q== X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 May 2017 11:44:36.9694 (UTC) X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.60.100];Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0201MB1914 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 22.5.2017 20:26, Alan Cox wrote: >> We have in soc vendor tree similar patch but the reason is different. >> >> tty: serial: Added a CONFIG_SERIAL_XILINX_NR_UARTS option. >> >> This patch Adds CONFIG_SERIAL_XILINX_NR_UARTS option to allow >> the user to provide the Max number of uart ports information. >> If multiple cards (or) PL UARTS are present, the default limit >> of 2 ports should be increased. >> >> I haven't checked all drivers but in our case we have added this as >> quick fix for scenarios where you use serial aliases where alias is >> pointed to serial2 or more. >> In cdns_uart_init() cdns_uart_uart_driver is passed which contains .nr >> which is required to be passed. >> >> What's the best driver to look at dynamic allocation? > > So there are quite a few that dynamically allocate the objects as they > are enumerated (eg max3100), but have a maximum set that is just pointers > (so for the max number of ports cheaper than the dynamic code) yep hardcoded max 4 where in probe first free space is found and used (range 0-3) but still max3100s statically allocated. Shouldn't be this also dynamically allocated? > The other question is why is it a CONFIG_ option. I'm assuming these > platforms are all ARM and in that case you could just pass the value in > the device tree, or hard code a safe maximum number of pointers to a > value which is the worst case and then install them as they are > enumerated. I am not quite sure how exactly you want to do this via DT. Also what do you think is a safe maximum number? This is fpga - hundreds of pins which can do just uart. > There are lots of options better than breaking the "one kernel many > platforms" model. Another options is also module parameter and dynamically allocated array in cdns_uart_init. Thanks, Michal