updates
PATCH 1/1 updates
This is the stuff I've collected since 2.5.41; this will go to Linus in the next day or so. Can people please test this out.
(The serialP.h changes are especially important; my greps of the tree show that this should be safe. I plan to fix that up and coming parport_serial problem with SIIG stuff without involving struct pci_board.)
If people want to pull from me, I'm quite happy for folk to do so, but please mail me first; the tree isn't guaranteed to have only serial stuff in and can have stuff added at any time - it even changes use between the times when Linus pulls from it.
Thanks.
===== include/linux/serialP.h 1.6 vs 1.7 =====
include/linux/serialP.h +4 -22
@@ -131,6 +131,9 @@* Digital did something really horribly wrong with the OUT1 and OUT2 * lines on at least some ALPHA's. The failure mode is that if either * is cleared, the machine locks up with endless interrupts. +* +* This is still used by arch/mips/au1000/common/serial.c for some weird +* reason (mips != alpha!) */ #define ALPHA_KLUDGE_MCR (UART_MCR_OUT2 | UART_MCR_OUT1)#else
@@ -138,29 +141,8 @@#endif /* -* Structures and definitions for PCI support +* Definitions for PCI support. */ -struct pci_dev ; -struct pci_board { -int flags; -int num_ports; -int base_baud; -int uart_offset; -int reg_shift; -int (*init_fn)(struct pci_dev *dev,struct pci_board *board, -int enable); -int first_uart_offset; -}; - -struct pci_board_inst { -struct pci_board board; -struct pci_dev *dev; -}; - -#ifndef PCI_ANY_ID -#define PCI_ANY_ID (~0) -#endif -#define SPCI_FL_BASE_MASK 0x0007#define SPCI_FL_BASE0 0x0000#define SPCI_FL_BASE1 0x0001
===== drivers/serial/core.c 1.11 vs 1.12 =====
drivers/serial/core.c +2 -2
@@ -1604,8 +1604,6 @@return retval; } -#ifdef CONFIG_PROC_FS -static const char *uart_type (struct uart_port *port) {const char *str =NULL ;
@@ -1618,6 +1616,8 @@return str; } + +#ifdef CONFIG_PROC_FS static int uart_line_info (char *buf,struct uart_driver *drv,int i) {
===== drivers/serial/8250_pci.c 1.8 vs 1.10 =====
drivers/serial/8250_pci.c +2 -4
@@ -22,10 +22,7 @@#include <linux/slab.h> #include <linux/serial.h> -/* 2.4.6 compatibility cruft - to be removed with the old serial.c code */ -#define pci_board __pci_board#include <linux/serialP.h> -#undef pci_board#include <asm/bitops.h> #include <asm/byteorder.h>
@@ -771,7 +768,8 @@for (i =0 ; i < priv->nr; i++)unregister_serial (priv->line[i]); - priv->board->init_fn (dev, priv->board,0 ); +if (priv->board->init_fn) + priv->board->init_fn (dev, priv->board,0 );pci_disable_device (dev);
===== drivers/serial/8250.c 1.13 vs 1.14 =====
drivers/serial/8250.c +2 -2
@@ -31,8 +31,8 @@#include <linux/console.h> #include <linux/sysrq.h> #include <linux/serial_reg.h> -#include <linux/serialP.h> #include <linux/serial.h> +#include <linux/serialP.h> #include <linux/delay.h> #include <asm/io.h>
@@ -1635,7 +1635,7 @@if (up->port.type !=PORT_RSA && res_rsa)release_resource (res_rsa); -if (up->port.type ==PORT_UNKNOWN ) +if (up->port.type ==PORT_UNKNOWN && res_std)release_resource (res_std); }
Signature · 2 lines
Russell King ([email protected]) The developer of ARM Linux http://www.arm.linux.org.uk/personal/aboutme.html