Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 138307b4 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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

parents 66f37673 bc49a661
Loading
Loading
Loading
Loading
+4 −11
Original line number Diff line number Diff line
@@ -111,24 +111,17 @@ hardware.
	Interrupts: locally disabled.
	This call must not sleep

  stop_tx(port,tty_stop)
  stop_tx(port)
	Stop transmitting characters.  This might be due to the CTS
	line becoming inactive or the tty layer indicating we want
	to stop transmission.

	tty_stop: 1 if this call is due to the TTY layer issuing a
	          TTY stop to the driver (equiv to rs_stop).
	to stop transmission due to an XOFF character.

	Locking: port->lock taken.
	Interrupts: locally disabled.
	This call must not sleep

  start_tx(port,tty_start)
	start transmitting characters.  (incidentally, nonempty will
	always be nonzero, and shouldn't be used - it will be dropped).

	tty_start: 1 if this call was due to the TTY layer issuing
	           a TTY start to the driver (equiv to rs_start)
  start_tx(port)
	start transmitting characters.

	Locking: port->lock taken.
	Interrupts: locally disabled.
+12 −9
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@
#include <linux/sched.h>
#include <linux/spinlock.h>
#include <linux/delay.h>
#include <linux/serial_8250.h>
#include "smapi.h"
#include "mwavedd.h"
#include "3780i.h"
@@ -410,7 +411,7 @@ static ssize_t mwave_write(struct file *file, const char __user *buf,

static int register_serial_portandirq(unsigned int port, int irq)
{
	struct serial_struct serial;
	struct uart_port uart;
	
	switch ( port ) {
		case 0x3f8:
@@ -442,12 +443,14 @@ static int register_serial_portandirq(unsigned int port, int irq)
	} /* switch */
	/* irq is okay */

	memset(&serial, 0, sizeof(serial));
	serial.port = port;
	serial.irq = irq;
	serial.flags = ASYNC_SHARE_IRQ;
	memset(&uart, 0, sizeof(struct uart_port));
	
	return register_serial(&serial);
	uart.uartclk =  1843200;
	uart.iobase = port;
	uart.irq = irq;
	uart.iotype = UPIO_PORT;
	uart.flags =  UPF_SHARE_IRQ;
	return serial8250_register_port(&uart);
}


@@ -523,7 +526,7 @@ static void mwave_exit(void)
#endif

	if ( pDrvData->sLine >= 0 ) {
		unregister_serial(pDrvData->sLine);
		serial8250_unregister_port(pDrvData->sLine);
	}
	if (pDrvData->bMwaveDevRegistered) {
		misc_deregister(&mwave_misc_dev);
+1 −1
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ menu "Misc devices"

config IBM_ASM
	tristate "Device driver for IBM RSA service processor"
	depends on X86 && PCI && EXPERIMENTAL
	depends on X86 && PCI && EXPERIMENTAL && BROKEN
	---help---
	  This option enables device driver support for in-band access to the
	  IBM RSA (Condor) service processor in eServer xSeries systems.
+1 −1
Original line number Diff line number Diff line
@@ -447,7 +447,7 @@ config NET_SB1250_MAC

config SGI_IOC3_ETH
	bool "SGI IOC3 Ethernet"
	depends on NET_ETHERNET && PCI && SGI_IP27
	depends on NET_ETHERNET && PCI && SGI_IP27 && BROKEN
	select CRC32
	select MII
	help
+4 −6
Original line number Diff line number Diff line
@@ -58,8 +58,7 @@ static const char serial21285_name[] = "Footbridge UART";
 *  int((BAUD_BASE - (baud >> 1)) / baud)
 */

static void
serial21285_stop_tx(struct uart_port *port, unsigned int tty_stop)
static void serial21285_stop_tx(struct uart_port *port)
{
	if (tx_enabled(port)) {
		disable_irq(IRQ_CONTX);
@@ -67,8 +66,7 @@ serial21285_stop_tx(struct uart_port *port, unsigned int tty_stop)
	}
}

static void
serial21285_start_tx(struct uart_port *port, unsigned int tty_start)
static void serial21285_start_tx(struct uart_port *port)
{
	if (!tx_enabled(port)) {
		enable_irq(IRQ_CONTX);
@@ -148,7 +146,7 @@ static irqreturn_t serial21285_tx_chars(int irq, void *dev_id, struct pt_regs *r
		goto out;
	}
	if (uart_circ_empty(xmit) || uart_tx_stopped(port)) {
		serial21285_stop_tx(port, 0);
		serial21285_stop_tx(port);
		goto out;
	}

@@ -164,7 +162,7 @@ static irqreturn_t serial21285_tx_chars(int irq, void *dev_id, struct pt_regs *r
		uart_write_wakeup(port);

	if (uart_circ_empty(xmit))
		serial21285_stop_tx(port, 0);
		serial21285_stop_tx(port);

 out:
	return IRQ_HANDLED;
Loading