diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-07-23 14:05:01 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-07-23 14:05:01 +0000 |
commit | f3627cbe9236a062012c836f3b6ee311b43f63f2 (patch) | |
tree | ae854838b9a73b35bd0f3b8f42e5fb7f9cb1d5a9 /include | |
parent | fea12a7b3f20bc135ab533491411e9ff753c01c8 (diff) |
Merge with Linux 2.4.0-test5-pre4.
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-sh/bitops.h | 40 | ||||
-rw-r--r-- | include/asm-sh/checksum.h | 2 | ||||
-rw-r--r-- | include/asm-sh/hardirq.h | 17 | ||||
-rw-r--r-- | include/asm-sh/mmu_context.h | 10 | ||||
-rw-r--r-- | include/asm-sh/serial.h | 35 | ||||
-rw-r--r-- | include/asm-sh/sh_bios.h | 19 | ||||
-rw-r--r-- | include/asm-sh/softirq.h | 6 | ||||
-rw-r--r-- | include/asm-sh/timex.h | 2 | ||||
-rw-r--r-- | include/linux/blkdev.h | 10 | ||||
-rw-r--r-- | include/linux/file.h | 37 | ||||
-rw-r--r-- | include/linux/genhd.h | 2 | ||||
-rw-r--r-- | include/linux/kmod.h | 3 | ||||
-rw-r--r-- | include/linux/mm.h | 49 | ||||
-rw-r--r-- | include/linux/ncp_fs.h | 2 | ||||
-rw-r--r-- | include/linux/poll.h | 15 | ||||
-rw-r--r-- | include/linux/raid/md.h | 3 | ||||
-rw-r--r-- | include/linux/raid/md_p.h | 15 | ||||
-rw-r--r-- | include/linux/sched.h | 30 | ||||
-rw-r--r-- | include/linux/serialP.h | 3 | ||||
-rw-r--r-- | include/linux/sysctl.h | 1 | ||||
-rw-r--r-- | include/linux/usb.h | 2 |
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 /* |