aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/Kbuild1
-rw-r--r--include/linux/bio.h45
-rw-r--r--include/linux/blkdev.h8
-rw-r--r--include/linux/cgroup.h1
-rw-r--r--include/linux/clockchips.h1
-rw-r--r--include/linux/debugfs.h2
-rw-r--r--include/linux/dmi.h3
-rw-r--r--include/linux/i2c-id.h61
-rw-r--r--include/linux/i2c.h8
-rw-r--r--include/linux/if_frad.h10
-rw-r--r--include/linux/jbd2.h3
-rw-r--r--include/linux/kprobes.h47
-rw-r--r--include/linux/libata.h2
-rw-r--r--include/linux/mod_devicetable.h7
-rw-r--r--include/linux/pci_ids.h4
-rw-r--r--include/linux/sched.h1
-rw-r--r--include/linux/suspend.h2
-rw-r--r--include/linux/syscalls.h5
-rw-r--r--include/linux/usb.h2
-rw-r--r--include/linux/usb/usbnet.h4
20 files changed, 105 insertions, 112 deletions
diff --git a/include/linux/Kbuild b/include/linux/Kbuild
index 12e9a2957caf..2124c063a7ef 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -41,6 +41,7 @@ header-y += baycom.h
41header-y += bfs_fs.h 41header-y += bfs_fs.h
42header-y += blkpg.h 42header-y += blkpg.h
43header-y += bpqether.h 43header-y += bpqether.h
44header-y += bsg.h
44header-y += can.h 45header-y += can.h
45header-y += cdk.h 46header-y += cdk.h
46header-y += chio.h 47header-y += chio.h
diff --git a/include/linux/bio.h b/include/linux/bio.h
index 18462c5b8fff..0942765cf8c0 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -144,7 +144,7 @@ struct bio {
144 * bit 1 -- rw-ahead when set 144 * bit 1 -- rw-ahead when set
145 * bit 2 -- barrier 145 * bit 2 -- barrier
146 * Insert a serialization point in the IO queue, forcing previously 146 * Insert a serialization point in the IO queue, forcing previously
147 * submitted IO to be completed before this oen is issued. 147 * submitted IO to be completed before this one is issued.
148 * bit 3 -- synchronous I/O hint: the block layer will unplug immediately 148 * bit 3 -- synchronous I/O hint: the block layer will unplug immediately
149 * Note that this does NOT indicate that the IO itself is sync, just 149 * Note that this does NOT indicate that the IO itself is sync, just
150 * that the block layer will not postpone issue of this IO by plugging. 150 * that the block layer will not postpone issue of this IO by plugging.
@@ -163,12 +163,33 @@ struct bio {
163#define BIO_RW 0 /* Must match RW in req flags (blkdev.h) */ 163#define BIO_RW 0 /* Must match RW in req flags (blkdev.h) */
164#define BIO_RW_AHEAD 1 /* Must match FAILFAST in req flags */ 164#define BIO_RW_AHEAD 1 /* Must match FAILFAST in req flags */
165#define BIO_RW_BARRIER 2 165#define BIO_RW_BARRIER 2
166#define BIO_RW_SYNC 3 166#define BIO_RW_SYNCIO 3
167#define BIO_RW_META 4 167#define BIO_RW_UNPLUG 4
168#define BIO_RW_DISCARD 5 168#define BIO_RW_META 5
169#define BIO_RW_FAILFAST_DEV 6 169#define BIO_RW_DISCARD 6
170#define BIO_RW_FAILFAST_TRANSPORT 7 170#define BIO_RW_FAILFAST_DEV 7
171#define BIO_RW_FAILFAST_DRIVER 8 171#define BIO_RW_FAILFAST_TRANSPORT 8
172#define BIO_RW_FAILFAST_DRIVER 9
173
174#define BIO_RW_SYNC (BIO_RW_SYNCIO | BIO_RW_UNPLUG)
175
176#define bio_rw_flagged(bio, flag) ((bio)->bi_rw & (1 << (flag)))
177
178/*
179 * Old defines, these should eventually be replaced by direct usage of
180 * bio_rw_flagged()
181 */
182#define bio_barrier(bio) bio_rw_flagged(bio, BIO_RW_BARRIER)
183#define bio_sync(bio) bio_rw_flagged(bio, BIO_RW_SYNCIO)
184#define bio_unplug(bio) bio_rw_flagged(bio, BIO_RW_UNPLUG)
185#define bio_failfast_dev(bio) bio_rw_flagged(bio, BIO_RW_FAILFAST_DEV)
186#define bio_failfast_transport(bio) \
187 bio_rw_flagged(bio, BIO_RW_FAILFAST_TRANSPORT)
188#define bio_failfast_driver(bio) \
189 bio_rw_flagged(bio, BIO_RW_FAILFAST_DRIVER)
190#define bio_rw_ahead(bio) bio_rw_flagged(bio, BIO_RW_AHEAD)
191#define bio_rw_meta(bio) bio_rw_flagged(bio, BIO_RW_META)
192#define bio_discard(bio) bio_rw_flagged(bio, BIO_RW_DISCARD)
172 193
173/* 194/*
174 * upper 16 bits of bi_rw define the io priority of this bio 195 * upper 16 bits of bi_rw define the io priority of this bio
@@ -193,15 +214,6 @@ struct bio {
193#define bio_offset(bio) bio_iovec((bio))->bv_offset 214#define bio_offset(bio) bio_iovec((bio))->bv_offset
194#define bio_segments(bio) ((bio)->bi_vcnt - (bio)->bi_idx) 215#define bio_segments(bio) ((bio)->bi_vcnt - (bio)->bi_idx)
195#define bio_sectors(bio) ((bio)->bi_size >> 9) 216#define bio_sectors(bio) ((bio)->bi_size >> 9)
196#define bio_barrier(bio) ((bio)->bi_rw & (1 << BIO_RW_BARRIER))
197#define bio_sync(bio) ((bio)->bi_rw & (1 << BIO_RW_SYNC))
198#define bio_failfast_dev(bio) ((bio)->bi_rw & (1 << BIO_RW_FAILFAST_DEV))
199#define bio_failfast_transport(bio) \
200 ((bio)->bi_rw & (1 << BIO_RW_FAILFAST_TRANSPORT))
201#define bio_failfast_driver(bio) ((bio)->bi_rw & (1 << BIO_RW_FAILFAST_DRIVER))
202#define bio_rw_ahead(bio) ((bio)->bi_rw & (1 << BIO_RW_AHEAD))
203#define bio_rw_meta(bio) ((bio)->bi_rw & (1 << BIO_RW_META))
204#define bio_discard(bio) ((bio)->bi_rw & (1 << BIO_RW_DISCARD))
205#define bio_empty_barrier(bio) (bio_barrier(bio) && !bio_has_data(bio) && !bio_discard(bio)) 217#define bio_empty_barrier(bio) (bio_barrier(bio) && !bio_has_data(bio) && !bio_discard(bio))
206 218
207static inline unsigned int bio_cur_sectors(struct bio *bio) 219static inline unsigned int bio_cur_sectors(struct bio *bio)
@@ -312,7 +324,6 @@ struct bio_integrity_payload {
312 void *bip_buf; /* generated integrity data */ 324 void *bip_buf; /* generated integrity data */
313 bio_end_io_t *bip_end_io; /* saved I/O completion fn */ 325 bio_end_io_t *bip_end_io; /* saved I/O completion fn */
314 326
315 int bip_error; /* saved I/O error */
316 unsigned int bip_size; 327 unsigned int bip_size;
317 328
318 unsigned short bip_pool; /* pool the ivec came from */ 329 unsigned short bip_pool; /* pool the ivec came from */
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 044467ef7b11..d08c4b8219a6 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -108,6 +108,7 @@ enum rq_flag_bits {
108 __REQ_RW_META, /* metadata io request */ 108 __REQ_RW_META, /* metadata io request */
109 __REQ_COPY_USER, /* contains copies of user pages */ 109 __REQ_COPY_USER, /* contains copies of user pages */
110 __REQ_INTEGRITY, /* integrity metadata has been remapped */ 110 __REQ_INTEGRITY, /* integrity metadata has been remapped */
111 __REQ_UNPLUG, /* unplug queue on submission */
111 __REQ_NR_BITS, /* stops here */ 112 __REQ_NR_BITS, /* stops here */
112}; 113};
113 114
@@ -134,6 +135,7 @@ enum rq_flag_bits {
134#define REQ_RW_META (1 << __REQ_RW_META) 135#define REQ_RW_META (1 << __REQ_RW_META)
135#define REQ_COPY_USER (1 << __REQ_COPY_USER) 136#define REQ_COPY_USER (1 << __REQ_COPY_USER)
136#define REQ_INTEGRITY (1 << __REQ_INTEGRITY) 137#define REQ_INTEGRITY (1 << __REQ_INTEGRITY)
138#define REQ_UNPLUG (1 << __REQ_UNPLUG)
137 139
138#define BLK_MAX_CDB 16 140#define BLK_MAX_CDB 16
139 141
@@ -449,6 +451,11 @@ struct request_queue
449#define QUEUE_FLAG_STACKABLE 13 /* supports request stacking */ 451#define QUEUE_FLAG_STACKABLE 13 /* supports request stacking */
450#define QUEUE_FLAG_NONROT 14 /* non-rotational device (SSD) */ 452#define QUEUE_FLAG_NONROT 14 /* non-rotational device (SSD) */
451#define QUEUE_FLAG_VIRT QUEUE_FLAG_NONROT /* paravirt device */ 453#define QUEUE_FLAG_VIRT QUEUE_FLAG_NONROT /* paravirt device */
454#define QUEUE_FLAG_IO_STAT 15 /* do IO stats */
455
456#define QUEUE_FLAG_DEFAULT ((1 << QUEUE_FLAG_IO_STAT) | \
457 (1 << QUEUE_FLAG_CLUSTER) | \
458 1 << QUEUE_FLAG_STACKABLE)
452 459
453static inline int queue_is_locked(struct request_queue *q) 460static inline int queue_is_locked(struct request_queue *q)
454{ 461{
@@ -565,6 +572,7 @@ enum {
565#define blk_queue_stopped(q) test_bit(QUEUE_FLAG_STOPPED, &(q)->queue_flags) 572#define blk_queue_stopped(q) test_bit(QUEUE_FLAG_STOPPED, &(q)->queue_flags)
566#define blk_queue_nomerges(q) test_bit(QUEUE_FLAG_NOMERGES, &(q)->queue_flags) 573#define blk_queue_nomerges(q) test_bit(QUEUE_FLAG_NOMERGES, &(q)->queue_flags)
567#define blk_queue_nonrot(q) test_bit(QUEUE_FLAG_NONROT, &(q)->queue_flags) 574#define blk_queue_nonrot(q) test_bit(QUEUE_FLAG_NONROT, &(q)->queue_flags)
575#define blk_queue_io_stat(q) test_bit(QUEUE_FLAG_IO_STAT, &(q)->queue_flags)
568#define blk_queue_flushing(q) ((q)->ordseq) 576#define blk_queue_flushing(q) ((q)->ordseq)
569#define blk_queue_stackable(q) \ 577#define blk_queue_stackable(q) \
570 test_bit(QUEUE_FLAG_STACKABLE, &(q)->queue_flags) 578 test_bit(QUEUE_FLAG_STACKABLE, &(q)->queue_flags)
diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h
index e267e62827bb..e4e8e117d27d 100644
--- a/include/linux/cgroup.h
+++ b/include/linux/cgroup.h
@@ -99,6 +99,7 @@ static inline bool css_tryget(struct cgroup_subsys_state *css)
99 while (!atomic_inc_not_zero(&css->refcnt)) { 99 while (!atomic_inc_not_zero(&css->refcnt)) {
100 if (test_bit(CSS_REMOVED, &css->flags)) 100 if (test_bit(CSS_REMOVED, &css->flags))
101 return false; 101 return false;
102 cpu_relax();
102 } 103 }
103 return true; 104 return true;
104} 105}
diff --git a/include/linux/clockchips.h b/include/linux/clockchips.h
index cea153697ec7..3a1dbba4d3ae 100644
--- a/include/linux/clockchips.h
+++ b/include/linux/clockchips.h
@@ -36,6 +36,7 @@ enum clock_event_nofitiers {
36 CLOCK_EVT_NOTIFY_BROADCAST_EXIT, 36 CLOCK_EVT_NOTIFY_BROADCAST_EXIT,
37 CLOCK_EVT_NOTIFY_SUSPEND, 37 CLOCK_EVT_NOTIFY_SUSPEND,
38 CLOCK_EVT_NOTIFY_RESUME, 38 CLOCK_EVT_NOTIFY_RESUME,
39 CLOCK_EVT_NOTIFY_CPU_DYING,
39 CLOCK_EVT_NOTIFY_CPU_DEAD, 40 CLOCK_EVT_NOTIFY_CPU_DEAD,
40}; 41};
41 42
diff --git a/include/linux/debugfs.h b/include/linux/debugfs.h
index 0f5c33b0bd3e..af0e01d4c663 100644
--- a/include/linux/debugfs.h
+++ b/include/linux/debugfs.h
@@ -162,7 +162,7 @@ static inline struct dentry *debugfs_create_x32(const char *name, mode_t mode,
162 return ERR_PTR(-ENODEV); 162 return ERR_PTR(-ENODEV);
163} 163}
164 164
165struct dentry *debugfs_create_size_t(const char *name, mode_t mode, 165static inline struct dentry *debugfs_create_size_t(const char *name, mode_t mode,
166 struct dentry *parent, 166 struct dentry *parent,
167 size_t *value) 167 size_t *value)
168{ 168{
diff --git a/include/linux/dmi.h b/include/linux/dmi.h
index 34161907b2f8..d741b9ceb0e0 100644
--- a/include/linux/dmi.h
+++ b/include/linux/dmi.h
@@ -38,6 +38,7 @@ struct dmi_device {
38#ifdef CONFIG_DMI 38#ifdef CONFIG_DMI
39 39
40extern int dmi_check_system(const struct dmi_system_id *list); 40extern int dmi_check_system(const struct dmi_system_id *list);
41const struct dmi_system_id *dmi_first_match(const struct dmi_system_id *list);
41extern const char * dmi_get_system_info(int field); 42extern const char * dmi_get_system_info(int field);
42extern const struct dmi_device * dmi_find_device(int type, const char *name, 43extern const struct dmi_device * dmi_find_device(int type, const char *name,
43 const struct dmi_device *from); 44 const struct dmi_device *from);
@@ -64,6 +65,8 @@ static inline int dmi_walk(void (*decode)(const struct dmi_header *))
64 { return -1; } 65 { return -1; }
65static inline bool dmi_match(enum dmi_field f, const char *str) 66static inline bool dmi_match(enum dmi_field f, const char *str)
66 { return false; } 67 { return false; }
68static inline const struct dmi_system_id *
69 dmi_first_match(const struct dmi_system_id *list) { return NULL; }
67 70
68#endif 71#endif
69 72
diff --git a/include/linux/i2c-id.h b/include/linux/i2c-id.h
index 01d67ba9e985..1ffc23bc5d1e 100644
--- a/include/linux/i2c-id.h
+++ b/include/linux/i2c-id.h
@@ -40,9 +40,7 @@
40#define I2C_DRIVERID_SAA7185B 13 /* video encoder */ 40#define I2C_DRIVERID_SAA7185B 13 /* video encoder */
41#define I2C_DRIVERID_SAA7110 22 /* video decoder */ 41#define I2C_DRIVERID_SAA7110 22 /* video decoder */
42#define I2C_DRIVERID_SAA5249 24 /* SAA5249 and compatibles */ 42#define I2C_DRIVERID_SAA5249 24 /* SAA5249 and compatibles */
43#define I2C_DRIVERID_PCF8583 25 /* real time clock */
44#define I2C_DRIVERID_TDA7432 27 /* Stereo sound processor */ 43#define I2C_DRIVERID_TDA7432 27 /* Stereo sound processor */
45#define I2C_DRIVERID_TVMIXER 28 /* Mixer driver for tv cards */
46#define I2C_DRIVERID_TVAUDIO 29 /* Generic TV sound driver */ 44#define I2C_DRIVERID_TVAUDIO 29 /* Generic TV sound driver */
47#define I2C_DRIVERID_TDA9875 32 /* TV sound decoder chip */ 45#define I2C_DRIVERID_TDA9875 32 /* TV sound decoder chip */
48#define I2C_DRIVERID_BT819 40 /* video decoder */ 46#define I2C_DRIVERID_BT819 40 /* video decoder */
@@ -54,7 +52,6 @@
54#define I2C_DRIVERID_SAA7191 57 /* video decoder */ 52#define I2C_DRIVERID_SAA7191 57 /* video decoder */
55#define I2C_DRIVERID_INDYCAM 58 /* SGI IndyCam */ 53#define I2C_DRIVERID_INDYCAM 58 /* SGI IndyCam */
56#define I2C_DRIVERID_OVCAMCHIP 61 /* OmniVision CMOS image sens. */ 54#define I2C_DRIVERID_OVCAMCHIP 61 /* OmniVision CMOS image sens. */
57#define I2C_DRIVERID_MAX6900 63 /* MAX6900 real-time clock */
58#define I2C_DRIVERID_SAA6752HS 67 /* MPEG2 encoder */ 55#define I2C_DRIVERID_SAA6752HS 67 /* MPEG2 encoder */
59#define I2C_DRIVERID_TVEEPROM 68 /* TV EEPROM */ 56#define I2C_DRIVERID_TVEEPROM 68 /* TV EEPROM */
60#define I2C_DRIVERID_WM8775 69 /* wm8775 audio processor */ 57#define I2C_DRIVERID_WM8775 69 /* wm8775 audio processor */
@@ -62,23 +59,16 @@
62#define I2C_DRIVERID_CX25840 71 /* cx2584x video encoder */ 59#define I2C_DRIVERID_CX25840 71 /* cx2584x video encoder */
63#define I2C_DRIVERID_SAA7127 72 /* saa7127 video encoder */ 60#define I2C_DRIVERID_SAA7127 72 /* saa7127 video encoder */
64#define I2C_DRIVERID_SAA711X 73 /* saa711x video encoders */ 61#define I2C_DRIVERID_SAA711X 73 /* saa711x video encoders */
65#define I2C_DRIVERID_AKITAIOEXP 74 /* IO Expander on Sharp SL-C1000 */
66#define I2C_DRIVERID_INFRARED 75 /* I2C InfraRed on Video boards */ 62#define I2C_DRIVERID_INFRARED 75 /* I2C InfraRed on Video boards */
67#define I2C_DRIVERID_TVP5150 76 /* TVP5150 video decoder */ 63#define I2C_DRIVERID_TVP5150 76 /* TVP5150 video decoder */
68#define I2C_DRIVERID_WM8739 77 /* wm8739 audio processor */ 64#define I2C_DRIVERID_WM8739 77 /* wm8739 audio processor */
69#define I2C_DRIVERID_UPD64083 78 /* upd64083 video processor */ 65#define I2C_DRIVERID_UPD64083 78 /* upd64083 video processor */
70#define I2C_DRIVERID_UPD64031A 79 /* upd64031a video processor */ 66#define I2C_DRIVERID_UPD64031A 79 /* upd64031a video processor */
71#define I2C_DRIVERID_SAA717X 80 /* saa717x video encoder */ 67#define I2C_DRIVERID_SAA717X 80 /* saa717x video encoder */
72#define I2C_DRIVERID_DS1672 81 /* Dallas/Maxim DS1672 RTC */
73#define I2C_DRIVERID_BT866 85 /* Conexant bt866 video encoder */ 68#define I2C_DRIVERID_BT866 85 /* Conexant bt866 video encoder */
74#define I2C_DRIVERID_KS0127 86 /* Samsung ks0127 video decoder */ 69#define I2C_DRIVERID_KS0127 86 /* Samsung ks0127 video decoder */
75#define I2C_DRIVERID_TLV320AIC23B 87 /* TI TLV320AIC23B audio codec */ 70#define I2C_DRIVERID_TLV320AIC23B 87 /* TI TLV320AIC23B audio codec */
76#define I2C_DRIVERID_WM8731 89 /* Wolfson WM8731 audio codec */
77#define I2C_DRIVERID_WM8750 90 /* Wolfson WM8750 audio codec */
78#define I2C_DRIVERID_WM8753 91 /* Wolfson WM8753 audio codec */
79#define I2C_DRIVERID_LM4857 92 /* LM4857 Audio Amplifier */
80#define I2C_DRIVERID_VP27SMPX 93 /* Panasonic VP27s tuner internal MPX */ 71#define I2C_DRIVERID_VP27SMPX 93 /* Panasonic VP27s tuner internal MPX */
81#define I2C_DRIVERID_CS4270 94 /* Cirrus Logic 4270 audio codec */
82#define I2C_DRIVERID_M52790 95 /* Mitsubishi M52790SP/FP AV switch */ 72#define I2C_DRIVERID_M52790 95 /* Mitsubishi M52790SP/FP AV switch */
83#define I2C_DRIVERID_CS5345 96 /* cs5345 audio processor */ 73#define I2C_DRIVERID_CS5345 96 /* cs5345 audio processor */
84 74
@@ -89,74 +79,23 @@
89 */ 79 */
90 80
91/* --- Bit algorithm adapters */ 81/* --- Bit algorithm adapters */
92#define I2C_HW_B_LP 0x010000 /* Parallel port Philips style */
93#define I2C_HW_B_BT848 0x010005 /* BT848 video boards */ 82#define I2C_HW_B_BT848 0x010005 /* BT848 video boards */
94#define I2C_HW_B_VIA 0x010007 /* Via vt82c586b */
95#define I2C_HW_B_HYDRA 0x010008 /* Apple Hydra Mac I/O */
96#define I2C_HW_B_I810 0x01000a /* Intel I810 */
97#define I2C_HW_B_VOO 0x01000b /* 3dfx Voodoo 3 / Banshee */
98#define I2C_HW_B_SCX200 0x01000e /* Nat'l Semi SCx200 I2C */
99#define I2C_HW_B_RIVA 0x010010 /* Riva based graphics cards */ 83#define I2C_HW_B_RIVA 0x010010 /* Riva based graphics cards */
100#define I2C_HW_B_IOC 0x010011 /* IOC bit-wiggling */
101#define I2C_HW_B_IXP2000 0x010016 /* GPIO on IXP2000 systems */
102#define I2C_HW_B_ZR36067 0x010019 /* Zoran-36057/36067 based boards */ 84#define I2C_HW_B_ZR36067 0x010019 /* Zoran-36057/36067 based boards */
103#define I2C_HW_B_PCILYNX 0x01001a /* TI PCILynx I2C adapter */
104#define I2C_HW_B_CX2388x 0x01001b /* connexant 2388x based tv cards */ 85#define I2C_HW_B_CX2388x 0x01001b /* connexant 2388x based tv cards */
105#define I2C_HW_B_NVIDIA 0x01001c /* nvidia framebuffer driver */
106#define I2C_HW_B_SAVAGE 0x01001d /* savage framebuffer driver */
107#define I2C_HW_B_RADEON 0x01001e /* radeon framebuffer driver */
108#define I2C_HW_B_EM28XX 0x01001f /* em28xx video capture cards */ 86#define I2C_HW_B_EM28XX 0x01001f /* em28xx video capture cards */
109#define I2C_HW_B_CX2341X 0x010020 /* Conexant CX2341X MPEG encoder cards */ 87#define I2C_HW_B_CX2341X 0x010020 /* Conexant CX2341X MPEG encoder cards */
110#define I2C_HW_B_INTELFB 0x010021 /* intel framebuffer driver */
111#define I2C_HW_B_CX23885 0x010022 /* conexant 23885 based tv cards (bus1) */ 88#define I2C_HW_B_CX23885 0x010022 /* conexant 23885 based tv cards (bus1) */
112#define I2C_HW_B_AU0828 0x010023 /* auvitek au0828 usb bridge */ 89#define I2C_HW_B_AU0828 0x010023 /* auvitek au0828 usb bridge */
113 90
114/* --- PCF 8584 based algorithms */
115#define I2C_HW_P_ELEK 0x020002 /* Elektor ISA Bus inteface card */
116
117/* --- PCA 9564 based algorithms */
118#define I2C_HW_A_ISA 0x1a0000 /* generic ISA Bus interface card */
119
120/* --- PowerPC on-chip adapters */
121#define I2C_HW_OCP 0x120000 /* IBM on-chip I2C adapter */
122
123/* --- Broadcom SiByte adapters */
124#define I2C_HW_SIBYTE 0x150000
125
126/* --- SGI adapters */ 91/* --- SGI adapters */
127#define I2C_HW_SGI_VINO 0x160000 92#define I2C_HW_SGI_VINO 0x160000
128 93
129/* --- XSCALE on-chip adapters */
130#define I2C_HW_IOP3XX 0x140000
131
132/* --- Au1550 PSC adapters adapters */
133#define I2C_HW_AU1550_PSC 0x1b0000
134
135/* --- SMBus only adapters */ 94/* --- SMBus only adapters */
136#define I2C_HW_SMBUS_PIIX4 0x040000
137#define I2C_HW_SMBUS_ALI15X3 0x040001
138#define I2C_HW_SMBUS_VIA2 0x040002
139#define I2C_HW_SMBUS_I801 0x040004
140#define I2C_HW_SMBUS_AMD756 0x040005
141#define I2C_HW_SMBUS_SIS5595 0x040006
142#define I2C_HW_SMBUS_ALI1535 0x040007
143#define I2C_HW_SMBUS_SIS630 0x040008
144#define I2C_HW_SMBUS_SIS96X 0x040009
145#define I2C_HW_SMBUS_AMD8111 0x04000a
146#define I2C_HW_SMBUS_SCX200 0x04000b
147#define I2C_HW_SMBUS_NFORCE2 0x04000c
148#define I2C_HW_SMBUS_W9968CF 0x04000d 95#define I2C_HW_SMBUS_W9968CF 0x04000d
149#define I2C_HW_SMBUS_OV511 0x04000e /* OV511(+) USB 1.1 webcam ICs */ 96#define I2C_HW_SMBUS_OV511 0x04000e /* OV511(+) USB 1.1 webcam ICs */
150#define I2C_HW_SMBUS_OV518 0x04000f /* OV518(+) USB 1.1 webcam ICs */ 97#define I2C_HW_SMBUS_OV518 0x04000f /* OV518(+) USB 1.1 webcam ICs */
151#define I2C_HW_SMBUS_CAFE 0x040012 /* Marvell 88ALP01 "CAFE" cam */ 98#define I2C_HW_SMBUS_CAFE 0x040012 /* Marvell 88ALP01 "CAFE" cam */
152#define I2C_HW_SMBUS_ALI1563 0x040013
153
154/* --- MCP107 adapter */
155#define I2C_HW_MPC107 0x0d0000
156
157/* --- Embedded adapters */
158#define I2C_HW_MV64XXX 0x190000
159#define I2C_HW_BLACKFIN 0x190001 /* ADI Blackfin I2C TWI driver */
160 99
161/* --- Miscellaneous adapters */ 100/* --- Miscellaneous adapters */
162#define I2C_HW_SAA7146 0x060000 /* SAA7146 video decoder bus */ 101#define I2C_HW_SAA7146 0x060000 /* SAA7146 video decoder bus */
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index 20873d402467..fcfbfea3af72 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -151,7 +151,7 @@ struct i2c_driver {
151 * has been dynamically allocated by the driver in the function above, 151 * has been dynamically allocated by the driver in the function above,
152 * it must be freed here. (LEGACY I2C DRIVERS ONLY) 152 * it must be freed here. (LEGACY I2C DRIVERS ONLY)
153 */ 153 */
154 int (*detach_client)(struct i2c_client *); 154 int (*detach_client)(struct i2c_client *) __deprecated;
155 155
156 /* Standard driver model interfaces, for "new style" i2c drivers. 156 /* Standard driver model interfaces, for "new style" i2c drivers.
157 * With the driver model, device enumeration is NEVER done by drivers; 157 * With the driver model, device enumeration is NEVER done by drivers;
@@ -429,8 +429,10 @@ static inline int i2c_add_driver(struct i2c_driver *driver)
429 return i2c_register_driver(THIS_MODULE, driver); 429 return i2c_register_driver(THIS_MODULE, driver);
430} 430}
431 431
432extern int i2c_attach_client(struct i2c_client *); 432/* These are deprecated, your driver should use the standard .probe()
433extern int i2c_detach_client(struct i2c_client *); 433 * and .remove() methods instead. */
434extern int __deprecated i2c_attach_client(struct i2c_client *);
435extern int __deprecated i2c_detach_client(struct i2c_client *);
434 436
435extern struct i2c_client *i2c_use_client(struct i2c_client *client); 437extern struct i2c_client *i2c_use_client(struct i2c_client *client);
436extern void i2c_release_client(struct i2c_client *client); 438extern void i2c_release_client(struct i2c_client *client);
diff --git a/include/linux/if_frad.h b/include/linux/if_frad.h
index 5c34240de746..60e16a551dd6 100644
--- a/include/linux/if_frad.h
+++ b/include/linux/if_frad.h
@@ -26,8 +26,6 @@
26 26
27#include <linux/if.h> 27#include <linux/if.h>
28 28
29#if defined(CONFIG_DLCI) || defined(CONFIG_DLCI_MODULE)
30
31/* Structures and constants associated with the DLCI device driver */ 29/* Structures and constants associated with the DLCI device driver */
32 30
33struct dlci_add 31struct dlci_add
@@ -127,6 +125,8 @@ struct frad_conf
127 125
128#ifdef __KERNEL__ 126#ifdef __KERNEL__
129 127
128#if defined(CONFIG_DLCI) || defined(CONFIG_DLCI_MODULE)
129
130/* these are the fields of an RFC 1490 header */ 130/* these are the fields of an RFC 1490 header */
131struct frhdr 131struct frhdr
132{ 132{
@@ -190,12 +190,10 @@ struct frad_local
190 int buffer; /* current buffer for S508 firmware */ 190 int buffer; /* current buffer for S508 firmware */
191}; 191};
192 192
193#endif /* __KERNEL__ */
194
195#endif /* CONFIG_DLCI || CONFIG_DLCI_MODULE */ 193#endif /* CONFIG_DLCI || CONFIG_DLCI_MODULE */
196 194
197#ifdef __KERNEL__
198extern void dlci_ioctl_set(int (*hook)(unsigned int, void __user *)); 195extern void dlci_ioctl_set(int (*hook)(unsigned int, void __user *));
199#endif 196
197#endif /* __KERNEL__ */
200 198
201#endif 199#endif
diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h
index b45109c61fba..b28b37eb11c6 100644
--- a/include/linux/jbd2.h
+++ b/include/linux/jbd2.h
@@ -308,7 +308,8 @@ void buffer_assertion_failure(struct buffer_head *bh);
308 int val = (expr); \ 308 int val = (expr); \
309 if (!val) { \ 309 if (!val) { \
310 printk(KERN_ERR \ 310 printk(KERN_ERR \
311 "EXT3-fs unexpected failure: %s;\n",# expr); \ 311 "JBD2 unexpected failure: %s: %s;\n", \
312 __func__, #expr); \
312 printk(KERN_ERR why "\n"); \ 313 printk(KERN_ERR why "\n"); \
313 } \ 314 } \
314 val; \ 315 val; \
diff --git a/include/linux/kprobes.h b/include/linux/kprobes.h
index d6ea19e314bb..32851eef48f0 100644
--- a/include/linux/kprobes.h
+++ b/include/linux/kprobes.h
@@ -49,6 +49,13 @@
49 49
50/* Attach to insert probes on any functions which should be ignored*/ 50/* Attach to insert probes on any functions which should be ignored*/
51#define __kprobes __attribute__((__section__(".kprobes.text"))) notrace 51#define __kprobes __attribute__((__section__(".kprobes.text"))) notrace
52#else /* CONFIG_KPROBES */
53typedef int kprobe_opcode_t;
54struct arch_specific_insn {
55 int dummy;
56};
57#define __kprobes notrace
58#endif /* CONFIG_KPROBES */
52 59
53struct kprobe; 60struct kprobe;
54struct pt_regs; 61struct pt_regs;
@@ -131,23 +138,6 @@ struct jprobe {
131/* For backward compatibility with old code using JPROBE_ENTRY() */ 138/* For backward compatibility with old code using JPROBE_ENTRY() */
132#define JPROBE_ENTRY(handler) (handler) 139#define JPROBE_ENTRY(handler) (handler)
133 140
134DECLARE_PER_CPU(struct kprobe *, current_kprobe);
135DECLARE_PER_CPU(struct kprobe_ctlblk, kprobe_ctlblk);
136
137#ifdef CONFIG_KRETPROBES
138extern void arch_prepare_kretprobe(struct kretprobe_instance *ri,
139 struct pt_regs *regs);
140extern int arch_trampoline_kprobe(struct kprobe *p);
141#else /* CONFIG_KRETPROBES */
142static inline void arch_prepare_kretprobe(struct kretprobe *rp,
143 struct pt_regs *regs)
144{
145}
146static inline int arch_trampoline_kprobe(struct kprobe *p)
147{
148 return 0;
149}
150#endif /* CONFIG_KRETPROBES */
151/* 141/*
152 * Function-return probe - 142 * Function-return probe -
153 * Note: 143 * Note:
@@ -188,6 +178,25 @@ struct kprobe_blackpoint {
188 unsigned long range; 178 unsigned long range;
189}; 179};
190 180
181#ifdef CONFIG_KPROBES
182DECLARE_PER_CPU(struct kprobe *, current_kprobe);
183DECLARE_PER_CPU(struct kprobe_ctlblk, kprobe_ctlblk);
184
185#ifdef CONFIG_KRETPROBES
186extern void arch_prepare_kretprobe(struct kretprobe_instance *ri,
187 struct pt_regs *regs);
188extern int arch_trampoline_kprobe(struct kprobe *p);
189#else /* CONFIG_KRETPROBES */
190static inline void arch_prepare_kretprobe(struct kretprobe *rp,
191 struct pt_regs *regs)
192{
193}
194static inline int arch_trampoline_kprobe(struct kprobe *p)
195{
196 return 0;
197}
198#endif /* CONFIG_KRETPROBES */
199
191extern struct kretprobe_blackpoint kretprobe_blacklist[]; 200extern struct kretprobe_blackpoint kretprobe_blacklist[];
192 201
193static inline void kretprobe_assert(struct kretprobe_instance *ri, 202static inline void kretprobe_assert(struct kretprobe_instance *ri,
@@ -264,10 +273,6 @@ void recycle_rp_inst(struct kretprobe_instance *ri, struct hlist_head *head);
264 273
265#else /* CONFIG_KPROBES */ 274#else /* CONFIG_KPROBES */
266 275
267#define __kprobes notrace
268struct jprobe;
269struct kretprobe;
270
271static inline struct kprobe *get_kprobe(void *addr) 276static inline struct kprobe *get_kprobe(void *addr)
272{ 277{
273 return NULL; 278 return NULL;
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 2c6bd66209ff..bca3ba25f52a 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -187,6 +187,8 @@ enum {
187 ATA_FLAG_PIO_POLLING = (1 << 9), /* use polling PIO if LLD 187 ATA_FLAG_PIO_POLLING = (1 << 9), /* use polling PIO if LLD
188 * doesn't handle PIO interrupts */ 188 * doesn't handle PIO interrupts */
189 ATA_FLAG_NCQ = (1 << 10), /* host supports NCQ */ 189 ATA_FLAG_NCQ = (1 << 10), /* host supports NCQ */
190 ATA_FLAG_NO_POWEROFF_SPINDOWN = (1 << 11), /* don't spindown before poweroff */
191 ATA_FLAG_NO_HIBERNATE_SPINDOWN = (1 << 12), /* don't spindown before hibernation */
190 ATA_FLAG_DEBUGMSG = (1 << 13), 192 ATA_FLAG_DEBUGMSG = (1 << 13),
191 ATA_FLAG_IGN_SIMPLEX = (1 << 15), /* ignore SIMPLEX */ 193 ATA_FLAG_IGN_SIMPLEX = (1 << 15), /* ignore SIMPLEX */
192 ATA_FLAG_NO_IORDY = (1 << 16), /* controller lacks iordy */ 194 ATA_FLAG_NO_IORDY = (1 << 16), /* controller lacks iordy */
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
index 97b91d1abb43..fde86671f48f 100644
--- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h
@@ -443,6 +443,13 @@ struct dmi_system_id {
443 struct dmi_strmatch matches[4]; 443 struct dmi_strmatch matches[4];
444 void *driver_data; 444 void *driver_data;
445}; 445};
446/*
447 * struct dmi_device_id appears during expansion of
448 * "MODULE_DEVICE_TABLE(dmi, x)". Compiler doesn't look inside it
449 * but this is enough for gcc 3.4.6 to error out:
450 * error: storage size of '__mod_dmi_device_table' isn't known
451 */
452#define dmi_device_id dmi_system_id
446#endif 453#endif
447 454
448#define DMI_MATCH(a, b) { a, b } 455#define DMI_MATCH(a, b) { a, b }
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index d56ad9c21c09..febc10ed3858 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -1357,6 +1357,7 @@
1357#define PCI_DEVICE_ID_VIA_8783_0 0x3208 1357#define PCI_DEVICE_ID_VIA_8783_0 0x3208
1358#define PCI_DEVICE_ID_VIA_8237 0x3227 1358#define PCI_DEVICE_ID_VIA_8237 0x3227
1359#define PCI_DEVICE_ID_VIA_8251 0x3287 1359#define PCI_DEVICE_ID_VIA_8251 0x3287
1360#define PCI_DEVICE_ID_VIA_8261 0x3402
1360#define PCI_DEVICE_ID_VIA_8237A 0x3337 1361#define PCI_DEVICE_ID_VIA_8237A 0x3337
1361#define PCI_DEVICE_ID_VIA_8237S 0x3372 1362#define PCI_DEVICE_ID_VIA_8237S 0x3372
1362#define PCI_DEVICE_ID_VIA_SATA_EIDE 0x5324 1363#define PCI_DEVICE_ID_VIA_SATA_EIDE 0x5324
@@ -1366,10 +1367,13 @@
1366#define PCI_DEVICE_ID_VIA_CX700 0x8324 1367#define PCI_DEVICE_ID_VIA_CX700 0x8324
1367#define PCI_DEVICE_ID_VIA_CX700_IDE 0x0581 1368#define PCI_DEVICE_ID_VIA_CX700_IDE 0x0581
1368#define PCI_DEVICE_ID_VIA_VX800 0x8353 1369#define PCI_DEVICE_ID_VIA_VX800 0x8353
1370#define PCI_DEVICE_ID_VIA_VX855 0x8409
1369#define PCI_DEVICE_ID_VIA_8371_1 0x8391 1371#define PCI_DEVICE_ID_VIA_8371_1 0x8391
1370#define PCI_DEVICE_ID_VIA_82C598_1 0x8598 1372#define PCI_DEVICE_ID_VIA_82C598_1 0x8598
1371#define PCI_DEVICE_ID_VIA_838X_1 0xB188 1373#define PCI_DEVICE_ID_VIA_838X_1 0xB188
1372#define PCI_DEVICE_ID_VIA_83_87XX_1 0xB198 1374#define PCI_DEVICE_ID_VIA_83_87XX_1 0xB198
1375#define PCI_DEVICE_ID_VIA_C409_IDE 0XC409
1376#define PCI_DEVICE_ID_VIA_ANON 0xFFFF
1373 1377
1374#define PCI_VENDOR_ID_SIEMENS 0x110A 1378#define PCI_VENDOR_ID_SIEMENS 0x110A
1375#define PCI_DEVICE_ID_SIEMENS_DSCC4 0x2102 1379#define PCI_DEVICE_ID_SIEMENS_DSCC4 0x2102
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 02e16d207304..5a7c76388731 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -630,7 +630,6 @@ struct user_struct {
630 atomic_t inotify_devs; /* How many inotify devs does this user have opened? */ 630 atomic_t inotify_devs; /* How many inotify devs does this user have opened? */
631#endif 631#endif
632#ifdef CONFIG_EPOLL 632#ifdef CONFIG_EPOLL
633 atomic_t epoll_devs; /* The number of epoll descriptors currently open */
634 atomic_t epoll_watches; /* The number of file descriptors currently watched */ 633 atomic_t epoll_watches; /* The number of file descriptors currently watched */
635#endif 634#endif
636#ifdef CONFIG_POSIX_MQUEUE 635#ifdef CONFIG_POSIX_MQUEUE
diff --git a/include/linux/suspend.h b/include/linux/suspend.h
index 2b409c44db83..c7d9bb1832ba 100644
--- a/include/linux/suspend.h
+++ b/include/linux/suspend.h
@@ -237,6 +237,7 @@ extern int hibernate_nvs_alloc(void);
237extern void hibernate_nvs_free(void); 237extern void hibernate_nvs_free(void);
238extern void hibernate_nvs_save(void); 238extern void hibernate_nvs_save(void);
239extern void hibernate_nvs_restore(void); 239extern void hibernate_nvs_restore(void);
240extern bool system_entering_hibernation(void);
240#else /* CONFIG_HIBERNATION */ 241#else /* CONFIG_HIBERNATION */
241static inline int swsusp_page_is_forbidden(struct page *p) { return 0; } 242static inline int swsusp_page_is_forbidden(struct page *p) { return 0; }
242static inline void swsusp_set_page_free(struct page *p) {} 243static inline void swsusp_set_page_free(struct page *p) {}
@@ -252,6 +253,7 @@ static inline int hibernate_nvs_alloc(void) { return 0; }
252static inline void hibernate_nvs_free(void) {} 253static inline void hibernate_nvs_free(void) {}
253static inline void hibernate_nvs_save(void) {} 254static inline void hibernate_nvs_save(void) {}
254static inline void hibernate_nvs_restore(void) {} 255static inline void hibernate_nvs_restore(void) {}
256static inline bool system_entering_hibernation(void) { return false; }
255#endif /* CONFIG_HIBERNATION */ 257#endif /* CONFIG_HIBERNATION */
256 258
257#ifdef CONFIG_PM_SLEEP 259#ifdef CONFIG_PM_SLEEP
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index 16875f89e6a7..0eda02ff2414 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -108,9 +108,14 @@ struct old_linux_dirent;
108 asm ("\t.globl " #alias "\n\t.set " #alias ", " #name "\n" \ 108 asm ("\t.globl " #alias "\n\t.set " #alias ", " #name "\n" \
109 "\t.globl ." #alias "\n\t.set ." #alias ", ." #name) 109 "\t.globl ." #alias "\n\t.set ." #alias ", ." #name)
110#else 110#else
111#ifdef CONFIG_ALPHA
112#define SYSCALL_ALIAS(alias, name) \
113 asm ( #alias " = " #name "\n\t.globl " #alias)
114#else
111#define SYSCALL_ALIAS(alias, name) \ 115#define SYSCALL_ALIAS(alias, name) \
112 asm ("\t.globl " #alias "\n\t.set " #alias ", " #name) 116 asm ("\t.globl " #alias "\n\t.set " #alias ", " #name)
113#endif 117#endif
118#endif
114 119
115#ifdef CONFIG_HAVE_SYSCALL_WRAPPERS 120#ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
116 121
diff --git a/include/linux/usb.h b/include/linux/usb.h
index 85ee9be9361e..88079fd60235 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -418,6 +418,8 @@ struct usb_tt;
418 * @autosuspend_disabled: autosuspend disabled by the user 418 * @autosuspend_disabled: autosuspend disabled by the user
419 * @autoresume_disabled: autoresume disabled by the user 419 * @autoresume_disabled: autoresume disabled by the user
420 * @skip_sys_resume: skip the next system resume 420 * @skip_sys_resume: skip the next system resume
421 * @wusb_dev: if this is a Wireless USB device, link to the WUSB
422 * specific data for the device.
421 * 423 *
422 * Notes: 424 * Notes:
423 * Usbcore drivers should not set usbdev->state directly. Instead use 425 * Usbcore drivers should not set usbdev->state directly. Instead use
diff --git a/include/linux/usb/usbnet.h b/include/linux/usb/usbnet.h
index ba09fe88adda..7d3822243074 100644
--- a/include/linux/usb/usbnet.h
+++ b/include/linux/usb/usbnet.h
@@ -197,7 +197,9 @@ extern int usbnet_nway_reset(struct net_device *net);
197#define devdbg(usbnet, fmt, arg...) \ 197#define devdbg(usbnet, fmt, arg...) \
198 printk(KERN_DEBUG "%s: " fmt "\n" , (usbnet)->net->name , ## arg) 198 printk(KERN_DEBUG "%s: " fmt "\n" , (usbnet)->net->name , ## arg)
199#else 199#else
200#define devdbg(usbnet, fmt, arg...) do {} while(0) 200#define devdbg(usbnet, fmt, arg...) \
201 ({ if (0) printk(KERN_DEBUG "%s: " fmt "\n" , (usbnet)->net->name , \
202 ## arg); 0; })
201#endif 203#endif
202 204
203#define deverr(usbnet, fmt, arg...) \ 205#define deverr(usbnet, fmt, arg...) \