Linux Kernel Mailing List | 1 Dec 2002 10:59

[SERIAL] Prevent PNPBIOS re-registering already detected ports

ChangeSet 1.929, 2002/12/01 09:59:47+00:00, rmk <at> flint.arm.linux.org.uk

	[SERIAL] Prevent PNPBIOS re-registering already detected ports
	
	During initialisation of 8250 serial, we scan a list of ISA ports and
	register any ports.  We then perform PNPBIOS scanning, which re-registers
	ttyS0.  Unfortunately, if devfs is enabled, devfs reports an error because
	we try to create two tts/0 entries.
	
	Therefore, when adding a new port we check that it has not been detected
	before attempting to probe the port and register it with devfs (via the
	tty layer.)

# This patch includes the following deltas:
#	           ChangeSet	1.928   -> 1.929  
#	drivers/serial/core.c	1.17    -> 1.18   
#

 core.c |   25 +++++++++++++++----------
 1 files changed, 15 insertions(+), 10 deletions(-)

diff -Nru a/drivers/serial/core.c b/drivers/serial/core.c
--- a/drivers/serial/core.c	Sun Dec  1 14:04:18 2002
+++ b/drivers/serial/core.c	Sun Dec  1 14:04:18 2002
 <at>  <at>  -2405,17 +2405,22  <at>  <at> 
 			goto out;
 		}

-		state->port->iobase   = port->iobase;
-		state->port->membase  = port->membase;
(Continue reading)

Linux Kernel Mailing List | 1 Dec 2002 11:14

[SERIAL] Export pci_siig10x_fn() and pci_siig20x_fn()

ChangeSet 1.930, 2002/12/01 10:14:45+00:00, rmk <at> flint.arm.linux.org.uk

	[SERIAL] Export pci_siig10x_fn() and pci_siig20x_fn()
	
	Patch from Zwane Mwaikambo, fixed by rmk, comments by rmk.
	
	SIIG cards have parallel ports in addition to serial ports.  We therefore
	probe the cards in parport_serial.c and call the serial specific probe
	functions in 8250_pci.c
	
	This is the second half of a patch that was applied in 2.5.50 to
	parport_serial by others without the corresponding 8250_pci.c changes.

# This patch includes the following deltas:
#	           ChangeSet	1.929   -> 1.930  
#	drivers/serial/Makefile	1.10    -> 1.11   
#	drivers/serial/8250_pci.c	1.12    -> 1.13   
#

 8250_pci.c |   10 ++++++++--
 Makefile   |    2 +-
 2 files changed, 9 insertions(+), 3 deletions(-)

diff -Nru a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c
--- a/drivers/serial/8250_pci.c	Sun Dec  1 14:04:21 2002
+++ b/drivers/serial/8250_pci.c	Sun Dec  1 14:04:21 2002
 <at>  <at>  -262,12 +262,14  <at>  <at> 
  * interface chip and different configuration methods:
  *     - 10x cards have control registers in IO and/or memory space;
  *     - 20x cards have control registers in standard PCI configuration space.
(Continue reading)

Linux Kernel Mailing List | 1 Dec 2002 11:32

[SERIAL] Pass "iomap" base from probe modules

ChangeSet 1.931, 2002/12/01 10:32:09+00:00, rmk <at> flint.arm.linux.org.uk

	[SERIAL] Pass "iomap" base from probe modules
	
	Patch from Randolph Chung, slightly modified by rmk.
	
	When displaying the details of memory mapped serial ports, we want to show
	some sane base value.  The cookie returned from ioremap can be meaningless
	to users (and developers), especially when the cookie could be a dynamically
	allocated virtual address.
	
	The more useful cookie is the value passed into ioremap.  We already have
	support for handling this cookie internally - we haven't allowed the PCI
	probe module to hand it to the higher levels until now.

# This patch includes the following deltas:
#	           ChangeSet	1.930   -> 1.931  
#	drivers/serial/8250.c	1.22    -> 1.23   
#	include/linux/serial.h	1.6     -> 1.7    
#	drivers/serial/core.c	1.18    -> 1.19   
#	drivers/serial/8250_pci.c	1.13    -> 1.14   
#

 drivers/serial/8250.c     |    3 ++-
 drivers/serial/8250_pci.c |    1 +
 drivers/serial/core.c     |    3 ++-
 include/linux/serial.h    |    1 +
 4 files changed, 6 insertions(+), 2 deletions(-)

diff -Nru a/drivers/serial/8250.c b/drivers/serial/8250.c
(Continue reading)

Linux Kernel Mailing List | 1 Dec 2002 13:51

[SERIAL] Fix failure checks

ChangeSet 1.932, 2002/12/01 12:51:53+00:00, rmk <at> flint.arm.linux.org.uk

	[SERIAL] Fix failure checks
	
	We originally checked for failure by checking if the returned code
	was non-zero.  Strictly, it should be a negative value.

# This patch includes the following deltas:
#	           ChangeSet	1.931   -> 1.932  
#	drivers/serial/8250.c	1.23    -> 1.24   
#

 8250.c |   17 ++++++++---------
 1 files changed, 8 insertions(+), 9 deletions(-)

