aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@shinybook.infradead.org>2006-04-28 20:42:26 -0400
committerDavid Woodhouse <dwmw2@infradead.org>2006-04-28 20:42:26 -0400
commitd6754b401a15eaa16492ea5dbaa4826361d3f411 (patch)
tree032f067d3af458527d903a7653885404ed82431e /include/linux
parentacc429a517bd11fdcac9bea97d082d26231beb92 (diff)
parent693f7d362055261882659475d2ef022e32edbff1 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/debugfs.h5
-rw-r--r--include/linux/kobject.h3
-rw-r--r--include/linux/netdevice.h18
-rw-r--r--include/linux/pagemap.h2
-rw-r--r--include/linux/pipe_fs_i.h17
-rw-r--r--include/linux/signal.h4
-rw-r--r--include/linux/syscalls.h3
7 files changed, 38 insertions, 14 deletions
diff --git a/include/linux/debugfs.h b/include/linux/debugfs.h
index 176e2d371577..047567d34ca7 100644
--- a/include/linux/debugfs.h
+++ b/include/linux/debugfs.h
@@ -58,9 +58,8 @@ struct dentry *debugfs_create_blob(const char *name, mode_t mode,
58 */ 58 */
59 59
60static inline struct dentry *debugfs_create_file(const char *name, mode_t mode, 60static inline struct dentry *debugfs_create_file(const char *name, mode_t mode,
61 struct dentry *parent, 61 struct dentry *parent, void *data,
62 void *data, 62 const struct file_operations *fops)
63 struct file_operations *fops)
64{ 63{
65 return ERR_PTR(-ENODEV); 64 return ERR_PTR(-ENODEV);
66} 65}
diff --git a/include/linux/kobject.h b/include/linux/kobject.h
index dcd0623be892..c187c53cecd0 100644
--- a/include/linux/kobject.h
+++ b/include/linux/kobject.h
@@ -257,9 +257,8 @@ struct subsys_attribute {
257}; 257};
258 258
259extern int subsys_create_file(struct subsystem * , struct subsys_attribute *); 259extern int subsys_create_file(struct subsystem * , struct subsys_attribute *);
260extern void subsys_remove_file(struct subsystem * , struct subsys_attribute *);
261 260
262#if defined(CONFIG_HOTPLUG) && defined(CONFIG_NET) 261#if defined(CONFIG_HOTPLUG)
263void kobject_uevent(struct kobject *kobj, enum kobject_action action); 262void kobject_uevent(struct kobject *kobj, enum kobject_action action);
264 263
265int add_uevent_var(char **envp, int num_envp, int *cur_index, 264int add_uevent_var(char **envp, int num_envp, int *cur_index,
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index c81aa0f76642..5128dd7634cb 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -828,19 +828,21 @@ static inline void netif_rx_schedule(struct net_device *dev)
828 __netif_rx_schedule(dev); 828 __netif_rx_schedule(dev);
829} 829}
830 830
831/* Try to reschedule poll. Called by dev->poll() after netif_rx_complete(). 831
832 * Do not inline this? 832static inline void __netif_rx_reschedule(struct net_device *dev, int undo)
833 */ 833{
834 dev->quota += undo;
835 list_add_tail(&dev->poll_list, &__get_cpu_var(softnet_data).poll_list);
836 __raise_softirq_irqoff(NET_RX_SOFTIRQ);
837}
838
839/* Try to reschedule poll. Called by dev->poll() after netif_rx_complete(). */
834static inline int netif_rx_reschedule(struct net_device *dev, int undo) 840static inline int netif_rx_reschedule(struct net_device *dev, int undo)
835{ 841{
836 if (netif_rx_schedule_prep(dev)) { 842 if (netif_rx_schedule_prep(dev)) {
837 unsigned long flags; 843 unsigned long flags;
838
839 dev->quota += undo;
840
841 local_irq_save(flags); 844 local_irq_save(flags);
842 list_add_tail(&dev->poll_list, &__get_cpu_var(softnet_data).poll_list); 845 __netif_rx_reschedule(dev, undo);
843 __raise_softirq_irqoff(NET_RX_SOFTIRQ);
844 local_irq_restore(flags); 846 local_irq_restore(flags);
845 return 1; 847 return 1;
846 } 848 }
diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h
index 9539efd4f7e6..7a1af574dedf 100644
--- a/include/linux/pagemap.h
+++ b/include/linux/pagemap.h
@@ -78,6 +78,8 @@ extern struct page * find_or_create_page(struct address_space *mapping,
78 unsigned long index, gfp_t gfp_mask); 78 unsigned long index, gfp_t gfp_mask);
79unsigned find_get_pages(struct address_space *mapping, pgoff_t start, 79unsigned find_get_pages(struct address_space *mapping, pgoff_t start,
80 unsigned int nr_pages, struct page **pages); 80 unsigned int nr_pages, struct page **pages);
81unsigned find_get_pages_contig(struct address_space *mapping, pgoff_t start,
82 unsigned int nr_pages, struct page **pages);
81unsigned find_get_pages_tag(struct address_space *mapping, pgoff_t *index, 83unsigned find_get_pages_tag(struct address_space *mapping, pgoff_t *index,
82 int tag, unsigned int nr_pages, struct page **pages); 84 int tag, unsigned int nr_pages, struct page **pages);
83 85
diff --git a/include/linux/pipe_fs_i.h b/include/linux/pipe_fs_i.h
index ef7f33c0be19..0008d4bd4059 100644
--- a/include/linux/pipe_fs_i.h
+++ b/include/linux/pipe_fs_i.h
@@ -61,4 +61,21 @@ void __free_pipe_info(struct pipe_inode_info *);
61 /* from/to, of course */ 61 /* from/to, of course */
62#define SPLICE_F_MORE (0x04) /* expect more data */ 62#define SPLICE_F_MORE (0x04) /* expect more data */
63 63
64/*
65 * Passed to the actors
66 */
67struct splice_desc {
68 unsigned int len, total_len; /* current and remaining length */
69 unsigned int flags; /* splice flags */
70 struct file *file; /* file to read/write */
71 loff_t pos; /* file position */
72};
73
74typedef int (splice_actor)(struct pipe_inode_info *, struct pipe_buffer *,
75 struct splice_desc *);
76
77extern ssize_t splice_from_pipe(struct pipe_inode_info *, struct file *,
78 loff_t *, size_t, unsigned int,
79 splice_actor *);
80
64#endif 81#endif
diff --git a/include/linux/signal.h b/include/linux/signal.h
index 4b42df3860ed..1e4ce7225eee 100644
--- a/include/linux/signal.h
+++ b/include/linux/signal.h
@@ -14,10 +14,12 @@
14 * 14 *
15 * SA_INTERRUPT is also used by the irq handling routines. 15 * SA_INTERRUPT is also used by the irq handling routines.
16 * SA_SHIRQ is for shared interrupt support on PCI and EISA. 16 * SA_SHIRQ is for shared interrupt support on PCI and EISA.
17 * SA_PROBEIRQ is set by callers when they expect sharing mismatches to occur
17 */ 18 */
18#define SA_PROBE SA_ONESHOT
19#define SA_SAMPLE_RANDOM SA_RESTART 19#define SA_SAMPLE_RANDOM SA_RESTART
20#define SA_SHIRQ 0x04000000 20#define SA_SHIRQ 0x04000000
21#define SA_PROBEIRQ 0x08000000
22
21/* 23/*
22 * As above, these correspond to the IORESOURCE_IRQ_* defines in 24 * As above, these correspond to the IORESOURCE_IRQ_* defines in
23 * linux/ioport.h to select the interrupt line behaviour. When 25 * linux/ioport.h to select the interrupt line behaviour. When
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index 3bdc1970f8bd..70c64dbe4b8a 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -573,6 +573,9 @@ asmlinkage long sys_splice(int fd_in, loff_t __user *off_in,
573 int fd_out, loff_t __user *off_out, 573 int fd_out, loff_t __user *off_out,
574 size_t len, unsigned int flags); 574 size_t len, unsigned int flags);
575 575
576asmlinkage long sys_vmsplice(int fd, const struct iovec __user *iov,
577 unsigned long nr_segs, unsigned int flags);
578
576asmlinkage long sys_tee(int fdin, int fdout, size_t len, unsigned int flags); 579asmlinkage long sys_tee(int fdin, int fdout, size_t len, unsigned int flags);
577 580
578asmlinkage long sys_sync_file_range(int fd, loff_t offset, loff_t nbytes, 581asmlinkage long sys_sync_file_range(int fd, loff_t offset, loff_t nbytes,