linux_dsm_epyc7002/drivers/tty/serial/8250
Andy Shevchenko 7d8905d064 serial: 8250_pci: Enable device after we check black list
If the board we are guessing has been listed in black list we don't need
to enable it twice. The associated driver, if any, will take care about
proper initialization.

To achieve this we split out two helper functions, i.e.
serial_pci_is_class_communication() and serial_pci_is_blacklisted() which will
be called before pcim_enable_device(). We can do this since PCI specification
requires class, device and vendor ID registers to be always present in the
configuration space.

As an example what happens before this patch applied
(These are some debug prints, don't search for them in kernel sources):

	serial 0000:00:04.1: Mapped GSI28 to IRQ28
	serial 0000:00:04.2: Mapped GSI29 to IRQ29
	serial 0000:00:04.3: Mapped GSI54 to IRQ54
	8250_mid 0000:00:04.1: Mapped GSI28 to IRQ28
	8250_mid 0000:00:04.2: Mapped GSI29 to IRQ29
	8250_mid 0000:00:04.3: Mapped GSI54 to IRQ54

After we will have just last three lines out of above.

	8250_mid 0000:00:04.1: Mapped GSI28 to IRQ28
	8250_mid 0000:00:04.2: Mapped GSI29 to IRQ29
	8250_mid 0000:00:04.3: Mapped GSI54 to IRQ54

While here, correct a value of error code mentioned in the comment of
serial_pci_guess_board().

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-07-30 07:44:55 -07:00
..
8250_accent.c tty: serial: 8250: Add generic port init macro 2016-02-06 23:15:53 -08:00
8250_acorn.c tty: serial: 8250: Fix whitespace errors 2016-02-06 23:15:53 -08:00
8250_aspeed_vuart.c drivers/serial: Do not leave sysfs group in case of error in aspeed_vuart_probe() 2017-07-30 07:37:25 -07:00
8250_bcm2835aux.c serial: 8250: Add CAP_MINI, set for bcm2835aux 2017-05-24 15:15:56 +02:00
8250_boca.c tty: serial: 8250: Add generic port init macro 2016-02-06 23:15:53 -08:00
8250_core.c serial: core: move UPF_NO_TXEN_TEST to quirks and rename 2017-07-30 07:44:22 -07:00
8250_dma.c serial: 8250_dma: power off device after TX is done 2016-11-16 10:57:26 +01:00
8250_dw.c serial: 8250_dw: explicitly request exclusive reset control 2017-07-30 07:35:28 -07:00
8250_early.c serial: 8250_early: Remove __init marking from early write 2017-07-30 07:38:50 -07:00
8250_em.c serial: 8250: remove the redundant include 2015-03-26 22:21:08 +01:00
8250_exar_st16c554.c tty: serial: 8250: Add generic port init macro 2016-02-06 23:15:53 -08:00
8250_exar.c tty: serial: exar: constify pci_device_id. 2017-07-30 07:35:28 -07:00
8250_fintek.c serial: 8250_fintek: Enable high speed mode on Fintek F81866 2017-03-17 14:17:11 +09:00
8250_fourport.c tty: serial: 8250: Add generic port init macro 2016-02-06 23:15:53 -08:00
8250_fsl.c serial: export fsl8250_handle_irq 2015-11-20 16:19:54 -08:00
8250_gsc.c tty: serial: 8250: 8250_gsc:- Handle return NULL error from ioremap_nocache 2017-01-19 14:20:23 +01:00
8250_hp300.c serial: hp300: mask the warning for people just doing build coverage 2017-01-25 11:08:30 +01:00
8250_hub6.c tty: serial: 8250: Fix whitespace errors 2016-02-06 23:15:53 -08:00
8250_ingenic.c serial: 8250_ingenic: Remove __init marking from early write 2017-07-30 07:38:50 -07:00
8250_lpc18xx.c serial: 8250: add LPC18xx/43xx UART driver 2015-06-01 06:56:33 +09:00
8250_lpss.c serial: 8250_lpss: Unconditionally set PCI master for Quark 2017-03-31 15:36:54 +02:00
8250_mid.c serial: 8250_mid: set PCI master only for DMA capable device 2017-01-19 14:20:23 +01:00
8250_moxa.c serial: 8250: moxa: Store num_ports in brd 2017-01-12 11:51:25 +01:00
8250_mtk.c serial: 8250_mtk: support big baud rate. 2016-08-31 16:01:26 +02:00
8250_of.c serial: 8250: fix error handling in of_platform_serial_probe() 2017-07-30 07:35:28 -07:00
8250_omap.c serial: 8250: 8250_omap: Fix race b/w dma completion and RX timeout 2017-06-29 17:03:10 +02:00
8250_pci.c serial: 8250_pci: Enable device after we check black list 2017-07-30 07:44:55 -07:00
8250_pnp.c tty: serial: 8250: Fix indentation warnings 2016-02-06 23:15:53 -08:00
8250_port.c serial: core: move UPF_NO_TXEN_TEST to quirks and rename 2017-07-30 07:44:22 -07:00
8250_pxa.c serial: pxa2xx: mark PM functions as __maybe_unused 2016-11-10 14:50:46 +01:00
8250_uniphier.c serial: 8250_uniphier: avoid locking for FCR register write 2016-11-10 14:30:09 +01:00
8250.h serial: 8250: Add CAP_MINI, set for bcm2835aux 2017-05-24 15:15:56 +02:00
Kconfig drivers/serial: Add driver for Aspeed virtual UART 2017-05-18 16:19:16 +02:00
Makefile drivers/serial: Add driver for Aspeed virtual UART 2017-05-18 16:19:16 +02:00
serial_cs.c tty: serial: 8250: Fix multi-line strings 2016-02-06 23:15:53 -08:00