Commit 2bba62b2 authored by Len Brown's avatar Len Brown

Merge intel.com:/home/lenb/bk/linux-2.6.8

into intel.com:/home/lenb/src/linux-acpi-test-2.6.8
parents 230bf224 c659d1a8
...@@ -1969,11 +1969,6 @@ M: jbglaw@lug-owl.de ...@@ -1969,11 +1969,6 @@ M: jbglaw@lug-owl.de
L: linux-kernel@vger.kernel.org L: linux-kernel@vger.kernel.org
S: Maintained S: Maintained
STALLION TECHNOLOGIES MULTIPORT SERIAL BOARDS
M: support@stallion.oz.au
W: http://www.stallion.com
S: Supported
STARFIRE/DURALAN NETWORK DRIVER STARFIRE/DURALAN NETWORK DRIVER
P: Ion Badulescu P: Ion Badulescu
M: ionut@cs.columbia.edu M: ionut@cs.columbia.edu
......
...@@ -353,7 +353,7 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long esp, ...@@ -353,7 +353,7 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long esp,
int err; int err;
childregs = ((struct pt_regs *) (THREAD_SIZE + (unsigned long) p->thread_info)) - 1; childregs = ((struct pt_regs *) (THREAD_SIZE + (unsigned long) p->thread_info)) - 1;
struct_cpy(childregs, regs); *childregs = *regs;
childregs->eax = 0; childregs->eax = 0;
childregs->esp = esp; childregs->esp = esp;
p->set_child_tid = p->clear_child_tid = NULL; p->set_child_tid = p->clear_child_tid = NULL;
......
...@@ -689,7 +689,7 @@ CONFIG_SERIO_SERPORT=y ...@@ -689,7 +689,7 @@ CONFIG_SERIO_SERPORT=y
# Input Device Drivers # Input Device Drivers
# #
CONFIG_INPUT_KEYBOARD=y CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y # CONFIG_KEYBOARD_ATKBD is not set
# CONFIG_KEYBOARD_SUNKBD is not set # CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set # CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_XTKBD is not set
...@@ -724,8 +724,8 @@ CONFIG_SERIAL_8250_NR_UARTS=4 ...@@ -724,8 +724,8 @@ CONFIG_SERIAL_8250_NR_UARTS=4
# #
# Non-8250 serial port support # Non-8250 serial port support
# #
CONFIG_SERIAL_CORE=y # CONFIG_SERIAL_CORE is not set
CONFIG_SERIAL_PMACZILOG=y # CONFIG_SERIAL_PMACZILOG is not set
# CONFIG_SERIAL_PMACZILOG_CONSOLE is not set # CONFIG_SERIAL_PMACZILOG_CONSOLE is not set
CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTYS=y
......
...@@ -230,7 +230,7 @@ static int recover_mce(struct pt_regs *regs, struct rtas_error_log err) ...@@ -230,7 +230,7 @@ static int recover_mce(struct pt_regs *regs, struct rtas_error_log err)
info.si_errno = 0; info.si_errno = 0;
/* XXX something better for ECC error? */ /* XXX something better for ECC error? */
info.si_code = BUS_ADRERR; info.si_code = BUS_ADRERR;
info.si_addr = (void *)regs->nip; info.si_addr = (void __user *)regs->nip;
printk(KERN_ERR "MCE: uncorrectable ecc error for pid %d\n", printk(KERN_ERR "MCE: uncorrectable ecc error for pid %d\n",
current->pid); current->pid);
_exception(SIGBUS, &info, regs); _exception(SIGBUS, &info, regs);
...@@ -300,7 +300,7 @@ InstructionBreakpointException(struct pt_regs *regs) ...@@ -300,7 +300,7 @@ InstructionBreakpointException(struct pt_regs *regs)
info.si_signo = SIGTRAP; info.si_signo = SIGTRAP;
info.si_errno = 0; info.si_errno = 0;
info.si_code = TRAP_BRKPT; info.si_code = TRAP_BRKPT;
info.si_addr = (void *)regs->nip; info.si_addr = (void __user *)regs->nip;
_exception(SIGTRAP, &info, regs); _exception(SIGTRAP, &info, regs);
} }
...@@ -338,7 +338,7 @@ static void parse_fpe(struct pt_regs *regs) ...@@ -338,7 +338,7 @@ static void parse_fpe(struct pt_regs *regs)
info.si_signo = SIGFPE; info.si_signo = SIGFPE;
info.si_errno = 0; info.si_errno = 0;
info.si_addr = (void *)regs->nip; info.si_addr = (void __user *)regs->nip;
_exception(SIGFPE, &info, regs); _exception(SIGFPE, &info, regs);
} }
...@@ -407,7 +407,7 @@ ProgramCheckException(struct pt_regs *regs) ...@@ -407,7 +407,7 @@ ProgramCheckException(struct pt_regs *regs)
info.si_signo = SIGILL; info.si_signo = SIGILL;
info.si_errno = 0; info.si_errno = 0;
info.si_code = ILL_PRVOPC; info.si_code = ILL_PRVOPC;
info.si_addr = (void *)regs->nip; info.si_addr = (void __user *)regs->nip;
_exception(SIGILL, &info, regs); _exception(SIGILL, &info, regs);
} else if (regs->msr & 0x20000) { } else if (regs->msr & 0x20000) {
/* trap exception */ /* trap exception */
...@@ -422,7 +422,7 @@ ProgramCheckException(struct pt_regs *regs) ...@@ -422,7 +422,7 @@ ProgramCheckException(struct pt_regs *regs)
info.si_signo = SIGTRAP; info.si_signo = SIGTRAP;
info.si_errno = 0; info.si_errno = 0;
info.si_code = TRAP_BRKPT; info.si_code = TRAP_BRKPT;
info.si_addr = (void *)regs->nip; info.si_addr = (void __user *)regs->nip;
_exception(SIGTRAP, &info, regs); _exception(SIGTRAP, &info, regs);
} else { } else {
/* Illegal instruction */ /* Illegal instruction */
...@@ -430,7 +430,7 @@ ProgramCheckException(struct pt_regs *regs) ...@@ -430,7 +430,7 @@ ProgramCheckException(struct pt_regs *regs)
info.si_signo = SIGILL; info.si_signo = SIGILL;
info.si_errno = 0; info.si_errno = 0;
info.si_code = ILL_ILLTRP; info.si_code = ILL_ILLTRP;
info.si_addr = (void *)regs->nip; info.si_addr = (void __user *)regs->nip;
_exception(SIGILL, &info, regs); _exception(SIGILL, &info, regs);
} }
} }
...@@ -476,7 +476,7 @@ SingleStepException(struct pt_regs *regs) ...@@ -476,7 +476,7 @@ SingleStepException(struct pt_regs *regs)
info.si_signo = SIGTRAP; info.si_signo = SIGTRAP;
info.si_errno = 0; info.si_errno = 0;
info.si_code = TRAP_TRACE; info.si_code = TRAP_TRACE;
info.si_addr = (void *)regs->nip; info.si_addr = (void __user *)regs->nip;
_exception(SIGTRAP, &info, regs); _exception(SIGTRAP, &info, regs);
} }
...@@ -524,7 +524,7 @@ AlignmentException(struct pt_regs *regs) ...@@ -524,7 +524,7 @@ AlignmentException(struct pt_regs *regs)
info.si_signo = SIGSEGV; info.si_signo = SIGSEGV;
info.si_errno = 0; info.si_errno = 0;
info.si_code = SEGV_MAPERR; info.si_code = SEGV_MAPERR;
info.si_addr = (void *)regs->dar; info.si_addr = (void __user *)regs->dar;
force_sig_info(SIGSEGV, &info, current); force_sig_info(SIGSEGV, &info, current);
} else { } else {
/* Search exception table */ /* Search exception table */
...@@ -537,7 +537,7 @@ AlignmentException(struct pt_regs *regs) ...@@ -537,7 +537,7 @@ AlignmentException(struct pt_regs *regs)
info.si_signo = SIGBUS; info.si_signo = SIGBUS;
info.si_errno = 0; info.si_errno = 0;
info.si_code = BUS_ADRALN; info.si_code = BUS_ADRALN;
info.si_addr = (void *)regs->nip; info.si_addr = (void __user *)regs->nip;
_exception(SIGBUS, &info, regs); _exception(SIGBUS, &info, regs);
} }
...@@ -568,7 +568,7 @@ AltivecAssistException(struct pt_regs *regs) ...@@ -568,7 +568,7 @@ AltivecAssistException(struct pt_regs *regs)
info.si_signo = SIGSEGV; info.si_signo = SIGSEGV;
info.si_errno = 0; info.si_errno = 0;
info.si_code = SEGV_MAPERR; info.si_code = SEGV_MAPERR;
info.si_addr = (void *) regs->nip; info.si_addr = (void __user *) regs->nip;
force_sig_info(SIGSEGV, &info, current); force_sig_info(SIGSEGV, &info, current);
} else { } else {
/* didn't recognize the instruction */ /* didn't recognize the instruction */
......
...@@ -236,7 +236,7 @@ int do_page_fault(struct pt_regs *regs, unsigned long address, ...@@ -236,7 +236,7 @@ int do_page_fault(struct pt_regs *regs, unsigned long address,
info.si_signo = SIGSEGV; info.si_signo = SIGSEGV;
info.si_errno = 0; info.si_errno = 0;
info.si_code = code; info.si_code = code;
info.si_addr = (void *) address; info.si_addr = (void __user *) address;
force_sig_info(SIGSEGV, &info, current); force_sig_info(SIGSEGV, &info, current);
return 0; return 0;
} }
...@@ -265,7 +265,7 @@ int do_page_fault(struct pt_regs *regs, unsigned long address, ...@@ -265,7 +265,7 @@ int do_page_fault(struct pt_regs *regs, unsigned long address,
info.si_signo = SIGBUS; info.si_signo = SIGBUS;
info.si_errno = 0; info.si_errno = 0;
info.si_code = BUS_ADRERR; info.si_code = BUS_ADRERR;
info.si_addr = (void *)address; info.si_addr = (void __user *)address;
force_sig_info(SIGBUS, &info, current); force_sig_info(SIGBUS, &info, current);
return 0; return 0;
} }
......
...@@ -4228,7 +4228,6 @@ int __init floppy_init(void) ...@@ -4228,7 +4228,6 @@ int __init floppy_init(void)
int err, dr; int err, dr;
raw_cmd = NULL; raw_cmd = NULL;
i = 0;
for (dr = 0; dr < N_DRIVE; dr++) { for (dr = 0; dr < N_DRIVE; dr++) {
disks[dr] = alloc_disk(1); disks[dr] = alloc_disk(1);
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
/* /*
* istallion.c -- stallion intelligent multiport serial driver. * istallion.c -- stallion intelligent multiport serial driver.
* *
* Copyright (C) 1996-1999 Stallion Technologies (support@stallion.oz.au). * Copyright (C) 1996-1999 Stallion Technologies
* Copyright (C) 1994-1996 Greg Ungerer. * Copyright (C) 1994-1996 Greg Ungerer.
* *
* This code is loosely based on the Linux serial driver, written by * This code is loosely based on the Linux serial driver, written by
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
/* /*
* stallion.c -- stallion multiport serial driver. * stallion.c -- stallion multiport serial driver.
* *
* Copyright (C) 1996-1999 Stallion Technologies (support@stallion.oz.au). * Copyright (C) 1996-1999 Stallion Technologies
* Copyright (C) 1994-1996 Greg Ungerer. * Copyright (C) 1994-1996 Greg Ungerer.
* *
* This code is loosely based on the Linux serial driver, written by * This code is loosely based on the Linux serial driver, written by
......
...@@ -193,7 +193,7 @@ hcdp_early_uart (void) ...@@ -193,7 +193,7 @@ hcdp_early_uart (void)
config_tables = __va(config_tables); config_tables = __va(config_tables);
for (i = 0; i < systab->nr_tables; i++) { for (i = 0; i < systab->nr_tables; i++) {
if (efi_guidcmp(config_tables[i].guid, PCDP_TABLE_GUID) == 0) { if (efi_guidcmp(config_tables[i].guid, HCDP_TABLE_GUID) == 0) {
pcdp = (struct pcdp *) config_tables[i].table; pcdp = (struct pcdp *) config_tables[i].table;
break; break;
} }
......
#include <media/saa7146_vv.h> #include <media/saa7146_vv.h>
static int memory = 32; static int max_memory = 32;
MODULE_PARM(memory,"i"); MODULE_PARM(max_memory,"i");
MODULE_PARM_DESC(memory, "maximum memory usage for capture buffers (default: 32Mb)"); MODULE_PARM_DESC(max_memory, "maximum memory usage for capture buffers (default: 32Mb)");
#define IS_CAPTURE_ACTIVE(fh) \ #define IS_CAPTURE_ACTIVE(fh) \
(((vv->video_status & STATUS_CAPTURE) != 0) && (vv->video_fh == fh)) (((vv->video_status & STATUS_CAPTURE) != 0) && (vv->video_fh == fh))
...@@ -1331,9 +1331,9 @@ static int buffer_setup(struct file *file, unsigned int *count, unsigned int *si ...@@ -1331,9 +1331,9 @@ static int buffer_setup(struct file *file, unsigned int *count, unsigned int *si
*size = fh->video_fmt.sizeimage; *size = fh->video_fmt.sizeimage;
/* check if we exceed the "memory" parameter */ /* check if we exceed the "max_memory" parameter */
if( (*count * *size) > (memory*1048576) ) { if( (*count * *size) > (max_memory*1048576) ) {
*count = (memory*1048576) / *size; *count = (max_memory*1048576) / *size;
} }
DEB_CAP(("%d buffers, %d bytes each.\n",*count,*size)); DEB_CAP(("%d buffers, %d bytes each.\n",*count,*size));
......
...@@ -217,13 +217,12 @@ static struct i2c_driver driver = { ...@@ -217,13 +217,12 @@ static struct i2c_driver driver = {
.command = tea6415c_command, .command = tea6415c_command,
}; };
static int tea6415c_init_module(void) static int __init tea6415c_init_module(void)
{ {
i2c_add_driver(&driver); return i2c_add_driver(&driver);
return 0;
} }
static void tea6415c_cleanup_module(void) static void __exit tea6415c_cleanup_module(void)
{ {
i2c_del_driver(&driver); i2c_del_driver(&driver);
} }
......
...@@ -197,13 +197,12 @@ static struct i2c_driver driver = { ...@@ -197,13 +197,12 @@ static struct i2c_driver driver = {
.command = tea6420_command, .command = tea6420_command,
}; };
static int tea6420_init_module(void) static int __init tea6420_init_module(void)
{ {
i2c_add_driver(&driver); return i2c_add_driver(&driver);
return 0;
} }
static void tea6420_cleanup_module(void) static void __exit tea6420_cleanup_module(void)
{ {
i2c_del_driver(&driver); i2c_del_driver(&driver);
} }
......
...@@ -568,7 +568,7 @@ static struct vortex_chip_info { ...@@ -568,7 +568,7 @@ static struct vortex_chip_info {
{"3c920B-EMB-WNM Tornado", {"3c920B-EMB-WNM Tornado",
PCI_USES_IO|PCI_USES_MASTER, IS_TORNADO|HAS_NWAY|HAS_HWCKSM, 128, }, PCI_USES_IO|PCI_USES_MASTER, IS_TORNADO|HAS_NWAY|HAS_HWCKSM, 128, },
{0,}, /* 0 terminated list. */ {NULL,}, /* NULL terminated list. */
}; };
...@@ -1695,7 +1695,7 @@ vortex_up(struct net_device *dev) ...@@ -1695,7 +1695,7 @@ vortex_up(struct net_device *dev)
for (i = 0; i < RX_RING_SIZE; i++) /* AKPM: this is done in vortex_open, too */ for (i = 0; i < RX_RING_SIZE; i++) /* AKPM: this is done in vortex_open, too */
vp->rx_ring[i].status = 0; vp->rx_ring[i].status = 0;
for (i = 0; i < TX_RING_SIZE; i++) for (i = 0; i < TX_RING_SIZE; i++)
vp->tx_skbuff[i] = 0; vp->tx_skbuff[i] = NULL;
outl(0, ioaddr + DownListPtr); outl(0, ioaddr + DownListPtr);
} }
/* Set receiver mode: presumably accept b-case and phys addr only. */ /* Set receiver mode: presumably accept b-case and phys addr only. */
...@@ -1760,7 +1760,7 @@ vortex_open(struct net_device *dev) ...@@ -1760,7 +1760,7 @@ vortex_open(struct net_device *dev)
for (j = 0; j < i; j++) { for (j = 0; j < i; j++) {
if (vp->rx_skbuff[j]) { if (vp->rx_skbuff[j]) {
dev_kfree_skb(vp->rx_skbuff[j]); dev_kfree_skb(vp->rx_skbuff[j]);
vp->rx_skbuff[j] = 0; vp->rx_skbuff[j] = NULL;
} }
} }
retval = -ENOMEM; retval = -ENOMEM;
...@@ -1938,9 +1938,9 @@ static void vortex_tx_timeout(struct net_device *dev) ...@@ -1938,9 +1938,9 @@ static void vortex_tx_timeout(struct net_device *dev)
unsigned long flags; unsigned long flags;
local_irq_save(flags); local_irq_save(flags);
if (vp->full_bus_master_tx) if (vp->full_bus_master_tx)
boomerang_interrupt(dev->irq, dev, 0); boomerang_interrupt(dev->irq, dev, NULL);
else else
vortex_interrupt(dev->irq, dev, 0); vortex_interrupt(dev->irq, dev, NULL);
local_irq_restore(flags); local_irq_restore(flags);
} }
} }
...@@ -2419,7 +2419,7 @@ boomerang_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -2419,7 +2419,7 @@ boomerang_interrupt(int irq, void *dev_id, struct pt_regs *regs)
le32_to_cpu(vp->tx_ring[entry].addr), skb->len, PCI_DMA_TODEVICE); le32_to_cpu(vp->tx_ring[entry].addr), skb->len, PCI_DMA_TODEVICE);
#endif #endif
dev_kfree_skb_irq(skb); dev_kfree_skb_irq(skb);
vp->tx_skbuff[entry] = 0; vp->tx_skbuff[entry] = NULL;
} else { } else {
printk(KERN_DEBUG "boomerang_interrupt: no skb!\n"); printk(KERN_DEBUG "boomerang_interrupt: no skb!\n");
} }
...@@ -2724,7 +2724,7 @@ vortex_close(struct net_device *dev) ...@@ -2724,7 +2724,7 @@ vortex_close(struct net_device *dev)
pci_unmap_single( VORTEX_PCI(vp), le32_to_cpu(vp->rx_ring[i].addr), pci_unmap_single( VORTEX_PCI(vp), le32_to_cpu(vp->rx_ring[i].addr),
PKT_BUF_SZ, PCI_DMA_FROMDEVICE); PKT_BUF_SZ, PCI_DMA_FROMDEVICE);
dev_kfree_skb(vp->rx_skbuff[i]); dev_kfree_skb(vp->rx_skbuff[i]);
vp->rx_skbuff[i] = 0; vp->rx_skbuff[i] = NULL;
} }
} }
if (vp->full_bus_master_tx) { /* Free Boomerang bus master Tx buffers. */ if (vp->full_bus_master_tx) { /* Free Boomerang bus master Tx buffers. */
...@@ -2743,7 +2743,7 @@ vortex_close(struct net_device *dev) ...@@ -2743,7 +2743,7 @@ vortex_close(struct net_device *dev)
pci_unmap_single(VORTEX_PCI(vp), le32_to_cpu(vp->tx_ring[i].addr), skb->len, PCI_DMA_TODEVICE); pci_unmap_single(VORTEX_PCI(vp), le32_to_cpu(vp->tx_ring[i].addr), skb->len, PCI_DMA_TODEVICE);
#endif #endif
dev_kfree_skb(skb); dev_kfree_skb(skb);
vp->tx_skbuff[i] = 0; vp->tx_skbuff[i] = NULL;
} }
} }
} }
......
...@@ -1490,6 +1490,7 @@ static int __init pmz_init_port(struct uart_pmac_port *uap) ...@@ -1490,6 +1490,7 @@ static int __init pmz_init_port(struct uart_pmac_port *uap)
uap->port.ops = &pmz_pops; uap->port.ops = &pmz_pops;
uap->port.type = PORT_PMAC_ZILOG; uap->port.type = PORT_PMAC_ZILOG;
uap->port.flags = 0; uap->port.flags = 0;
spin_lock_init(&uap->port.lock);
/* Setup some valid baud rate information in the register /* Setup some valid baud rate information in the register
* shadows so we don't write crap there before baud rate is * shadows so we don't write crap there before baud rate is
...@@ -1985,8 +1986,6 @@ static int __init pmz_console_init(void) ...@@ -1985,8 +1986,6 @@ static int __init pmz_console_init(void)
/* Probe ports */ /* Probe ports */
pmz_probe(); pmz_probe();
#ifdef CONFIG_SERIAL_PMACZILOG_CONSOLE
#endif
/* TODO: Autoprobe console based on OF */ /* TODO: Autoprobe console based on OF */
/* pmz_console.index = i; */ /* pmz_console.index = i; */
register_console(&pmz_console); register_console(&pmz_console);
......
...@@ -552,7 +552,7 @@ endmenu ...@@ -552,7 +552,7 @@ endmenu
menu "DOS/FAT/NT Filesystems" menu "DOS/FAT/NT Filesystems"
config FAT_FS config FAT_FS
tristate "DOS FAT fs support" tristate
select NLS select NLS
help help
If you want to use one of the FAT-based file systems (the MS-DOS, If you want to use one of the FAT-based file systems (the MS-DOS,
...@@ -595,7 +595,7 @@ config FAT_FS ...@@ -595,7 +595,7 @@ config FAT_FS
config MSDOS_FS config MSDOS_FS
tristate "MSDOS fs support" tristate "MSDOS fs support"
depends on FAT_FS select FAT_FS
help help
This allows you to mount MSDOS partitions of your hard drive (unless This allows you to mount MSDOS partitions of your hard drive (unless
they are compressed; to access compressed MSDOS partitions under they are compressed; to access compressed MSDOS partitions under
...@@ -624,7 +624,7 @@ config MSDOS_FS ...@@ -624,7 +624,7 @@ config MSDOS_FS
config VFAT_FS config VFAT_FS
tristate "VFAT (Windows-95) fs support" tristate "VFAT (Windows-95) fs support"
depends on FAT_FS select FAT_FS
help help
This option provides support for normal Windows file systems with This option provides support for normal Windows file systems with
long filenames. That includes non-compressed FAT-based file systems long filenames. That includes non-compressed FAT-based file systems
......
...@@ -250,7 +250,7 @@ static int afs_mntpt_follow_link(struct dentry *dentry, struct nameidata *nd) ...@@ -250,7 +250,7 @@ static int afs_mntpt_follow_link(struct dentry *dentry, struct nameidata *nd)
if (IS_ERR(newmnt)) if (IS_ERR(newmnt))
return PTR_ERR(newmnt); return PTR_ERR(newmnt);
struct_cpy(&newnd, nd); newnd = *nd;
newnd.dentry = dentry; newnd.dentry = dentry;
err = do_add_mount(newmnt, &newnd, 0, &afs_vfsmounts); err = do_add_mount(newmnt, &newnd, 0, &afs_vfsmounts);
......
...@@ -906,7 +906,7 @@ static cachefs_match_val_t afs_vlocation_cache_match(void *target, ...@@ -906,7 +906,7 @@ static cachefs_match_val_t afs_vlocation_cache_match(void *target,
if (!vlocation->valid || if (!vlocation->valid ||
vlocation->vldb.rtime == vldb->rtime vlocation->vldb.rtime == vldb->rtime
) { ) {
struct_cpy(&vlocation->vldb, vldb); vlocation->vldb = *vldb;
vlocation->valid = 1; vlocation->valid = 1;
_leave(" = SUCCESS [c->m]"); _leave(" = SUCCESS [c->m]");
return CACHEFS_MATCH_SUCCESS; return CACHEFS_MATCH_SUCCESS;
...@@ -947,7 +947,7 @@ static void afs_vlocation_cache_update(void *source, void *entry) ...@@ -947,7 +947,7 @@ static void afs_vlocation_cache_update(void *source, void *entry)
_enter(""); _enter("");
struct_cpy(vldb,&vlocation->vldb); *vldb = vlocation->vldb;
} /* end afs_vlocation_cache_update() */ } /* end afs_vlocation_cache_update() */
#endif #endif
...@@ -832,14 +832,12 @@ EXPORT_SYMBOL_GPL(do_add_mount); ...@@ -832,14 +832,12 @@ EXPORT_SYMBOL_GPL(do_add_mount);
void mark_mounts_for_expiry(struct list_head *mounts) void mark_mounts_for_expiry(struct list_head *mounts)
{ {
struct namespace *namespace; struct namespace *namespace;
struct list_head graveyard, *_p, *_n; struct vfsmount *mnt, *next;
struct vfsmount *mnt; LIST_HEAD(graveyard);
if (list_empty(mounts)) if (list_empty(mounts))
return; return;
INIT_LIST_HEAD(&graveyard);
spin_lock(&vfsmount_lock); spin_lock(&vfsmount_lock);
/* extract from the expiration list every vfsmount that matches the /* extract from the expiration list every vfsmount that matches the
...@@ -848,9 +846,7 @@ void mark_mounts_for_expiry(struct list_head *mounts) ...@@ -848,9 +846,7 @@ void mark_mounts_for_expiry(struct list_head *mounts)
* - still marked for expiry (marked on the last call here; marks are * - still marked for expiry (marked on the last call here; marks are
* cleared by mntput()) * cleared by mntput())
*/ */
list_for_each_safe(_p, _n, mounts) { list_for_each_entry_safe(mnt, next, mounts, mnt_fslink) {
mnt = list_entry(_p, struct vfsmount, mnt_fslink);
if (!xchg(&mnt->mnt_expiry_mark, 1) || if (!xchg(&mnt->mnt_expiry_mark, 1) ||
atomic_read(&mnt->mnt_count) != 1) atomic_read(&mnt->mnt_count) != 1)
continue; continue;
...@@ -913,8 +909,7 @@ void mark_mounts_for_expiry(struct list_head *mounts) ...@@ -913,8 +909,7 @@ void mark_mounts_for_expiry(struct list_head *mounts)
} }
mntput(mnt); mntput(mnt);
} } else {
else {
/* someone brought it back to life whilst we didn't /* someone brought it back to life whilst we didn't
* have any locks held so return it to the expiration * have any locks held so return it to the expiration
* list */ * list */
......
...@@ -277,22 +277,6 @@ static __inline__ void *__memcpy3d(void *to, const void *from, size_t len) ...@@ -277,22 +277,6 @@ static __inline__ void *__memcpy3d(void *to, const void *from, size_t len)
#endif #endif
/*
* struct_cpy(x,y), copy structure *x into (matching structure) *y.
*
* We get link-time errors if the structure sizes do not match.
* There is no runtime overhead, it's all optimized away at
* compile time.
*/
extern void __struct_cpy_bug (void);
#define struct_cpy(x,y) \
({ \
if (sizeof(*(x)) != sizeof(*(y))) \
__struct_cpy_bug(); \
memcpy(x, y, sizeof(*(x))); \
})
#define __HAVE_ARCH_MEMMOVE #define __HAVE_ARCH_MEMMOVE
void *memmove(void * dest,const void * src, size_t n); void *memmove(void * dest,const void * src, size_t n);
......
...@@ -3,8 +3,6 @@ ...@@ -3,8 +3,6 @@
#ifdef __KERNEL__ #ifdef __KERNEL__
#define struct_cpy(x,y) (*(x)=*(y))
/* Written 2002 by Andi Kleen */ /* Written 2002 by Andi Kleen */
/* Only used for special circumstances. Stolen from i386/string.h */ /* Only used for special circumstances. Stolen from i386/string.h */
......
#ifndef _LINUX_BLOCKGROUP_LOCK_H
#define _LINUX_BLOCKGROUP_LOCK_H
/* /*
* Per-blockgroup locking for ext2 and ext3. * Per-blockgroup locking for ext2 and ext3.
* *
...@@ -55,4 +57,4 @@ static inline void bgl_lock_init(struct blockgroup_lock *bgl) ...@@ -55,4 +57,4 @@ static inline void bgl_lock_init(struct blockgroup_lock *bgl)
#define sb_bgl_lock(sb, block_group) \ #define sb_bgl_lock(sb, block_group) \
(&(sb)->s_blockgroup_lock.locks[(block_group) & (NR_BG_LOCKS-1)].lock) (&(sb)->s_blockgroup_lock.locks[(block_group) & (NR_BG_LOCKS-1)].lock)
#endif
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
/* /*
* cd1400.h -- cd1400 UART hardware info. * cd1400.h -- cd1400 UART hardware info.
* *
* Copyright (C) 1996-1998 Stallion Technologies (support@stallion.oz.au). * Copyright (C) 1996-1998 Stallion Technologies
* Copyright (C) 1994-1996 Greg Ungerer. * Copyright (C) 1994-1996 Greg Ungerer.
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
/* /*
* cdk.h -- CDK interface definitions. * cdk.h -- CDK interface definitions.
* *
* Copyright (C) 1996-1998 Stallion Technologies (support@stallion.oz.au). * Copyright (C) 1996-1998 Stallion Technologies
* Copyright (C) 1994-1996 Greg Ungerer. * Copyright (C) 1994-1996 Greg Ungerer.
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
/* /*
* comstats.h -- Serial Port Stats. * comstats.h -- Serial Port Stats.
* *
* Copyright (C) 1996-1998 Stallion Technologies (support@stallion.oz.au). * Copyright (C) 1996-1998 Stallion Technologies
* Copyright (C) 1994-1996 Greg Ungerer. * Copyright (C) 1994-1996 Greg Ungerer.
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
/* /*
* istallion.h -- stallion intelligent multiport serial driver. * istallion.h -- stallion intelligent multiport serial driver.
* *
* Copyright (C) 1996-1998 Stallion Technologies (support@stallion.oz.au). * Copyright (C) 1996-1998 Stallion Technologies
* Copyright (C) 1994-1996 Greg Ungerer. * Copyright (C) 1994-1996 Greg Ungerer.
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
......
#ifndef _LINUX_PERCPU_COUNTER_H
#define _LINUX_PERCPU_COUNTER_H
/* /*
* A simple "approximate counter" for use in ext2 and ext3 superblocks. * A simple "approximate counter" for use in ext2 and ext3 superblocks.
* *
...@@ -101,3 +103,5 @@ static inline void percpu_counter_dec(struct percpu_counter *fbc) ...@@ -101,3 +103,5 @@ static inline void percpu_counter_dec(struct percpu_counter *fbc)
{ {
percpu_counter_mod(fbc, -1); percpu_counter_mod(fbc, -1);
} }
#endif /* _LINUX_PERCPU_COUNTER_H */
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
/* /*
* sc26198.h -- SC26198 UART hardware info. * sc26198.h -- SC26198 UART hardware info.
* *
* Copyright (C) 1995-1998 Stallion Technologies (support@stallion.oz.au). * Copyright (C) 1995-1998 Stallion Technologies
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
/* /*
* stallion.h -- stallion multiport serial driver. * stallion.h -- stallion multiport serial driver.
* *
* Copyright (C) 1996-1998 Stallion Technologies (support@stallion.oz.au). * Copyright (C) 1996-1998 Stallion Technologies
* Copyright (C) 1994-1996 Greg Ungerer. * Copyright (C) 1994-1996 Greg Ungerer.
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
*/ */
#include <linux/config.h> #include <linux/config.h>
#include <linux/delay.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/pci.h> #include <linux/pci.h>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment