提交 2149bcab 编写于 作者: L Linus Torvalds

Merge master.kernel.org:/home/rmk/linux-2.6-serial

...@@ -2595,15 +2595,11 @@ static int __init serial8250_init(void) ...@@ -2595,15 +2595,11 @@ static int __init serial8250_init(void)
if (ret) if (ret)
goto out; goto out;
ret = platform_driver_register(&serial8250_isa_driver);
if (ret)
goto unreg_uart_drv;
serial8250_isa_devs = platform_device_alloc("serial8250", serial8250_isa_devs = platform_device_alloc("serial8250",
PLAT8250_DEV_LEGACY); PLAT8250_DEV_LEGACY);
if (!serial8250_isa_devs) { if (!serial8250_isa_devs) {
ret = -ENOMEM; ret = -ENOMEM;
goto unreg_plat_drv; goto unreg_uart_drv;
} }
ret = platform_device_add(serial8250_isa_devs); ret = platform_device_add(serial8250_isa_devs);
...@@ -2612,12 +2608,13 @@ static int __init serial8250_init(void) ...@@ -2612,12 +2608,13 @@ static int __init serial8250_init(void)
serial8250_register_ports(&serial8250_reg, &serial8250_isa_devs->dev); serial8250_register_ports(&serial8250_reg, &serial8250_isa_devs->dev);
goto out; ret = platform_driver_register(&serial8250_isa_driver);
if (ret == 0)
goto out;
platform_device_del(serial8250_isa_devs);
put_dev: put_dev:
platform_device_put(serial8250_isa_devs); platform_device_put(serial8250_isa_devs);
unreg_plat_drv:
platform_driver_unregister(&serial8250_isa_driver);
unreg_uart_drv: unreg_uart_drv:
uart_unregister_driver(&serial8250_reg); uart_unregister_driver(&serial8250_reg);
out: out:
......
...@@ -940,6 +940,7 @@ enum pci_board_num_t { ...@@ -940,6 +940,7 @@ enum pci_board_num_t {
pbn_b2_bt_2_921600, pbn_b2_bt_2_921600,
pbn_b2_bt_4_921600, pbn_b2_bt_4_921600,
pbn_b3_2_115200,
pbn_b3_4_115200, pbn_b3_4_115200,
pbn_b3_8_115200, pbn_b3_8_115200,
...@@ -1311,6 +1312,12 @@ static struct pciserial_board pci_boards[] __devinitdata = { ...@@ -1311,6 +1312,12 @@ static struct pciserial_board pci_boards[] __devinitdata = {
.uart_offset = 8, .uart_offset = 8,
}, },
[pbn_b3_2_115200] = {
.flags = FL_BASE3,
.num_ports = 2,
.base_baud = 115200,
.uart_offset = 8,
},
[pbn_b3_4_115200] = { [pbn_b3_4_115200] = {
.flags = FL_BASE3, .flags = FL_BASE3,
.num_ports = 4, .num_ports = 4,
...@@ -2272,6 +2279,9 @@ static struct pci_device_id serial_pci_tbl[] = { ...@@ -2272,6 +2279,9 @@ static struct pci_device_id serial_pci_tbl[] = {
PCI_ANY_ID, PCI_ANY_ID, 0, 0, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
pbn_nec_nile4 }, pbn_nec_nile4 },
{ PCI_VENDOR_ID_DCI, PCI_DEVICE_ID_DCI_PCCOM2,
PCI_ANY_ID, PCI_ANY_ID, 0, 0,
pbn_b3_2_115200 },
{ PCI_VENDOR_ID_DCI, PCI_DEVICE_ID_DCI_PCCOM4, { PCI_VENDOR_ID_DCI, PCI_DEVICE_ID_DCI_PCCOM4,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
pbn_b3_4_115200 }, pbn_b3_4_115200 },
......
...@@ -1992,6 +1992,7 @@ ...@@ -1992,6 +1992,7 @@
#define PCI_VENDOR_ID_DCI 0x6666 #define PCI_VENDOR_ID_DCI 0x6666
#define PCI_DEVICE_ID_DCI_PCCOM4 0x0001 #define PCI_DEVICE_ID_DCI_PCCOM4 0x0001
#define PCI_DEVICE_ID_DCI_PCCOM8 0x0002 #define PCI_DEVICE_ID_DCI_PCCOM8 0x0002
#define PCI_DEVICE_ID_DCI_PCCOM2 0x0004
#define PCI_VENDOR_ID_INTEL 0x8086 #define PCI_VENDOR_ID_INTEL 0x8086
#define PCI_DEVICE_ID_INTEL_EESSC 0x0008 #define PCI_DEVICE_ID_INTEL_EESSC 0x0008
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册