diff options
Diffstat (limited to 'drivers/serial')
-rw-r--r-- | drivers/serial/8250_acpi.c | 20 | ||||
-rw-r--r-- | drivers/serial/Kconfig | 2 |
2 files changed, 17 insertions, 5 deletions
diff --git a/drivers/serial/8250_acpi.c b/drivers/serial/8250_acpi.c index 6b9ead288517..a802bdce6e5d 100644 --- a/drivers/serial/8250_acpi.c +++ b/drivers/serial/8250_acpi.c | |||
@@ -47,18 +47,30 @@ static acpi_status acpi_serial_port(struct uart_port *port, | |||
47 | static acpi_status acpi_serial_ext_irq(struct uart_port *port, | 47 | static acpi_status acpi_serial_ext_irq(struct uart_port *port, |
48 | struct acpi_resource_ext_irq *ext_irq) | 48 | struct acpi_resource_ext_irq *ext_irq) |
49 | { | 49 | { |
50 | if (ext_irq->number_of_interrupts > 0) | 50 | int rc; |
51 | port->irq = acpi_register_gsi(ext_irq->interrupts[0], | 51 | |
52 | if (ext_irq->number_of_interrupts > 0) { | ||
53 | rc = acpi_register_gsi(ext_irq->interrupts[0], | ||
52 | ext_irq->edge_level, ext_irq->active_high_low); | 54 | ext_irq->edge_level, ext_irq->active_high_low); |
55 | if (rc < 0) | ||
56 | return AE_ERROR; | ||
57 | port->irq = rc; | ||
58 | } | ||
53 | return AE_OK; | 59 | return AE_OK; |
54 | } | 60 | } |
55 | 61 | ||
56 | static acpi_status acpi_serial_irq(struct uart_port *port, | 62 | static acpi_status acpi_serial_irq(struct uart_port *port, |
57 | struct acpi_resource_irq *irq) | 63 | struct acpi_resource_irq *irq) |
58 | { | 64 | { |
59 | if (irq->number_of_interrupts > 0) | 65 | int rc; |
60 | port->irq = acpi_register_gsi(irq->interrupts[0], | 66 | |
67 | if (irq->number_of_interrupts > 0) { | ||
68 | rc = acpi_register_gsi(irq->interrupts[0], | ||
61 | irq->edge_level, irq->active_high_low); | 69 | irq->edge_level, irq->active_high_low); |
70 | if (rc < 0) | ||
71 | return AE_ERROR; | ||
72 | port->irq = rc; | ||
73 | } | ||
62 | return AE_OK; | 74 | return AE_OK; |
63 | } | 75 | } |
64 | 76 | ||
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig index e39818a34a07..b745a1b9e835 100644 --- a/drivers/serial/Kconfig +++ b/drivers/serial/Kconfig | |||
@@ -80,7 +80,7 @@ config SERIAL_8250_CS | |||
80 | config SERIAL_8250_ACPI | 80 | config SERIAL_8250_ACPI |
81 | bool "8250/16550 device discovery via ACPI namespace" | 81 | bool "8250/16550 device discovery via ACPI namespace" |
82 | default y if IA64 | 82 | default y if IA64 |
83 | depends on ACPI_BUS && SERIAL_8250 | 83 | depends on ACPI && SERIAL_8250 |
84 | ---help--- | 84 | ---help--- |
85 | If you wish to enable serial port discovery via the ACPI | 85 | If you wish to enable serial port discovery via the ACPI |
86 | namespace, say Y here. If unsure, say N. | 86 | namespace, say Y here. If unsure, say N. |