summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorPatrick Mochel <mochel@osdl.org>2003-09-21 08:47:10 -0700
committerPatrick Mochel <mochel@osdl.org>2003-09-21 08:47:10 -0700
commit525ae82073bf9723386c4aaffcd35e49812c2e05 (patch)
treedaed70969bd8c7cd287296bc72085d04f0ee8068 /include/linux
parent49824db2751e56f8e79ad47ccc91a83f5bc4539b (diff)
parent1c20618e2767bdcbe27e331a118a6f0e58eb64d2 (diff)
Merge osdl.org:/home/mochel/src/kernel/linux-2.5-virgin
into osdl.org:/home/mochel/src/kernel/linux-2.5-power
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/bio.h1
-rw-r--r--include/linux/compiler-gcc+.h14
-rw-r--r--include/linux/compiler-gcc.h17
-rw-r--r--include/linux/compiler-gcc2.h23
-rw-r--r--include/linux/compiler-gcc3.h22
-rw-r--r--include/linux/compiler-intel.h24
-rw-r--r--include/linux/compiler.h72
-rw-r--r--include/linux/console.h1
-rw-r--r--include/linux/devfs_fs_kernel.h1
-rw-r--r--include/linux/eisa.h13
-rw-r--r--include/linux/elevator.h1
-rw-r--r--include/linux/ftape.h2
-rw-r--r--include/linux/input.h2
-rw-r--r--include/linux/kernel.h4
-rw-r--r--include/linux/llc.h8
-rw-r--r--include/linux/miscdevice.h2
-rw-r--r--include/linux/netdevice.h6
-rw-r--r--include/linux/netfilter_ipv4/ipt_physdev.h4
-rw-r--r--include/linux/nls.h3
-rw-r--r--include/linux/pnpbios.h8
-rw-r--r--include/linux/random.h1
-rw-r--r--include/linux/sched.h19
-rw-r--r--include/linux/serio.h3
-rw-r--r--include/linux/skbuff.h8
-rw-r--r--include/linux/swap.h1
-rw-r--r--include/linux/tty.h1
-rw-r--r--include/linux/usb.h2
-rw-r--r--include/linux/usb_gadget.h30
-rw-r--r--include/linux/writeback.h1
29 files changed, 202 insertions, 92 deletions
diff --git a/include/linux/bio.h b/include/linux/bio.h
index 6ad6d20d3778..0ac6a27ea0db 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -20,7 +20,6 @@
#ifndef __LINUX_BIO_H
#define __LINUX_BIO_H
-#include <linux/kdev_t.h>
#include <linux/highmem.h>
#include <linux/mempool.h>
diff --git a/include/linux/compiler-gcc+.h b/include/linux/compiler-gcc+.h
new file mode 100644
index 000000000000..f6ae9e76b825
--- /dev/null
+++ b/include/linux/compiler-gcc+.h
@@ -0,0 +1,14 @@
+/* Never include this file directly. Include <linux/compiler.h> instead. */
+
+/*
+ * These definitions are for Ueber-GCC: always newer than the latest
+ * version and hence sporting everything plus a kitchen-sink.
+ */
+#include <linux/compiler-gcc.h>
+
+#define inline __inline__ __attribute__((always_inline))
+#define __inline__ __inline__ __attribute__((always_inline))
+#define __inline __inline__ __attribute__((always_inline))
+#define __deprecated __attribute__((deprecated))
+#define __attribute_used__ __attribute__((__used__))
+#define __attribute_pure__ __attribute__((pure))
diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
new file mode 100644
index 000000000000..152734055403
--- /dev/null
+++ b/include/linux/compiler-gcc.h
@@ -0,0 +1,17 @@
+/* Never include this file directly. Include <linux/compiler.h> instead. */
+
+/*
+ * Common definitions for all gcc versions go here.
+ */
+
+
+/* Optimization barrier */
+/* The "volatile" is due to gcc bugs */
+#define barrier() __asm__ __volatile__("": : :"memory")
+
+/* This macro obfuscates arithmetic on a variable address so that gcc
+ shouldn't recognize the original var, and make assumptions about it */
+#define RELOC_HIDE(ptr, off) \
+ ({ unsigned long __ptr; \
+ __asm__ ("" : "=g"(__ptr) : "0"(ptr)); \
+ (typeof(ptr)) (__ptr + (off)); })
diff --git a/include/linux/compiler-gcc2.h b/include/linux/compiler-gcc2.h
new file mode 100644
index 000000000000..6f4f9d526abe
--- /dev/null
+++ b/include/linux/compiler-gcc2.h
@@ -0,0 +1,23 @@
+/* Never include this file directly. Include <linux/compiler.h> instead. */
+
+/* These definitions are for GCC v2.x. */
+
+/* Somewhere in the middle of the GCC 2.96 development cycle, we implemented
+ a mechanism by which the user can annotate likely branch directions and
+ expect the blocks to be reordered appropriately. Define __builtin_expect
+ to nothing for earlier compilers. */
+#include <linux/compiler-gcc.h>
+
+#if __GNUC_MINOR__ < 96
+# define __builtin_expect(x, expected_value) (x)
+#endif
+
+#define __attribute_used__ __attribute__((__unused__))
+
+/*
+ * The attribute `pure' is not implemented in GCC versions earlier
+ * than 2.96.
+ */
+#if __GNUC_MINOR__ >= 96
+# define __attribute_pure__ __attribute__((pure))
+#endif
diff --git a/include/linux/compiler-gcc3.h b/include/linux/compiler-gcc3.h
new file mode 100644
index 000000000000..4eac3db89fda
--- /dev/null
+++ b/include/linux/compiler-gcc3.h
@@ -0,0 +1,22 @@
+/* Never include this file directly. Include <linux/compiler.h> instead. */
+
+/* These definitions are for GCC v3.x. */
+#include <linux/compiler-gcc.h>
+
+#if __GNUC_MINOR__ >= 1
+# define inline __inline__ __attribute__((always_inline))
+# define __inline__ __inline__ __attribute__((always_inline))
+# define __inline __inline__ __attribute__((always_inline))
+#endif
+
+#if __GNUC_MINOR__ > 0
+# define __deprecated __attribute__((deprecated))
+#endif
+
+#if __GNUC_MINOR__ >= 3
+# define __attribute_used__ __attribute__((__used__))
+#else
+# define __attribute_used__ __attribute__((__unused__))
+#endif
+
+#define __attribute_pure__ __attribute__((pure))
diff --git a/include/linux/compiler-intel.h b/include/linux/compiler-intel.h
new file mode 100644
index 000000000000..1d1c3ceaff4e
--- /dev/null
+++ b/include/linux/compiler-intel.h
@@ -0,0 +1,24 @@
+/* Never include this file directly. Include <linux/compiler.h> instead. */
+
+#ifdef __ECC
+
+/* Some compiler specific definitions are overwritten here
+ * for Intel ECC compiler
+ */
+
+#include <asm/intrinsics.h>
+
+/* Intel ECC compiler doesn't support gcc specific asm stmts.
+ * It uses intrinsics to do the equivalent things.
+ */
+#undef barrier
+#undef RELOC_HIDE
+
+#define barrier() __memory_barrier()
+
+#define RELOC_HIDE(ptr, off) \
+ ({ unsigned long __ptr; \
+ __ptr = (unsigned long) (ptr); \
+ (typeof(ptr)) (__ptr + (off)); })
+
+#endif
diff --git a/include/linux/compiler.h b/include/linux/compiler.h
index 356428f649fc..528641f69043 100644
--- a/include/linux/compiler.h
+++ b/include/linux/compiler.h
@@ -2,28 +2,36 @@
#define __LINUX_COMPILER_H
#ifdef __CHECKER__
- #define __user __attribute__((noderef, address_space(1)))
- #define __kernel /* default address space */
+# define __user __attribute__((noderef, address_space(1)))
+# define __kernel /* default address space */
#else
- #define __user
- #define __kernel
+# define __user
+# define __kernel
#endif
-#if (__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)
-#define inline __inline__ __attribute__((always_inline))
-#define __inline__ __inline__ __attribute__((always_inline))
-#define __inline __inline__ __attribute__((always_inline))
+#if __GNUC__ > 3
+# include <linux/compiler-gcc+.h> /* catch-all for GCC 4, 5, etc. */
+#elif __GNUC__ == 3
+# include <linux/compiler-gcc3.h>
+#elif __GNUC__ == 2
+# include <linux/compiler-gcc2.h>
+#else
+# error Sorry, your compiler is too old/not recognized.
#endif
-/* Somewhere in the middle of the GCC 2.96 development cycle, we implemented
- a mechanism by which the user can annotate likely branch directions and
- expect the blocks to be reordered appropriately. Define __builtin_expect
- to nothing for earlier compilers. */
-
-#if __GNUC__ == 2 && __GNUC_MINOR__ < 96
-#define __builtin_expect(x, expected_value) (x)
+/* Intel compiler defines __GNUC__. So we will overwrite implementations
+ * coming from above header files here
+ */
+#ifdef __INTEL_COMPILER
+# include <linux/compiler-intel.h>
#endif
+/*
+ * Generic compiler-dependent macros required for kernel
+ * build go below this comment. Actual compiler/compiler version
+ * specific implementations come from the above header files
+ */
+
#define likely(x) __builtin_expect(!!(x), 1)
#define unlikely(x) __builtin_expect(!!(x), 0)
@@ -33,10 +41,8 @@
* Usage is:
* int __deprecated foo(void)
*/
-#if ( __GNUC__ == 3 && __GNUC_MINOR__ > 0 ) || __GNUC__ > 3
-#define __deprecated __attribute__((deprecated))
-#else
-#define __deprecated
+#ifndef __deprecated
+# define __deprecated /* unimplemented */
#endif
/*
@@ -50,10 +56,8 @@
* In prior versions of gcc, such functions and data would be emitted, but
* would be warned about except with attribute((unused)).
*/
-#if __GNUC__ == 3 && __GNUC_MINOR__ >= 3 || __GNUC__ > 3
-#define __attribute_used__ __attribute__((__used__))
-#else
-#define __attribute_used__ __attribute__((__unused__))
+#ifndef __attribute_used__
+# define __attribute_used__ /* unimplemented */
#endif
/*
@@ -65,19 +69,21 @@
* elimination and loop optimization just as an arithmetic operator
* would be.
* [...]
- * The attribute `pure' is not implemented in GCC versions earlier
- * than 2.96.
*/
-#if (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) || __GNUC__ > 2
-#define __attribute_pure__ __attribute__((pure))
-#else
-#define __attribute_pure__ /* unimplemented */
+#ifndef __attribute_pure__
+# define __attribute_pure__ /* unimplemented */
+#endif
+
+/* Optimization barrier */
+#ifndef barrier
+# define barrier() __memory_barrier()
#endif
-/* This macro obfuscates arithmetic on a variable address so that gcc
- shouldn't recognize the original var, and make assumptions about it */
-#define RELOC_HIDE(ptr, off) \
+#ifndef RELOC_HIDE
+# define RELOC_HIDE(ptr, off) \
({ unsigned long __ptr; \
- __asm__ ("" : "=g"(__ptr) : "0"(ptr)); \
+ __ptr = (unsigned long) (ptr); \
(typeof(ptr)) (__ptr + (off)); })
+#endif
+
#endif /* __LINUX_COMPILER_H */
diff --git a/include/linux/console.h b/include/linux/console.h
index 414ebe159d67..cdff9de7ee71 100644
--- a/include/linux/console.h
+++ b/include/linux/console.h
@@ -15,7 +15,6 @@
#define _LINUX_CONSOLE_H_ 1
#include <linux/types.h>
-#include <linux/kdev_t.h>
#include <linux/spinlock.h>
struct vc_data;
diff --git a/include/linux/devfs_fs_kernel.h b/include/linux/devfs_fs_kernel.h
index f12addd1daeb..16c78f54f427 100644
--- a/include/linux/devfs_fs_kernel.h
+++ b/include/linux/devfs_fs_kernel.h
@@ -4,7 +4,6 @@
#include <linux/fs.h>
#include <linux/config.h>
#include <linux/spinlock.h>
-#include <linux/kdev_t.h>
#include <linux/types.h>
#include <asm/semaphore.h>
diff --git a/include/linux/eisa.h b/include/linux/eisa.h
index 2ef648847879..dc76d57b10d0 100644
--- a/include/linux/eisa.h
+++ b/include/linux/eisa.h
@@ -1,6 +1,19 @@
#ifndef _LINUX_EISA_H
#define _LINUX_EISA_H
+#include <linux/ioport.h>
+#include <linux/device.h>
+
+#ifdef CONFIG_EISA
+# ifdef CONFIG_EISA_ALWAYS
+# define EISA_bus 1
+# else
+ extern int EISA_bus;
+# endif
+#else
+# define EISA_bus 0
+#endif
+
#define EISA_SIG_LEN 8
#define EISA_MAX_SLOTS 8
diff --git a/include/linux/elevator.h b/include/linux/elevator.h
index e43d670c1371..cbd038b665e8 100644
--- a/include/linux/elevator.h
+++ b/include/linux/elevator.h
@@ -15,7 +15,6 @@ typedef int (elevator_queue_empty_fn) (request_queue_t *);
typedef void (elevator_remove_req_fn) (request_queue_t *, struct request *);
typedef void (elevator_requeue_req_fn) (request_queue_t *, struct request *);
typedef struct request *(elevator_request_list_fn) (request_queue_t *, struct request *);
-typedef struct list_head *(elevator_get_sort_head_fn) (request_queue_t *, struct request *);
typedef void (elevator_completed_req_fn) (request_queue_t *, struct request *);
typedef int (elevator_may_queue_fn) (request_queue_t *, int);
diff --git a/include/linux/ftape.h b/include/linux/ftape.h
index 99b3535a4e20..e21d4b442843 100644
--- a/include/linux/ftape.h
+++ b/include/linux/ftape.h
@@ -199,8 +199,6 @@ typedef union {
#define ABS(a) ((a) < 0 ? -(a) : (a))
#define NR_ITEMS(x) (int)(sizeof(x)/ sizeof(*x))
-extern int ftape_init(void);
-
#endif /* __KERNEL__ */
#endif
diff --git a/include/linux/input.h b/include/linux/input.h
index da49f7ee0f18..c98e6fc575fe 100644
--- a/include/linux/input.h
+++ b/include/linux/input.h
@@ -751,7 +751,7 @@ struct ff_effect {
#define LONG(x) ((x)/BITS_PER_LONG)
#define INPUT_KEYCODE(dev, scancode) ((dev->keycodesize == 1) ? ((u8*)dev->keycode)[scancode] : \
- ((dev->keycodesize == 1) ? ((u16*)dev->keycode)[scancode] : (((u32*)dev->keycode)[scancode])))
+ ((dev->keycodesize == 2) ? ((u16*)dev->keycode)[scancode] : (((u32*)dev->keycode)[scancode])))
#define init_input_dev(dev) do { INIT_LIST_HEAD(&((dev)->h_list)); INIT_LIST_HEAD(&((dev)->node)); } while (0)
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index b2d17ea0dac0..6403c9ef2210 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -15,10 +15,6 @@
#include <asm/byteorder.h>
#include <asm/bug.h>
-/* Optimization barrier */
-/* The "volatile" is due to gcc bugs */
-#define barrier() __asm__ __volatile__("": : :"memory")
-
#define INT_MAX ((int)(~0U>>1))
#define INT_MIN (-INT_MAX - 1)
#define UINT_MAX (~0U)
diff --git a/include/linux/llc.h b/include/linux/llc.h
index 77ac5d9df544..c9085baaf74d 100644
--- a/include/linux/llc.h
+++ b/include/linux/llc.h
@@ -79,13 +79,5 @@ enum llc_sockopts {
#define LLC_SAP_DYN_TRIES 4
#define llc_ui_skb_cb(__skb) ((struct sockaddr_llc *)&((__skb)->cb[0]))
-
-#ifdef CONFIG_LLC_UI
-extern int llc_ui_init(void);
-extern void llc_ui_exit(void);
-#else
-#define llc_ui_init()
-#define llc_ui_exit()
-#endif
#endif /* __KERNEL__ */
#endif /* __LINUX_LLC_H */
diff --git a/include/linux/miscdevice.h b/include/linux/miscdevice.h
index d3af91351521..6b7f9c1fa5cd 100644
--- a/include/linux/miscdevice.h
+++ b/include/linux/miscdevice.h
@@ -36,8 +36,6 @@
#define TUN_MINOR 200
-extern int misc_init(void);
-
struct miscdevice
{
int minor;
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 0175e588f33b..a69f0c920d20 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -502,7 +502,11 @@ extern struct net_device *dev_getbyhwaddr(unsigned short type, char *hwaddr);
extern void dev_add_pack(struct packet_type *pt);
extern void dev_remove_pack(struct packet_type *pt);
extern void __dev_remove_pack(struct packet_type *pt);
-extern int dev_get(const char *name);
+extern int __dev_get(const char *name);
+static inline int __deprecated dev_get(const char *name)
+{
+ return __dev_get(name);
+}
extern struct net_device *dev_get_by_flags(unsigned short flags,
unsigned short mask);
extern struct net_device *__dev_get_by_flags(unsigned short flags,
diff --git a/include/linux/netfilter_ipv4/ipt_physdev.h b/include/linux/netfilter_ipv4/ipt_physdev.h
index 01684a12d672..7538c8655ec0 100644
--- a/include/linux/netfilter_ipv4/ipt_physdev.h
+++ b/include/linux/netfilter_ipv4/ipt_physdev.h
@@ -13,12 +13,12 @@
#define IPT_PHYSDEV_OP_MASK (0x20 - 1)
struct ipt_physdev_info {
- u_int8_t invert;
- u_int8_t bitmask;
char physindev[IFNAMSIZ];
char in_mask[IFNAMSIZ];
char physoutdev[IFNAMSIZ];
char out_mask[IFNAMSIZ];
+ u_int8_t invert;
+ u_int8_t bitmask;
};
#endif /*_IPT_PHYSDEV_H*/
diff --git a/include/linux/nls.h b/include/linux/nls.h
index 2ab6466f8043..1c657d4f0cf3 100644
--- a/include/linux/nls.h
+++ b/include/linux/nls.h
@@ -8,6 +8,7 @@ typedef __u16 wchar_t;
struct nls_table {
char *charset;
+ char *alias;
int (*uni2char) (wchar_t uni, unsigned char *out, int boundlen);
int (*char2uni) (const unsigned char *rawstring, int boundlen,
wchar_t *uni);
@@ -32,5 +33,7 @@ extern int utf8_mbstowcs(wchar_t *, const __u8 *, int);
extern int utf8_wctomb(__u8 *, wchar_t, int);
extern int utf8_wcstombs(__u8 *, const wchar_t *, int);
+#define MODULE_ALIAS_NLS(name) MODULE_ALIAS("nls_" __stringify(name))
+
#endif /* _LINUX_NLS_H */
diff --git a/include/linux/pnpbios.h b/include/linux/pnpbios.h
index 5b0e599dd5e2..0720cd72d63a 100644
--- a/include/linux/pnpbios.h
+++ b/include/linux/pnpbios.h
@@ -26,7 +26,7 @@
#ifdef __KERNEL__
#include <linux/types.h>
-#include <linux/pci.h>
+#include <linux/pnp.h>
/*
* Return codes
@@ -131,13 +131,7 @@ struct pnp_bios_node {
#ifdef CONFIG_PNPBIOS
/* non-exported */
-extern int pnpbios_dont_use_current_config;
extern struct pnp_dev_node_info node_info;
-extern void *pnpbios_kmalloc(size_t size, int f);
-extern int pnpbios_init (void);
-extern int pnpbios_interface_attach_device(struct pnp_bios_node * node);
-extern int pnpbios_proc_init (void);
-extern void pnpbios_proc_exit (void);
extern int pnp_bios_dev_node_info (struct pnp_dev_node_info *data);
extern int pnp_bios_get_dev_node (u8 *nodenum, char config, struct pnp_bios_node *data);
diff --git a/include/linux/random.h b/include/linux/random.h
index ca0e460941a5..9ccb52fa0a01 100644
--- a/include/linux/random.h
+++ b/include/linux/random.h
@@ -42,7 +42,6 @@ struct rand_pool_info {
#ifdef __KERNEL__
-extern void rand_initialize(void);
extern void rand_initialize_irq(int irq);
extern void batch_entropy_store(u32 a, u32 b, int num);
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 3c6e3129144d..1618ae7f42d4 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -281,7 +281,9 @@ struct signal_struct {
#define MAX_RT_PRIO MAX_USER_RT_PRIO
#define MAX_PRIO (MAX_RT_PRIO + 40)
-
+
+#define rt_task(p) ((p)->prio < MAX_RT_PRIO)
+
/*
* Some day this will be a full-fledged user tracking system..
*/
@@ -340,7 +342,9 @@ struct task_struct {
prio_array_t *array;
unsigned long sleep_avg;
- unsigned long last_run;
+ long interactive_credit;
+ unsigned long long timestamp;
+ int activated;
unsigned long policy;
cpumask_t cpus_allowed;
@@ -360,7 +364,7 @@ struct task_struct {
unsigned long personality;
int did_exec:1;
pid_t pid;
- pid_t pgrp;
+ pid_t __pgrp; /* Accessed via process_group() */
pid_t tty_old_pgrp;
pid_t session;
pid_t tgid;
@@ -375,7 +379,7 @@ struct task_struct {
struct task_struct *parent; /* parent process */
struct list_head children; /* list of my children */
struct list_head sibling; /* linkage in my parent's children list */
- struct task_struct *group_leader;
+ struct task_struct *group_leader; /* threadgroup leader */
/* PID/PID hash table linkage. */
struct pid_link pids[PIDTYPE_MAX];
@@ -461,6 +465,11 @@ struct task_struct {
siginfo_t *last_siginfo; /* For ptrace use. */
};
+static inline pid_t process_group(struct task_struct *tsk)
+{
+ return tsk->group_leader->__pgrp;
+}
+
extern void __put_task_struct(struct task_struct *tsk);
#define get_task_struct(tsk) do { atomic_inc(&(tsk)->usage); } while(0)
#define put_task_struct(tsk) \
@@ -499,6 +508,8 @@ static inline int set_cpus_allowed(task_t *p, cpumask_t new_mask)
}
#endif
+extern unsigned long long sched_clock(void);
+
#ifdef CONFIG_NUMA
extern void sched_balance_exec(void);
extern void node_nr_running_init(void);
diff --git a/include/linux/serio.h b/include/linux/serio.h
index f1c67ff70f2a..66fdaf9b1be5 100644
--- a/include/linux/serio.h
+++ b/include/linux/serio.h
@@ -65,7 +65,9 @@ void serio_rescan(struct serio *serio);
irqreturn_t serio_interrupt(struct serio *serio, unsigned char data, unsigned int flags, struct pt_regs *regs);
void serio_register_port(struct serio *serio);
+void serio_register_slave_port(struct serio *serio);
void serio_unregister_port(struct serio *serio);
+void serio_unregister_slave_port(struct serio *serio);
void serio_register_device(struct serio_dev *dev);
void serio_unregister_device(struct serio_dev *dev);
@@ -104,6 +106,7 @@ static __inline__ void serio_cleanup(struct serio *serio)
#define SERIO_RS232 0x02000000UL
#define SERIO_HIL_MLC 0x03000000UL
#define SERIO_PC9800 0x04000000UL
+#define SERIO_PS_PSTHRU 0x05000000UL
#define SERIO_PROTO 0xFFUL
#define SERIO_MSC 0x01
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 4b5f057f8bfb..de8758a5e709 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -306,7 +306,7 @@ extern void skb_under_panic(struct sk_buff *skb, int len,
*
* Returns true if the queue is empty, false otherwise.
*/
-static inline int skb_queue_empty(struct sk_buff_head *list)
+static inline int skb_queue_empty(const struct sk_buff_head *list)
{
return list->next == (struct sk_buff *)list;
}
@@ -357,7 +357,7 @@ static inline void kfree_skb_fast(struct sk_buff *skb)
* one of multiple shared copies of the buffer. Cloned buffers are
* shared data so must not be written to under normal circumstances.
*/
-static inline int skb_cloned(struct sk_buff *skb)
+static inline int skb_cloned(const struct sk_buff *skb)
{
return skb->cloned && atomic_read(&skb_shinfo(skb)->dataref) != 1;
}
@@ -369,7 +369,7 @@ static inline int skb_cloned(struct sk_buff *skb)
* Returns true if more than one person has a reference to this
* buffer.
*/
-static inline int skb_shared(struct sk_buff *skb)
+static inline int skb_shared(const struct sk_buff *skb)
{
return atomic_read(&skb->users) != 1;
}
@@ -477,7 +477,7 @@ static inline struct sk_buff *skb_peek_tail(struct sk_buff_head *list_)
*
* Return the length of an &sk_buff queue.
*/
-static inline __u32 skb_queue_len(struct sk_buff_head *list_)
+static inline __u32 skb_queue_len(const struct sk_buff_head *list_)
{
return list_->qlen;
}
diff --git a/include/linux/swap.h b/include/linux/swap.h
index 147e5bf40cbf..1f3517e965f3 100644
--- a/include/linux/swap.h
+++ b/include/linux/swap.h
@@ -3,7 +3,6 @@
#include <linux/config.h>
#include <linux/spinlock.h>
-#include <linux/kdev_t.h>
#include <linux/linkage.h>
#include <linux/mmzone.h>
#include <linux/list.h>
diff --git a/include/linux/tty.h b/include/linux/tty.h
index 205e27af55a2..c575197f00b3 100644
--- a/include/linux/tty.h
+++ b/include/linux/tty.h
@@ -351,7 +351,6 @@ extern void console_init(void);
extern int lp_init(void);
extern int pty_init(void);
-extern void tty_init(void);
extern int mxser_init(void);
extern int moxa_init(void);
extern int ip2_init(void);
diff --git a/include/linux/usb.h b/include/linux/usb.h
index a20b33d953aa..5575ebfb276d 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -80,7 +80,6 @@ struct usb_host_interface {
* @act_altsetting: index of current altsetting. this number is always
* less than num_altsetting. after the device is configured, each
* interface uses its default setting of zero.
- * @max_altsetting: the max number of altsettings for this interface.
* @driver: the USB driver that is bound to this interface.
* @minor: the minor number assigned to this interface, if this
* interface is bound to a driver that uses the USB major number.
@@ -118,7 +117,6 @@ struct usb_interface {
unsigned act_altsetting; /* active alternate setting */
unsigned num_altsetting; /* number of alternate settings */
- unsigned max_altsetting; /* total memory allocated */
struct usb_driver *driver; /* driver */
int minor; /* minor number this interface is bound to */
diff --git a/include/linux/usb_gadget.h b/include/linux/usb_gadget.h
index c98a95dbe250..da2d9749baf6 100644
--- a/include/linux/usb_gadget.h
+++ b/include/linux/usb_gadget.h
@@ -72,9 +72,9 @@ struct usb_request {
unsigned length;
dma_addr_t dma;
- unsigned no_interrupt : 1,
- zero : 1,
- short_not_ok : 1;
+ unsigned no_interrupt:1;
+ unsigned zero:1;
+ unsigned short_not_ok:1;
void (*complete)(struct usb_ep *ep,
struct usb_request *req);
@@ -122,9 +122,11 @@ struct usb_ep_ops {
/**
* struct usb_ep - device side representation of USB endpoint
* @name:identifier for the endpoint, such as "ep-a" or "ep9in-bulk"
+ * @ops: Function pointers used to access hardware-specific operations.
* @ep_list:the gadget's ep_list holds all of its endpoints
- * @maxpacket:the maximum packet size used on this endpoint, as
- * configured when the endpoint was enabled.
+ * @maxpacket:The maximum packet size used on this endpoint. The initial
+ * value can sometimes be reduced (hardware allowing), according to
+ * the endpoint descriptor used to configure the endpoint.
* @driver_data:for use by the gadget driver. all other fields are
* read-only to gadget drivers.
*
@@ -138,7 +140,7 @@ struct usb_ep {
const char *name;
const struct usb_ep_ops *ops;
struct list_head ep_list;
- unsigned maxpacket : 16;
+ unsigned maxpacket:16;
};
/*-------------------------------------------------------------------------*/
@@ -443,18 +445,21 @@ struct usb_gadget_ops {
/**
* struct usb_gadget - represents a usb slave device
+ * @ops: Function pointers used to access hardware-specific operations.
* @ep0: Endpoint zero, used when reading or writing responses to
* driver setup() requests
* @ep_list: List of other endpoints supported by the device.
* @speed: Speed of current connection to USB host.
* @name: Identifies the controller hardware type. Used in diagnostics
* and sometimes configuration.
+ * @dev: Driver model state for this abstract device.
*
* Gadgets have a mostly-portable "gadget driver" implementing device
- * functions, handling all usb configurations and interfaces. They
- * also have a hardware-specific driver (accessed through ops vectors),
- * which insulates the gadget driver from hardware details and packages
- * the hardware endpoints through generic i/o queues.
+ * functions, handling all usb configurations and interfaces. Gadget
+ * drivers talk to hardware-specific code indirectly, through ops vectors.
+ * That insulates the gadget driver from hardware details, and packages
+ * the hardware endpoints through generic i/o queues. The "usb_gadget"
+ * and "usb_ep" interfaces provide that insulation from the hardware.
*
* Except for the driver data, all fields in this structure are
* read-only to the gadget driver. That driver data is part of the
@@ -469,10 +474,6 @@ struct usb_gadget {
struct list_head ep_list; /* of usb_ep */
enum usb_device_speed speed;
const char *name;
-
- /* use this to allocate dma-coherent buffers or set up
- * dma mappings. or print diagnostics, etc.
- */
struct device dev;
};
@@ -576,6 +577,7 @@ usb_gadget_clear_selfpowered (struct usb_gadget *gadget)
* Called in a context that permits sleeping.
* @suspend: Invoked on USB suspend. May be called in_interrupt.
* @resume: Invoked on USB resume. May be called in_interrupt.
+ * @driver: Driver model state for this driver.
*
* Devices are disabled till a gadget driver successfully bind()s, which
* means the driver will handle setup() requests needed to enumerate (and
diff --git a/include/linux/writeback.h b/include/linux/writeback.h
index 373e58fee2d4..1424811e1eab 100644
--- a/include/linux/writeback.h
+++ b/include/linux/writeback.h
@@ -84,7 +84,6 @@ int dirty_writeback_centisecs_handler(struct ctl_table *, int, struct file *,
void __user *, size_t *);
void page_writeback_init(void);
-void balance_dirty_pages(struct address_space *mapping);
void balance_dirty_pages_ratelimited(struct address_space *mapping);
int pdflush_operation(void (*fn)(unsigned long), unsigned long arg0);
int do_writepages(struct address_space *mapping, struct writeback_control *wbc);