Messages in this thread | | | From | Andy Shevchenko <> | Date | Wed, 21 Apr 2021 22:57:57 +0300 | Subject | Re: [-next] serial: 8250: Match legacy NS16550A UARTs |
| |
On Wed, Apr 21, 2021 at 10:04 PM Alan Cooper <alcooperx@gmail.com> wrote: > On Thu, Apr 15, 2021 at 6:44 AM Andy Shevchenko > <andy.shevchenko@gmail.com> wrote: > > On Wed, Apr 14, 2021 at 7:13 PM Al Cooper <alcooperx@gmail.com> wrote:
> The problem is that when both the 8250_of and 8250_bcm7271 drivers > were running, occasionally the 8250_of driver would be bound to the > enhanced UART instead of the 8250_bcm7271 driver. This was happening > because we use SCMI based clocks which come up late in initialization > and cause probe DEFER's when the two drivers get their clocks. > Occasionally the SCMI clock would become ready between the > 8250_bcm7271 probe and the 8250_of probe and the 8250_of driver would > be bound. To fix this we decided to config only our 8250_bcm7271 > driver and added "ns16665a0" to the compatible string so the driver > would work on our older system.
Interesting reading.
As far as I understand the 8250 approach (*), you blacklist (or whatever naming you prefer, b/c 8250_of seems does not have such) the binding based on the presence of the specific compatible string.
I.o.w. in 8250_of you need to check if you are trying to probe the device which has both compatible strings. In that case you simply return -ENODEV.
*) 8250_pci does like this.
-- With Best Regards, Andy Shevchenko
| |