diff -Nru a/drivers/serial/8250.c b/drivers/serial/8250.c
--- a/drivers/serial/8250.c	Sun Dec  1 14:04:27 2002
+++ b/drivers/serial/8250.c	Sun Dec  1 14:04:27 2002
 <at>  <at>  -1031,7 +1031,7  <at>  <at> 

 		ret = request_irq(up->port.irq, serial8250_interrupt,
 				  irq_flags, "serial", i);
-		if (ret)
+		if (ret < 0)
 			serial_do_unlink(i, up);
 	}

 <at>  <at>  -1623,7 +1623,7  <at>  <at> 
 	if (up->port.flags & UPF_RESOURCES) {
 		if (up->port.type == PORT_RSA) {
(Continue reading)

Linux Kernel Mailing List | 1 Dec 2002 15:51

[SERIAL] Replace tty->alt_speed with uart_get_baud_rate()

ChangeSet 1.933, 2002/12/01 14:51:12+00:00, rmk <at> flint.arm.linux.org.uk

	[SERIAL] Replace tty->alt_speed with uart_get_baud_rate()
	
	We provide a new function, uart_get_baud_rate(), to return the
	desired numeric baud rate from the uart_port and tty structures.
	This allows us to:
	
	1. localise the 38400 alternate speed kludge to one area.
	2. support faster baud rates than the usual baud_base / desired_rate
	   calculations in the future (eventually allowing the use of the
	   magic divisors in 8250.c.)

# This patch includes the following deltas:
#	           ChangeSet	1.932   -> 1.933  
#	drivers/serial/core.c	1.19    -> 1.20   
#

 core.c |   71 +++++++++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 45 insertions(+), 26 deletions(-)

diff -Nru a/drivers/serial/core.c b/drivers/serial/core.c
--- a/drivers/serial/core.c	Sun Dec  1 14:04:29 2002
+++ b/drivers/serial/core.c	Sun Dec  1 14:04:29 2002
 <at>  <at>  -135,20 +135,6  <at>  <at> 
 #define uart_set_mctrl(port,set)	uart_update_mctrl(port,set,0)
 #define uart_clear_mctrl(port,clear)	uart_update_mctrl(port,0,clear)

-static inline void uart_update_altspeed(struct uart_info *info)
-{
(Continue reading)

Linux Kernel Mailing List | 1 Dec 2002 16:37

[SERIAL] Move custom_divisor from uart_state to uart_port.

ChangeSet 1.934, 2002/12/01 15:37:49+00:00, rmk <at> flint.arm.linux.org.uk

	[SERIAL] Move custom_divisor from uart_state to uart_port.
	
	This is another step towards moving the divisor calculations into
	the low level drivers, thereby allowing the faster baud rates
	mentioned in the previous cset.  Moving this field to uart_port
	means that the low level drivers do not have to know about the
	uart_state structure.

# This patch includes the following deltas:
#	           ChangeSet	1.933   -> 1.934  
#	include/linux/serial_core.h	1.7     -> 1.8    
#	drivers/serial/core.c	1.20    -> 1.21   
#

 drivers/serial/core.c       |   12 ++++++------
 include/linux/serial_core.h |    3 +--
 2 files changed, 7 insertions(+), 8 deletions(-)

diff -Nru a/drivers/serial/core.c b/drivers/serial/core.c
--- a/drivers/serial/core.c	Sun Dec  1 14:04:32 2002
+++ b/drivers/serial/core.c	Sun Dec  1 14:04:32 2002
 <at>  <at>  -309,7 +309,7  <at>  <at> 
 	/* Old HI/VHI/custom speed handling */
 	if (baud == 38400 &&
 	    ((port->flags & UPF_SPD_MASK) == UPF_SPD_CUST))
-		quot = info->state->custom_divisor;
+		quot = port->custom_divisor;
 	else
(Continue reading)

Linux Kernel Mailing List | 1 Dec 2002 16:49

[SERIAL] Move quot/divisor calculation to uart_get_divisor()

ChangeSet 1.935, 2002/12/01 15:49:24+00:00, rmk <at> flint.arm.linux.org.uk

	[SERIAL] Move quot/divisor calculation to uart_get_divisor()
	
	uart_get_divisor() calculates the divisor for standard uarts, and
	will eventually become a helper function for low level port drivers.

# This patch includes the following deltas:
#	           ChangeSet	1.934   -> 1.935  
#	drivers/serial/core.c	1.21    -> 1.22   
#

 core.c |   90 +++++++++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 58 insertions(+), 32 deletions(-)

diff -Nru a/drivers/serial/core.c b/drivers/serial/core.c
--- a/drivers/serial/core.c	Sun Dec  1 14:04:35 2002
+++ b/drivers/serial/core.c	Sun Dec  1 14:04:35 2002
 <at>  <at>  -301,14 +301,14  <at>  <at> 
 }

 static inline
-unsigned int uart_calculate_quot(struct uart_info *info, unsigned int baud)
+unsigned int uart_calculate_quot(struct uart_port *port, unsigned int baud)
 {
-	struct uart_port *port = info->port;
 	unsigned int quot;

-	/* Old HI/VHI/custom speed handling */
-	if (baud == 38400 &&
(Continue reading)

Linux Kernel Mailing List | 1 Dec 2002 16:55

[SERIAL] Move the FIFO timeout calculations into uart_update_timeout()

ChangeSet 1.936, 2002/12/01 15:55:57+00:00, rmk <at> flint.arm.linux.org.uk

	[SERIAL] Move the FIFO timeout calculations into uart_update_timeout()

# This patch includes the following deltas:
#	           ChangeSet	1.935   -> 1.936  
#	drivers/serial/core.c	1.22    -> 1.23   
#

 core.c |   83 +++++++++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 51 insertions(+), 32 deletions(-)

diff -Nru a/drivers/serial/core.c b/drivers/serial/core.c
--- a/drivers/serial/core.c	Sun Dec  1 14:04:37 2002
+++ b/drivers/serial/core.c	Sun Dec  1 14:04:37 2002
 <at>  <at>  -261,6 +261,56  <at>  <at> 
 }

 /**
+ *	uart_update_timeout - update per-port FIFO timeout.
+ *	 <at> port: uart_port structure describing the port.
+ *	 <at> cflag: termios cflag value
+ *	 <at> quot: uart clock divisor quotient
+ *
+ *	Set the port FIFO timeout value.  The  <at> cflag value should
+ *	reflect the actual hardware settings.
+ */
+void
+uart_update_timeout(struct uart_port *port, unsigned int cflag,
+		    unsigned int quot)
(Continue reading)

Linux Kernel Mailing List | 1 Dec 2002 17:38

[SERIAL] uart_get_divisor() and uart_get_baud_rate() takes termios.

ChangeSet 1.937, 2002/12/01 16:38:04+00:00, rmk <at> flint.arm.linux.org.uk

	[SERIAL] uart_get_divisor() and uart_get_baud_rate() takes termios.
	
	Currently, uart_get_divisor() and uart_get_baud_rate() take a tty
	structure.  We really want them to take a termios structure so we
	can avoid passing a tty structure all  the way down to the low level
	drivers.
	
	In order to do this, we need to be able to convert a termios
	structure to a numeric baud rate - we provide tty_termios_baud_rate() in
	tty_io.c for this purpose.  It performs a subset of the
	tty_get_baud_rate() functionality, but without any "alt_speed"
	kludge.
	
	We finally export uart_get_baud_rate() and uart_get_divisor() to for
	low level drivers to use.  We now have all the functions in place
	to support ports which want to have access to the real baud rate
	rather than a divisor value.

# This patch includes the following deltas:
#	           ChangeSet	1.936   -> 1.937  
#	      kernel/ksyms.c	1.167   -> 1.168  
#	drivers/serial/core.c	1.23    -> 1.24   
#	 include/linux/tty.h	1.6     -> 1.7    
#	drivers/char/tty_io.c	1.47    -> 1.48   
#

 drivers/char/tty_io.c |   44 ++++++++++++++++++++++++++++------------
 drivers/serial/core.c |   54 +++++++++++++++++++++++++++-----------------------
(Continue reading)

Linux Kernel Mailing List | 1 Dec 2002 22:57

Merge ssh://mulgrave-w/BK/scsi-misc-2.5

ChangeSet 1.936, 2002/12/01 15:57:44-06:00, jejb <at> raven.il.steeleye.com

	Merge ssh://mulgrave-w/BK/scsi-misc-2.5
	into raven.il.steeleye.com:/home/jejb/BK/scsi-for-linus-2.5

# This patch includes the following deltas:
#	           ChangeSet	1.935+1.927.1.10 -> 1.936  
#	drivers/acorn/scsi/acornscsi.c	1.20.1.1 -> 1.22   
#	drivers/acorn/scsi/arxescsi.c	1.12.1.1 -> 1.14   
#	drivers/acorn/scsi/powertec.c	1.16.1.1 -> 1.18   
#	drivers/acorn/scsi/cumana_2.c	1.17.1.1 -> 1.19   
#	drivers/acorn/scsi/eesox.c	1.17.1.1 -> 1.19   
#

 acornscsi.c |    2 +-
 arxescsi.c  |    2 +-
 cumana_2.c  |    2 +-
 eesox.c     |    2 +-
 powertec.c  |    2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

diff -Nru a/drivers/acorn/scsi/acornscsi.c b/drivers/acorn/scsi/acornscsi.c
--- a/drivers/acorn/scsi/acornscsi.c	Sun Dec  1 19:05:29 2002
+++ b/drivers/acorn/scsi/acornscsi.c	Sun Dec  1 19:05:29 2002
 <at>  <at>  -3051,7 +3051,7  <at>  <at> 

 	acornscsi_resetcard(ashost);

-	ret = scsi_add_host(host);
+	ret = scsi_add_host(host, &ec->dev);
(Continue reading)


Gmane