aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2006-03-11 19:21:17 -0500
committerJeff Garzik <jeff@garzik.org>2006-03-11 19:21:17 -0500
commitce1e7a2ac721eb9d825b63f74752d0c9e0c635c2 (patch)
treea7c0d18d6486734dffb9498e30db5b226b6e23bf /include/linux
parentc2956a3b0d1c17b38da369811a6ce93eb7a01a04 (diff)
parent75deb6fa985bd3162b9472f1fc394e23294da816 (diff)
Merge branch 'upstream'
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/compat_ioctl.h2
-rw-r--r--include/linux/file.h2
-rw-r--r--include/linux/fs.h6
-rw-r--r--include/linux/gfp.h4
-rw-r--r--include/linux/hrtimer.h4
-rw-r--r--include/linux/kmalloc_sizes.h4
-rw-r--r--include/linux/libata.h36
-rw-r--r--include/linux/memory_hotplug.h4
-rw-r--r--include/linux/pci_ids.h2
-rw-r--r--include/linux/percpu_counter.h6
-rw-r--r--include/linux/rcupdate.h6
-rw-r--r--include/linux/reiserfs_fs.h2
-rw-r--r--include/linux/sched.h1
13 files changed, 58 insertions, 21 deletions
diff --git a/include/linux/compat_ioctl.h b/include/linux/compat_ioctl.h
index 8fad50f8e389..ae7dfb790df3 100644
--- a/include/linux/compat_ioctl.h
+++ b/include/linux/compat_ioctl.h
@@ -696,6 +696,8 @@ COMPATIBLE_IOCTL(MEMLOCK)
696COMPATIBLE_IOCTL(MEMUNLOCK) 696COMPATIBLE_IOCTL(MEMUNLOCK)
697COMPATIBLE_IOCTL(MEMGETREGIONCOUNT) 697COMPATIBLE_IOCTL(MEMGETREGIONCOUNT)
698COMPATIBLE_IOCTL(MEMGETREGIONINFO) 698COMPATIBLE_IOCTL(MEMGETREGIONINFO)
699COMPATIBLE_IOCTL(MEMGETBADBLOCK)
700COMPATIBLE_IOCTL(MEMSETBADBLOCK)
699/* NBD */ 701/* NBD */
700ULONG_IOCTL(NBD_SET_SOCK) 702ULONG_IOCTL(NBD_SET_SOCK)
701ULONG_IOCTL(NBD_SET_BLKSIZE) 703ULONG_IOCTL(NBD_SET_BLKSIZE)
diff --git a/include/linux/file.h b/include/linux/file.h
index 418b6101b59a..9901b850f2e4 100644
--- a/include/linux/file.h
+++ b/include/linux/file.h
@@ -60,8 +60,6 @@ extern void put_filp(struct file *);
60extern int get_unused_fd(void); 60extern int get_unused_fd(void);
61extern void FASTCALL(put_unused_fd(unsigned int fd)); 61extern void FASTCALL(put_unused_fd(unsigned int fd));
62struct kmem_cache; 62struct kmem_cache;
63extern void filp_ctor(void * objp, struct kmem_cache *cachep, unsigned long cflags);
64extern void filp_dtor(void * objp, struct kmem_cache *cachep, unsigned long dflags);
65 63
66extern struct file ** alloc_fd_array(int); 64extern struct file ** alloc_fd_array(int);
67extern void free_fd_array(struct file **, int); 65extern void free_fd_array(struct file **, int);
diff --git a/include/linux/fs.h b/include/linux/fs.h
index e059da947007..128d0082522c 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -35,6 +35,7 @@ struct files_stat_struct {
35 int max_files; /* tunable */ 35 int max_files; /* tunable */
36}; 36};
37extern struct files_stat_struct files_stat; 37extern struct files_stat_struct files_stat;
38extern int get_max_files(void);
38 39
39struct inodes_stat_t { 40struct inodes_stat_t {
40 int nr_inodes; 41 int nr_inodes;
@@ -1418,9 +1419,6 @@ extern int is_bad_inode(struct inode *);
1418extern struct file_operations read_fifo_fops; 1419extern struct file_operations read_fifo_fops;
1419extern struct file_operations write_fifo_fops; 1420extern struct file_operations write_fifo_fops;
1420extern struct file_operations rdwr_fifo_fops; 1421extern struct file_operations rdwr_fifo_fops;
1421extern struct file_operations read_pipe_fops;
1422extern struct file_operations write_pipe_fops;
1423extern struct file_operations rdwr_pipe_fops;
1424 1422
1425extern int fs_may_remount_ro(struct super_block *); 1423extern int fs_may_remount_ro(struct super_block *);
1426 1424
@@ -1666,6 +1664,8 @@ extern int vfs_follow_link(struct nameidata *, const char *);
1666extern int page_readlink(struct dentry *, char __user *, int); 1664extern int page_readlink(struct dentry *, char __user *, int);
1667extern void *page_follow_link_light(struct dentry *, struct nameidata *); 1665extern void *page_follow_link_light(struct dentry *, struct nameidata *);
1668extern void page_put_link(struct dentry *, struct nameidata *, void *); 1666extern void page_put_link(struct dentry *, struct nameidata *, void *);
1667extern int __page_symlink(struct inode *inode, const char *symname, int len,
1668 gfp_t gfp_mask);
1669extern int page_symlink(struct inode *inode, const char *symname, int len); 1669extern int page_symlink(struct inode *inode, const char *symname, int len);
1670extern struct inode_operations page_symlink_inode_operations; 1670extern struct inode_operations page_symlink_inode_operations;
1671extern int generic_readlink(struct dentry *, char __user *, int); 1671extern int generic_readlink(struct dentry *, char __user *, int);
diff --git a/include/linux/gfp.h b/include/linux/gfp.h
index 20f9148e38d9..7851e6b520cf 100644
--- a/include/linux/gfp.h
+++ b/include/linux/gfp.h
@@ -157,9 +157,9 @@ extern void FASTCALL(free_cold_page(struct page *page));
157 157
158void page_alloc_init(void); 158void page_alloc_init(void);
159#ifdef CONFIG_NUMA 159#ifdef CONFIG_NUMA
160void drain_remote_pages(void); 160void drain_node_pages(int node);
161#else 161#else
162static inline void drain_remote_pages(void) { }; 162static inline void drain_node_pages(int node) { };
163#endif 163#endif
164 164
165#endif /* __LINUX_GFP_H */ 165#endif /* __LINUX_GFP_H */
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
index 6361544bb6ae..6401c31d6add 100644
--- a/include/linux/hrtimer.h
+++ b/include/linux/hrtimer.h
@@ -116,6 +116,10 @@ extern int hrtimer_try_to_cancel(struct hrtimer *timer);
116extern ktime_t hrtimer_get_remaining(const struct hrtimer *timer); 116extern ktime_t hrtimer_get_remaining(const struct hrtimer *timer);
117extern int hrtimer_get_res(const clockid_t which_clock, struct timespec *tp); 117extern int hrtimer_get_res(const clockid_t which_clock, struct timespec *tp);
118 118
119#ifdef CONFIG_NO_IDLE_HZ
120extern ktime_t hrtimer_get_next_event(void);
121#endif
122
119static inline int hrtimer_active(const struct hrtimer *timer) 123static inline int hrtimer_active(const struct hrtimer *timer)
120{ 124{
121 return timer->state == HRTIMER_PENDING; 125 return timer->state == HRTIMER_PENDING;
diff --git a/include/linux/kmalloc_sizes.h b/include/linux/kmalloc_sizes.h
index d82d4c05c12d..bda23e00ed71 100644
--- a/include/linux/kmalloc_sizes.h
+++ b/include/linux/kmalloc_sizes.h
@@ -19,8 +19,10 @@
19 CACHE(32768) 19 CACHE(32768)
20 CACHE(65536) 20 CACHE(65536)
21 CACHE(131072) 21 CACHE(131072)
22#ifndef CONFIG_MMU 22#if (NR_CPUS > 512) || (MAX_NUMNODES > 256) || !defined(CONFIG_MMU)
23 CACHE(262144) 23 CACHE(262144)
24#endif
25#ifndef CONFIG_MMU
24 CACHE(524288) 26 CACHE(524288)
25 CACHE(1048576) 27 CACHE(1048576)
26#ifdef CONFIG_LARGE_ALLOCS 28#ifdef CONFIG_LARGE_ALLOCS
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 2558abac9fb2..d051a823758b 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -152,7 +152,7 @@ enum {
152 ATA_FLAG_PIO_LBA48 = (1 << 13), /* Host DMA engine is LBA28 only */ 152 ATA_FLAG_PIO_LBA48 = (1 << 13), /* Host DMA engine is LBA28 only */
153 ATA_FLAG_IRQ_MASK = (1 << 14), /* Mask IRQ in PIO xfers */ 153 ATA_FLAG_IRQ_MASK = (1 << 14), /* Mask IRQ in PIO xfers */
154 154
155 ATA_FLAG_FLUSH_PIO_TASK = (1 << 15), /* Flush PIO task */ 155 ATA_FLAG_FLUSH_PORT_TASK = (1 << 15), /* Flush port task */
156 ATA_FLAG_IN_EH = (1 << 16), /* EH in progress */ 156 ATA_FLAG_IN_EH = (1 << 16), /* EH in progress */
157 157
158 ATA_QCFLAG_ACTIVE = (1 << 1), /* cmd not yet ack'd to scsi lyer */ 158 ATA_QCFLAG_ACTIVE = (1 << 1), /* cmd not yet ack'd to scsi lyer */
@@ -191,11 +191,19 @@ enum {
191 PORT_DISABLED = 2, 191 PORT_DISABLED = 2,
192 192
193 /* encoding various smaller bitmaps into a single 193 /* encoding various smaller bitmaps into a single
194 * unsigned long bitmap 194 * unsigned int bitmap
195 */ 195 */
196 ATA_SHIFT_UDMA = 0, 196 ATA_BITS_PIO = 5,
197 ATA_SHIFT_MWDMA = 8, 197 ATA_BITS_MWDMA = 3,
198 ATA_SHIFT_PIO = 11, 198 ATA_BITS_UDMA = 8,
199
200 ATA_SHIFT_PIO = 0,
201 ATA_SHIFT_MWDMA = ATA_SHIFT_PIO + ATA_BITS_PIO,
202 ATA_SHIFT_UDMA = ATA_SHIFT_MWDMA + ATA_BITS_MWDMA,
203
204 ATA_MASK_PIO = ((1 << ATA_BITS_PIO) - 1) << ATA_SHIFT_PIO,
205 ATA_MASK_MWDMA = ((1 << ATA_BITS_MWDMA) - 1) << ATA_SHIFT_MWDMA,
206 ATA_MASK_UDMA = ((1 << ATA_BITS_UDMA) - 1) << ATA_SHIFT_UDMA,
199 207
200 /* size of buffer to pad xfers ending on unaligned boundaries */ 208 /* size of buffer to pad xfers ending on unaligned boundaries */
201 ATA_DMA_PAD_SZ = 4, 209 ATA_DMA_PAD_SZ = 4,
@@ -344,7 +352,7 @@ struct ata_device {
344 unsigned long flags; /* ATA_DFLAG_xxx */ 352 unsigned long flags; /* ATA_DFLAG_xxx */
345 unsigned int class; /* ATA_DEV_xxx */ 353 unsigned int class; /* ATA_DEV_xxx */
346 unsigned int devno; /* 0 or 1 */ 354 unsigned int devno; /* 0 or 1 */
347 u16 id[ATA_ID_WORDS]; /* IDENTIFY xxx DEVICE data */ 355 u16 *id; /* IDENTIFY xxx DEVICE data */
348 u8 pio_mode; 356 u8 pio_mode;
349 u8 dma_mode; 357 u8 dma_mode;
350 u8 xfer_mode; 358 u8 xfer_mode;
@@ -393,7 +401,8 @@ struct ata_port {
393 struct ata_host_stats stats; 401 struct ata_host_stats stats;
394 struct ata_host_set *host_set; 402 struct ata_host_set *host_set;
395 403
396 struct work_struct pio_task; 404 struct work_struct port_task;
405
397 unsigned int hsm_task_state; 406 unsigned int hsm_task_state;
398 unsigned long pio_task_timeout; 407 unsigned long pio_task_timeout;
399 408
@@ -488,6 +497,8 @@ extern int ata_std_softreset(struct ata_port *ap, int verbose,
488extern int sata_std_hardreset(struct ata_port *ap, int verbose, 497extern int sata_std_hardreset(struct ata_port *ap, int verbose,
489 unsigned int *class); 498 unsigned int *class);
490extern void ata_std_postreset(struct ata_port *ap, unsigned int *classes); 499extern void ata_std_postreset(struct ata_port *ap, unsigned int *classes);
500extern int ata_dev_revalidate(struct ata_port *ap, struct ata_device *dev,
501 int post_reset);
491extern void ata_port_disable(struct ata_port *); 502extern void ata_port_disable(struct ata_port *);
492extern void ata_std_ports(struct ata_ioports *ioaddr); 503extern void ata_std_ports(struct ata_ioports *ioaddr);
493#ifdef CONFIG_PCI 504#ifdef CONFIG_PCI
@@ -516,6 +527,8 @@ extern int ata_ratelimit(void);
516extern unsigned int ata_busy_sleep(struct ata_port *ap, 527extern unsigned int ata_busy_sleep(struct ata_port *ap,
517 unsigned long timeout_pat, 528 unsigned long timeout_pat,
518 unsigned long timeout); 529 unsigned long timeout);
530extern void ata_port_queue_task(struct ata_port *ap, void (*fn)(void *),
531 void *data, unsigned long delay);
519 532
520/* 533/*
521 * Default driver ops implementations 534 * Default driver ops implementations
@@ -545,7 +558,6 @@ extern void ata_id_string(const u16 *id, unsigned char *s,
545 unsigned int ofs, unsigned int len); 558 unsigned int ofs, unsigned int len);
546extern void ata_id_c_string(const u16 *id, unsigned char *s, 559extern void ata_id_c_string(const u16 *id, unsigned char *s,
547 unsigned int ofs, unsigned int len); 560 unsigned int ofs, unsigned int len);
548extern void ata_dev_config(struct ata_port *ap, unsigned int i);
549extern void ata_bmdma_setup (struct ata_queued_cmd *qc); 561extern void ata_bmdma_setup (struct ata_queued_cmd *qc);
550extern void ata_bmdma_start (struct ata_queued_cmd *qc); 562extern void ata_bmdma_start (struct ata_queued_cmd *qc);
551extern void ata_bmdma_stop(struct ata_queued_cmd *qc); 563extern void ata_bmdma_stop(struct ata_queued_cmd *qc);
@@ -648,10 +660,14 @@ static inline unsigned int ata_tag_valid(unsigned int tag)
648 return (tag < ATA_MAX_QUEUE) ? 1 : 0; 660 return (tag < ATA_MAX_QUEUE) ? 1 : 0;
649} 661}
650 662
663static inline unsigned int ata_class_present(unsigned int class)
664{
665 return class == ATA_DEV_ATA || class == ATA_DEV_ATAPI;
666}
667
651static inline unsigned int ata_dev_present(const struct ata_device *dev) 668static inline unsigned int ata_dev_present(const struct ata_device *dev)
652{ 669{
653 return ((dev->class == ATA_DEV_ATA) || 670 return ata_class_present(dev->class);
654 (dev->class == ATA_DEV_ATAPI));
655} 671}
656 672
657static inline u8 ata_chk_status(struct ata_port *ap) 673static inline u8 ata_chk_status(struct ata_port *ap)
diff --git a/include/linux/memory_hotplug.h b/include/linux/memory_hotplug.h
index 01f03bc06eff..968b1aa3732c 100644
--- a/include/linux/memory_hotplug.h
+++ b/include/linux/memory_hotplug.h
@@ -6,6 +6,10 @@
6#include <linux/mmzone.h> 6#include <linux/mmzone.h>
7#include <linux/notifier.h> 7#include <linux/notifier.h>
8 8
9struct page;
10struct zone;
11struct pglist_data;
12
9#ifdef CONFIG_MEMORY_HOTPLUG 13#ifdef CONFIG_MEMORY_HOTPLUG
10/* 14/*
11 * pgdat resizing functions 15 * pgdat resizing functions
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index 82b83da25d77..1709b5009d2e 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -1752,6 +1752,8 @@
1752#define PCI_DEVICE_ID_CCD_B00B 0xb00b 1752#define PCI_DEVICE_ID_CCD_B00B 0xb00b
1753#define PCI_DEVICE_ID_CCD_B00C 0xb00c 1753#define PCI_DEVICE_ID_CCD_B00C 0xb00c
1754#define PCI_DEVICE_ID_CCD_B100 0xb100 1754#define PCI_DEVICE_ID_CCD_B100 0xb100
1755#define PCI_DEVICE_ID_CCD_B700 0xb700
1756#define PCI_DEVICE_ID_CCD_B701 0xb701
1755 1757
1756#define PCI_VENDOR_ID_EXAR 0x13a8 1758#define PCI_VENDOR_ID_EXAR 0x13a8
1757#define PCI_DEVICE_ID_EXAR_XR17C152 0x0152 1759#define PCI_DEVICE_ID_EXAR_XR17C152 0x0152
diff --git a/include/linux/percpu_counter.h b/include/linux/percpu_counter.h
index bd6708e2c027..682525511c9e 100644
--- a/include/linux/percpu_counter.h
+++ b/include/linux/percpu_counter.h
@@ -39,6 +39,7 @@ static inline void percpu_counter_destroy(struct percpu_counter *fbc)
39} 39}
40 40
41void percpu_counter_mod(struct percpu_counter *fbc, long amount); 41void percpu_counter_mod(struct percpu_counter *fbc, long amount);
42long percpu_counter_sum(struct percpu_counter *fbc);
42 43
43static inline long percpu_counter_read(struct percpu_counter *fbc) 44static inline long percpu_counter_read(struct percpu_counter *fbc)
44{ 45{
@@ -92,6 +93,11 @@ static inline long percpu_counter_read_positive(struct percpu_counter *fbc)
92 return fbc->count; 93 return fbc->count;
93} 94}
94 95
96static inline long percpu_counter_sum(struct percpu_counter *fbc)
97{
98 return percpu_counter_read_positive(fbc);
99}
100
95#endif /* CONFIG_SMP */ 101#endif /* CONFIG_SMP */
96 102
97static inline void percpu_counter_inc(struct percpu_counter *fbc) 103static inline void percpu_counter_inc(struct percpu_counter *fbc)
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
index b87aefa082e2..c2ec6c77874e 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -98,13 +98,17 @@ struct rcu_data {
98 long batch; /* Batch # for current RCU batch */ 98 long batch; /* Batch # for current RCU batch */
99 struct rcu_head *nxtlist; 99 struct rcu_head *nxtlist;
100 struct rcu_head **nxttail; 100 struct rcu_head **nxttail;
101 long count; /* # of queued items */ 101 long qlen; /* # of queued callbacks */
102 struct rcu_head *curlist; 102 struct rcu_head *curlist;
103 struct rcu_head **curtail; 103 struct rcu_head **curtail;
104 struct rcu_head *donelist; 104 struct rcu_head *donelist;
105 struct rcu_head **donetail; 105 struct rcu_head **donetail;
106 long blimit; /* Upper limit on a processed batch */
106 int cpu; 107 int cpu;
107 struct rcu_head barrier; 108 struct rcu_head barrier;
109#ifdef CONFIG_SMP
110 long last_rs_qlen; /* qlen during the last resched */
111#endif
108}; 112};
109 113
110DECLARE_PER_CPU(struct rcu_data, rcu_data); 114DECLARE_PER_CPU(struct rcu_data, rcu_data);
diff --git a/include/linux/reiserfs_fs.h b/include/linux/reiserfs_fs.h
index 7d51149bd793..dad78cecfd20 100644
--- a/include/linux/reiserfs_fs.h
+++ b/include/linux/reiserfs_fs.h
@@ -1052,7 +1052,7 @@ struct reiserfs_dir_entry {
1052 int de_entrylen; 1052 int de_entrylen;
1053 int de_namelen; 1053 int de_namelen;
1054 char *de_name; 1054 char *de_name;
1055 char *de_gen_number_bit_string; 1055 unsigned long *de_gen_number_bit_string;
1056 1056
1057 __u32 de_dir_id; 1057 __u32 de_dir_id;
1058 __u32 de_objectid; 1058 __u32 de_objectid;
diff --git a/include/linux/sched.h b/include/linux/sched.h
index ff2e09c953b9..62e6314382f0 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -892,7 +892,6 @@ static inline int pid_alive(struct task_struct *p)
892} 892}
893 893
894extern void free_task(struct task_struct *tsk); 894extern void free_task(struct task_struct *tsk);
895extern void __put_task_struct(struct task_struct *tsk);
896#define get_task_struct(tsk) do { atomic_inc(&(tsk)->usage); } while(0) 895#define get_task_struct(tsk) do { atomic_inc(&(tsk)->usage); } while(0)
897 896
898extern void __put_task_struct_cb(struct rcu_head *rhp); 897extern void __put_task_struct_cb(struct rcu_head *rhp);