summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-07-23 14:05:01 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-07-23 14:05:01 +0000
commitf3627cbe9236a062012c836f3b6ee311b43f63f2 (patch)
treeae854838b9a73b35bd0f3b8f42e5fb7f9cb1d5a9 /include
parentfea12a7b3f20bc135ab533491411e9ff753c01c8 (diff)
Merge with Linux 2.4.0-test5-pre4.
Diffstat (limited to 'include')
-rw-r--r--include/asm-sh/bitops.h40
-rw-r--r--include/asm-sh/checksum.h2
-rw-r--r--include/asm-sh/hardirq.h17
-rw-r--r--include/asm-sh/mmu_context.h10
-rw-r--r--include/asm-sh/serial.h35
-rw-r--r--include/asm-sh/sh_bios.h19
-rw-r--r--include/asm-sh/softirq.h6
-rw-r--r--include/asm-sh/timex.h2
-rw-r--r--include/linux/blkdev.h10
-rw-r--r--include/linux/file.h37
-rw-r--r--include/linux/genhd.h2
-rw-r--r--include/linux/kmod.h3
-rw-r--r--include/linux/mm.h49
-rw-r--r--include/linux/ncp_fs.h2
-rw-r--r--include/linux/poll.h15
-rw-r--r--include/linux/raid/md.h3
-rw-r--r--include/linux/raid/md_p.h15
-rw-r--r--include/linux/sched.h30
-rw-r--r--include/linux/serialP.h3
-rw-r--r--include/linux/sysctl.h1
-rw-r--r--include/linux/usb.h2
21 files changed, 145 insertions, 158 deletions
diff --git a/include/asm-sh/bitops.h b/include/asm-sh/bitops.h
index 6ce4ea388..fde5f2121 100644
--- a/include/asm-sh/bitops.h
+++ b/include/asm-sh/bitops.h
@@ -6,10 +6,10 @@
/* For __swab32 */
#include <asm/byteorder.h>
-extern __inline__ void set_bit(int nr, void * addr)
+extern __inline__ void set_bit(int nr, volatile void * addr)
{
int mask;
- unsigned int *a = addr;
+ volatile unsigned int *a = addr;
unsigned long flags;
a += nr >> 5;
@@ -19,10 +19,10 @@ extern __inline__ void set_bit(int nr, void * addr)
restore_flags(flags);
}
-extern __inline__ void clear_bit(int nr, void * addr)
+extern __inline__ void clear_bit(int nr, volatile void * addr)
{
int mask;
- unsigned int *a = addr;
+ volatile unsigned int *a = addr;
unsigned long flags;
a += nr >> 5;
@@ -32,10 +32,10 @@ extern __inline__ void clear_bit(int nr, void * addr)
restore_flags(flags);
}
-extern __inline__ void change_bit(int nr, void * addr)
+extern __inline__ void change_bit(int nr, volatile void * addr)
{
int mask;
- unsigned int *a = addr;
+ volatile unsigned int *a = addr;
unsigned long flags;
a += nr >> 5;
@@ -45,10 +45,10 @@ extern __inline__ void change_bit(int nr, void * addr)
restore_flags(flags);
}
-extern __inline__ int test_and_set_bit(int nr, void * addr)
+extern __inline__ int test_and_set_bit(int nr, volatile void * addr)
{
int mask, retval;
- unsigned int *a = addr;
+ volatile unsigned int *a = addr;
unsigned long flags;
a += nr >> 5;
@@ -61,10 +61,10 @@ extern __inline__ int test_and_set_bit(int nr, void * addr)
return retval;
}
-extern __inline__ int test_and_clear_bit(int nr, void * addr)
+extern __inline__ int test_and_clear_bit(int nr, volatile void * addr)
{
int mask, retval;
- unsigned int *a = addr;
+ volatile unsigned int *a = addr;
unsigned long flags;
a += nr >> 5;
@@ -77,10 +77,10 @@ extern __inline__ int test_and_clear_bit(int nr, void * addr)
return retval;
}
-extern __inline__ int test_and_change_bit(int nr, void * addr)
+extern __inline__ int test_and_change_bit(int nr, volatile void * addr)
{
int mask, retval;
- unsigned int *a = addr;
+ volatile unsigned int *a = addr;
unsigned long flags;
a += nr >> 5;
@@ -94,9 +94,9 @@ extern __inline__ int test_and_change_bit(int nr, void * addr)
}
-extern __inline__ int test_bit(int nr, const void *addr)
+extern __inline__ int test_bit(int nr, const volatile void *addr)
{
- return 1UL & (((const unsigned int *) addr)[nr >> 5] >> (nr & 31));
+ return 1UL & (((const volatile unsigned int *) addr)[nr >> 5] >> (nr & 31));
}
extern __inline__ unsigned long ffz(unsigned long word)
@@ -159,11 +159,11 @@ found_middle:
#define ext2_find_next_zero_bit(addr, size, offset) \
find_next_zero_bit((addr), (size), (offset))
#else
-extern __inline__ int ext2_set_bit(int nr,void * addr)
+extern __inline__ int ext2_set_bit(int nr, volatile void * addr)
{
int mask, retval;
unsigned long flags;
- unsigned char *ADDR = (unsigned char *) addr;
+ volatile unsigned char *ADDR = (unsigned char *) addr;
ADDR += nr >> 3;
mask = 1 << (nr & 0x07);
@@ -174,11 +174,11 @@ extern __inline__ int ext2_set_bit(int nr,void * addr)
return retval;
}
-extern __inline__ int ext2_clear_bit(int nr, void * addr)
+extern __inline__ int ext2_clear_bit(int nr, volatile void * addr)
{
int mask, retval;
unsigned long flags;
- unsigned char *ADDR = (unsigned char *) addr;
+ volatile unsigned char *ADDR = (unsigned char *) addr;
ADDR += nr >> 3;
mask = 1 << (nr & 0x07);
@@ -189,10 +189,10 @@ extern __inline__ int ext2_clear_bit(int nr, void * addr)
return retval;
}
-extern __inline__ int ext2_test_bit(int nr, const void * addr)
+extern __inline__ int ext2_test_bit(int nr, const volatile void * addr)
{
int mask;
- const unsigned char *ADDR = (const unsigned char *) addr;
+ const volatile unsigned char *ADDR = (const unsigned char *) addr;
ADDR += nr >> 3;
mask = 1 << (nr & 0x07);
diff --git a/include/asm-sh/checksum.h b/include/asm-sh/checksum.h
index 6e1a728bf..f19fc9067 100644
--- a/include/asm-sh/checksum.h
+++ b/include/asm-sh/checksum.h
@@ -164,6 +164,7 @@ static __inline__ unsigned short ip_compute_csum(unsigned char * buff, int len)
}
#define _HAVE_ARCH_IPV6_CSUM
+#ifdef CONFIG_IPV6
static __inline__ unsigned short int csum_ipv6_magic(struct in6_addr *saddr,
struct in6_addr *daddr,
__u32 len,
@@ -198,6 +199,7 @@ static __inline__ unsigned short int csum_ipv6_magic(struct in6_addr *saddr,
return csum_fold(sum);
}
+#endif
/*
* Copy and checksum to user
diff --git a/include/asm-sh/hardirq.h b/include/asm-sh/hardirq.h
index e57d0e31a..592b31d95 100644
--- a/include/asm-sh/hardirq.h
+++ b/include/asm-sh/hardirq.h
@@ -4,25 +4,28 @@
#include <linux/config.h>
#include <linux/threads.h>
-extern unsigned int local_irq_count[NR_CPUS];
-extern unsigned int local_bh_count[NR_CPUS];
+extern unsigned int __local_irq_count[NR_CPUS];
+extern unsigned int __local_bh_count[NR_CPUS];
+
+#define local_irq_count(cpu) (__local_irq_count[(cpu)])
+#define local_bh_count(cpu) (__local_bh_count[(cpu)])
/*
* Are we in an interrupt context? Either doing bottom half
* or hardware interrupt processing?
*/
#define in_interrupt() ({ int __cpu = smp_processor_id(); \
- (local_irq_count[__cpu] + local_bh_count[__cpu] != 0); })
+ (__local_irq_count[__cpu] + __local_bh_count[__cpu] != 0); })
-#define in_irq() (local_irq_count[smp_processor_id()] != 0)
+#define in_irq() (__local_irq_count[smp_processor_id()] != 0)
#ifndef CONFIG_SMP
-#define hardirq_trylock(cpu) (local_irq_count[cpu] == 0)
+#define hardirq_trylock(cpu) (__local_irq_count[cpu] == 0)
#define hardirq_endlock(cpu) do { } while (0)
-#define irq_enter(cpu, irq) (local_irq_count[cpu]++)
-#define irq_exit(cpu, irq) (local_irq_count[cpu]--)
+#define irq_enter(cpu, irq) (__local_irq_count[cpu]++)
+#define irq_exit(cpu, irq) (__local_irq_count[cpu]--)
#define synchronize_irq() barrier()
diff --git a/include/asm-sh/mmu_context.h b/include/asm-sh/mmu_context.h
index e4448a7dd..0f48339b2 100644
--- a/include/asm-sh/mmu_context.h
+++ b/include/asm-sh/mmu_context.h
@@ -112,6 +112,16 @@ extern __inline__ void destroy_context(struct mm_struct *mm)
#define MMU_NTLB_ENTRIES 64 /* for 7750 */
#define MMU_CONTROL_INIT 0x205 /* SQMD=1, SV=0, TI=1, AT=1 */
+
+#define MMU_ITLB_DATA_ARRAY 0xF3000000
+#define MMU_UTLB_DATA_ARRAY 0xF7000000
+
+#define MMU_UTLB_ENTRIES 64
+#define MMU_U_ENTRY_SHIFT 8
+#define MMU_UTLB_VALID 0x100
+#define MMU_ITLB_ENTRIES 4
+#define MMU_I_ENTRY_SHIFT 8
+#define MMU_ITLB_VALID 0x100
#endif
extern __inline__ void set_asid(unsigned long asid)
diff --git a/include/asm-sh/serial.h b/include/asm-sh/serial.h
new file mode 100644
index 000000000..3156c8a5f
--- /dev/null
+++ b/include/asm-sh/serial.h
@@ -0,0 +1,35 @@
+/*
+ * include/asm-sh/serial.h
+ *
+ * Configuration details for 8250, 16450, 16550, etc. serial ports
+ */
+
+#ifndef _ASM_SERIAL_H
+#define _ASM_SERIAL_H
+
+#include <linux/config.h>
+
+/*
+ * This assumes you have a 1.8432 MHz clock for your UART.
+ *
+ * It'd be nice if someone built a serial card with a 24.576 MHz
+ * clock, since the 16550A is capable of handling a top speed of 1.5
+ * megabits/second; but this requires the faster clock.
+ */
+#define BASE_BAUD ( 1843200 / 16 )
+
+#define RS_TABLE_SIZE 2
+
+#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST)
+
+#define STD_SERIAL_PORT_DEFNS \
+ /* UART CLK PORT IRQ FLAGS */ \
+ { 0, BASE_BAUD, 0x3F8, 4, STD_COM_FLAGS }, /* ttyS0 */ \
+ { 0, BASE_BAUD, 0x2F8, 3, STD_COM_FLAGS } /* ttyS1 */
+
+#define SERIAL_PORT_DFNS STD_SERIAL_PORT_DEFNS
+
+/* XXX: This should be moved ino irq.h */
+#define irq_cannonicalize(x) (x)
+
+#endif /* _ASM_SERIAL_H */
diff --git a/include/asm-sh/sh_bios.h b/include/asm-sh/sh_bios.h
new file mode 100644
index 000000000..7f084b00c
--- /dev/null
+++ b/include/asm-sh/sh_bios.h
@@ -0,0 +1,19 @@
+#ifndef __ASM_SH_BIOS_H
+#define __ASM_SH_BIOS_H
+
+/*
+ * Copyright (C) 2000 Greg Banks, Mitch Davis
+ * C API to interface to the standard LinuxSH BIOS
+ * usually from within the early stages of kernel boot.
+ */
+
+#include <config/sh/standard/bios.h>
+
+
+extern void sh_bios_console_write(const char *buf, unsigned int len);
+extern void sh_bios_char_out(char ch);
+extern int sh_bios_in_gdb_mode(void);
+extern void sh_bios_gdb_detach(void);
+
+
+#endif /* __ASM_SH_BIOS_H */
diff --git a/include/asm-sh/softirq.h b/include/asm-sh/softirq.h
index 9f0a9ff96..44f4e0423 100644
--- a/include/asm-sh/softirq.h
+++ b/include/asm-sh/softirq.h
@@ -4,12 +4,12 @@
#include <asm/atomic.h>
#include <asm/hardirq.h>
-#define cpu_bh_disable(cpu) do { local_bh_count[(cpu)]++; barrier(); } while (0)
-#define cpu_bh_enable(cpu) do { barrier(); local_bh_count[(cpu)]--; } while (0)
+#define cpu_bh_disable(cpu) do { __local_bh_count[(cpu)]++; barrier(); } while (0)
+#define cpu_bh_enable(cpu) do { barrier(); __local_bh_count[(cpu)]--; } while (0)
#define local_bh_disable() cpu_bh_disable(smp_processor_id())
#define local_bh_enable() cpu_bh_enable(smp_processor_id())
-#define in_softirq() (local_bh_count[smp_processor_id()] != 0)
+#define in_softirq() (__local_bh_count[smp_processor_id()] != 0)
#endif /* __ASM_SH_SOFTIRQ_H */
diff --git a/include/asm-sh/timex.h b/include/asm-sh/timex.h
index c58ec44d5..2351c2f0b 100644
--- a/include/asm-sh/timex.h
+++ b/include/asm-sh/timex.h
@@ -12,7 +12,7 @@
(1000000/CLOCK_TICK_FACTOR) / (CLOCK_TICK_RATE/CLOCK_TICK_FACTOR)) \
<< (SHIFT_SCALE-SHIFT_HZ)) / HZ)
-typedef unsigned long cycles_t;
+typedef unsigned long long cycles_t;
extern cycles_t cacheflush_time;
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 4f00239bf..f8ec698cc 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -196,4 +196,14 @@ extern int * max_segments[MAX_BLKDEV];
extern void drive_stat_acct (kdev_t dev, int rw,
unsigned long nr_sectors, int new_io);
+static inline int get_hardsect_size(kdev_t dev)
+{
+ extern int *hardsect_size[];
+ if (hardsect_size[MAJOR(dev)] != NULL)
+ return hardsect_size[MAJOR(dev)][MINOR(dev)];
+ else
+ return 512;
+}
+
+
#endif
diff --git a/include/linux/file.h b/include/linux/file.h
index 268fd27a1..a206b616b 100644
--- a/include/linux/file.h
+++ b/include/linux/file.h
@@ -5,7 +5,8 @@
#ifndef __LINUX_FILE_H
#define __LINUX_FILE_H
-extern void _fput(struct file *);
+extern void FASTCALL(fput(struct file *));
+extern struct file * FASTCALL(fget(unsigned int fd));
static inline struct file * fcheck_files(struct files_struct *files, unsigned int fd)
{
@@ -38,40 +39,6 @@ static inline struct file * frip(struct files_struct *files, unsigned int fd)
return file;
}
-static inline struct file * fget(unsigned int fd)
-{
- struct file * file = NULL;
- struct files_struct *files = current->files;
-
- read_lock(&files->file_lock);
- file = fcheck(fd);
- if (file)
- get_file(file);
- read_unlock(&files->file_lock);
- return file;
-}
-
-/*
- * 23/12/1998 Marcin Dalecki <dalecki@cs.net.pl>:
- *
- * Since those functions where calling other functions, it was completely
- * bogus to make them all "extern inline".
- *
- * The removal of this pseudo optimization saved me scandalous:
- *
- * 3756 (i386 arch)
- *
- * precious bytes from my kernel, even without counting all the code compiled
- * as module!
- *
- * I suspect there are many other similar "optimizations" across the
- * kernel...
- */
-static inline void fput(struct file * file)
-{
- if (atomic_dec_and_test(&file->f_count))
- _fput(file);
-}
extern void put_filp(struct file *);
extern int get_unused_fd(void);
diff --git a/include/linux/genhd.h b/include/linux/genhd.h
index c0f69dbb4..6cfe0bbb7 100644
--- a/include/linux/genhd.h
+++ b/include/linux/genhd.h
@@ -231,7 +231,7 @@ char *disk_name (struct gendisk *hd, int minor, char *buf);
extern void devfs_register_partitions (struct gendisk *dev, int minor,
int unregister);
-int get_hardsect_size(kdev_t dev);
+
/*
* FIXME: this should use genhd->minor_shift, but that is slow to look up.
diff --git a/include/linux/kmod.h b/include/linux/kmod.h
index 4e880c937..4bc6187b3 100644
--- a/include/linux/kmod.h
+++ b/include/linux/kmod.h
@@ -8,6 +8,9 @@
#ifdef CONFIG_KMOD
extern int request_module(const char * name);
extern int exec_usermodehelper(char *program_path, char *argv[], char *envp[]);
+#ifdef CONFIG_HOTPLUG
+extern char hotplug_path [];
+#endif
#else
static inline int request_module(const char * name) { return -ENOSYS; }
static inline int exec_usermodehelper(char *program_path, char *argv[], char *envp[])
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 70f57f770..b8f6a4964 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -327,18 +327,10 @@ static inline struct page * alloc_pages(int gfp_mask, unsigned long order)
extern struct page * alloc_pages(int gfp_mask, unsigned long order);
#endif /* !CONFIG_DISCONTIGMEM */
-#define alloc_page(gfp_mask) \
- alloc_pages(gfp_mask, 0)
+#define alloc_page(gfp_mask) alloc_pages(gfp_mask, 0)
-static inline unsigned long __get_free_pages (int gfp_mask, unsigned long order)
-{
- struct page * page;
-
- page = alloc_pages(gfp_mask, order);
- if (!page)
- return 0;
- return page_address(page);
-}
+extern unsigned long FASTCALL(__get_free_pages(int gfp_mask, unsigned long order));
+extern unsigned long FASTCALL(get_zeroed_page(int gfp_mask));
#define __get_free_page(gfp_mask) \
__get_free_pages((gfp_mask),0)
@@ -346,16 +338,6 @@ static inline unsigned long __get_free_pages (int gfp_mask, unsigned long order)
#define __get_dma_pages(gfp_mask, order) \
__get_free_pages((gfp_mask) | GFP_DMA,(order))
-static inline unsigned long get_zeroed_page(int gfp_mask)
-{
- unsigned long page;
-
- page = __get_free_page(gfp_mask);
- if (page)
- clear_page((void *)page);
- return page;
-}
-
/*
* The old interface name will be removed in 2.5:
*/
@@ -364,29 +346,10 @@ static inline unsigned long get_zeroed_page(int gfp_mask)
/*
* There is only one 'core' page-freeing function.
*/
-extern void FASTCALL(__free_pages_ok(struct page * page, unsigned long order));
-
-static inline void __free_pages(struct page *page, unsigned long order)
-{
- if (!put_page_testzero(page))
- return;
- __free_pages_ok(page, order);
-}
-
-#define __free_page(page) __free_pages(page, 0)
-
-static inline void free_pages(unsigned long addr, unsigned long order)
-{
- unsigned long map_nr;
-
-#ifdef CONFIG_DISCONTIGMEM
- if (addr == 0) return;
-#endif
- map_nr = MAP_NR(addr);
- if (map_nr < max_mapnr)
- __free_pages(mem_map + map_nr, order);
-}
+extern void FASTCALL(__free_pages(struct page *page, unsigned long order));
+extern void FASTCALL(free_pages(unsigned long addr, unsigned long order));
+#define __free_page(page) __free_pages((page), 0)
#define free_page(addr) free_pages((addr),0)
extern void show_free_areas(void);
diff --git a/include/linux/ncp_fs.h b/include/linux/ncp_fs.h
index cedd7f05e..7d67f410b 100644
--- a/include/linux/ncp_fs.h
+++ b/include/linux/ncp_fs.h
@@ -212,7 +212,7 @@ static inline void *
static inline void ncp_kfree_s(void *obj, int size)
{
ncp_current_malloced -= 1;
- kfree(obj, size);
+ kfree(obj);
}
#else /* DEBUG_NCP_MALLOC */
diff --git a/include/linux/poll.h b/include/linux/poll.h
index 64b5df671..24138dbd2 100644
--- a/include/linux/poll.h
+++ b/include/linux/poll.h
@@ -10,26 +10,13 @@
#include <linux/mm.h>
#include <asm/uaccess.h>
-
-struct poll_table_entry {
- struct file * filp;
- wait_queue_t wait;
- wait_queue_head_t * wait_address;
-};
-
-struct poll_table_page {
- struct poll_table_page * next;
- unsigned int nr;
- struct poll_table_entry * entry;
-};
+struct poll_table_page;
typedef struct poll_table_struct {
int error;
struct poll_table_page * table;
} poll_table;
-#define __MAX_POLL_TABLE_ENTRIES ((PAGE_SIZE - sizeof (struct poll_table_page)) / sizeof (struct poll_table_entry))
-
extern void __pollwait(struct file * filp, wait_queue_head_t * wait_address, poll_table *p);
extern inline void poll_wait(struct file * filp, wait_queue_head_t * wait_address, poll_table *p)
diff --git a/include/linux/raid/md.h b/include/linux/raid/md.h
index b36a7ce01..7aef27bca 100644
--- a/include/linux/raid/md.h
+++ b/include/linux/raid/md.h
@@ -19,7 +19,6 @@
#define _MD_H
#include <linux/mm.h>
-#include <linux/config.h>
#include <linux/fs.h>
#include <linux/blkdev.h>
#include <asm/semaphore.h>
@@ -84,8 +83,6 @@ extern int md_notify_reboot(struct notifier_block *this,
unsigned long code, void *x);
extern int md_error (kdev_t mddev, kdev_t rdev);
-extern void raid_setup(char *str) md__init;
-
extern void md_print_devices (void);
#define MD_BUG(x...) { printk("md: bug in file %s, line %d\n", __FILE__, __LINE__); md_print_devices(); }
diff --git a/include/linux/raid/md_p.h b/include/linux/raid/md_p.h
index 1b9632c14..0c6e1a368 100644
--- a/include/linux/raid/md_p.h
+++ b/include/linux/raid/md_p.h
@@ -115,7 +115,7 @@ typedef struct mdp_superblock_s {
__u32 not_persistent; /* 12 does it have a persistent superblock */
__u32 set_uuid1; /* 13 Raid set identifier #2 */
__u32 set_uuid2; /* 14 Raid set identifier #3 */
- __u32 set_uuid3; /* 14 Raid set identifier #4 */
+ __u32 set_uuid3; /* 15 Raid set identifier #4 */
__u32 gstate_creserved[MD_SB_GENERIC_CONSTANT_WORDS - 16];
/*
@@ -128,7 +128,13 @@ typedef struct mdp_superblock_s {
__u32 failed_disks; /* 4 Number of failed disks */
__u32 spare_disks; /* 5 Number of spare disks */
__u32 sb_csum; /* 6 checksum of the whole superblock */
- __u64 events; /* 7 number of superblock updates (64-bit!) */
+#ifdef __BIG_ENDIAN
+ __u32 events_hi; /* 7 high-order of superblock update count */
+ __u32 events_lo; /* 8 low-order of superblock update count */
+#else
+ __u32 events_lo; /* 7 low-order of superblock update count */
+ __u32 events_hi; /* 8 high-order of superblock update count */
+#endif
__u32 gstate_sreserved[MD_SB_GENERIC_STATE_WORDS - 9];
/*
@@ -157,5 +163,10 @@ typedef struct mdp_superblock_s {
} mdp_super_t;
+static inline __u64 md_event(mdp_super_t *sb) {
+ __u64 ev = sb->events_hi;
+ return (ev<<32)| sb->events_lo;
+}
+
#endif _MD_P_H
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 5058586ee..2d7161676 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -727,33 +727,9 @@ extern void daemonize(void);
extern int do_execve(char *, char **, char **, struct pt_regs *);
extern int do_fork(unsigned long, unsigned long, struct pt_regs *);
-static inline void add_wait_queue(wait_queue_head_t *q, wait_queue_t * wait)
-{
- unsigned long flags;
-
- wq_write_lock_irqsave(&q->lock, flags);
- __add_wait_queue(q, wait);
- wq_write_unlock_irqrestore(&q->lock, flags);
-}
-
-static inline void add_wait_queue_exclusive(wait_queue_head_t *q,
- wait_queue_t * wait)
-{
- unsigned long flags;
-
- wq_write_lock_irqsave(&q->lock, flags);
- __add_wait_queue_tail(q, wait);
- wq_write_unlock_irqrestore(&q->lock, flags);
-}
-
-static inline void remove_wait_queue(wait_queue_head_t *q, wait_queue_t * wait)
-{
- unsigned long flags;
-
- wq_write_lock_irqsave(&q->lock, flags);
- __remove_wait_queue(q, wait);
- wq_write_unlock_irqrestore(&q->lock, flags);
-}
+extern void FASTCALL(add_wait_queue(wait_queue_head_t *q, wait_queue_t * wait));
+extern void FASTCALL(add_wait_queue_exclusive(wait_queue_head_t *q, wait_queue_t * wait));
+extern void FASTCALL(remove_wait_queue(wait_queue_head_t *q, wait_queue_t * wait));
#define __wait_event(wq, condition) \
do { \
diff --git a/include/linux/serialP.h b/include/linux/serialP.h
index d1f901262..1545e60e1 100644
--- a/include/linux/serialP.h
+++ b/include/linux/serialP.h
@@ -180,7 +180,8 @@ struct pci_board_inst {
#define SPCI_FL_IRQBASE4 (0x0004 << 4)
#define SPCI_FL_GET_IRQBASE(x) ((x & SPCI_FL_IRQ_MASK) >> 4)
-/* Use sucessiveentries base resource table */
+/* Use sucessive BARs (PCI base address registers),
+ else use offset into some specified BAR */
#define SPCI_FL_BASE_TABLE 0x0100
/* Use successive entries in the irq resource table */
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h
index b374bb9c6..7dfe40942 100644
--- a/include/linux/sysctl.h
+++ b/include/linux/sysctl.h
@@ -112,6 +112,7 @@ enum
KERN_OVERFLOWUID=46, /* int: overflow UID */
KERN_OVERFLOWGID=47, /* int: overflow GID */
KERN_SHMPATH=48, /* string: path to shm fs */
+ KERN_HOTPLUG=49, /* string: path to hotplug policy agent */
};
diff --git a/include/linux/usb.h b/include/linux/usb.h
index 885687193..27e6fe7df 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -10,10 +10,12 @@
#define USB_CLASS_AUDIO 1
#define USB_CLASS_COMM 2
#define USB_CLASS_HID 3
+#define USB_CLASS_PHYSICAL 5
#define USB_CLASS_PRINTER 7
#define USB_CLASS_MASS_STORAGE 8
#define USB_CLASS_HUB 9
#define USB_CLASS_DATA 10
+#define USB_CLASS_APP_SPEC 0xfe
#define USB_CLASS_VENDOR_SPEC 0xff
/*