Re: [PATCH v5] serial: support for 16550A serial ports on LP-8x4x
From: Sergei Ianovich <hidden>
Date: 2015-12-19 08:11:31
Also in:
linux-serial, lkml
On Wed, 2015-12-16 at 11:26 +0100, Arnd Bergmann wrote:
On Wednesday 16 December 2015 11:04:57 Sergei Ianovich wrote:quoted
On Tue, 2015-12-15 at 22:51 +0100, Arnd Bergmann wrote:quoted
'x' wildcards in the name of the board seem important. There aredevices made by the same vendor without 8 or 4 in their name. Those devices either are not shipped with linux or are base on a x86 platform. Does this justify the choice of the compatible string?What I meant was that you should use the specific numbers of one machine, precisely for the reason you list above. If there is e.g. a LP-8040 and a LP-8141 today, and you use lp8x4x in the compatible string to cover both, this will no longer work when the vendor comes out with a LP8047 that is completely different. Instead, what you should do is to use the compatible string to identify one particular board (e.g. the first one that used this setup), and then list the other ones as compatible with this. You can also add the other board names in addition, e.g. compatible = "icpdas,uart-lp8041", "icpdas,uart-lp8040"; for a lp8041 that is compatible with the lp8040. If it turns out later that they are not entirely compatible, we can work around this in the driver by checking for the lp8041 string that will be matched first, while the lp8040 can be used by the driver to match the entire family of compatible machines (no need to list every one in the driver).
I'll try to be more specific. This driver will support ports on LP-8081, LP-8141, LP-8441, LP-8841. Last time I checked the vendor was announcing a series with 3 as the last digit. They use lp8x4x name, eg. in documentation like `LP-8x4x_ChangeLog.txt`. They ship their proprietary SDK in `lp8x4x_sdk_for_linux.tar`. All of this implies that it is a single board.