8250_pci: Fix kernel panic when pch_uart is disabled

Currently, ".setup" function is not set.
As a result, when detecting our IOH's uart device without pch_uart, kernel panic
occurs at the following of pciserial_init_ports().

	for (i = 0; i < nr_ports; i++) {
		if (quirk->setup(priv, board, &serial_port, i))
			break;

So, this patch adds the ".setup" function.
We can use pci_default_setup because our IOH's uart is compatible with 16550.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.lapis-semi.com>
Acked-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Tomoya MORINAGA 2011-10-07 13:39:49 +09:00 коммит произвёл Greg Kroah-Hartman
Родитель a4a77b1af8
Коммит 64d91cfaad
1 изменённых файлов: 10 добавлений и 0 удалений

Просмотреть файл

@ -1591,51 +1591,61 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = {
.vendor = PCI_VENDOR_ID_INTEL, .vendor = PCI_VENDOR_ID_INTEL,
.device = 0x8811, .device = 0x8811,
.init = pci_eg20t_init, .init = pci_eg20t_init,
.setup = pci_default_setup,
}, },
{ {
.vendor = PCI_VENDOR_ID_INTEL, .vendor = PCI_VENDOR_ID_INTEL,
.device = 0x8812, .device = 0x8812,
.init = pci_eg20t_init, .init = pci_eg20t_init,
.setup = pci_default_setup,
}, },
{ {
.vendor = PCI_VENDOR_ID_INTEL, .vendor = PCI_VENDOR_ID_INTEL,
.device = 0x8813, .device = 0x8813,
.init = pci_eg20t_init, .init = pci_eg20t_init,
.setup = pci_default_setup,
}, },
{ {
.vendor = PCI_VENDOR_ID_INTEL, .vendor = PCI_VENDOR_ID_INTEL,
.device = 0x8814, .device = 0x8814,
.init = pci_eg20t_init, .init = pci_eg20t_init,
.setup = pci_default_setup,
}, },
{ {
.vendor = 0x10DB, .vendor = 0x10DB,
.device = 0x8027, .device = 0x8027,
.init = pci_eg20t_init, .init = pci_eg20t_init,
.setup = pci_default_setup,
}, },
{ {
.vendor = 0x10DB, .vendor = 0x10DB,
.device = 0x8028, .device = 0x8028,
.init = pci_eg20t_init, .init = pci_eg20t_init,
.setup = pci_default_setup,
}, },
{ {
.vendor = 0x10DB, .vendor = 0x10DB,
.device = 0x8029, .device = 0x8029,
.init = pci_eg20t_init, .init = pci_eg20t_init,
.setup = pci_default_setup,
}, },
{ {
.vendor = 0x10DB, .vendor = 0x10DB,
.device = 0x800C, .device = 0x800C,
.init = pci_eg20t_init, .init = pci_eg20t_init,
.setup = pci_default_setup,
}, },
{ {
.vendor = 0x10DB, .vendor = 0x10DB,
.device = 0x800D, .device = 0x800D,
.init = pci_eg20t_init, .init = pci_eg20t_init,
.setup = pci_default_setup,
}, },
{ {
.vendor = 0x10DB, .vendor = 0x10DB,
.device = 0x800D, .device = 0x800D,
.init = pci_eg20t_init, .init = pci_eg20t_init,
.setup = pci_default_setup,
}, },
/* /*
* Cronyx Omega PCI (PLX-chip based) * Cronyx Omega PCI (PLX-chip based)