mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
[PARISC] Fix mux.c driver
Missing spin_lock_init() made the Mux driver hang on SMP systems. Fix up users of ->hpa to use ->hpa.start instead Remove warning in 8250_gsc.c by eliminating serial_line_nr Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
This commit is contained in:
parent
27ee073cd2
commit
ae8c75c1c4
2 changed files with 5 additions and 3 deletions
|
@ -29,7 +29,6 @@
|
||||||
static int __init
|
static int __init
|
||||||
serial_init_chip(struct parisc_device *dev)
|
serial_init_chip(struct parisc_device *dev)
|
||||||
{
|
{
|
||||||
static int serial_line_nr;
|
|
||||||
struct uart_port port;
|
struct uart_port port;
|
||||||
unsigned long address;
|
unsigned long address;
|
||||||
int err;
|
int err;
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
#include <linux/delay.h> /* for udelay */
|
#include <linux/delay.h> /* for udelay */
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
|
#include <asm/irq.h>
|
||||||
#include <asm/parisc-device.h>
|
#include <asm/parisc-device.h>
|
||||||
|
|
||||||
#ifdef CONFIG_MAGIC_SYSRQ
|
#ifdef CONFIG_MAGIC_SYSRQ
|
||||||
|
@ -469,16 +470,18 @@ static int __init mux_probe(struct parisc_device *dev)
|
||||||
for(i = 0; i < ports; ++i, ++port_cnt) {
|
for(i = 0; i < ports; ++i, ++port_cnt) {
|
||||||
port = &mux_ports[port_cnt];
|
port = &mux_ports[port_cnt];
|
||||||
port->iobase = 0;
|
port->iobase = 0;
|
||||||
port->mapbase = dev->hpa + MUX_OFFSET + (i * MUX_LINE_OFFSET);
|
port->mapbase = dev->hpa.start + MUX_OFFSET +
|
||||||
|
(i * MUX_LINE_OFFSET);
|
||||||
port->membase = ioremap(port->mapbase, MUX_LINE_OFFSET);
|
port->membase = ioremap(port->mapbase, MUX_LINE_OFFSET);
|
||||||
port->iotype = SERIAL_IO_MEM;
|
port->iotype = SERIAL_IO_MEM;
|
||||||
port->type = PORT_MUX;
|
port->type = PORT_MUX;
|
||||||
port->irq = SERIAL_IRQ_NONE;
|
port->irq = NO_IRQ;
|
||||||
port->uartclk = 0;
|
port->uartclk = 0;
|
||||||
port->fifosize = MUX_FIFO_SIZE;
|
port->fifosize = MUX_FIFO_SIZE;
|
||||||
port->ops = &mux_pops;
|
port->ops = &mux_pops;
|
||||||
port->flags = UPF_BOOT_AUTOCONF;
|
port->flags = UPF_BOOT_AUTOCONF;
|
||||||
port->line = port_cnt;
|
port->line = port_cnt;
|
||||||
|
spin_lock_init(&port->lock);
|
||||||
status = uart_add_one_port(&mux_driver, port);
|
status = uart_add_one_port(&mux_driver, port);
|
||||||
BUG_ON(status);
|
BUG_ON(status);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue