mbox series

[v2,0/2] serial: 8250: Correct basic issues with the PCI blacklist

Message ID alpine.DEB.2.21.2202121646020.34636@angie.orcam.me.uk
Headers show
Series serial: 8250: Correct basic issues with the PCI blacklist | expand

Message

Maciej W. Rozycki Feb. 12, 2022, 5:30 p.m. UTC
Hi,

 This v2 of the patch series adds missing filler member initialisers for 
blacklist entries using the PCI_DEVICE rather than PCI_VDEVICE macro that 
cause "initializer element is not computable at load time" compilation 
errors in some configurations, which have escaped my verification.

 An upside is I have noticed PARPORT_SERIAL (or indeed PARPORT_PC) is not 
selectable with numerous PCI platforms like RISC-V meaning that PC-style 
PCI parallel port hardware cannot be used with them even though there's no 
reason for that.  The only PCI platforms that actually cannot make use of 
such hardware are those newer PCIe systems that have no support for I/O 
cycles in the host bridge with the only actual specimen known to me being 
the POWER9 PHB4 device, so we ought to enable PARPORT_PC/PARPORT_SERIAL 
support for PCI systems in the general case.  I'll post a fix separately.

 The original cover letter continues.

 In the course of investigating whether support code for OxSemi PCIe UARTs 
could be factored out from the common 8250 PCI UART driver, which has been 
previously requested by Andy (cc-ed), I have noticed that the Kconfig help 
text for several device-specific UART drivers previously factored out is 
incorrect in that it claims that those dedicated drivers are required for 
extra features of the respective devices, while actually the blacklist 
entries within the common driver make them require those dedicated drivers 
even for standard features, as the common driver now refuses to handle 
them.

 Also it may be unclear for the user from a specific PCI device ID of an 
affected PCI UART device which dedicated driver has to be configured in to 
handle it, so make the blacklist entries include that information to be 
printed if a device is encountered that cannot be handled because its 
dedicated driver has been excluded from configuration while the common 
driver refuses to handle it.

 See the respective change descriptions for further details.  Please 
apply.

  Maciej