diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/acpi/numa.c | 8 | ||||
-rw-r--r-- | drivers/mtd/ubi/eba.c | 3 | ||||
-rw-r--r-- | drivers/rtc/Kconfig | 6 | ||||
-rw-r--r-- | drivers/rtc/rtc-omap.c | 4 | ||||
-rw-r--r-- | drivers/serial/8250.c | 21 | ||||
-rw-r--r-- | drivers/serial/icom.c | 55 | ||||
-rw-r--r-- | drivers/video/console/vgacon.c | 9 |
7 files changed, 65 insertions, 41 deletions
diff --git a/drivers/acpi/numa.c b/drivers/acpi/numa.c index 8fcd6a15517f..a2efae8a4c4e 100644 --- a/drivers/acpi/numa.c +++ b/drivers/acpi/numa.c | |||
@@ -40,19 +40,19 @@ static nodemask_t nodes_found_map = NODE_MASK_NONE; | |||
40 | #define NID_INVAL -1 | 40 | #define NID_INVAL -1 |
41 | 41 | ||
42 | /* maps to convert between proximity domain and logical node ID */ | 42 | /* maps to convert between proximity domain and logical node ID */ |
43 | int __cpuinitdata pxm_to_node_map[MAX_PXM_DOMAINS] | 43 | static int pxm_to_node_map[MAX_PXM_DOMAINS] |
44 | = { [0 ... MAX_PXM_DOMAINS - 1] = NID_INVAL }; | 44 | = { [0 ... MAX_PXM_DOMAINS - 1] = NID_INVAL }; |
45 | int __cpuinitdata node_to_pxm_map[MAX_NUMNODES] | 45 | static int node_to_pxm_map[MAX_NUMNODES] |
46 | = { [0 ... MAX_NUMNODES - 1] = PXM_INVAL }; | 46 | = { [0 ... MAX_NUMNODES - 1] = PXM_INVAL }; |
47 | 47 | ||
48 | int __cpuinit pxm_to_node(int pxm) | 48 | int pxm_to_node(int pxm) |
49 | { | 49 | { |
50 | if (pxm < 0) | 50 | if (pxm < 0) |
51 | return NID_INVAL; | 51 | return NID_INVAL; |
52 | return pxm_to_node_map[pxm]; | 52 | return pxm_to_node_map[pxm]; |
53 | } | 53 | } |
54 | 54 | ||
55 | int __cpuinit node_to_pxm(int node) | 55 | int node_to_pxm(int node) |
56 | { | 56 | { |
57 | if (node < 0) | 57 | if (node < 0) |
58 | return PXM_INVAL; | 58 | return PXM_INVAL; |
diff --git a/drivers/mtd/ubi/eba.c b/drivers/mtd/ubi/eba.c index 3dba5733ed1f..74002945b71b 100644 --- a/drivers/mtd/ubi/eba.c +++ b/drivers/mtd/ubi/eba.c | |||
@@ -940,9 +940,6 @@ static void ltree_entry_ctor(void *obj, struct kmem_cache *cache, | |||
940 | { | 940 | { |
941 | struct ltree_entry *le = obj; | 941 | struct ltree_entry *le = obj; |
942 | 942 | ||
943 | if (flags & SLAB_CTOR_CONSTRUCTOR) | ||
944 | return; | ||
945 | |||
946 | le->users = 0; | 943 | le->users = 0; |
947 | init_rwsem(&le->mutex); | 944 | init_rwsem(&le->mutex); |
948 | } | 945 | } |
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index 95ce8f49e382..4e4c10a7fd3a 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig | |||
@@ -59,7 +59,7 @@ comment "RTC interfaces" | |||
59 | depends on RTC_CLASS | 59 | depends on RTC_CLASS |
60 | 60 | ||
61 | config RTC_INTF_SYSFS | 61 | config RTC_INTF_SYSFS |
62 | boolean "sysfs" | 62 | boolean "/sys/class/rtc/rtcN (sysfs)" |
63 | depends on RTC_CLASS && SYSFS | 63 | depends on RTC_CLASS && SYSFS |
64 | default RTC_CLASS | 64 | default RTC_CLASS |
65 | help | 65 | help |
@@ -70,7 +70,7 @@ config RTC_INTF_SYSFS | |||
70 | will be called rtc-sysfs. | 70 | will be called rtc-sysfs. |
71 | 71 | ||
72 | config RTC_INTF_PROC | 72 | config RTC_INTF_PROC |
73 | boolean "proc" | 73 | boolean "/proc/driver/rtc (procfs for rtc0)" |
74 | depends on RTC_CLASS && PROC_FS | 74 | depends on RTC_CLASS && PROC_FS |
75 | default RTC_CLASS | 75 | default RTC_CLASS |
76 | help | 76 | help |
@@ -82,7 +82,7 @@ config RTC_INTF_PROC | |||
82 | will be called rtc-proc. | 82 | will be called rtc-proc. |
83 | 83 | ||
84 | config RTC_INTF_DEV | 84 | config RTC_INTF_DEV |
85 | boolean "dev" | 85 | boolean "/dev/rtcN (character devices)" |
86 | depends on RTC_CLASS | 86 | depends on RTC_CLASS |
87 | default RTC_CLASS | 87 | default RTC_CLASS |
88 | help | 88 | help |
diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c index 60a8a4bb8bd2..a2f84f169588 100644 --- a/drivers/rtc/rtc-omap.c +++ b/drivers/rtc/rtc-omap.c | |||
@@ -371,7 +371,7 @@ static int __devinit omap_rtc_probe(struct platform_device *pdev) | |||
371 | goto fail; | 371 | goto fail; |
372 | } | 372 | } |
373 | platform_set_drvdata(pdev, rtc); | 373 | platform_set_drvdata(pdev, rtc); |
374 | dev_set_devdata(&rtc->dev, mem); | 374 | dev_set_drvdata(&rtc->dev, mem); |
375 | 375 | ||
376 | /* clear pending irqs, and set 1/second periodic, | 376 | /* clear pending irqs, and set 1/second periodic, |
377 | * which we'll use instead of update irqs | 377 | * which we'll use instead of update irqs |
@@ -453,7 +453,7 @@ static int __devexit omap_rtc_remove(struct platform_device *pdev) | |||
453 | free_irq(omap_rtc_timer, rtc); | 453 | free_irq(omap_rtc_timer, rtc); |
454 | free_irq(omap_rtc_alarm, rtc); | 454 | free_irq(omap_rtc_alarm, rtc); |
455 | 455 | ||
456 | release_resource(dev_get_devdata(&rtc->dev)); | 456 | release_resource(dev_get_drvdata(&rtc->dev)); |
457 | rtc_device_unregister(rtc); | 457 | rtc_device_unregister(rtc); |
458 | return 0; | 458 | return 0; |
459 | } | 459 | } |
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c index 48e259a0167d..c84dab083a85 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c | |||
@@ -894,7 +894,7 @@ static void autoconfig_16550a(struct uart_8250_port *up) | |||
894 | quot = serial_dl_read(up); | 894 | quot = serial_dl_read(up); |
895 | quot <<= 3; | 895 | quot <<= 3; |
896 | 896 | ||
897 | status1 = serial_in(up, 0x04); /* EXCR1 */ | 897 | status1 = serial_in(up, 0x04); /* EXCR2 */ |
898 | status1 &= ~0xB0; /* Disable LOCK, mask out PRESL[01] */ | 898 | status1 &= ~0xB0; /* Disable LOCK, mask out PRESL[01] */ |
899 | status1 |= 0x10; /* 1.625 divisor for baud_base --> 921600 */ | 899 | status1 |= 0x10; /* 1.625 divisor for baud_base --> 921600 */ |
900 | serial_outp(up, 0x04, status1); | 900 | serial_outp(up, 0x04, status1); |
@@ -2617,7 +2617,22 @@ void serial8250_suspend_port(int line) | |||
2617 | */ | 2617 | */ |
2618 | void serial8250_resume_port(int line) | 2618 | void serial8250_resume_port(int line) |
2619 | { | 2619 | { |
2620 | uart_resume_port(&serial8250_reg, &serial8250_ports[line].port); | 2620 | struct uart_8250_port *up = &serial8250_ports[line]; |
2621 | |||
2622 | if (up->capabilities & UART_NATSEMI) { | ||
2623 | unsigned char tmp; | ||
2624 | |||
2625 | /* Ensure it's still in high speed mode */ | ||
2626 | serial_outp(up, UART_LCR, 0xE0); | ||
2627 | |||
2628 | tmp = serial_in(up, 0x04); /* EXCR2 */ | ||
2629 | tmp &= ~0xB0; /* Disable LOCK, mask out PRESL[01] */ | ||
2630 | tmp |= 0x10; /* 1.625 divisor for baud_base --> 921600 */ | ||
2631 | serial_outp(up, 0x04, tmp); | ||
2632 | |||
2633 | serial_outp(up, UART_LCR, 0); | ||
2634 | } | ||
2635 | uart_resume_port(&serial8250_reg, &up->port); | ||
2621 | } | 2636 | } |
2622 | 2637 | ||
2623 | /* | 2638 | /* |
@@ -2694,7 +2709,7 @@ static int serial8250_resume(struct platform_device *dev) | |||
2694 | struct uart_8250_port *up = &serial8250_ports[i]; | 2709 | struct uart_8250_port *up = &serial8250_ports[i]; |
2695 | 2710 | ||
2696 | if (up->port.type != PORT_UNKNOWN && up->port.dev == &dev->dev) | 2711 | if (up->port.type != PORT_UNKNOWN && up->port.dev == &dev->dev) |
2697 | uart_resume_port(&serial8250_reg, &up->port); | 2712 | serial8250_resume_port(i); |
2698 | } | 2713 | } |
2699 | 2714 | ||
2700 | return 0; | 2715 | return 0; |
diff --git a/drivers/serial/icom.c b/drivers/serial/icom.c index 6202995e8211..9d3105b64a7a 100644 --- a/drivers/serial/icom.c +++ b/drivers/serial/icom.c | |||
@@ -69,33 +69,40 @@ | |||
69 | 69 | ||
70 | static const struct pci_device_id icom_pci_table[] = { | 70 | static const struct pci_device_id icom_pci_table[] = { |
71 | { | 71 | { |
72 | .vendor = PCI_VENDOR_ID_IBM, | 72 | .vendor = PCI_VENDOR_ID_IBM, |
73 | .device = PCI_DEVICE_ID_IBM_ICOM_DEV_ID_1, | 73 | .device = PCI_DEVICE_ID_IBM_ICOM_DEV_ID_1, |
74 | .subvendor = PCI_ANY_ID, | 74 | .subvendor = PCI_ANY_ID, |
75 | .subdevice = PCI_ANY_ID, | 75 | .subdevice = PCI_ANY_ID, |
76 | .driver_data = ADAPTER_V1, | 76 | .driver_data = ADAPTER_V1, |
77 | }, | 77 | }, |
78 | { | 78 | { |
79 | .vendor = PCI_VENDOR_ID_IBM, | 79 | .vendor = PCI_VENDOR_ID_IBM, |
80 | .device = PCI_DEVICE_ID_IBM_ICOM_DEV_ID_2, | 80 | .device = PCI_DEVICE_ID_IBM_ICOM_DEV_ID_2, |
81 | .subvendor = PCI_VENDOR_ID_IBM, | 81 | .subvendor = PCI_VENDOR_ID_IBM, |
82 | .subdevice = PCI_DEVICE_ID_IBM_ICOM_V2_TWO_PORTS_RVX, | 82 | .subdevice = PCI_DEVICE_ID_IBM_ICOM_V2_TWO_PORTS_RVX, |
83 | .driver_data = ADAPTER_V2, | 83 | .driver_data = ADAPTER_V2, |
84 | }, | 84 | }, |
85 | { | 85 | { |
86 | .vendor = PCI_VENDOR_ID_IBM, | 86 | .vendor = PCI_VENDOR_ID_IBM, |
87 | .device = PCI_DEVICE_ID_IBM_ICOM_DEV_ID_2, | 87 | .device = PCI_DEVICE_ID_IBM_ICOM_DEV_ID_2, |
88 | .subvendor = PCI_VENDOR_ID_IBM, | 88 | .subvendor = PCI_VENDOR_ID_IBM, |
89 | .subdevice = PCI_DEVICE_ID_IBM_ICOM_V2_ONE_PORT_RVX_ONE_PORT_MDM, | 89 | .subdevice = PCI_DEVICE_ID_IBM_ICOM_V2_ONE_PORT_RVX_ONE_PORT_MDM, |
90 | .driver_data = ADAPTER_V2, | 90 | .driver_data = ADAPTER_V2, |
91 | }, | 91 | }, |
92 | { | 92 | { |
93 | .vendor = PCI_VENDOR_ID_IBM, | 93 | .vendor = PCI_VENDOR_ID_IBM, |
94 | .device = PCI_DEVICE_ID_IBM_ICOM_DEV_ID_2, | 94 | .device = PCI_DEVICE_ID_IBM_ICOM_DEV_ID_2, |
95 | .subvendor = PCI_VENDOR_ID_IBM, | 95 | .subvendor = PCI_VENDOR_ID_IBM, |
96 | .subdevice = PCI_DEVICE_ID_IBM_ICOM_FOUR_PORT_MODEL, | 96 | .subdevice = PCI_DEVICE_ID_IBM_ICOM_FOUR_PORT_MODEL, |
97 | .driver_data = ADAPTER_V2, | 97 | .driver_data = ADAPTER_V2, |
98 | }, | 98 | }, |
99 | { | ||
100 | .vendor = PCI_VENDOR_ID_IBM, | ||
101 | .device = PCI_DEVICE_ID_IBM_ICOM_DEV_ID_2, | ||
102 | .subvendor = PCI_VENDOR_ID_IBM, | ||
103 | .subdevice = PCI_DEVICE_ID_IBM_ICOM_V2_ONE_PORT_RVX_ONE_PORT_MDM_PCIE, | ||
104 | .driver_data = ADAPTER_V2, | ||
105 | }, | ||
99 | {} | 106 | {} |
100 | }; | 107 | }; |
101 | 108 | ||
diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c index 2460b82a1d93..f46fe95f69fb 100644 --- a/drivers/video/console/vgacon.c +++ b/drivers/video/console/vgacon.c | |||
@@ -368,9 +368,14 @@ static const char *vgacon_startup(void) | |||
368 | #endif | 368 | #endif |
369 | } | 369 | } |
370 | 370 | ||
371 | /* SCREEN_INFO initialized? */ | ||
372 | if ((ORIG_VIDEO_MODE == 0) && | ||
373 | (ORIG_VIDEO_LINES == 0) && | ||
374 | (ORIG_VIDEO_COLS == 0)) | ||
375 | goto no_vga; | ||
376 | |||
371 | /* VGA16 modes are not handled by VGACON */ | 377 | /* VGA16 modes are not handled by VGACON */ |
372 | if ((ORIG_VIDEO_MODE == 0x00) || /* SCREEN_INFO not initialized */ | 378 | if ((ORIG_VIDEO_MODE == 0x0D) || /* 320x200/4 */ |
373 | (ORIG_VIDEO_MODE == 0x0D) || /* 320x200/4 */ | ||
374 | (ORIG_VIDEO_MODE == 0x0E) || /* 640x200/4 */ | 379 | (ORIG_VIDEO_MODE == 0x0E) || /* 640x200/4 */ |
375 | (ORIG_VIDEO_MODE == 0x10) || /* 640x350/4 */ | 380 | (ORIG_VIDEO_MODE == 0x10) || /* 640x350/4 */ |
376 | (ORIG_VIDEO_MODE == 0x12) || /* 640x480/4 */ | 381 | (ORIG_VIDEO_MODE == 0x12) || /* 640x480/4 */ |