backport inline changes from 2.6.16-rc1, thanks nbd for helping me finish it :)
[openwrt/svn-archive/archive.git] / openwrt / target / linux / generic-2.6 / patches / 006-gcc4_inline_fix.patch
1 diff -Nur linux-2.6.15.1/Documentation/feature-removal-schedule.txt linux-2.6.15.1-owrt/Documentation/feature-removal-schedule.txt
2 --- linux-2.6.15.1/Documentation/feature-removal-schedule.txt 2006-01-15 07:16:02.000000000 +0100
3 +++ linux-2.6.15.1-owrt/Documentation/feature-removal-schedule.txt 2006-01-27 15:03:21.000000000 +0100
4 @@ -143,6 +143,15 @@
5
6 ---------------------------
7
8 +What: CONFIG_FORCED_INLINING
9 +When: June 2006
10 +Why: Config option is there to see if gcc is good enough. (in january
11 + 2006). If it is, the behavior should just be the default. If it's not,
12 + the option should just go away entirely.
13 +Who: Arjan van de Ven
14 +
15 +---------------------------
16 +
17 What: START_ARRAY ioctl for md
18 When: July 2006
19 Files: drivers/md/md.c
20 diff -Nur linux-2.6.15.1/drivers/acpi/ec.c linux-2.6.15.1-owrt/drivers/acpi/ec.c
21 --- linux-2.6.15.1/drivers/acpi/ec.c 2006-01-15 07:16:02.000000000 +0100
22 +++ linux-2.6.15.1-owrt/drivers/acpi/ec.c 2006-01-27 15:08:36.000000000 +0100
23 @@ -153,7 +153,7 @@
24 Transaction Management
25 -------------------------------------------------------------------------- */
26
27 -static inline u32 acpi_ec_read_status(union acpi_ec *ec)
28 +static u32 acpi_ec_read_status(union acpi_ec *ec)
29 {
30 u32 status = 0;
31
32 diff -Nur linux-2.6.15.1/drivers/base/firmware_class.c linux-2.6.15.1-owrt/drivers/base/firmware_class.c
33 --- linux-2.6.15.1/drivers/base/firmware_class.c 2006-01-15 07:16:02.000000000 +0100
34 +++ linux-2.6.15.1-owrt/drivers/base/firmware_class.c 2006-01-27 15:08:36.000000000 +0100
35 @@ -47,7 +47,7 @@
36 struct timer_list timeout;
37 };
38
39 -static inline void
40 +static void
41 fw_load_abort(struct firmware_priv *fw_priv)
42 {
43 set_bit(FW_STATUS_ABORT, &fw_priv->status);
44 diff -Nur linux-2.6.15.1/drivers/block/loop.c linux-2.6.15.1-owrt/drivers/block/loop.c
45 --- linux-2.6.15.1/drivers/block/loop.c 2006-01-15 07:16:02.000000000 +0100
46 +++ linux-2.6.15.1-owrt/drivers/block/loop.c 2006-01-27 15:08:36.000000000 +0100
47 @@ -281,7 +281,7 @@
48 * This helper just factors out common code between do_lo_send_direct_write()
49 * and do_lo_send_write().
50 */
51 -static inline int __do_lo_send_write(struct file *file,
52 +static int __do_lo_send_write(struct file *file,
53 u8 __user *buf, const int len, loff_t pos)
54 {
55 ssize_t bw;
56 diff -Nur linux-2.6.15.1/drivers/bluetooth/hci_bcsp.c linux-2.6.15.1-owrt/drivers/bluetooth/hci_bcsp.c
57 --- linux-2.6.15.1/drivers/bluetooth/hci_bcsp.c 2006-01-15 07:16:02.000000000 +0100
58 +++ linux-2.6.15.1-owrt/drivers/bluetooth/hci_bcsp.c 2006-01-27 15:08:36.000000000 +0100
59 @@ -494,7 +494,7 @@
60 }
61 }
62
63 -static inline void bcsp_complete_rx_pkt(struct hci_uart *hu)
64 +static void bcsp_complete_rx_pkt(struct hci_uart *hu)
65 {
66 struct bcsp_struct *bcsp = hu->priv;
67 int pass_up;
68 diff -Nur linux-2.6.15.1/drivers/char/drm/r128_state.c linux-2.6.15.1-owrt/drivers/char/drm/r128_state.c
69 --- linux-2.6.15.1/drivers/char/drm/r128_state.c 2006-01-15 07:16:02.000000000 +0100
70 +++ linux-2.6.15.1-owrt/drivers/char/drm/r128_state.c 2006-01-27 15:08:36.000000000 +0100
71 @@ -220,7 +220,7 @@
72 ADVANCE_RING();
73 }
74
75 -static __inline__ void r128_emit_state(drm_r128_private_t * dev_priv)
76 +static void r128_emit_state(drm_r128_private_t * dev_priv)
77 {
78 drm_r128_sarea_t *sarea_priv = dev_priv->sarea_priv;
79 unsigned int dirty = sarea_priv->dirty;
80 diff -Nur linux-2.6.15.1/drivers/cpufreq/cpufreq.c linux-2.6.15.1-owrt/drivers/cpufreq/cpufreq.c
81 --- linux-2.6.15.1/drivers/cpufreq/cpufreq.c 2006-01-15 07:16:02.000000000 +0100
82 +++ linux-2.6.15.1-owrt/drivers/cpufreq/cpufreq.c 2006-01-27 15:08:36.000000000 +0100
83 @@ -41,7 +41,6 @@
84 /* internal prototypes */
85 static int __cpufreq_governor(struct cpufreq_policy *policy, unsigned int event);
86 static void handle_update(void *data);
87 -static inline void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci);
88
89 /**
90 * Two notifier lists: the "policy" list is involved in the
91 @@ -127,7 +126,7 @@
92 static unsigned int disable_ratelimit = 1;
93 static DEFINE_SPINLOCK(disable_ratelimit_lock);
94
95 -static inline void cpufreq_debug_enable_ratelimit(void)
96 +static void cpufreq_debug_enable_ratelimit(void)
97 {
98 unsigned long flags;
99
100 @@ -137,7 +136,7 @@
101 spin_unlock_irqrestore(&disable_ratelimit_lock, flags);
102 }
103
104 -static inline void cpufreq_debug_disable_ratelimit(void)
105 +static void cpufreq_debug_disable_ratelimit(void)
106 {
107 unsigned long flags;
108
109 @@ -206,7 +205,7 @@
110 static unsigned long l_p_j_ref;
111 static unsigned int l_p_j_ref_freq;
112
113 -static inline void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci)
114 +static void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci)
115 {
116 if (ci->flags & CPUFREQ_CONST_LOOPS)
117 return;
118 diff -Nur linux-2.6.15.1/drivers/ide/ide-cd.c linux-2.6.15.1-owrt/drivers/ide/ide-cd.c
119 --- linux-2.6.15.1/drivers/ide/ide-cd.c 2006-01-15 07:16:02.000000000 +0100
120 +++ linux-2.6.15.1-owrt/drivers/ide/ide-cd.c 2006-01-27 15:08:36.000000000 +0100
121 @@ -980,7 +980,7 @@
122 * and attempt to recover if there are problems. Returns 0 if everything's
123 * ok; nonzero if the request has been terminated.
124 */
125 -static inline
126 +static
127 int cdrom_read_check_ireason (ide_drive_t *drive, int len, int ireason)
128 {
129 if (ireason == 2)
130 @@ -1541,7 +1541,7 @@
131 /*
132 * Write handling
133 */
134 -static inline int cdrom_write_check_ireason(ide_drive_t *drive, int len, int ireason)
135 +static int cdrom_write_check_ireason(ide_drive_t *drive, int len, int ireason)
136 {
137 /* Two notes about IDE interrupt reason here - 0 means that
138 * the drive wants to receive data from us, 2 means that
139 diff -Nur linux-2.6.15.1/drivers/ide/ide-disk.c linux-2.6.15.1-owrt/drivers/ide/ide-disk.c
140 --- linux-2.6.15.1/drivers/ide/ide-disk.c 2006-01-15 07:16:02.000000000 +0100
141 +++ linux-2.6.15.1-owrt/drivers/ide/ide-disk.c 2006-01-27 15:08:36.000000000 +0100
142 @@ -477,7 +477,7 @@
143 && id->lba_capacity_2;
144 }
145
146 -static inline void idedisk_check_hpa(ide_drive_t *drive)
147 +static void idedisk_check_hpa(ide_drive_t *drive)
148 {
149 unsigned long long capacity, set_max;
150 int lba48 = idedisk_supports_lba48(drive->id);
151 diff -Nur linux-2.6.15.1/drivers/ide/ide-taskfile.c linux-2.6.15.1-owrt/drivers/ide/ide-taskfile.c
152 --- linux-2.6.15.1/drivers/ide/ide-taskfile.c 2006-01-15 07:16:02.000000000 +0100
153 +++ linux-2.6.15.1-owrt/drivers/ide/ide-taskfile.c 2006-01-27 15:08:36.000000000 +0100
154 @@ -308,7 +308,7 @@
155 ide_pio_sector(drive, write);
156 }
157
158 -static inline void ide_pio_datablock(ide_drive_t *drive, struct request *rq,
159 +static void ide_pio_datablock(ide_drive_t *drive, struct request *rq,
160 unsigned int write)
161 {
162 if (rq->bio) /* fs request */
163 diff -Nur linux-2.6.15.1/drivers/infiniband/core/cm.c linux-2.6.15.1-owrt/drivers/infiniband/core/cm.c
164 --- linux-2.6.15.1/drivers/infiniband/core/cm.c 2006-01-15 07:16:02.000000000 +0100
165 +++ linux-2.6.15.1-owrt/drivers/infiniband/core/cm.c 2006-01-27 15:08:36.000000000 +0100
166 @@ -850,7 +850,7 @@
167 param->private_data_len);
168 }
169
170 -static inline int cm_validate_req_param(struct ib_cm_req_param *param)
171 +static int cm_validate_req_param(struct ib_cm_req_param *param)
172 {
173 /* peer-to-peer not supported */
174 if (param->peer_to_peer)
175 @@ -999,7 +999,7 @@
176 (be32_to_cpu(local_qpn) > be32_to_cpu(remote_qpn))));
177 }
178
179 -static inline void cm_format_paths_from_req(struct cm_req_msg *req_msg,
180 +static void cm_format_paths_from_req(struct cm_req_msg *req_msg,
181 struct ib_sa_path_rec *primary_path,
182 struct ib_sa_path_rec *alt_path)
183 {
184 diff -Nur linux-2.6.15.1/drivers/isdn/hisax/avm_pci.c linux-2.6.15.1-owrt/drivers/isdn/hisax/avm_pci.c
185 --- linux-2.6.15.1/drivers/isdn/hisax/avm_pci.c 2006-01-15 07:16:02.000000000 +0100
186 +++ linux-2.6.15.1-owrt/drivers/isdn/hisax/avm_pci.c 2006-01-27 15:08:36.000000000 +0100
187 @@ -358,7 +358,7 @@
188 }
189 }
190
191 -static inline void
192 +static void
193 HDLC_irq(struct BCState *bcs, u_int stat) {
194 int len;
195 struct sk_buff *skb;
196 diff -Nur linux-2.6.15.1/drivers/isdn/hisax/diva.c linux-2.6.15.1-owrt/drivers/isdn/hisax/diva.c
197 --- linux-2.6.15.1/drivers/isdn/hisax/diva.c 2006-01-15 07:16:02.000000000 +0100
198 +++ linux-2.6.15.1-owrt/drivers/isdn/hisax/diva.c 2006-01-27 15:08:36.000000000 +0100
199 @@ -476,7 +476,7 @@
200 }
201 }
202
203 -static inline void
204 +static void
205 Memhscx_interrupt(struct IsdnCardState *cs, u_char val, u_char hscx)
206 {
207 u_char r;
208 diff -Nur linux-2.6.15.1/drivers/isdn/hisax/hscx_irq.c linux-2.6.15.1-owrt/drivers/isdn/hisax/hscx_irq.c
209 --- linux-2.6.15.1/drivers/isdn/hisax/hscx_irq.c 2006-01-15 07:16:02.000000000 +0100
210 +++ linux-2.6.15.1-owrt/drivers/isdn/hisax/hscx_irq.c 2006-01-27 15:08:36.000000000 +0100
211 @@ -119,7 +119,7 @@
212 }
213 }
214
215 -static inline void
216 +static void
217 hscx_interrupt(struct IsdnCardState *cs, u_char val, u_char hscx)
218 {
219 u_char r;
220 @@ -221,7 +221,7 @@
221 }
222 }
223
224 -static inline void
225 +static void
226 hscx_int_main(struct IsdnCardState *cs, u_char val)
227 {
228
229 diff -Nur linux-2.6.15.1/drivers/isdn/hisax/jade_irq.c linux-2.6.15.1-owrt/drivers/isdn/hisax/jade_irq.c
230 --- linux-2.6.15.1/drivers/isdn/hisax/jade_irq.c 2006-01-15 07:16:02.000000000 +0100
231 +++ linux-2.6.15.1-owrt/drivers/isdn/hisax/jade_irq.c 2006-01-27 15:08:36.000000000 +0100
232 @@ -110,7 +110,7 @@
233 }
234
235
236 -static inline void
237 +static void
238 jade_interrupt(struct IsdnCardState *cs, u_char val, u_char jade)
239 {
240 u_char r;
241 diff -Nur linux-2.6.15.1/drivers/md/bitmap.c linux-2.6.15.1-owrt/drivers/md/bitmap.c
242 --- linux-2.6.15.1/drivers/md/bitmap.c 2006-01-15 07:16:02.000000000 +0100
243 +++ linux-2.6.15.1-owrt/drivers/md/bitmap.c 2006-01-27 15:08:36.000000000 +0100
244 @@ -200,7 +200,7 @@
245 /* if page is completely empty, put it back on the free list, or dealloc it */
246 /* if page was hijacked, unmark the flag so it might get alloced next time */
247 /* Note: lock should be held when calling this */
248 -static inline void bitmap_checkfree(struct bitmap *bitmap, unsigned long page)
249 +static void bitmap_checkfree(struct bitmap *bitmap, unsigned long page)
250 {
251 char *ptr;
252
253 diff -Nur linux-2.6.15.1/drivers/md/dm.c linux-2.6.15.1-owrt/drivers/md/dm.c
254 --- linux-2.6.15.1/drivers/md/dm.c 2006-01-15 07:16:02.000000000 +0100
255 +++ linux-2.6.15.1-owrt/drivers/md/dm.c 2006-01-27 15:08:36.000000000 +0100
256 @@ -292,7 +292,7 @@
257 * Decrements the number of outstanding ios that a bio has been
258 * cloned into, completing the original io if necc.
259 */
260 -static inline void dec_pending(struct dm_io *io, int error)
261 +static void dec_pending(struct dm_io *io, int error)
262 {
263 if (error)
264 io->error = error;
265 diff -Nur linux-2.6.15.1/drivers/md/dm-crypt.c linux-2.6.15.1-owrt/drivers/md/dm-crypt.c
266 --- linux-2.6.15.1/drivers/md/dm-crypt.c 2006-01-15 07:16:02.000000000 +0100
267 +++ linux-2.6.15.1-owrt/drivers/md/dm-crypt.c 2006-01-27 15:08:36.000000000 +0100
268 @@ -228,7 +228,7 @@
269 };
270
271
272 -static inline int
273 +static int
274 crypt_convert_scatterlist(struct crypt_config *cc, struct scatterlist *out,
275 struct scatterlist *in, unsigned int length,
276 int write, sector_t sector)
277 diff -Nur linux-2.6.15.1/drivers/md/dm-ioctl.c linux-2.6.15.1-owrt/drivers/md/dm-ioctl.c
278 --- linux-2.6.15.1/drivers/md/dm-ioctl.c 2006-01-15 07:16:02.000000000 +0100
279 +++ linux-2.6.15.1-owrt/drivers/md/dm-ioctl.c 2006-01-27 15:08:36.000000000 +0100
280 @@ -588,7 +588,7 @@
281 /*
282 * Always use UUID for lookups if it's present, otherwise use name or dev.
283 */
284 -static inline struct hash_cell *__find_device_hash_cell(struct dm_ioctl *param)
285 +static struct hash_cell *__find_device_hash_cell(struct dm_ioctl *param)
286 {
287 if (*param->uuid)
288 return __get_uuid_cell(param->uuid);
289 @@ -598,7 +598,7 @@
290 return dm_get_mdptr(huge_decode_dev(param->dev));
291 }
292
293 -static inline struct mapped_device *find_device(struct dm_ioctl *param)
294 +static struct mapped_device *find_device(struct dm_ioctl *param)
295 {
296 struct hash_cell *hc;
297 struct mapped_device *md = NULL;
298 diff -Nur linux-2.6.15.1/drivers/md/dm-snap.c linux-2.6.15.1-owrt/drivers/md/dm-snap.c
299 --- linux-2.6.15.1/drivers/md/dm-snap.c 2006-01-15 07:16:02.000000000 +0100
300 +++ linux-2.6.15.1-owrt/drivers/md/dm-snap.c 2006-01-27 15:08:36.000000000 +0100
301 @@ -677,7 +677,7 @@
302 /*
303 * Dispatches the copy operation to kcopyd.
304 */
305 -static inline void start_copy(struct pending_exception *pe)
306 +static void start_copy(struct pending_exception *pe)
307 {
308 struct dm_snapshot *s = pe->snap;
309 struct io_region src, dest;
310 diff -Nur linux-2.6.15.1/drivers/md/raid10.c linux-2.6.15.1-owrt/drivers/md/raid10.c
311 --- linux-2.6.15.1/drivers/md/raid10.c 2006-01-15 07:16:02.000000000 +0100
312 +++ linux-2.6.15.1-owrt/drivers/md/raid10.c 2006-01-27 15:08:36.000000000 +0100
313 @@ -173,7 +173,7 @@
314 }
315 }
316
317 -static inline void free_r10bio(r10bio_t *r10_bio)
318 +static void free_r10bio(r10bio_t *r10_bio)
319 {
320 unsigned long flags;
321
322 @@ -194,7 +194,7 @@
323 mempool_free(r10_bio, conf->r10bio_pool);
324 }
325
326 -static inline void put_buf(r10bio_t *r10_bio)
327 +static void put_buf(r10bio_t *r10_bio)
328 {
329 conf_t *conf = mddev_to_conf(r10_bio->mddev);
330 unsigned long flags;
331 diff -Nur linux-2.6.15.1/drivers/md/raid1.c linux-2.6.15.1-owrt/drivers/md/raid1.c
332 --- linux-2.6.15.1/drivers/md/raid1.c 2006-01-15 07:16:02.000000000 +0100
333 +++ linux-2.6.15.1-owrt/drivers/md/raid1.c 2006-01-27 15:08:36.000000000 +0100
334 @@ -158,7 +158,7 @@
335 }
336 }
337
338 -static inline void free_r1bio(r1bio_t *r1_bio)
339 +static void free_r1bio(r1bio_t *r1_bio)
340 {
341 unsigned long flags;
342
343 @@ -179,7 +179,7 @@
344 mempool_free(r1_bio, conf->r1bio_pool);
345 }
346
347 -static inline void put_buf(r1bio_t *r1_bio)
348 +static void put_buf(r1bio_t *r1_bio)
349 {
350 conf_t *conf = mddev_to_conf(r1_bio->mddev);
351 unsigned long flags;
352 diff -Nur linux-2.6.15.1/drivers/md/raid5.c linux-2.6.15.1-owrt/drivers/md/raid5.c
353 --- linux-2.6.15.1/drivers/md/raid5.c 2006-01-15 07:16:02.000000000 +0100
354 +++ linux-2.6.15.1-owrt/drivers/md/raid5.c 2006-01-27 15:08:36.000000000 +0100
355 @@ -71,7 +71,7 @@
356
357 static void print_raid5_conf (raid5_conf_t *conf);
358
359 -static inline void __release_stripe(raid5_conf_t *conf, struct stripe_head *sh)
360 +static void __release_stripe(raid5_conf_t *conf, struct stripe_head *sh)
361 {
362 if (atomic_dec_and_test(&sh->count)) {
363 if (!list_empty(&sh->lru))
364 @@ -188,7 +188,7 @@
365
366 static void raid5_build_block (struct stripe_head *sh, int i);
367
368 -static inline void init_stripe(struct stripe_head *sh, sector_t sector, int pd_idx)
369 +static void init_stripe(struct stripe_head *sh, sector_t sector, int pd_idx)
370 {
371 raid5_conf_t *conf = sh->raid_conf;
372 int disks = conf->raid_disks, i;
373 @@ -1421,7 +1421,7 @@
374 }
375 }
376
377 -static inline void raid5_activate_delayed(raid5_conf_t *conf)
378 +static void raid5_activate_delayed(raid5_conf_t *conf)
379 {
380 if (atomic_read(&conf->preread_active_stripes) < IO_THRESHOLD) {
381 while (!list_empty(&conf->delayed_list)) {
382 @@ -1437,7 +1437,7 @@
383 }
384 }
385
386 -static inline void activate_bit_delay(raid5_conf_t *conf)
387 +static void activate_bit_delay(raid5_conf_t *conf)
388 {
389 /* device_lock is held */
390 struct list_head head;
391 diff -Nur linux-2.6.15.1/drivers/md/raid6main.c linux-2.6.15.1-owrt/drivers/md/raid6main.c
392 --- linux-2.6.15.1/drivers/md/raid6main.c 2006-01-15 07:16:02.000000000 +0100
393 +++ linux-2.6.15.1-owrt/drivers/md/raid6main.c 2006-01-27 15:08:36.000000000 +0100
394 @@ -90,7 +90,7 @@
395
396 static void print_raid6_conf (raid6_conf_t *conf);
397
398 -static inline void __release_stripe(raid6_conf_t *conf, struct stripe_head *sh)
399 +static void __release_stripe(raid6_conf_t *conf, struct stripe_head *sh)
400 {
401 if (atomic_dec_and_test(&sh->count)) {
402 if (!list_empty(&sh->lru))
403 @@ -207,7 +207,7 @@
404
405 static void raid6_build_block (struct stripe_head *sh, int i);
406
407 -static inline void init_stripe(struct stripe_head *sh, sector_t sector, int pd_idx)
408 +static void init_stripe(struct stripe_head *sh, sector_t sector, int pd_idx)
409 {
410 raid6_conf_t *conf = sh->raid_conf;
411 int disks = conf->raid_disks, i;
412 @@ -1501,7 +1501,7 @@
413 }
414 }
415
416 -static inline void raid6_activate_delayed(raid6_conf_t *conf)
417 +static void raid6_activate_delayed(raid6_conf_t *conf)
418 {
419 if (atomic_read(&conf->preread_active_stripes) < IO_THRESHOLD) {
420 while (!list_empty(&conf->delayed_list)) {
421 @@ -1517,7 +1517,7 @@
422 }
423 }
424
425 -static inline void activate_bit_delay(raid6_conf_t *conf)
426 +static void activate_bit_delay(raid6_conf_t *conf)
427 {
428 /* device_lock is held */
429 struct list_head head;
430 diff -Nur linux-2.6.15.1/drivers/media/video/tvp5150.c linux-2.6.15.1-owrt/drivers/media/video/tvp5150.c
431 --- linux-2.6.15.1/drivers/media/video/tvp5150.c 2006-01-15 07:16:02.000000000 +0100
432 +++ linux-2.6.15.1-owrt/drivers/media/video/tvp5150.c 2006-01-27 15:08:36.000000000 +0100
433 @@ -87,7 +87,7 @@
434 int sat;
435 };
436
437 -static inline int tvp5150_read(struct i2c_client *c, unsigned char addr)
438 +static int tvp5150_read(struct i2c_client *c, unsigned char addr)
439 {
440 unsigned char buffer[1];
441 int rc;
442 diff -Nur linux-2.6.15.1/drivers/message/fusion/mptlan.c linux-2.6.15.1-owrt/drivers/message/fusion/mptlan.c
443 --- linux-2.6.15.1/drivers/message/fusion/mptlan.c 2006-01-15 07:16:02.000000000 +0100
444 +++ linux-2.6.15.1-owrt/drivers/message/fusion/mptlan.c 2006-01-27 15:08:36.000000000 +0100
445 @@ -848,7 +848,7 @@
446 }
447
448 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
449 -static inline void
450 +static void
451 mpt_lan_wake_post_buckets_task(struct net_device *dev, int priority)
452 /*
453 * @priority: 0 = put it on the timer queue, 1 = put it on the immediate queue
454 @@ -870,7 +870,7 @@
455 }
456
457 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
458 -static inline int
459 +static int
460 mpt_lan_receive_skb(struct net_device *dev, struct sk_buff *skb)
461 {
462 struct mpt_lan_priv *priv = dev->priv;
463 diff -Nur linux-2.6.15.1/drivers/mtd/devices/doc2000.c linux-2.6.15.1-owrt/drivers/mtd/devices/doc2000.c
464 --- linux-2.6.15.1/drivers/mtd/devices/doc2000.c 2006-01-15 07:16:02.000000000 +0100
465 +++ linux-2.6.15.1-owrt/drivers/mtd/devices/doc2000.c 2006-01-27 15:08:36.000000000 +0100
466 @@ -138,7 +138,7 @@
467 bypass the internal pipeline. Each of 4 delay cycles (read from the NOP register) is
468 required after writing to CDSN Control register, see Software Requirement 11.4 item 3. */
469
470 -static inline int DoC_Command(struct DiskOnChip *doc, unsigned char command,
471 +static int DoC_Command(struct DiskOnChip *doc, unsigned char command,
472 unsigned char xtraflags)
473 {
474 void __iomem *docptr = doc->virtadr;
475 diff -Nur linux-2.6.15.1/drivers/mtd/devices/doc2001.c linux-2.6.15.1-owrt/drivers/mtd/devices/doc2001.c
476 --- linux-2.6.15.1/drivers/mtd/devices/doc2001.c 2006-01-15 07:16:02.000000000 +0100
477 +++ linux-2.6.15.1-owrt/drivers/mtd/devices/doc2001.c 2006-01-27 15:08:36.000000000 +0100
478 @@ -103,7 +103,7 @@
479 with the internal pipeline. Each of 4 delay cycles (read from the NOP register) is
480 required after writing to CDSN Control register, see Software Requirement 11.4 item 3. */
481
482 -static inline void DoC_Command(void __iomem * docptr, unsigned char command,
483 +static void DoC_Command(void __iomem * docptr, unsigned char command,
484 unsigned char xtraflags)
485 {
486 /* Assert the CLE (Command Latch Enable) line to the flash chip */
487 diff -Nur linux-2.6.15.1/drivers/mtd/devices/doc2001plus.c linux-2.6.15.1-owrt/drivers/mtd/devices/doc2001plus.c
488 --- linux-2.6.15.1/drivers/mtd/devices/doc2001plus.c 2006-01-15 07:16:02.000000000 +0100
489 +++ linux-2.6.15.1-owrt/drivers/mtd/devices/doc2001plus.c 2006-01-27 15:08:36.000000000 +0100
490 @@ -118,7 +118,7 @@
491 /* DoC_Command: Send a flash command to the flash chip through the Flash
492 * command register. Need 2 Write Pipeline Terminates to complete send.
493 */
494 -static inline void DoC_Command(void __iomem * docptr, unsigned char command,
495 +static void DoC_Command(void __iomem * docptr, unsigned char command,
496 unsigned char xtraflags)
497 {
498 WriteDOC(command, docptr, Mplus_FlashCmd);
499 diff -Nur linux-2.6.15.1/drivers/mtd/nand/diskonchip.c linux-2.6.15.1-owrt/drivers/mtd/nand/diskonchip.c
500 --- linux-2.6.15.1/drivers/mtd/nand/diskonchip.c 2006-01-15 07:16:02.000000000 +0100
501 +++ linux-2.6.15.1-owrt/drivers/mtd/nand/diskonchip.c 2006-01-27 15:08:36.000000000 +0100
502 @@ -1506,7 +1506,7 @@
503 return 1;
504 }
505
506 -static inline int __init doc_probe(unsigned long physadr)
507 +static int __init doc_probe(unsigned long physadr)
508 {
509 unsigned char ChipID;
510 struct mtd_info *mtd;
511 diff -Nur linux-2.6.15.1/drivers/net/e100.c linux-2.6.15.1-owrt/drivers/net/e100.c
512 --- linux-2.6.15.1/drivers/net/e100.c 2006-01-15 07:16:02.000000000 +0100
513 +++ linux-2.6.15.1-owrt/drivers/net/e100.c 2006-01-27 15:08:36.000000000 +0100
514 @@ -587,7 +587,7 @@
515 (void)readb(&nic->csr->scb.status);
516 }
517
518 -static inline void e100_enable_irq(struct nic *nic)
519 +static void e100_enable_irq(struct nic *nic)
520 {
521 unsigned long flags;
522
523 @@ -597,7 +597,7 @@
524 e100_write_flush(nic);
525 }
526
527 -static inline void e100_disable_irq(struct nic *nic)
528 +static void e100_disable_irq(struct nic *nic)
529 {
530 unsigned long flags;
531
532 @@ -786,7 +786,7 @@
533
534 #define E100_WAIT_SCB_TIMEOUT 20000 /* we might have to wait 100ms!!! */
535 #define E100_WAIT_SCB_FAST 20 /* delay like the old code */
536 -static inline int e100_exec_cmd(struct nic *nic, u8 cmd, dma_addr_t dma_addr)
537 +static int e100_exec_cmd(struct nic *nic, u8 cmd, dma_addr_t dma_addr)
538 {
539 unsigned long flags;
540 unsigned int i;
541 @@ -817,7 +817,7 @@
542 return err;
543 }
544
545 -static inline int e100_exec_cb(struct nic *nic, struct sk_buff *skb,
546 +static int e100_exec_cb(struct nic *nic, struct sk_buff *skb,
547 void (*cb_prepare)(struct nic *, struct cb *, struct sk_buff *))
548 {
549 struct cb *cb;
550 @@ -1542,7 +1542,7 @@
551 mod_timer(&nic->watchdog, jiffies + E100_WATCHDOG_PERIOD);
552 }
553
554 -static inline void e100_xmit_prepare(struct nic *nic, struct cb *cb,
555 +static void e100_xmit_prepare(struct nic *nic, struct cb *cb,
556 struct sk_buff *skb)
557 {
558 cb->command = nic->tx_command;
559 @@ -1592,7 +1592,7 @@
560 return 0;
561 }
562
563 -static inline int e100_tx_clean(struct nic *nic)
564 +static int e100_tx_clean(struct nic *nic)
565 {
566 struct cb *cb;
567 int tx_cleaned = 0;
568 @@ -1703,7 +1703,7 @@
569 }
570
571 #define RFD_BUF_LEN (sizeof(struct rfd) + VLAN_ETH_FRAME_LEN)
572 -static inline int e100_rx_alloc_skb(struct nic *nic, struct rx *rx)
573 +static int e100_rx_alloc_skb(struct nic *nic, struct rx *rx)
574 {
575 if(!(rx->skb = dev_alloc_skb(RFD_BUF_LEN + NET_IP_ALIGN)))
576 return -ENOMEM;
577 @@ -1737,7 +1737,7 @@
578 return 0;
579 }
580
581 -static inline int e100_rx_indicate(struct nic *nic, struct rx *rx,
582 +static int e100_rx_indicate(struct nic *nic, struct rx *rx,
583 unsigned int *work_done, unsigned int work_to_do)
584 {
585 struct sk_buff *skb = rx->skb;
586 @@ -1797,7 +1797,7 @@
587 return 0;
588 }
589
590 -static inline void e100_rx_clean(struct nic *nic, unsigned int *work_done,
591 +static void e100_rx_clean(struct nic *nic, unsigned int *work_done,
592 unsigned int work_to_do)
593 {
594 struct rx *rx;
595 diff -Nur linux-2.6.15.1/drivers/net/sb1000.c linux-2.6.15.1-owrt/drivers/net/sb1000.c
596 --- linux-2.6.15.1/drivers/net/sb1000.c 2006-01-15 07:16:02.000000000 +0100
597 +++ linux-2.6.15.1-owrt/drivers/net/sb1000.c 2006-01-27 15:08:36.000000000 +0100
598 @@ -94,7 +94,7 @@
599 const char* name);
600 static inline int card_wait_for_ready(const int ioaddr[], const char* name,
601 unsigned char in[]);
602 -static inline int card_send_command(const int ioaddr[], const char* name,
603 +static int card_send_command(const int ioaddr[], const char* name,
604 const unsigned char out[], unsigned char in[]);
605
606 /* SB1000 hardware routines to be used during frame rx interrupt */
607 @@ -309,7 +309,7 @@
608 }
609
610 /* Card Send Command (cannot be used during an interrupt) */
611 -static inline int
612 +static int
613 card_send_command(const int ioaddr[], const char* name,
614 const unsigned char out[], unsigned char in[])
615 {
616 diff -Nur linux-2.6.15.1/drivers/net/wireless/hostap/hostap_80211_rx.c linux-2.6.15.1-owrt/drivers/net/wireless/hostap/hostap_80211_rx.c
617 --- linux-2.6.15.1/drivers/net/wireless/hostap/hostap_80211_rx.c 2006-01-15 07:16:02.000000000 +0100
618 +++ linux-2.6.15.1-owrt/drivers/net/wireless/hostap/hostap_80211_rx.c 2006-01-27 15:08:36.000000000 +0100
619 @@ -435,7 +435,7 @@
620 }
621
622
623 -static inline int
624 +static int
625 hostap_rx_frame_mgmt(local_info_t *local, struct sk_buff *skb,
626 struct hostap_80211_rx_status *rx_stats, u16 type,
627 u16 stype)
628 @@ -499,7 +499,7 @@
629
630
631 /* Called only as a tasklet (software IRQ) */
632 -static inline struct net_device *prism2_rx_get_wds(local_info_t *local,
633 +static struct net_device *prism2_rx_get_wds(local_info_t *local,
634 u8 *addr)
635 {
636 struct hostap_interface *iface = NULL;
637 @@ -519,7 +519,7 @@
638 }
639
640
641 -static inline int
642 +static int
643 hostap_rx_frame_wds(local_info_t *local, struct ieee80211_hdr_4addr *hdr,
644 u16 fc, struct net_device **wds)
645 {
646 @@ -615,7 +615,7 @@
647
648
649 /* Called only as a tasklet (software IRQ) */
650 -static inline int
651 +static int
652 hostap_rx_frame_decrypt(local_info_t *local, struct sk_buff *skb,
653 struct ieee80211_crypt_data *crypt)
654 {
655 @@ -654,7 +654,7 @@
656
657
658 /* Called only as a tasklet (software IRQ) */
659 -static inline int
660 +static int
661 hostap_rx_frame_decrypt_msdu(local_info_t *local, struct sk_buff *skb,
662 int keyidx, struct ieee80211_crypt_data *crypt)
663 {
664 diff -Nur linux-2.6.15.1/drivers/net/wireless/hostap/hostap_hw.c linux-2.6.15.1-owrt/drivers/net/wireless/hostap/hostap_hw.c
665 --- linux-2.6.15.1/drivers/net/wireless/hostap/hostap_hw.c 2006-01-15 07:16:02.000000000 +0100
666 +++ linux-2.6.15.1-owrt/drivers/net/wireless/hostap/hostap_hw.c 2006-01-27 15:08:36.000000000 +0100
667 @@ -253,7 +253,7 @@
668 * @dev: pointer to net_device
669 * @entry: Prism2 command queue entry to be issued
670 */
671 -static inline int hfa384x_cmd_issue(struct net_device *dev,
672 +static int hfa384x_cmd_issue(struct net_device *dev,
673 struct hostap_cmd_queue *entry)
674 {
675 struct hostap_interface *iface;
676 @@ -743,7 +743,7 @@
677 }
678
679
680 -static inline int hfa384x_wait_offset(struct net_device *dev, u16 o_off)
681 +static int hfa384x_wait_offset(struct net_device *dev, u16 o_off)
682 {
683 int tries = HFA384X_BAP_BUSY_TIMEOUT;
684 int res = HFA384X_INW(o_off) & HFA384X_OFFSET_BUSY;
685 @@ -1904,7 +1904,7 @@
686 * and will try to get the correct fid eventually. */
687 #define EXTRA_FID_READ_TESTS
688
689 -static inline u16 prism2_read_fid_reg(struct net_device *dev, u16 reg)
690 +static u16 prism2_read_fid_reg(struct net_device *dev, u16 reg)
691 {
692 #ifdef EXTRA_FID_READ_TESTS
693 u16 val, val2, val3;
694 @@ -2581,7 +2581,7 @@
695
696
697 /* Called only from hardware IRQ */
698 -static inline void prism2_check_magic(local_info_t *local)
699 +static void prism2_check_magic(local_info_t *local)
700 {
701 /* at least PCI Prism2.5 with bus mastering seems to sometimes
702 * return 0x0000 in SWSUPPORT0 for unknown reason, but re-reading the
703 diff -Nur linux-2.6.15.1/drivers/net/wireless/ipw2100.c linux-2.6.15.1-owrt/drivers/net/wireless/ipw2100.c
704 --- linux-2.6.15.1/drivers/net/wireless/ipw2100.c 2006-01-15 07:16:02.000000000 +0100
705 +++ linux-2.6.15.1-owrt/drivers/net/wireless/ipw2100.c 2006-01-27 15:08:36.000000000 +0100
706 @@ -411,7 +411,7 @@
707 write_register(dev, IPW_REG_AUTOINCREMENT_DATA, val);
708 }
709
710 -static inline void write_nic_memory(struct net_device *dev, u32 addr, u32 len,
711 +static void write_nic_memory(struct net_device *dev, u32 addr, u32 len,
712 const u8 * buf)
713 {
714 u32 aligned_addr;
715 @@ -449,7 +449,7 @@
716 *buf);
717 }
718
719 -static inline void read_nic_memory(struct net_device *dev, u32 addr, u32 len,
720 +static void read_nic_memory(struct net_device *dev, u32 addr, u32 len,
721 u8 * buf)
722 {
723 u32 aligned_addr;
724 @@ -657,7 +657,7 @@
725
726 #define MAX_RESET_BACKOFF 10
727
728 -static inline void schedule_reset(struct ipw2100_priv *priv)
729 +static void schedule_reset(struct ipw2100_priv *priv)
730 {
731 unsigned long now = get_seconds();
732
733 @@ -1130,7 +1130,7 @@
734 write_register(priv->net_dev, IPW_REG_GPIO, reg);
735 }
736
737 -static inline int rf_kill_active(struct ipw2100_priv *priv)
738 +static int rf_kill_active(struct ipw2100_priv *priv)
739 {
740 #define MAX_RF_KILL_CHECKS 5
741 #define RF_KILL_CHECK_DELAY 40
742 @@ -2177,7 +2177,7 @@
743 };
744 #endif
745
746 -static inline int ipw2100_alloc_skb(struct ipw2100_priv *priv,
747 +static int ipw2100_alloc_skb(struct ipw2100_priv *priv,
748 struct ipw2100_rx_packet *packet)
749 {
750 packet->skb = dev_alloc_skb(sizeof(struct ipw2100_rx));
751 @@ -2201,7 +2201,7 @@
752 #define SEARCH_SNAPSHOT 1
753
754 #define SNAPSHOT_ADDR(ofs) (priv->snapshot[((ofs) >> 12) & 0xff] + ((ofs) & 0xfff))
755 -static inline int ipw2100_snapshot_alloc(struct ipw2100_priv *priv)
756 +static int ipw2100_snapshot_alloc(struct ipw2100_priv *priv)
757 {
758 int i;
759 if (priv->snapshot[0])
760 @@ -2221,7 +2221,7 @@
761 return 1;
762 }
763
764 -static inline void ipw2100_snapshot_free(struct ipw2100_priv *priv)
765 +static void ipw2100_snapshot_free(struct ipw2100_priv *priv)
766 {
767 int i;
768 if (!priv->snapshot[0])
769 @@ -2231,7 +2231,7 @@
770 priv->snapshot[0] = NULL;
771 }
772
773 -static inline u32 ipw2100_match_buf(struct ipw2100_priv *priv, u8 * in_buf,
774 +static u32 ipw2100_match_buf(struct ipw2100_priv *priv, u8 * in_buf,
775 size_t len, int mode)
776 {
777 u32 i, j;
778 @@ -2288,7 +2288,7 @@
779 static u8 packet_data[IPW_RX_NIC_BUFFER_LENGTH];
780 #endif
781
782 -static inline void ipw2100_corruption_detected(struct ipw2100_priv *priv, int i)
783 +static void ipw2100_corruption_detected(struct ipw2100_priv *priv, int i)
784 {
785 #ifdef CONFIG_IPW_DEBUG_C3
786 struct ipw2100_status *status = &priv->status_queue.drv[i];
787 @@ -2346,7 +2346,7 @@
788 schedule_reset(priv);
789 }
790
791 -static inline void isr_rx(struct ipw2100_priv *priv, int i,
792 +static void isr_rx(struct ipw2100_priv *priv, int i,
793 struct ieee80211_rx_stats *stats)
794 {
795 struct ipw2100_status *status = &priv->status_queue.drv[i];
796 @@ -2425,7 +2425,7 @@
797 priv->rx_queue.drv[i].host_addr = packet->dma_addr;
798 }
799
800 -static inline int ipw2100_corruption_check(struct ipw2100_priv *priv, int i)
801 +static int ipw2100_corruption_check(struct ipw2100_priv *priv, int i)
802 {
803 struct ipw2100_status *status = &priv->status_queue.drv[i];
804 struct ipw2100_rx *u = priv->rx_buffers[i].rxp;
805 @@ -2481,7 +2481,7 @@
806 * The WRITE index is cached in the variable 'priv->rx_queue.next'.
807 *
808 */
809 -static inline void __ipw2100_rx_process(struct ipw2100_priv *priv)
810 +static void __ipw2100_rx_process(struct ipw2100_priv *priv)
811 {
812 struct ipw2100_bd_queue *rxq = &priv->rx_queue;
813 struct ipw2100_status_queue *sq = &priv->status_queue;
814 @@ -2634,7 +2634,7 @@
815 * for use by future command and data packets.
816 *
817 */
818 -static inline int __ipw2100_tx_process(struct ipw2100_priv *priv)
819 +static int __ipw2100_tx_process(struct ipw2100_priv *priv)
820 {
821 struct ipw2100_bd_queue *txq = &priv->tx_queue;
822 struct ipw2100_bd *tbd;
823 diff -Nur linux-2.6.15.1/drivers/net/wireless/ipw2200.c linux-2.6.15.1-owrt/drivers/net/wireless/ipw2200.c
824 --- linux-2.6.15.1/drivers/net/wireless/ipw2200.c 2006-01-15 07:16:02.000000000 +0100
825 +++ linux-2.6.15.1-owrt/drivers/net/wireless/ipw2200.c 2006-01-27 15:08:36.000000000 +0100
826 @@ -813,7 +813,7 @@
827 up(&priv->sem);
828 }
829
830 -static inline void __ipw_led_activity_on(struct ipw_priv *priv)
831 +static void __ipw_led_activity_on(struct ipw_priv *priv)
832 {
833 u32 led;
834
835 @@ -1508,7 +1508,7 @@
836 static DEVICE_ATTR(direct_dword, S_IWUSR | S_IRUGO,
837 show_direct_dword, store_direct_dword);
838
839 -static inline int rf_kill_active(struct ipw_priv *priv)
840 +static int rf_kill_active(struct ipw_priv *priv)
841 {
842 if (0 == (ipw_read32(priv, 0x30) & 0x10000))
843 priv->status |= STATUS_RF_KILL_HW;
844 @@ -2359,7 +2359,7 @@
845 }
846
847 /* perform a chip select operation */
848 -static inline void eeprom_cs(struct ipw_priv *priv)
849 +static void eeprom_cs(struct ipw_priv *priv)
850 {
851 eeprom_write_reg(priv, 0);
852 eeprom_write_reg(priv, EEPROM_BIT_CS);
853 @@ -2368,7 +2368,7 @@
854 }
855
856 /* perform a chip select operation */
857 -static inline void eeprom_disable_cs(struct ipw_priv *priv)
858 +static void eeprom_disable_cs(struct ipw_priv *priv)
859 {
860 eeprom_write_reg(priv, EEPROM_BIT_CS);
861 eeprom_write_reg(priv, 0);
862 @@ -2475,7 +2475,7 @@
863 IPW_DEBUG_TRACE("<<\n");
864 }
865
866 -static inline void ipw_zero_memory(struct ipw_priv *priv, u32 start, u32 count)
867 +static void ipw_zero_memory(struct ipw_priv *priv, u32 start, u32 count)
868 {
869 count >>= 2;
870 if (!count)
871 @@ -2772,7 +2772,7 @@
872 return ipw_read32(priv, 0x90) == 0xd55555d5;
873 }
874
875 -static inline int ipw_poll_bit(struct ipw_priv *priv, u32 addr, u32 mask,
876 +static int ipw_poll_bit(struct ipw_priv *priv, u32 addr, u32 mask,
877 int timeout)
878 {
879 int i = 0;
880 @@ -3150,7 +3150,7 @@
881
882 #define IPW_RX_BUF_SIZE (3000)
883
884 -static inline void ipw_rx_queue_reset(struct ipw_priv *priv,
885 +static void ipw_rx_queue_reset(struct ipw_priv *priv,
886 struct ipw_rx_queue *rxq)
887 {
888 unsigned long flags;
889 @@ -3608,7 +3608,7 @@
890 ipw_queue_tx_free(priv, &priv->txq[3]);
891 }
892
893 -static inline void ipw_create_bssid(struct ipw_priv *priv, u8 * bssid)
894 +static void ipw_create_bssid(struct ipw_priv *priv, u8 * bssid)
895 {
896 /* First 3 bytes are manufacturer */
897 bssid[0] = priv->mac_addr[0];
898 @@ -3622,7 +3622,7 @@
899 bssid[0] |= 0x02; /* set local assignment bit (IEEE802) */
900 }
901
902 -static inline u8 ipw_add_station(struct ipw_priv *priv, u8 * bssid)
903 +static u8 ipw_add_station(struct ipw_priv *priv, u8 * bssid)
904 {
905 struct ipw_station_entry entry;
906 int i;
907 @@ -3655,7 +3655,7 @@
908 return i;
909 }
910
911 -static inline u8 ipw_find_station(struct ipw_priv *priv, u8 * bssid)
912 +static u8 ipw_find_station(struct ipw_priv *priv, u8 * bssid)
913 {
914 int i;
915
916 @@ -3794,7 +3794,7 @@
917 memset(avg, 0, sizeof(*avg));
918 }
919
920 -static void inline average_add(struct average *avg, s16 val)
921 +static void average_add(struct average *avg, s16 val)
922 {
923 avg->sum -= avg->entries[avg->pos];
924 avg->sum += val;
925 @@ -3805,7 +3805,7 @@
926 }
927 }
928
929 -static s16 inline average_value(struct average *avg)
930 +static s16 average_value(struct average *avg)
931 {
932 if (!unlikely(avg->init)) {
933 if (avg->pos)
934 @@ -3847,7 +3847,7 @@
935
936 }
937
938 -static inline u32 ipw_get_max_rate(struct ipw_priv *priv)
939 +static u32 ipw_get_max_rate(struct ipw_priv *priv)
940 {
941 u32 i = 0x80000000;
942 u32 mask = priv->rates_mask;
943 @@ -4087,7 +4087,7 @@
944 * roaming_threshold -> disassociate_threshold, scan and roam for better signal.
945 * Above disassociate threshold, give up and stop scanning.
946 * Roaming is disabled if disassociate_threshold <= roaming_threshold */
947 -static inline void ipw_handle_missed_beacon(struct ipw_priv *priv,
948 +static void ipw_handle_missed_beacon(struct ipw_priv *priv,
949 int missed_count)
950 {
951 priv->notif_missed_beacons = missed_count;
952 @@ -4157,7 +4157,7 @@
953 * Handle host notification packet.
954 * Called from interrupt routine
955 */
956 -static inline void ipw_rx_notification(struct ipw_priv *priv,
957 +static void ipw_rx_notification(struct ipw_priv *priv,
958 struct ipw_rx_notification *notif)
959 {
960 notif->size = le16_to_cpu(notif->size);
961 @@ -5096,7 +5096,7 @@
962 return 1;
963 }
964
965 -static inline void ipw_copy_rates(struct ipw_supported_rates *dest,
966 +static void ipw_copy_rates(struct ipw_supported_rates *dest,
967 const struct ipw_supported_rates *src)
968 {
969 u8 i;
970 @@ -5857,7 +5857,7 @@
971 #define ipw_debug_config(x) do {} while (0)
972 #endif
973
974 -static inline void ipw_set_fixed_rate(struct ipw_priv *priv, int mode)
975 +static void ipw_set_fixed_rate(struct ipw_priv *priv, int mode)
976 {
977 /* TODO: Verify that this works... */
978 struct ipw_fixed_rate fr = {
979 @@ -7636,7 +7636,7 @@
980 }
981 #endif
982
983 -static inline int is_network_packet(struct ipw_priv *priv,
984 +static int is_network_packet(struct ipw_priv *priv,
985 struct ieee80211_hdr_4addr *header)
986 {
987 /* Filter incoming packets to determine if they are targetted toward
988 @@ -7676,7 +7676,7 @@
989
990 #define IPW_PACKET_RETRY_TIME HZ
991
992 -static inline int is_duplicate_packet(struct ipw_priv *priv,
993 +static int is_duplicate_packet(struct ipw_priv *priv,
994 struct ieee80211_hdr_4addr *header)
995 {
996 u16 sc = le16_to_cpu(header->seq_ctl);
997 @@ -9585,7 +9585,7 @@
998
999 /* net device stuff */
1000
1001 -static inline void init_sys_config(struct ipw_sys_config *sys_config)
1002 +static void init_sys_config(struct ipw_sys_config *sys_config)
1003 {
1004 memset(sys_config, 0, sizeof(struct ipw_sys_config));
1005 sys_config->bt_coexistence = 1; /* We may need to look into prvStaBtConfig */
1006 @@ -9631,7 +9631,7 @@
1007 we need to heavily modify the ieee80211_skb_to_txb.
1008 */
1009
1010 -static inline int ipw_tx_skb(struct ipw_priv *priv, struct ieee80211_txb *txb,
1011 +static int ipw_tx_skb(struct ipw_priv *priv, struct ieee80211_txb *txb,
1012 int pri)
1013 {
1014 struct ieee80211_hdr_3addr *hdr = (struct ieee80211_hdr_3addr *)
1015 diff -Nur linux-2.6.15.1/drivers/net/wireless/wavelan.c linux-2.6.15.1-owrt/drivers/net/wireless/wavelan.c
1016 --- linux-2.6.15.1/drivers/net/wireless/wavelan.c 2006-01-15 07:16:02.000000000 +0100
1017 +++ linux-2.6.15.1-owrt/drivers/net/wireless/wavelan.c 2006-01-27 15:08:36.000000000 +0100
1018 @@ -102,7 +102,7 @@
1019 * Write to card's Host Adapter Command Register. Include a delay for
1020 * those times when it is needed.
1021 */
1022 -static inline void hacr_write_slow(unsigned long ioaddr, u16 hacr)
1023 +static void hacr_write_slow(unsigned long ioaddr, u16 hacr)
1024 {
1025 hacr_write(ioaddr, hacr);
1026 /* delay might only be needed sometimes */
1027 @@ -242,7 +242,7 @@
1028 * The Windows drivers don't use the CRC, but the AP and the PtP tool
1029 * depend on it.
1030 */
1031 -static inline u16 psa_crc(u8 * psa, /* The PSA */
1032 +static u16 psa_crc(u8 * psa, /* The PSA */
1033 int size)
1034 { /* Number of short for CRC */
1035 int byte_cnt; /* Loop on the PSA */
1036 @@ -310,7 +310,7 @@
1037 /*
1038 * Write 1 byte to the MMC.
1039 */
1040 -static inline void mmc_out(unsigned long ioaddr, u16 o, u8 d)
1041 +static void mmc_out(unsigned long ioaddr, u16 o, u8 d)
1042 {
1043 int count = 0;
1044
1045 @@ -326,7 +326,7 @@
1046 * Routine to write bytes to the Modem Management Controller.
1047 * We start at the end because it is the way it should be!
1048 */
1049 -static inline void mmc_write(unsigned long ioaddr, u8 o, u8 * b, int n)
1050 +static void mmc_write(unsigned long ioaddr, u8 o, u8 * b, int n)
1051 {
1052 o += n;
1053 b += n;
1054 @@ -340,7 +340,7 @@
1055 * Read a byte from the MMC.
1056 * Optimised version for 1 byte, avoid using memory.
1057 */
1058 -static inline u8 mmc_in(unsigned long ioaddr, u16 o)
1059 +static u8 mmc_in(unsigned long ioaddr, u16 o)
1060 {
1061 int count = 0;
1062
1063 @@ -587,7 +587,7 @@
1064 * Set channel attention bit and busy wait until command has
1065 * completed, then acknowledge completion of the command.
1066 */
1067 -static inline int wv_synchronous_cmd(struct net_device * dev, const char *str)
1068 +static int wv_synchronous_cmd(struct net_device * dev, const char *str)
1069 {
1070 net_local *lp = (net_local *) dev->priv;
1071 unsigned long ioaddr = dev->base_addr;
1072 @@ -633,7 +633,7 @@
1073 * Configuration commands completion interrupt.
1074 * Check if done, and if OK.
1075 */
1076 -static inline int
1077 +static int
1078 wv_config_complete(struct net_device * dev, unsigned long ioaddr, net_local * lp)
1079 {
1080 unsigned short mcs_addr;
1081 @@ -843,7 +843,7 @@
1082 * wavelan_interrupt is not an option), so you may experience
1083 * delays sometimes.
1084 */
1085 -static inline void wv_82586_reconfig(struct net_device * dev)
1086 +static void wv_82586_reconfig(struct net_device * dev)
1087 {
1088 net_local *lp = (net_local *) dev->priv;
1089 unsigned long flags;
1090 @@ -1281,7 +1281,7 @@
1091 * This is the information which is displayed by the driver at startup.
1092 * There are lots of flags for configuring it to your liking.
1093 */
1094 -static inline void wv_init_info(struct net_device * dev)
1095 +static void wv_init_info(struct net_device * dev)
1096 {
1097 short ioaddr = dev->base_addr;
1098 net_local *lp = (net_local *) dev->priv;
1099 @@ -1502,7 +1502,7 @@
1100 * It's a bit complicated and you don't really want to look into it.
1101 * (called in wavelan_ioctl)
1102 */
1103 -static inline int wv_set_frequency(unsigned long ioaddr, /* I/O port of the card */
1104 +static int wv_set_frequency(unsigned long ioaddr, /* I/O port of the card */
1105 iw_freq * frequency)
1106 {
1107 const int BAND_NUM = 10; /* Number of bands */
1108 @@ -1677,7 +1677,7 @@
1109 /*
1110 * Give the list of available frequencies.
1111 */
1112 -static inline int wv_frequency_list(unsigned long ioaddr, /* I/O port of the card */
1113 +static int wv_frequency_list(unsigned long ioaddr, /* I/O port of the card */
1114 iw_freq * list, /* List of frequencies to fill */
1115 int max)
1116 { /* Maximum number of frequencies */
1117 @@ -2489,7 +2489,7 @@
1118 * Note: if any errors occur, the packet is "dropped on the floor".
1119 * (called by wv_packet_rcv())
1120 */
1121 -static inline void
1122 +static void
1123 wv_packet_read(struct net_device * dev, u16 buf_off, int sksize)
1124 {
1125 net_local *lp = (net_local *) dev->priv;
1126 @@ -2585,7 +2585,7 @@
1127 * (called in wavelan_interrupt()).
1128 * Note : the spinlock is already grabbed for us.
1129 */
1130 -static inline void wv_receive(struct net_device * dev)
1131 +static void wv_receive(struct net_device * dev)
1132 {
1133 unsigned long ioaddr = dev->base_addr;
1134 net_local *lp = (net_local *) dev->priv;
1135 @@ -2768,7 +2768,7 @@
1136 *
1137 * (called in wavelan_packet_xmit())
1138 */
1139 -static inline int wv_packet_write(struct net_device * dev, void *buf, short length)
1140 +static int wv_packet_write(struct net_device * dev, void *buf, short length)
1141 {
1142 net_local *lp = (net_local *) dev->priv;
1143 unsigned long ioaddr = dev->base_addr;
1144 @@ -2964,7 +2964,7 @@
1145 * Routine to initialize the Modem Management Controller.
1146 * (called by wv_hw_reset())
1147 */
1148 -static inline int wv_mmc_init(struct net_device * dev)
1149 +static int wv_mmc_init(struct net_device * dev)
1150 {
1151 unsigned long ioaddr = dev->base_addr;
1152 net_local *lp = (net_local *) dev->priv;
1153 @@ -3136,7 +3136,7 @@
1154 * Start the receive unit.
1155 * (called by wv_hw_reset())
1156 */
1157 -static inline int wv_ru_start(struct net_device * dev)
1158 +static int wv_ru_start(struct net_device * dev)
1159 {
1160 net_local *lp = (net_local *) dev->priv;
1161 unsigned long ioaddr = dev->base_addr;
1162 @@ -3228,7 +3228,7 @@
1163 *
1164 * (called by wv_hw_reset())
1165 */
1166 -static inline int wv_cu_start(struct net_device * dev)
1167 +static int wv_cu_start(struct net_device * dev)
1168 {
1169 net_local *lp = (net_local *) dev->priv;
1170 unsigned long ioaddr = dev->base_addr;
1171 @@ -3329,7 +3329,7 @@
1172 *
1173 * (called by wv_hw_reset())
1174 */
1175 -static inline int wv_82586_start(struct net_device * dev)
1176 +static int wv_82586_start(struct net_device * dev)
1177 {
1178 net_local *lp = (net_local *) dev->priv;
1179 unsigned long ioaddr = dev->base_addr;
1180 @@ -3641,7 +3641,7 @@
1181 * WaveLAN controller (i82586).
1182 * (called by wavelan_close())
1183 */
1184 -static inline void wv_82586_stop(struct net_device * dev)
1185 +static void wv_82586_stop(struct net_device * dev)
1186 {
1187 net_local *lp = (net_local *) dev->priv;
1188 unsigned long ioaddr = dev->base_addr;
1189 diff -Nur linux-2.6.15.1/drivers/scsi/aic7xxx_old.c linux-2.6.15.1-owrt/drivers/scsi/aic7xxx_old.c
1190 --- linux-2.6.15.1/drivers/scsi/aic7xxx_old.c 2006-01-15 07:16:02.000000000 +0100
1191 +++ linux-2.6.15.1-owrt/drivers/scsi/aic7xxx_old.c 2006-01-27 15:08:36.000000000 +0100
1192 @@ -1290,7 +1290,7 @@
1193 *
1194 ***************************************************************************/
1195
1196 -static inline unsigned char
1197 +static unsigned char
1198 aic_inb(struct aic7xxx_host *p, long port)
1199 {
1200 #ifdef MMAPIO
1201 @@ -1309,7 +1309,7 @@
1202 #endif
1203 }
1204
1205 -static inline void
1206 +static void
1207 aic_outb(struct aic7xxx_host *p, unsigned char val, long port)
1208 {
1209 #ifdef MMAPIO
1210 diff -Nur linux-2.6.15.1/drivers/scsi/iscsi_tcp.c linux-2.6.15.1-owrt/drivers/scsi/iscsi_tcp.c
1211 --- linux-2.6.15.1/drivers/scsi/iscsi_tcp.c 2006-01-15 07:16:02.000000000 +0100
1212 +++ linux-2.6.15.1-owrt/drivers/scsi/iscsi_tcp.c 2006-01-27 15:08:36.000000000 +0100
1213 @@ -1437,7 +1437,7 @@
1214 }
1215 }
1216
1217 -static inline int
1218 +static int
1219 iscsi_digest_final_send(struct iscsi_conn *conn, struct iscsi_cmd_task *ctask,
1220 struct iscsi_buf *buf, uint32_t *digest, int final)
1221 {
1222 diff -Nur linux-2.6.15.1/drivers/scsi/libata-core.c linux-2.6.15.1-owrt/drivers/scsi/libata-core.c
1223 --- linux-2.6.15.1/drivers/scsi/libata-core.c 2006-01-15 07:16:02.000000000 +0100
1224 +++ linux-2.6.15.1-owrt/drivers/scsi/libata-core.c 2006-01-27 15:08:36.000000000 +0100
1225 @@ -1660,7 +1660,7 @@
1226 { ATA_SHIFT_PIO, XFER_PIO_0 },
1227 };
1228
1229 -static inline u8 base_from_shift(unsigned int shift)
1230 +static u8 base_from_shift(unsigned int shift)
1231 {
1232 int i;
1233
1234 diff -Nur linux-2.6.15.1/drivers/scsi/megaraid/megaraid_mbox.c linux-2.6.15.1-owrt/drivers/scsi/megaraid/megaraid_mbox.c
1235 --- linux-2.6.15.1/drivers/scsi/megaraid/megaraid_mbox.c 2006-01-15 07:16:02.000000000 +0100
1236 +++ linux-2.6.15.1-owrt/drivers/scsi/megaraid/megaraid_mbox.c 2006-01-27 15:08:36.000000000 +0100
1237 @@ -1331,7 +1331,7 @@
1238 * return the scb from the head of the free list. NULL if there are none
1239 * available
1240 **/
1241 -static inline scb_t *
1242 +static scb_t *
1243 megaraid_alloc_scb(adapter_t *adapter, struct scsi_cmnd *scp)
1244 {
1245 struct list_head *head = &adapter->kscb_pool;
1246 @@ -1394,7 +1394,7 @@
1247 *
1248 * prepare the scatter-gather list
1249 */
1250 -static inline int
1251 +static int
1252 megaraid_mbox_mksgl(adapter_t *adapter, scb_t *scb)
1253 {
1254 struct scatterlist *sgl;
1255 @@ -1467,7 +1467,7 @@
1256 *
1257 * post the command to the controller if mailbox is availble.
1258 */
1259 -static inline int
1260 +static int
1261 mbox_post_cmd(adapter_t *adapter, scb_t *scb)
1262 {
1263 mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
1264 @@ -2135,7 +2135,7 @@
1265 *
1266 * Returns: 1 if the interrupt is valid, 0 otherwise
1267 */
1268 -static inline int
1269 +static int
1270 megaraid_ack_sequence(adapter_t *adapter)
1271 {
1272 mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
1273 @@ -2273,7 +2273,7 @@
1274 *
1275 * DMA sync if required.
1276 */
1277 -static inline void
1278 +static void
1279 megaraid_mbox_sync_scb(adapter_t *adapter, scb_t *scb)
1280 {
1281 mbox_ccb_t *ccb;
1282 diff -Nur linux-2.6.15.1/drivers/scsi/megaraid/megaraid_sas.c linux-2.6.15.1-owrt/drivers/scsi/megaraid/megaraid_sas.c
1283 --- linux-2.6.15.1/drivers/scsi/megaraid/megaraid_sas.c 2006-01-15 07:16:02.000000000 +0100
1284 +++ linux-2.6.15.1-owrt/drivers/scsi/megaraid/megaraid_sas.c 2006-01-27 15:08:36.000000000 +0100
1285 @@ -80,7 +80,7 @@
1286 *
1287 * Returns a free command from the pool
1288 */
1289 -static inline struct megasas_cmd *megasas_get_cmd(struct megasas_instance
1290 +static struct megasas_cmd *megasas_get_cmd(struct megasas_instance
1291 *instance)
1292 {
1293 unsigned long flags;
1294 @@ -262,7 +262,7 @@
1295 * If successful, this function returns the number of SG elements. Otherwise,
1296 * it returnes -1.
1297 */
1298 -static inline int
1299 +static int
1300 megasas_make_sgl32(struct megasas_instance *instance, struct scsi_cmnd *scp,
1301 union megasas_sgl *mfi_sgl)
1302 {
1303 @@ -310,7 +310,7 @@
1304 * If successful, this function returns the number of SG elements. Otherwise,
1305 * it returnes -1.
1306 */
1307 -static inline int
1308 +static int
1309 megasas_make_sgl64(struct megasas_instance *instance, struct scsi_cmnd *scp,
1310 union megasas_sgl *mfi_sgl)
1311 {
1312 @@ -359,7 +359,7 @@
1313 * This function prepares CDB commands. These are typcially pass-through
1314 * commands to the devices.
1315 */
1316 -static inline int
1317 +static int
1318 megasas_build_dcdb(struct megasas_instance *instance, struct scsi_cmnd *scp,
1319 struct megasas_cmd *cmd)
1320 {
1321 @@ -440,7 +440,7 @@
1322 *
1323 * Frames (and accompanying SGLs) for regular SCSI IOs use this function.
1324 */
1325 -static inline int
1326 +static int
1327 megasas_build_ldio(struct megasas_instance *instance, struct scsi_cmnd *scp,
1328 struct megasas_cmd *cmd)
1329 {
1330 @@ -562,7 +562,7 @@
1331 * @scp: SCSI command
1332 * @frame_count: [OUT] Number of frames used to prepare this command
1333 */
1334 -static inline struct megasas_cmd *megasas_build_cmd(struct megasas_instance
1335 +static struct megasas_cmd *megasas_build_cmd(struct megasas_instance
1336 *instance,
1337 struct scsi_cmnd *scp,
1338 int *frame_count)
1339 @@ -913,7 +913,7 @@
1340 * @instance: Adapter soft state
1341 * @cmd: Completed command
1342 */
1343 -static inline void
1344 +static void
1345 megasas_unmap_sgbuf(struct megasas_instance *instance, struct megasas_cmd *cmd)
1346 {
1347 dma_addr_t buf_h;
1348 @@ -957,7 +957,7 @@
1349 * an alternate status (as in the case of aborted
1350 * commands)
1351 */
1352 -static inline void
1353 +static void
1354 megasas_complete_cmd(struct megasas_instance *instance, struct megasas_cmd *cmd,
1355 u8 alt_status)
1356 {
1357 @@ -1104,7 +1104,7 @@
1358 * SCSI mid-layer instead of the status
1359 * returned by the FW
1360 */
1361 -static inline int
1362 +static int
1363 megasas_deplete_reply_queue(struct megasas_instance *instance, u8 alt_status)
1364 {
1365 u32 status;
1366 diff -Nur linux-2.6.15.1/drivers/scsi/sr.c linux-2.6.15.1-owrt/drivers/scsi/sr.c
1367 --- linux-2.6.15.1/drivers/scsi/sr.c 2006-01-15 07:16:02.000000000 +0100
1368 +++ linux-2.6.15.1-owrt/drivers/scsi/sr.c 2006-01-27 15:08:36.000000000 +0100
1369 @@ -150,7 +150,7 @@
1370 return cd;
1371 }
1372
1373 -static inline void scsi_cd_put(struct scsi_cd *cd)
1374 +static void scsi_cd_put(struct scsi_cd *cd)
1375 {
1376 struct scsi_device *sdev = cd->device;
1377
1378 diff -Nur linux-2.6.15.1/drivers/usb/atm/usbatm.c linux-2.6.15.1-owrt/drivers/usb/atm/usbatm.c
1379 --- linux-2.6.15.1/drivers/usb/atm/usbatm.c 2006-01-15 07:16:02.000000000 +0100
1380 +++ linux-2.6.15.1-owrt/drivers/usb/atm/usbatm.c 2006-01-27 15:08:36.000000000 +0100
1381 @@ -207,7 +207,7 @@
1382 ** urbs **
1383 ************/
1384
1385 -static inline struct urb *usbatm_pop_urb(struct usbatm_channel *channel)
1386 +static struct urb *usbatm_pop_urb(struct usbatm_channel *channel)
1387 {
1388 struct urb *urb;
1389
1390 @@ -224,7 +224,7 @@
1391 return urb;
1392 }
1393
1394 -static inline int usbatm_submit_urb(struct urb *urb)
1395 +static int usbatm_submit_urb(struct urb *urb)
1396 {
1397 struct usbatm_channel *channel = urb->context;
1398 int ret;
1399 diff -Nur linux-2.6.15.1/drivers/video/matrox/matroxfb_maven.c linux-2.6.15.1-owrt/drivers/video/matrox/matroxfb_maven.c
1400 --- linux-2.6.15.1/drivers/video/matrox/matroxfb_maven.c 2006-01-15 07:16:02.000000000 +0100
1401 +++ linux-2.6.15.1-owrt/drivers/video/matrox/matroxfb_maven.c 2006-01-27 15:08:36.000000000 +0100
1402 @@ -968,7 +968,7 @@
1403 return 0;
1404 }
1405
1406 -static inline int maven_program_timming(struct maven_data* md,
1407 +static int maven_program_timming(struct maven_data* md,
1408 const struct mavenregs* m) {
1409 struct i2c_client* c = md->client;
1410
1411 diff -Nur linux-2.6.15.1/fs/9p/conv.c linux-2.6.15.1-owrt/fs/9p/conv.c
1412 --- linux-2.6.15.1/fs/9p/conv.c 2006-01-15 07:16:02.000000000 +0100
1413 +++ linux-2.6.15.1-owrt/fs/9p/conv.c 2006-01-27 15:08:36.000000000 +0100
1414 @@ -56,7 +56,7 @@
1415 return buf->p > buf->ep;
1416 }
1417
1418 -static inline int buf_check_size(struct cbuf *buf, int len)
1419 +static int buf_check_size(struct cbuf *buf, int len)
1420 {
1421 if (buf->p+len > buf->ep) {
1422 if (buf->p < buf->ep) {
1423 @@ -69,7 +69,7 @@
1424 return 1;
1425 }
1426
1427 -static inline void *buf_alloc(struct cbuf *buf, int len)
1428 +static void *buf_alloc(struct cbuf *buf, int len)
1429 {
1430 void *ret = NULL;
1431
1432 @@ -81,7 +81,7 @@
1433 return ret;
1434 }
1435
1436 -static inline void buf_put_int8(struct cbuf *buf, u8 val)
1437 +static void buf_put_int8(struct cbuf *buf, u8 val)
1438 {
1439 if (buf_check_size(buf, 1)) {
1440 buf->p[0] = val;
1441 @@ -89,7 +89,7 @@
1442 }
1443 }
1444
1445 -static inline void buf_put_int16(struct cbuf *buf, u16 val)
1446 +static void buf_put_int16(struct cbuf *buf, u16 val)
1447 {
1448 if (buf_check_size(buf, 2)) {
1449 *(__le16 *) buf->p = cpu_to_le16(val);
1450 @@ -97,7 +97,7 @@
1451 }
1452 }
1453
1454 -static inline void buf_put_int32(struct cbuf *buf, u32 val)
1455 +static void buf_put_int32(struct cbuf *buf, u32 val)
1456 {
1457 if (buf_check_size(buf, 4)) {
1458 *(__le32 *)buf->p = cpu_to_le32(val);
1459 @@ -105,7 +105,7 @@
1460 }
1461 }
1462
1463 -static inline void buf_put_int64(struct cbuf *buf, u64 val)
1464 +static void buf_put_int64(struct cbuf *buf, u64 val)
1465 {
1466 if (buf_check_size(buf, 8)) {
1467 *(__le64 *)buf->p = cpu_to_le64(val);
1468 @@ -113,7 +113,7 @@
1469 }
1470 }
1471
1472 -static inline void buf_put_stringn(struct cbuf *buf, const char *s, u16 slen)
1473 +static void buf_put_stringn(struct cbuf *buf, const char *s, u16 slen)
1474 {
1475 if (buf_check_size(buf, slen + 2)) {
1476 buf_put_int16(buf, slen);
1477 @@ -135,7 +135,7 @@
1478 }
1479 }
1480
1481 -static inline u8 buf_get_int8(struct cbuf *buf)
1482 +static u8 buf_get_int8(struct cbuf *buf)
1483 {
1484 u8 ret = 0;
1485
1486 @@ -147,7 +147,7 @@
1487 return ret;
1488 }
1489
1490 -static inline u16 buf_get_int16(struct cbuf *buf)
1491 +static u16 buf_get_int16(struct cbuf *buf)
1492 {
1493 u16 ret = 0;
1494
1495 @@ -159,7 +159,7 @@
1496 return ret;
1497 }
1498
1499 -static inline u32 buf_get_int32(struct cbuf *buf)
1500 +static u32 buf_get_int32(struct cbuf *buf)
1501 {
1502 u32 ret = 0;
1503
1504 @@ -171,7 +171,7 @@
1505 return ret;
1506 }
1507
1508 -static inline u64 buf_get_int64(struct cbuf *buf)
1509 +static u64 buf_get_int64(struct cbuf *buf)
1510 {
1511 u64 ret = 0;
1512
1513 diff -Nur linux-2.6.15.1/fs/binfmt_elf.c linux-2.6.15.1-owrt/fs/binfmt_elf.c
1514 --- linux-2.6.15.1/fs/binfmt_elf.c 2006-01-15 07:16:02.000000000 +0100
1515 +++ linux-2.6.15.1-owrt/fs/binfmt_elf.c 2006-01-27 15:08:36.000000000 +0100
1516 @@ -1212,7 +1212,7 @@
1517 if (!dump_seek(file, (off))) \
1518 goto end_coredump;
1519
1520 -static inline void fill_elf_header(struct elfhdr *elf, int segs)
1521 +static void fill_elf_header(struct elfhdr *elf, int segs)
1522 {
1523 memcpy(elf->e_ident, ELFMAG, SELFMAG);
1524 elf->e_ident[EI_CLASS] = ELF_CLASS;
1525 @@ -1237,7 +1237,7 @@
1526 return;
1527 }
1528
1529 -static inline void fill_elf_note_phdr(struct elf_phdr *phdr, int sz, off_t offset)
1530 +static void fill_elf_note_phdr(struct elf_phdr *phdr, int sz, off_t offset)
1531 {
1532 phdr->p_type = PT_NOTE;
1533 phdr->p_offset = offset;
1534 diff -Nur linux-2.6.15.1/fs/binfmt_misc.c linux-2.6.15.1-owrt/fs/binfmt_misc.c
1535 --- linux-2.6.15.1/fs/binfmt_misc.c 2006-01-15 07:16:02.000000000 +0100
1536 +++ linux-2.6.15.1-owrt/fs/binfmt_misc.c 2006-01-27 15:08:36.000000000 +0100
1537 @@ -264,7 +264,7 @@
1538 return p - from;
1539 }
1540
1541 -static inline char * check_special_flags (char * sfs, Node * e)
1542 +static char * check_special_flags (char * sfs, Node * e)
1543 {
1544 char * p = sfs;
1545 int cont = 1;
1546 diff -Nur linux-2.6.15.1/fs/bio.c linux-2.6.15.1-owrt/fs/bio.c
1547 --- linux-2.6.15.1/fs/bio.c 2006-01-15 07:16:02.000000000 +0100
1548 +++ linux-2.6.15.1-owrt/fs/bio.c 2006-01-27 15:08:36.000000000 +0100
1549 @@ -123,7 +123,7 @@
1550 bio_free(bio, fs_bio_set);
1551 }
1552
1553 -inline void bio_init(struct bio *bio)
1554 +void bio_init(struct bio *bio)
1555 {
1556 bio->bi_next = NULL;
1557 bio->bi_flags = 1 << BIO_UPTODATE;
1558 @@ -252,7 +252,7 @@
1559 * the actual data it points to. Reference count of returned
1560 * bio will be one.
1561 */
1562 -inline void __bio_clone(struct bio *bio, struct bio *bio_src)
1563 +void __bio_clone(struct bio *bio, struct bio *bio_src)
1564 {
1565 request_queue_t *q = bdev_get_queue(bio_src->bi_bdev);
1566
1567 diff -Nur linux-2.6.15.1/fs/buffer.c linux-2.6.15.1-owrt/fs/buffer.c
1568 --- linux-2.6.15.1/fs/buffer.c 2006-01-15 07:16:02.000000000 +0100
1569 +++ linux-2.6.15.1-owrt/fs/buffer.c 2006-01-27 15:08:36.000000000 +0100
1570 @@ -1170,7 +1170,7 @@
1571 * some of those buffers may be aliases of filesystem data.
1572 * grow_dev_page() will go BUG() if this happens.
1573 */
1574 -static inline int
1575 +static int
1576 grow_buffers(struct block_device *bdev, sector_t block, int size)
1577 {
1578 struct page *page;
1579 @@ -1396,7 +1396,7 @@
1580 /*
1581 * Look up the bh in this cpu's LRU. If it's there, move it to the head.
1582 */
1583 -static inline struct buffer_head *
1584 +static struct buffer_head *
1585 lookup_bh_lru(struct block_device *bdev, sector_t block, int size)
1586 {
1587 struct buffer_head *ret = NULL;
1588 @@ -1546,7 +1546,7 @@
1589 /*
1590 * Called when truncating a buffer on a page completely.
1591 */
1592 -static inline void discard_buffer(struct buffer_head * bh)
1593 +static void discard_buffer(struct buffer_head * bh)
1594 {
1595 lock_buffer(bh);
1596 clear_buffer_dirty(bh);
1597 diff -Nur linux-2.6.15.1/fs/compat.c linux-2.6.15.1-owrt/fs/compat.c
1598 --- linux-2.6.15.1/fs/compat.c 2006-01-15 07:16:02.000000000 +0100
1599 +++ linux-2.6.15.1-owrt/fs/compat.c 2006-01-27 15:08:36.000000000 +0100
1600 @@ -1523,7 +1523,7 @@
1601 * Ooo, nasty. We need here to frob 32-bit unsigned longs to
1602 * 64-bit unsigned longs.
1603 */
1604 -static inline
1605 +static
1606 int compat_get_fd_set(unsigned long nr, compat_ulong_t __user *ufdset,
1607 unsigned long *fdset)
1608 {
1609 @@ -1556,7 +1556,7 @@
1610 return 0;
1611 }
1612
1613 -static inline
1614 +static
1615 void compat_set_fd_set(unsigned long nr, compat_ulong_t __user *ufdset,
1616 unsigned long *fdset)
1617 {
1618 diff -Nur linux-2.6.15.1/fs/dcache.c linux-2.6.15.1-owrt/fs/dcache.c
1619 --- linux-2.6.15.1/fs/dcache.c 2006-01-15 07:16:02.000000000 +0100
1620 +++ linux-2.6.15.1-owrt/fs/dcache.c 2006-01-27 15:08:36.000000000 +0100
1621 @@ -94,7 +94,7 @@
1622 * d_iput() operation if defined.
1623 * Called with dcache_lock and per dentry lock held, drops both.
1624 */
1625 -static inline void dentry_iput(struct dentry * dentry)
1626 +static void dentry_iput(struct dentry * dentry)
1627 {
1628 struct inode *inode = dentry->d_inode;
1629 if (inode) {
1630 diff -Nur linux-2.6.15.1/fs/exec.c linux-2.6.15.1-owrt/fs/exec.c
1631 --- linux-2.6.15.1/fs/exec.c 2006-01-15 07:16:02.000000000 +0100
1632 +++ linux-2.6.15.1-owrt/fs/exec.c 2006-01-27 15:08:36.000000000 +0100
1633 @@ -575,7 +575,7 @@
1634 * disturbing other processes. (Other processes might share the signal
1635 * table via the CLONE_SIGHAND option to clone().)
1636 */
1637 -static inline int de_thread(struct task_struct *tsk)
1638 +static int de_thread(struct task_struct *tsk)
1639 {
1640 struct signal_struct *sig = tsk->signal;
1641 struct sighand_struct *newsighand, *oldsighand = tsk->sighand;
1642 @@ -780,7 +780,7 @@
1643 * so that a new one can be started
1644 */
1645
1646 -static inline void flush_old_files(struct files_struct * files)
1647 +static void flush_old_files(struct files_struct * files)
1648 {
1649 long j = -1;
1650 struct fdtable *fdt;
1651 @@ -964,7 +964,7 @@
1652
1653 EXPORT_SYMBOL(prepare_binprm);
1654
1655 -static inline int unsafe_exec(struct task_struct *p)
1656 +static int unsafe_exec(struct task_struct *p)
1657 {
1658 int unsafe = 0;
1659 if (p->ptrace & PT_PTRACED) {
1660 diff -Nur linux-2.6.15.1/fs/fcntl.c linux-2.6.15.1-owrt/fs/fcntl.c
1661 --- linux-2.6.15.1/fs/fcntl.c 2006-01-15 07:16:02.000000000 +0100
1662 +++ linux-2.6.15.1-owrt/fs/fcntl.c 2006-01-27 15:08:36.000000000 +0100
1663 @@ -35,7 +35,7 @@
1664 spin_unlock(&files->file_lock);
1665 }
1666
1667 -static inline int get_close_on_exec(unsigned int fd)
1668 +static int get_close_on_exec(unsigned int fd)
1669 {
1670 struct files_struct *files = current->files;
1671 struct fdtable *fdt;
1672 diff -Nur linux-2.6.15.1/fs/inode.c linux-2.6.15.1-owrt/fs/inode.c
1673 --- linux-2.6.15.1/fs/inode.c 2006-01-15 07:16:02.000000000 +0100
1674 +++ linux-2.6.15.1-owrt/fs/inode.c 2006-01-27 15:03:56.000000000 +0100
1675 @@ -770,7 +770,7 @@
1676 *
1677 * Note, @test is called with the inode_lock held, so can't sleep.
1678 */
1679 -static inline struct inode *ifind(struct super_block *sb,
1680 +static struct inode *ifind(struct super_block *sb,
1681 struct hlist_head *head, int (*test)(struct inode *, void *),
1682 void *data, const int wait)
1683 {
1684 @@ -804,7 +804,7 @@
1685 *
1686 * Otherwise NULL is returned.
1687 */
1688 -static inline struct inode *ifind_fast(struct super_block *sb,
1689 +static struct inode *ifind_fast(struct super_block *sb,
1690 struct hlist_head *head, unsigned long ino)
1691 {
1692 struct inode *inode;
1693 diff -Nur linux-2.6.15.1/fs/jffs2/build.c linux-2.6.15.1-owrt/fs/jffs2/build.c
1694 --- linux-2.6.15.1/fs/jffs2/build.c 2006-01-15 07:16:02.000000000 +0100
1695 +++ linux-2.6.15.1-owrt/fs/jffs2/build.c 2006-01-27 15:08:36.000000000 +0100
1696 @@ -47,7 +47,7 @@
1697 ic = next_inode(&i, ic, (c)))
1698
1699
1700 -static inline void jffs2_build_inode_pass1(struct jffs2_sb_info *c,
1701 +static void jffs2_build_inode_pass1(struct jffs2_sb_info *c,
1702 struct jffs2_inode_cache *ic)
1703 {
1704 struct jffs2_full_dirent *fd;
1705 diff -Nur linux-2.6.15.1/fs/jffs2/nodelist.c linux-2.6.15.1-owrt/fs/jffs2/nodelist.c
1706 --- linux-2.6.15.1/fs/jffs2/nodelist.c 2006-01-15 07:16:02.000000000 +0100
1707 +++ linux-2.6.15.1-owrt/fs/jffs2/nodelist.c 2006-01-27 15:08:36.000000000 +0100
1708 @@ -134,7 +134,7 @@
1709 /*
1710 * Allocate and initializes a new fragment.
1711 */
1712 -static inline struct jffs2_node_frag * new_fragment(struct jffs2_full_dnode *fn, uint32_t ofs, uint32_t size)
1713 +static struct jffs2_node_frag * new_fragment(struct jffs2_full_dnode *fn, uint32_t ofs, uint32_t size)
1714 {
1715 struct jffs2_node_frag *newfrag;
1716
1717 @@ -513,7 +513,7 @@
1718 *
1719 * Checks the node if we are in the checking stage.
1720 */
1721 -static inline int check_node(struct jffs2_sb_info *c, struct jffs2_inode_info *f, struct jffs2_tmp_dnode_info *tn)
1722 +static int check_node(struct jffs2_sb_info *c, struct jffs2_inode_info *f, struct jffs2_tmp_dnode_info *tn)
1723 {
1724 int ret;
1725
1726 diff -Nur linux-2.6.15.1/fs/lockd/xdr.c linux-2.6.15.1-owrt/fs/lockd/xdr.c
1727 --- linux-2.6.15.1/fs/lockd/xdr.c 2006-01-15 07:16:02.000000000 +0100
1728 +++ linux-2.6.15.1-owrt/fs/lockd/xdr.c 2006-01-27 15:08:36.000000000 +0100
1729 @@ -44,7 +44,7 @@
1730 /*
1731 * XDR functions for basic NLM types
1732 */
1733 -static inline u32 *nlm_decode_cookie(u32 *p, struct nlm_cookie *c)
1734 +static u32 *nlm_decode_cookie(u32 *p, struct nlm_cookie *c)
1735 {
1736 unsigned int len;
1737
1738 @@ -79,7 +79,7 @@
1739 return p;
1740 }
1741
1742 -static inline u32 *
1743 +static u32 *
1744 nlm_decode_fh(u32 *p, struct nfs_fh *f)
1745 {
1746 unsigned int len;
1747 @@ -119,7 +119,7 @@
1748 return xdr_encode_netobj(p, oh);
1749 }
1750
1751 -static inline u32 *
1752 +static u32 *
1753 nlm_decode_lock(u32 *p, struct nlm_lock *lock)
1754 {
1755 struct file_lock *fl = &lock->fl;
1756 diff -Nur linux-2.6.15.1/fs/locks.c linux-2.6.15.1-owrt/fs/locks.c
1757 --- linux-2.6.15.1/fs/locks.c 2006-01-15 07:16:02.000000000 +0100
1758 +++ linux-2.6.15.1-owrt/fs/locks.c 2006-01-27 15:03:52.000000000 +0100
1759 @@ -154,7 +154,7 @@
1760 }
1761
1762 /* Free a lock which is not in use. */
1763 -static inline void locks_free_lock(struct file_lock *fl)
1764 +static void locks_free_lock(struct file_lock *fl)
1765 {
1766 if (fl == NULL) {
1767 BUG();
1768 @@ -475,8 +475,7 @@
1769 /*
1770 * Check whether two locks have the same owner.
1771 */
1772 -static inline int
1773 -posix_same_owner(struct file_lock *fl1, struct file_lock *fl2)
1774 +static int posix_same_owner(struct file_lock *fl1, struct file_lock *fl2)
1775 {
1776 if (fl1->fl_lmops && fl1->fl_lmops->fl_compare_owner)
1777 return fl2->fl_lmops == fl1->fl_lmops &&
1778 @@ -487,7 +486,7 @@
1779 /* Remove waiter from blocker's block list.
1780 * When blocker ends up pointing to itself then the list is empty.
1781 */
1782 -static inline void __locks_delete_block(struct file_lock *waiter)
1783 +static void __locks_delete_block(struct file_lock *waiter)
1784 {
1785 list_del_init(&waiter->fl_block);
1786 list_del_init(&waiter->fl_link);
1787 diff -Nur linux-2.6.15.1/fs/mbcache.c linux-2.6.15.1-owrt/fs/mbcache.c
1788 --- linux-2.6.15.1/fs/mbcache.c 2006-01-15 07:16:02.000000000 +0100
1789 +++ linux-2.6.15.1-owrt/fs/mbcache.c 2006-01-27 15:08:36.000000000 +0100
1790 @@ -126,7 +126,7 @@
1791 }
1792
1793
1794 -static inline void
1795 +static void
1796 __mb_cache_entry_unhash(struct mb_cache_entry *ce)
1797 {
1798 int n;
1799 @@ -139,7 +139,7 @@
1800 }
1801
1802
1803 -static inline void
1804 +static void
1805 __mb_cache_entry_forget(struct mb_cache_entry *ce, gfp_t gfp_mask)
1806 {
1807 struct mb_cache *cache = ce->e_cache;
1808 @@ -158,7 +158,7 @@
1809 }
1810
1811
1812 -static inline void
1813 +static void
1814 __mb_cache_entry_release_unlock(struct mb_cache_entry *ce)
1815 {
1816 /* Wake up all processes queuing for this cache entry. */
1817 diff -Nur linux-2.6.15.1/fs/namei.c linux-2.6.15.1-owrt/fs/namei.c
1818 --- linux-2.6.15.1/fs/namei.c 2006-01-15 07:16:02.000000000 +0100
1819 +++ linux-2.6.15.1-owrt/fs/namei.c 2006-01-27 15:08:36.000000000 +0100
1820 @@ -112,7 +112,7 @@
1821 * POSIX.1 2.4: an empty pathname is invalid (ENOENT).
1822 * PATH_MAX includes the nul terminator --RR.
1823 */
1824 -static inline int do_getname(const char __user *filename, char *page)
1825 +static int do_getname(const char __user *filename, char *page)
1826 {
1827 int retval;
1828 unsigned long len = PATH_MAX;
1829 @@ -395,7 +395,7 @@
1830 * short-cut DAC fails, then call permission() to do more
1831 * complete permission check.
1832 */
1833 -static inline int exec_permission_lite(struct inode *inode,
1834 +static int exec_permission_lite(struct inode *inode,
1835 struct nameidata *nd)
1836 {
1837 umode_t mode = inode->i_mode;
1838 @@ -485,7 +485,7 @@
1839 static int __emul_lookup_dentry(const char *, struct nameidata *);
1840
1841 /* SMP-safe */
1842 -static inline int
1843 +static __always_inline int
1844 walk_init_root(const char *name, struct nameidata *nd)
1845 {
1846 read_lock(&current->fs->lock);
1847 @@ -503,7 +503,7 @@
1848 return 1;
1849 }
1850
1851 -static inline int __vfs_follow_link(struct nameidata *nd, const char *link)
1852 +static __always_inline int __vfs_follow_link(struct nameidata *nd, const char *link)
1853 {
1854 int res = 0;
1855 char *name;
1856 @@ -543,7 +543,7 @@
1857 struct dentry *dentry;
1858 };
1859
1860 -static inline int __do_follow_link(struct path *path, struct nameidata *nd)
1861 +static __always_inline int __do_follow_link(struct path *path, struct nameidata *nd)
1862 {
1863 int error;
1864 void *cookie;
1865 @@ -689,7 +689,7 @@
1866 return 0;
1867 }
1868
1869 -static inline void follow_dotdot(struct nameidata *nd)
1870 +static __always_inline void follow_dotdot(struct nameidata *nd)
1871 {
1872 while(1) {
1873 struct vfsmount *parent;
1874 @@ -1293,7 +1293,7 @@
1875 * 10. We don't allow removal of NFS sillyrenamed files; it's handled by
1876 * nfs_async_unlink().
1877 */
1878 -static inline int may_delete(struct inode *dir,struct dentry *victim,int isdir)
1879 +static int may_delete(struct inode *dir,struct dentry *victim,int isdir)
1880 {
1881 int error;
1882
1883 @@ -2314,7 +2314,7 @@
1884 return error;
1885 }
1886
1887 -static inline int do_rename(const char * oldname, const char * newname)
1888 +static int do_rename(const char * oldname, const char * newname)
1889 {
1890 int error = 0;
1891 struct dentry * old_dir, * new_dir;
1892 diff -Nur linux-2.6.15.1/fs/nfsd/nfsxdr.c linux-2.6.15.1-owrt/fs/nfsd/nfsxdr.c
1893 --- linux-2.6.15.1/fs/nfsd/nfsxdr.c 2006-01-15 07:16:02.000000000 +0100
1894 +++ linux-2.6.15.1-owrt/fs/nfsd/nfsxdr.c 2006-01-27 15:11:46.000000000 +0100
1895 @@ -37,7 +37,7 @@
1896 /*
1897 * XDR functions for basic NFS types
1898 */
1899 -static inline u32 *
1900 +static u32 *
1901 decode_fh(u32 *p, struct svc_fh *fhp)
1902 {
1903 fh_init(fhp, NFS_FHSIZE);
1904 @@ -55,7 +55,7 @@
1905 return decode_fh(p, fhp);
1906 }
1907
1908 -static inline u32 *
1909 +static u32 *
1910 encode_fh(u32 *p, struct svc_fh *fhp)
1911 {
1912 memcpy(p, &fhp->fh_handle.fh_base, NFS_FHSIZE);
1913 diff -Nur linux-2.6.15.1/fs/open.c linux-2.6.15.1-owrt/fs/open.c
1914 --- linux-2.6.15.1/fs/open.c 2006-01-15 07:16:02.000000000 +0100
1915 +++ linux-2.6.15.1-owrt/fs/open.c 2006-01-27 15:04:00.000000000 +0100
1916 @@ -216,7 +216,7 @@
1917 return err;
1918 }
1919
1920 -static inline long do_sys_truncate(const char __user * path, loff_t length)
1921 +static long do_sys_truncate(const char __user * path, loff_t length)
1922 {
1923 struct nameidata nd;
1924 struct inode * inode;
1925 @@ -282,7 +282,7 @@
1926 return do_sys_truncate(path, (long)length);
1927 }
1928
1929 -static inline long do_sys_ftruncate(unsigned int fd, loff_t length, int small)
1930 +static long do_sys_ftruncate(unsigned int fd, loff_t length, int small)
1931 {
1932 struct inode * inode;
1933 struct dentry *dentry;
1934 @@ -970,7 +970,7 @@
1935
1936 EXPORT_SYMBOL(get_unused_fd);
1937
1938 -static inline void __put_unused_fd(struct files_struct *files, unsigned int fd)
1939 +static void __put_unused_fd(struct files_struct *files, unsigned int fd)
1940 {
1941 struct fdtable *fdt = files_fdtable(files);
1942 __FD_CLR(fd, fdt->open_fds);
1943 diff -Nur linux-2.6.15.1/fs/pipe.c linux-2.6.15.1-owrt/fs/pipe.c
1944 --- linux-2.6.15.1/fs/pipe.c 2006-01-15 07:16:02.000000000 +0100
1945 +++ linux-2.6.15.1-owrt/fs/pipe.c 2006-01-27 15:08:36.000000000 +0100
1946 @@ -50,7 +50,7 @@
1947 down(PIPE_SEM(*inode));
1948 }
1949
1950 -static inline int
1951 +static int
1952 pipe_iov_copy_from_user(void *to, struct iovec *iov, unsigned long len)
1953 {
1954 unsigned long copy;
1955 @@ -70,7 +70,7 @@
1956 return 0;
1957 }
1958
1959 -static inline int
1960 +static int
1961 pipe_iov_copy_to_user(struct iovec *iov, const void *from, unsigned long len)
1962 {
1963 unsigned long copy;
1964 diff -Nur linux-2.6.15.1/include/asm-i386/bitops.h linux-2.6.15.1-owrt/include/asm-i386/bitops.h
1965 --- linux-2.6.15.1/include/asm-i386/bitops.h 2006-01-15 07:16:02.000000000 +0100
1966 +++ linux-2.6.15.1-owrt/include/asm-i386/bitops.h 2006-01-27 15:03:37.000000000 +0100
1967 @@ -247,7 +247,7 @@
1968 static int test_bit(int nr, const volatile void * addr);
1969 #endif
1970
1971 -static inline int constant_test_bit(int nr, const volatile unsigned long *addr)
1972 +static __always_inline int constant_test_bit(int nr, const volatile unsigned long *addr)
1973 {
1974 return ((1UL << (nr & 31)) & (addr[nr >> 5])) != 0;
1975 }
1976 diff -Nur linux-2.6.15.1/include/asm-i386/current.h linux-2.6.15.1-owrt/include/asm-i386/current.h
1977 --- linux-2.6.15.1/include/asm-i386/current.h 2006-01-15 07:16:02.000000000 +0100
1978 +++ linux-2.6.15.1-owrt/include/asm-i386/current.h 2006-01-27 15:03:37.000000000 +0100
1979 @@ -5,7 +5,7 @@
1980
1981 struct task_struct;
1982
1983 -static inline struct task_struct * get_current(void)
1984 +static __always_inline struct task_struct * get_current(void)
1985 {
1986 return current_thread_info()->task;
1987 }
1988 diff -Nur linux-2.6.15.1/include/asm-i386/string.h linux-2.6.15.1-owrt/include/asm-i386/string.h
1989 --- linux-2.6.15.1/include/asm-i386/string.h 2006-01-15 07:16:02.000000000 +0100
1990 +++ linux-2.6.15.1-owrt/include/asm-i386/string.h 2006-01-27 15:03:37.000000000 +0100
1991 @@ -201,7 +201,7 @@
1992 return __res;
1993 }
1994
1995 -static inline void * __memcpy(void * to, const void * from, size_t n)
1996 +static __always_inline void * __memcpy(void * to, const void * from, size_t n)
1997 {
1998 int d0, d1, d2;
1999 __asm__ __volatile__(
2000 @@ -223,7 +223,7 @@
2001 * This looks ugly, but the compiler can optimize it totally,
2002 * as the count is constant.
2003 */
2004 -static inline void * __constant_memcpy(void * to, const void * from, size_t n)
2005 +static __always_inline void * __constant_memcpy(void * to, const void * from, size_t n)
2006 {
2007 long esi, edi;
2008 if (!n) return to;
2009 @@ -367,7 +367,7 @@
2010 * things 32 bits at a time even when we don't know the size of the
2011 * area at compile-time..
2012 */
2013 -static inline void * __constant_c_memset(void * s, unsigned long c, size_t count)
2014 +static __always_inline void * __constant_c_memset(void * s, unsigned long c, size_t count)
2015 {
2016 int d0, d1;
2017 __asm__ __volatile__(
2018 @@ -416,7 +416,7 @@
2019 * This looks horribly ugly, but the compiler can optimize it totally,
2020 * as we by now know that both pattern and count is constant..
2021 */
2022 -static inline void * __constant_c_and_count_memset(void * s, unsigned long pattern, size_t count)
2023 +static __always_inline void * __constant_c_and_count_memset(void * s, unsigned long pattern, size_t count)
2024 {
2025 switch (count) {
2026 case 0:
2027 diff -Nur linux-2.6.15.1/include/asm-i386/uaccess.h linux-2.6.15.1-owrt/include/asm-i386/uaccess.h
2028 --- linux-2.6.15.1/include/asm-i386/uaccess.h 2006-01-15 07:16:02.000000000 +0100
2029 +++ linux-2.6.15.1-owrt/include/asm-i386/uaccess.h 2006-01-27 15:03:37.000000000 +0100
2030 @@ -411,7 +411,7 @@
2031 * Returns number of bytes that could not be copied.
2032 * On success, this will be zero.
2033 */
2034 -static inline unsigned long __must_check
2035 +static __always_inline unsigned long __must_check
2036 __copy_to_user_inatomic(void __user *to, const void *from, unsigned long n)
2037 {
2038 if (__builtin_constant_p(n)) {
2039 @@ -432,7 +432,7 @@
2040 return __copy_to_user_ll(to, from, n);
2041 }
2042
2043 -static inline unsigned long __must_check
2044 +static __always_inline unsigned long __must_check
2045 __copy_to_user(void __user *to, const void *from, unsigned long n)
2046 {
2047 might_sleep();
2048 @@ -456,7 +456,7 @@
2049 * If some data could not be copied, this function will pad the copied
2050 * data to the requested size using zero bytes.
2051 */
2052 -static inline unsigned long
2053 +static __always_inline unsigned long
2054 __copy_from_user_inatomic(void *to, const void __user *from, unsigned long n)
2055 {
2056 if (__builtin_constant_p(n)) {
2057 @@ -477,7 +477,7 @@
2058 return __copy_from_user_ll(to, from, n);
2059 }
2060
2061 -static inline unsigned long
2062 +static __always_inline unsigned long
2063 __copy_from_user(void *to, const void __user *from, unsigned long n)
2064 {
2065 might_sleep();
2066 diff -Nur linux-2.6.15.1/include/asm-x86_64/fixmap.h linux-2.6.15.1-owrt/include/asm-x86_64/fixmap.h
2067 --- linux-2.6.15.1/include/asm-x86_64/fixmap.h 2006-01-15 07:16:02.000000000 +0100
2068 +++ linux-2.6.15.1-owrt/include/asm-x86_64/fixmap.h 2006-01-27 15:03:37.000000000 +0100
2069 @@ -76,7 +76,7 @@
2070 * directly without translation, we catch the bug with a NULL-deference
2071 * kernel oops. Illegal ranges of incoming indices are caught too.
2072 */
2073 -static inline unsigned long fix_to_virt(const unsigned int idx)
2074 +static __always_inline unsigned long fix_to_virt(const unsigned int idx)
2075 {
2076 /*
2077 * this branch gets completely eliminated after inlining,
2078 diff -Nur linux-2.6.15.1/include/asm-x86_64/uaccess.h linux-2.6.15.1-owrt/include/asm-x86_64/uaccess.h
2079 --- linux-2.6.15.1/include/asm-x86_64/uaccess.h 2006-01-15 07:16:02.000000000 +0100
2080 +++ linux-2.6.15.1-owrt/include/asm-x86_64/uaccess.h 2006-01-27 15:03:37.000000000 +0100
2081 @@ -244,7 +244,7 @@
2082 extern unsigned long copy_from_user(void *to, const void __user *from, unsigned len);
2083 extern unsigned long copy_in_user(void __user *to, const void __user *from, unsigned len);
2084
2085 -static inline int __copy_from_user(void *dst, const void __user *src, unsigned size)
2086 +static __always_inline int __copy_from_user(void *dst, const void __user *src, unsigned size)
2087 {
2088 int ret = 0;
2089 if (!__builtin_constant_p(size))
2090 @@ -273,7 +273,7 @@
2091 }
2092 }
2093
2094 -static inline int __copy_to_user(void __user *dst, const void *src, unsigned size)
2095 +static __always_inline int __copy_to_user(void __user *dst, const void *src, unsigned size)
2096 {
2097 int ret = 0;
2098 if (!__builtin_constant_p(size))
2099 @@ -305,7 +305,7 @@
2100 }
2101
2102
2103 -static inline int __copy_in_user(void __user *dst, const void __user *src, unsigned size)
2104 +static __always_inline int __copy_in_user(void __user *dst, const void __user *src, unsigned size)
2105 {
2106 int ret = 0;
2107 if (!__builtin_constant_p(size))
2108 diff -Nur linux-2.6.15.1/include/linux/compiler-gcc3.h linux-2.6.15.1-owrt/include/linux/compiler-gcc3.h
2109 --- linux-2.6.15.1/include/linux/compiler-gcc3.h 2006-01-15 07:16:02.000000000 +0100
2110 +++ linux-2.6.15.1-owrt/include/linux/compiler-gcc3.h 2006-01-27 15:04:45.000000000 +0100
2111 @@ -30,3 +30,4 @@
2112 #define __must_check __attribute__((warn_unused_result))
2113 #endif
2114
2115 +#define __always_inline inline __attribute__((always_inline))
2116 diff -Nur linux-2.6.15.1/include/linux/compiler-gcc4.h linux-2.6.15.1-owrt/include/linux/compiler-gcc4.h
2117 --- linux-2.6.15.1/include/linux/compiler-gcc4.h 2006-01-15 07:16:02.000000000 +0100
2118 +++ linux-2.6.15.1-owrt/include/linux/compiler-gcc4.h 2006-01-27 15:03:21.000000000 +0100
2119 @@ -3,14 +3,16 @@
2120 /* These definitions are for GCC v4.x. */
2121 #include <linux/compiler-gcc.h>
2122
2123 +#ifdef CONFIG_FORCED_INLINING
2124 +# undef inline
2125 +# undef __inline__
2126 +# undef __inline
2127 #define inline inline __attribute__((always_inline))
2128 #define __inline__ __inline__ __attribute__((always_inline))
2129 #define __inline __inline __attribute__((always_inline))
2130 -#define __deprecated __attribute__((deprecated))
2131 +#endif
2132 +
2133 #define __attribute_used__ __attribute__((__used__))
2134 -#define __attribute_pure__ __attribute__((pure))
2135 -#define __attribute_const__ __attribute__((__const__))
2136 -#define noinline __attribute__((noinline))
2137 #define __must_check __attribute__((warn_unused_result))
2138 #define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
2139 -
2140 +#define __always_inline inline __attribute__((always_inline))
2141 diff -Nur linux-2.6.15.1/include/linux/mm.h linux-2.6.15.1-owrt/include/linux/mm.h
2142 --- linux-2.6.15.1/include/linux/mm.h 2006-01-15 07:16:02.000000000 +0100
2143 +++ linux-2.6.15.1-owrt/include/linux/mm.h 2006-01-27 15:03:37.000000000 +0100
2144 @@ -507,7 +507,7 @@
2145 extern struct page *mem_map;
2146 #endif
2147
2148 -static inline void *lowmem_page_address(struct page *page)
2149 +static __always_inline void *lowmem_page_address(struct page *page)
2150 {
2151 return __va(page_to_pfn(page) << PAGE_SHIFT);
2152 }
2153 diff -Nur linux-2.6.15.1/include/linux/sched.h linux-2.6.15.1-owrt/include/linux/sched.h
2154 --- linux-2.6.15.1/include/linux/sched.h 2006-01-15 07:16:02.000000000 +0100
2155 +++ linux-2.6.15.1-owrt/include/linux/sched.h 2006-01-27 15:03:45.000000000 +0100
2156 @@ -1102,19 +1102,8 @@
2157 }
2158
2159
2160 -#ifdef CONFIG_SECURITY
2161 -/* code is in security.c */
2162 +/* code is in security.c or kernel/sys.c if !SECURITY */
2163 extern int capable(int cap);
2164 -#else
2165 -static inline int capable(int cap)
2166 -{
2167 - if (cap_raised(current->cap_effective, cap)) {
2168 - current->flags |= PF_SUPERPRIV;
2169 - return 1;
2170 - }
2171 - return 0;
2172 -}
2173 -#endif
2174
2175 /*
2176 * Routines for handling mm_structs
2177 diff -Nur linux-2.6.15.1/include/linux/time.h linux-2.6.15.1-owrt/include/linux/time.h
2178 --- linux-2.6.15.1/include/linux/time.h 2006-01-15 07:16:02.000000000 +0100
2179 +++ linux-2.6.15.1-owrt/include/linux/time.h 2006-01-27 15:04:09.000000000 +0100
2180 @@ -38,38 +38,9 @@
2181 return (a->tv_sec == b->tv_sec) && (a->tv_nsec == b->tv_nsec);
2182 }
2183
2184 -/* Converts Gregorian date to seconds since 1970-01-01 00:00:00.
2185 - * Assumes input in normal date format, i.e. 1980-12-31 23:59:59
2186 - * => year=1980, mon=12, day=31, hour=23, min=59, sec=59.
2187 - *
2188 - * [For the Julian calendar (which was used in Russia before 1917,
2189 - * Britain & colonies before 1752, anywhere else before 1582,
2190 - * and is still in use by some communities) leave out the
2191 - * -year/100+year/400 terms, and add 10.]
2192 - *
2193 - * This algorithm was first published by Gauss (I think).
2194 - *
2195 - * WARNING: this function will overflow on 2106-02-07 06:28:16 on
2196 - * machines were long is 32-bit! (However, as time_t is signed, we
2197 - * will already get problems at other places on 2038-01-19 03:14:08)
2198 - */
2199 -static inline unsigned long
2200 -mktime (unsigned int year, unsigned int mon,
2201 - unsigned int day, unsigned int hour,
2202 - unsigned int min, unsigned int sec)
2203 -{
2204 - if (0 >= (int) (mon -= 2)) { /* 1..12 -> 11,12,1..10 */
2205 - mon += 12; /* Puts Feb last since it has leap day */
2206 - year -= 1;
2207 - }
2208 -
2209 - return (((
2210 - (unsigned long) (year/4 - year/100 + year/400 + 367*mon/12 + day) +
2211 - year*365 - 719499
2212 - )*24 + hour /* now have hours */
2213 - )*60 + min /* now have minutes */
2214 - )*60 + sec; /* finally seconds */
2215 -}
2216 +extern unsigned long mktime (unsigned int year, unsigned int mon,
2217 + unsigned int day, unsigned int hour,
2218 + unsigned int min, unsigned int sec);
2219
2220 extern struct timespec xtime;
2221 extern struct timespec wall_to_monotonic;
2222 @@ -80,6 +51,8 @@
2223 return xtime.tv_sec;
2224 }
2225
2226 +extern void set_normalized_timespec (struct timespec *ts, time_t sec, long nsec);
2227 +
2228 struct timespec current_kernel_time(void);
2229
2230 #define CURRENT_TIME (current_kernel_time())
2231 @@ -99,21 +72,6 @@
2232
2233 extern struct timespec timespec_trunc(struct timespec t, unsigned gran);
2234
2235 -static inline void
2236 -set_normalized_timespec (struct timespec *ts, time_t sec, long nsec)
2237 -{
2238 - while (nsec >= NSEC_PER_SEC) {
2239 - nsec -= NSEC_PER_SEC;
2240 - ++sec;
2241 - }
2242 - while (nsec < 0) {
2243 - nsec += NSEC_PER_SEC;
2244 - --sec;
2245 - }
2246 - ts->tv_sec = sec;
2247 - ts->tv_nsec = nsec;
2248 -}
2249 -
2250 #endif /* __KERNEL__ */
2251
2252 #define NFDBITS __NFDBITS
2253 diff -Nur linux-2.6.15.1/kernel/cpuset.c linux-2.6.15.1-owrt/kernel/cpuset.c
2254 --- linux-2.6.15.1/kernel/cpuset.c 2006-01-15 07:16:02.000000000 +0100
2255 +++ linux-2.6.15.1-owrt/kernel/cpuset.c 2006-01-27 15:08:36.000000000 +0100
2256 @@ -1252,7 +1252,7 @@
2257 * when reading out p->cpuset, as we don't really care if it changes
2258 * on the next cycle, and we are not going to try to dereference it.
2259 */
2260 -static inline int pid_array_load(pid_t *pidarray, int npids, struct cpuset *cs)
2261 +static int pid_array_load(pid_t *pidarray, int npids, struct cpuset *cs)
2262 {
2263 int n = 0;
2264 struct task_struct *g, *p;
2265 diff -Nur linux-2.6.15.1/kernel/exit.c linux-2.6.15.1-owrt/kernel/exit.c
2266 --- linux-2.6.15.1/kernel/exit.c 2006-01-15 07:16:02.000000000 +0100
2267 +++ linux-2.6.15.1-owrt/kernel/exit.c 2006-01-27 15:08:36.000000000 +0100
2268 @@ -192,7 +192,7 @@
2269 return retval;
2270 }
2271
2272 -static inline int has_stopped_jobs(int pgrp)
2273 +static int has_stopped_jobs(int pgrp)
2274 {
2275 int retval = 0;
2276 struct task_struct *p;
2277 @@ -229,7 +229,7 @@
2278 *
2279 * NOTE that reparent_to_init() gives the caller full capabilities.
2280 */
2281 -static inline void reparent_to_init(void)
2282 +static void reparent_to_init(void)
2283 {
2284 write_lock_irq(&tasklist_lock);
2285
2286 @@ -366,7 +366,7 @@
2287
2288 EXPORT_SYMBOL(daemonize);
2289
2290 -static inline void close_files(struct files_struct * files)
2291 +static void close_files(struct files_struct * files)
2292 {
2293 int i, j;
2294 struct fdtable *fdt;
2295 @@ -540,7 +540,7 @@
2296 p->real_parent = reaper;
2297 }
2298
2299 -static inline void reparent_thread(task_t *p, task_t *father, int traced)
2300 +static void reparent_thread(task_t *p, task_t *father, int traced)
2301 {
2302 /* We don't want people slaying init. */
2303 if (p->exit_signal != -1)
2304 @@ -604,7 +604,7 @@
2305 * group, and if no such member exists, give it to
2306 * the global child reaper process (ie "init")
2307 */
2308 -static inline void forget_original_parent(struct task_struct * father,
2309 +static void forget_original_parent(struct task_struct * father,
2310 struct list_head *to_release)
2311 {
2312 struct task_struct *p, *reaper = father;
2313 diff -Nur linux-2.6.15.1/kernel/posix-timers.c linux-2.6.15.1-owrt/kernel/posix-timers.c
2314 --- linux-2.6.15.1/kernel/posix-timers.c 2006-01-15 07:16:02.000000000 +0100
2315 +++ linux-2.6.15.1-owrt/kernel/posix-timers.c 2006-01-27 15:08:36.000000000 +0100
2316 @@ -203,7 +203,7 @@
2317 return do_sys_settimeofday(tp, NULL);
2318 }
2319
2320 -static inline int common_timer_create(struct k_itimer *new_timer)
2321 +static int common_timer_create(struct k_itimer *new_timer)
2322 {
2323 INIT_LIST_HEAD(&new_timer->it.real.abs_timer_entry);
2324 init_timer(&new_timer->it.real.timer);
2325 @@ -513,7 +513,7 @@
2326 }
2327
2328
2329 -static inline struct task_struct * good_sigevent(sigevent_t * event)
2330 +static struct task_struct * good_sigevent(sigevent_t * event)
2331 {
2332 struct task_struct *rtn = current->group_leader;
2333
2334 @@ -939,7 +939,7 @@
2335
2336 /* Set a POSIX.1b interval timer. */
2337 /* timr->it_lock is taken. */
2338 -static inline int
2339 +static int
2340 common_timer_set(struct k_itimer *timr, int flags,
2341 struct itimerspec *new_setting, struct itimerspec *old_setting)
2342 {
2343 @@ -1122,7 +1122,7 @@
2344 /*
2345 * return timer owned by the process, used by exit_itimers
2346 */
2347 -static inline void itimer_delete(struct k_itimer *timer)
2348 +static void itimer_delete(struct k_itimer *timer)
2349 {
2350 unsigned long flags;
2351
2352 diff -Nur linux-2.6.15.1/kernel/sched.c linux-2.6.15.1-owrt/kernel/sched.c
2353 --- linux-2.6.15.1/kernel/sched.c 2006-01-15 07:16:02.000000000 +0100
2354 +++ linux-2.6.15.1-owrt/kernel/sched.c 2006-01-27 15:08:36.000000000 +0100
2355 @@ -512,7 +512,7 @@
2356 * long it was waiting to run. We also note when it began so that we
2357 * can keep stats on how long its timeslice is.
2358 */
2359 -static inline void sched_info_arrive(task_t *t)
2360 +static void sched_info_arrive(task_t *t)
2361 {
2362 unsigned long now = jiffies, diff = 0;
2363 struct runqueue *rq = task_rq(t);
2364 @@ -994,7 +994,7 @@
2365 * We want to under-estimate the load of migration sources, to
2366 * balance conservatively.
2367 */
2368 -static inline unsigned long __source_load(int cpu, int type, enum idle_type idle)
2369 +static unsigned long __source_load(int cpu, int type, enum idle_type idle)
2370 {
2371 runqueue_t *rq = cpu_rq(cpu);
2372 unsigned long running = rq->nr_running;
2373 @@ -1849,7 +1849,7 @@
2374 * pull_task - move a task from a remote runqueue to the local runqueue.
2375 * Both runqueues must be locked.
2376 */
2377 -static inline
2378 +static
2379 void pull_task(runqueue_t *src_rq, prio_array_t *src_array, task_t *p,
2380 runqueue_t *this_rq, prio_array_t *this_array, int this_cpu)
2381 {
2382 @@ -1871,7 +1871,7 @@
2383 /*
2384 * can_migrate_task - may task p from runqueue rq be migrated to this_cpu?
2385 */
2386 -static inline
2387 +static
2388 int can_migrate_task(task_t *p, runqueue_t *rq, int this_cpu,
2389 struct sched_domain *sd, enum idle_type idle,
2390 int *all_pinned)
2391 @@ -2357,7 +2357,7 @@
2392 * idle_balance is called by schedule() if this_cpu is about to become
2393 * idle. Attempts to pull tasks from other CPUs.
2394 */
2395 -static inline void idle_balance(int this_cpu, runqueue_t *this_rq)
2396 +static void idle_balance(int this_cpu, runqueue_t *this_rq)
2397 {
2398 struct sched_domain *sd;
2399
2400 @@ -2741,7 +2741,7 @@
2401 resched_task(rq->idle);
2402 }
2403
2404 -static inline void wake_sleeping_dependent(int this_cpu, runqueue_t *this_rq)
2405 +static void wake_sleeping_dependent(int this_cpu, runqueue_t *this_rq)
2406 {
2407 struct sched_domain *tmp, *sd = NULL;
2408 cpumask_t sibling_map;
2409 @@ -2795,7 +2795,7 @@
2410 return p->time_slice * (100 - sd->per_cpu_gain) / 100;
2411 }
2412
2413 -static inline int dependent_sleeper(int this_cpu, runqueue_t *this_rq)
2414 +static int dependent_sleeper(int this_cpu, runqueue_t *this_rq)
2415 {
2416 struct sched_domain *tmp, *sd = NULL;
2417 cpumask_t sibling_map;
2418 @@ -5505,7 +5505,7 @@
2419 * Detach sched domains from a group of cpus specified in cpu_map
2420 * These cpus will now be attached to the NULL domain
2421 */
2422 -static inline void detach_destroy_domains(const cpumask_t *cpu_map)
2423 +static void detach_destroy_domains(const cpumask_t *cpu_map)
2424 {
2425 int i;
2426
2427 diff -Nur linux-2.6.15.1/kernel/signal.c linux-2.6.15.1-owrt/kernel/signal.c
2428 --- linux-2.6.15.1/kernel/signal.c 2006-01-15 07:16:02.000000000 +0100
2429 +++ linux-2.6.15.1-owrt/kernel/signal.c 2006-01-27 15:08:36.000000000 +0100
2430 @@ -465,7 +465,7 @@
2431 spin_unlock_irqrestore(&current->sighand->siglock, flags);
2432 }
2433
2434 -static inline int collect_signal(int sig, struct sigpending *list, siginfo_t *info)
2435 +static int collect_signal(int sig, struct sigpending *list, siginfo_t *info)
2436 {
2437 struct sigqueue *q, *first = NULL;
2438 int still_pending = 0;
2439 @@ -1786,7 +1786,7 @@
2440 * We return zero if we still hold the siglock and should look
2441 * for another signal without checking group_stop_count again.
2442 */
2443 -static inline int handle_group_stop(void)
2444 +static int handle_group_stop(void)
2445 {
2446 int stop_count;
2447
2448 diff -Nur linux-2.6.15.1/kernel/sys.c linux-2.6.15.1-owrt/kernel/sys.c
2449 --- linux-2.6.15.1/kernel/sys.c 2006-01-15 07:16:02.000000000 +0100
2450 +++ linux-2.6.15.1-owrt/kernel/sys.c 2006-01-27 15:03:45.000000000 +0100
2451 @@ -223,6 +223,18 @@
2452
2453 EXPORT_SYMBOL(unregister_reboot_notifier);
2454
2455 +#ifndef CONFIG_SECURITY
2456 +int capable(int cap)
2457 +{
2458 + if (cap_raised(current->cap_effective, cap)) {
2459 + current->flags |= PF_SUPERPRIV;
2460 + return 1;
2461 + }
2462 + return 0;
2463 +}
2464 +EXPORT_SYMBOL(capable);
2465 +#endif
2466 +
2467 static int set_one_prio(struct task_struct *p, int niceval, int error)
2468 {
2469 int no_nice;
2470 diff -Nur linux-2.6.15.1/kernel/time.c linux-2.6.15.1-owrt/kernel/time.c
2471 --- linux-2.6.15.1/kernel/time.c 2006-01-15 07:16:02.000000000 +0100
2472 +++ linux-2.6.15.1-owrt/kernel/time.c 2006-01-27 15:04:09.000000000 +0100
2473 @@ -583,6 +583,67 @@
2474 }
2475 EXPORT_SYMBOL_GPL(getnstimestamp);
2476
2477 +/* Converts Gregorian date to seconds since 1970-01-01 00:00:00.
2478 + * Assumes input in normal date format, i.e. 1980-12-31 23:59:59
2479 + * => year=1980, mon=12, day=31, hour=23, min=59, sec=59.
2480 + *
2481 + * [For the Julian calendar (which was used in Russia before 1917,
2482 + * Britain & colonies before 1752, anywhere else before 1582,
2483 + * and is still in use by some communities) leave out the
2484 + * -year/100+year/400 terms, and add 10.]
2485 + *
2486 + * This algorithm was first published by Gauss (I think).
2487 + *
2488 + * WARNING: this function will overflow on 2106-02-07 06:28:16 on
2489 + * machines were long is 32-bit! (However, as time_t is signed, we
2490 + * will already get problems at other places on 2038-01-19 03:14:08)
2491 + */
2492 +unsigned long
2493 +mktime (unsigned int year, unsigned int mon,
2494 + unsigned int day, unsigned int hour,
2495 + unsigned int min, unsigned int sec)
2496 +{
2497 + if (0 >= (int) (mon -= 2)) { /* 1..12 -> 11,12,1..10 */
2498 + mon += 12; /* Puts Feb last since it has leap day */
2499 + year -= 1;
2500 + }
2501 +
2502 + return ((((unsigned long)
2503 + (year/4 - year/100 + year/400 + 367*mon/12 + day) +
2504 + year*365 - 719499
2505 + )*24 + hour /* now have hours */
2506 + )*60 + min /* now have minutes */
2507 + )*60 + sec; /* finally seconds */
2508 +}
2509 +
2510 +/**
2511 + * set_normalized_timespec - set timespec sec and nsec parts and normalize
2512 + *
2513 + * @ts: pointer to timespec variable to be set
2514 + * @sec: seconds to set
2515 + * @nsec: nanoseconds to set
2516 + *
2517 + * Set seconds and nanoseconds field of a timespec variable and
2518 + * normalize to the timespec storage format
2519 + *
2520 + * Note: The tv_nsec part is always in the range of
2521 + * 0 <= tv_nsec < NSEC_PER_SEC
2522 + * For negative values only the tv_sec field is negative !
2523 + */
2524 +void set_normalized_timespec (struct timespec *ts, time_t sec, long nsec)
2525 +{
2526 + while (nsec >= NSEC_PER_SEC) {
2527 + nsec -= NSEC_PER_SEC;
2528 + ++sec;
2529 + }
2530 + while (nsec < 0) {
2531 + nsec += NSEC_PER_SEC;
2532 + --sec;
2533 + }
2534 + ts->tv_sec = sec;
2535 + ts->tv_nsec = nsec;
2536 +}
2537 +
2538 #if (BITS_PER_LONG < 64)
2539 u64 get_jiffies_64(void)
2540 {
2541 diff -Nur linux-2.6.15.1/kernel/workqueue.c linux-2.6.15.1-owrt/kernel/workqueue.c
2542 --- linux-2.6.15.1/kernel/workqueue.c 2006-01-15 07:16:02.000000000 +0100
2543 +++ linux-2.6.15.1-owrt/kernel/workqueue.c 2006-01-27 15:08:36.000000000 +0100
2544 @@ -147,7 +147,7 @@
2545 return ret;
2546 }
2547
2548 -static inline void run_workqueue(struct cpu_workqueue_struct *cwq)
2549 +static void run_workqueue(struct cpu_workqueue_struct *cwq)
2550 {
2551 unsigned long flags;
2552
2553 diff -Nur linux-2.6.15.1/lib/Kconfig.debug linux-2.6.15.1-owrt/lib/Kconfig.debug
2554 --- linux-2.6.15.1/lib/Kconfig.debug 2006-01-15 07:16:02.000000000 +0100
2555 +++ linux-2.6.15.1-owrt/lib/Kconfig.debug 2006-01-27 15:03:21.000000000 +0100
2556 @@ -186,6 +186,20 @@
2557 some architectures or if you use external debuggers.
2558 If you don't debug the kernel, you can say N.
2559
2560 +config FORCED_INLINING
2561 + bool "Force gcc to inline functions marked 'inline'"
2562 + depends on DEBUG_KERNEL
2563 + default y
2564 + help
2565 + This option determines if the kernel forces gcc to inline the functions
2566 + developers have marked 'inline'. Doing so takes away freedom from gcc to
2567 + do what it thinks is best, which is desirable for the gcc 3.x series of
2568 + compilers. The gcc 4.x series have a rewritten inlining algorithm and
2569 + disabling this option will generate a smaller kernel there. Hopefully
2570 + this algorithm is so good that allowing gcc4 to make the decision can
2571 + become the default in the future, until then this option is there to
2572 + test gcc for this.
2573 +
2574 config RCU_TORTURE_TEST
2575 tristate "torture tests for RCU"
2576 depends on DEBUG_KERNEL
2577 diff -Nur linux-2.6.15.1/mm/internal.h linux-2.6.15.1-owrt/mm/internal.h
2578 --- linux-2.6.15.1/mm/internal.h 2006-01-15 07:16:02.000000000 +0100
2579 +++ linux-2.6.15.1-owrt/mm/internal.h 2006-01-27 15:04:04.000000000 +0100
2580 @@ -9,5 +9,20 @@
2581 * 2 of the License, or (at your option) any later version.
2582 */
2583
2584 -/* page_alloc.c */
2585 -extern void set_page_refs(struct page *page, int order);
2586 +static inline void set_page_refs(struct page *page, int order)
2587 +{
2588 +#ifdef CONFIG_MMU
2589 + set_page_count(page, 1);
2590 +#else
2591 + int i;
2592 +
2593 + /*
2594 + * We need to reference all the pages for this order, otherwise if
2595 + * anyone accesses one of the pages with (get/put) it will be freed.
2596 + * - eg: access_process_vm()
2597 + */
2598 + for (i = 0; i < (1 << order); i++)
2599 + set_page_count(page + i, 1);
2600 +#endif /* CONFIG_MMU */
2601 +}
2602 +
2603 diff -Nur linux-2.6.15.1/mm/page_alloc.c linux-2.6.15.1-owrt/mm/page_alloc.c
2604 --- linux-2.6.15.1/mm/page_alloc.c 2006-01-15 07:16:02.000000000 +0100
2605 +++ linux-2.6.15.1-owrt/mm/page_alloc.c 2006-01-27 15:04:04.000000000 +0100
2606 @@ -451,23 +451,6 @@
2607 return page;
2608 }
2609
2610 -void set_page_refs(struct page *page, int order)
2611 -{
2612 -#ifdef CONFIG_MMU
2613 - set_page_count(page, 1);
2614 -#else
2615 - int i;
2616 -
2617 - /*
2618 - * We need to reference all the pages for this order, otherwise if
2619 - * anyone accesses one of the pages with (get/put) it will be freed.
2620 - * - eg: access_process_vm()
2621 - */
2622 - for (i = 0; i < (1 << order); i++)
2623 - set_page_count(page + i, 1);
2624 -#endif /* CONFIG_MMU */
2625 -}
2626 -
2627 /*
2628 * This page is about to be returned from the page allocator
2629 */
2630 diff -Nur linux-2.6.15.1/net/ieee80211/ieee80211_module.c linux-2.6.15.1-owrt/net/ieee80211/ieee80211_module.c
2631 --- linux-2.6.15.1/net/ieee80211/ieee80211_module.c 2006-01-15 07:16:02.000000000 +0100
2632 +++ linux-2.6.15.1-owrt/net/ieee80211/ieee80211_module.c 2006-01-27 15:08:36.000000000 +0100
2633 @@ -62,7 +62,7 @@
2634 MODULE_AUTHOR(DRV_COPYRIGHT);
2635 MODULE_LICENSE("GPL");
2636
2637 -static inline int ieee80211_networks_allocate(struct ieee80211_device *ieee)
2638 +static int ieee80211_networks_allocate(struct ieee80211_device *ieee)
2639 {
2640 if (ieee->networks)
2641 return 0;
2642 @@ -90,7 +90,7 @@
2643 ieee->networks = NULL;
2644 }
2645
2646 -static inline void ieee80211_networks_initialize(struct ieee80211_device *ieee)
2647 +static void ieee80211_networks_initialize(struct ieee80211_device *ieee)
2648 {
2649 int i;
2650
2651 diff -Nur linux-2.6.15.1/net/ieee80211/ieee80211_rx.c linux-2.6.15.1-owrt/net/ieee80211/ieee80211_rx.c
2652 --- linux-2.6.15.1/net/ieee80211/ieee80211_rx.c 2006-01-15 07:16:02.000000000 +0100
2653 +++ linux-2.6.15.1-owrt/net/ieee80211/ieee80211_rx.c 2006-01-27 15:08:36.000000000 +0100
2654 @@ -35,7 +35,7 @@
2655
2656 #include <net/ieee80211.h>
2657
2658 -static inline void ieee80211_monitor_rx(struct ieee80211_device *ieee,
2659 +static void ieee80211_monitor_rx(struct ieee80211_device *ieee,
2660 struct sk_buff *skb,
2661 struct ieee80211_rx_stats *rx_stats)
2662 {
2663 @@ -165,7 +165,7 @@
2664 * Responsible for handling management control frames
2665 *
2666 * Called by ieee80211_rx */
2667 -static inline int
2668 +static int
2669 ieee80211_rx_frame_mgmt(struct ieee80211_device *ieee, struct sk_buff *skb,
2670 struct ieee80211_rx_stats *rx_stats, u16 type,
2671 u16 stype)
2672 @@ -266,7 +266,7 @@
2673 }
2674
2675 /* Called only as a tasklet (software IRQ), by ieee80211_rx */
2676 -static inline int
2677 +static int
2678 ieee80211_rx_frame_decrypt(struct ieee80211_device *ieee, struct sk_buff *skb,
2679 struct ieee80211_crypt_data *crypt)
2680 {
2681 @@ -297,7 +297,7 @@
2682 }
2683
2684 /* Called only as a tasklet (software IRQ), by ieee80211_rx */
2685 -static inline int
2686 +static int
2687 ieee80211_rx_frame_decrypt_msdu(struct ieee80211_device *ieee,
2688 struct sk_buff *skb, int keyidx,
2689 struct ieee80211_crypt_data *crypt)
2690 @@ -1157,7 +1157,7 @@
2691
2692 /***************************************************/
2693
2694 -static inline int ieee80211_network_init(struct ieee80211_device *ieee, struct ieee80211_probe_response
2695 +static int ieee80211_network_init(struct ieee80211_device *ieee, struct ieee80211_probe_response
2696 *beacon,
2697 struct ieee80211_network *network,
2698 struct ieee80211_rx_stats *stats)
2699 @@ -1236,7 +1236,7 @@
2700 !memcmp(src->ssid, dst->ssid, src->ssid_len));
2701 }
2702
2703 -static inline void update_network(struct ieee80211_network *dst,
2704 +static void update_network(struct ieee80211_network *dst,
2705 struct ieee80211_network *src)
2706 {
2707 int qos_active;
2708 @@ -1295,7 +1295,7 @@
2709 return (WLAN_FC_GET_STYPE(le16_to_cpu(fc)) == IEEE80211_STYPE_BEACON);
2710 }
2711
2712 -static inline void ieee80211_process_probe_response(struct ieee80211_device
2713 +static void ieee80211_process_probe_response(struct ieee80211_device
2714 *ieee, struct
2715 ieee80211_probe_response
2716 *beacon, struct ieee80211_rx_stats
2717 diff -Nur linux-2.6.15.1/net/ieee80211/ieee80211_tx.c linux-2.6.15.1-owrt/net/ieee80211/ieee80211_tx.c
2718 --- linux-2.6.15.1/net/ieee80211/ieee80211_tx.c 2006-01-15 07:16:02.000000000 +0100
2719 +++ linux-2.6.15.1-owrt/net/ieee80211/ieee80211_tx.c 2006-01-27 15:08:36.000000000 +0100
2720 @@ -127,7 +127,7 @@
2721 static u8 P802_1H_OUI[P80211_OUI_LEN] = { 0x00, 0x00, 0xf8 };
2722 static u8 RFC1042_OUI[P80211_OUI_LEN] = { 0x00, 0x00, 0x00 };
2723
2724 -static inline int ieee80211_copy_snap(u8 * data, u16 h_proto)
2725 +static int ieee80211_copy_snap(u8 * data, u16 h_proto)
2726 {
2727 struct ieee80211_snap_hdr *snap;
2728 u8 *oui;
2729 @@ -150,7 +150,7 @@
2730 return SNAP_SIZE + sizeof(u16);
2731 }
2732
2733 -static inline int ieee80211_encrypt_fragment(struct ieee80211_device *ieee,
2734 +static int ieee80211_encrypt_fragment(struct ieee80211_device *ieee,
2735 struct sk_buff *frag, int hdr_len)
2736 {
2737 struct ieee80211_crypt_data *crypt = ieee->crypt[ieee->tx_keyidx];
2738 diff -Nur linux-2.6.15.1/net/ieee80211/ieee80211_wx.c linux-2.6.15.1-owrt/net/ieee80211/ieee80211_wx.c
2739 --- linux-2.6.15.1/net/ieee80211/ieee80211_wx.c 2006-01-15 07:16:02.000000000 +0100
2740 +++ linux-2.6.15.1-owrt/net/ieee80211/ieee80211_wx.c 2006-01-27 15:08:36.000000000 +0100
2741 @@ -42,7 +42,7 @@
2742 };
2743
2744 #define MAX_CUSTOM_LEN 64
2745 -static inline char *ipw2100_translate_scan(struct ieee80211_device *ieee,
2746 +static char *ipw2100_translate_scan(struct ieee80211_device *ieee,
2747 char *start, char *stop,
2748 struct ieee80211_network *network)
2749 {
2750 diff -Nur linux-2.6.15.1/net/netfilter/nfnetlink.c linux-2.6.15.1-owrt/net/netfilter/nfnetlink.c
2751 --- linux-2.6.15.1/net/netfilter/nfnetlink.c 2006-01-15 07:16:02.000000000 +0100
2752 +++ linux-2.6.15.1-owrt/net/netfilter/nfnetlink.c 2006-01-27 15:08:36.000000000 +0100
2753 @@ -212,7 +212,7 @@
2754 }
2755
2756 /* Process one complete nfnetlink message. */
2757 -static inline int nfnetlink_rcv_msg(struct sk_buff *skb,
2758 +static int nfnetlink_rcv_msg(struct sk_buff *skb,
2759 struct nlmsghdr *nlh, int *errp)
2760 {
2761 struct nfnl_callback *nc;
2762 diff -Nur linux-2.6.15.1/security/selinux/hooks.c linux-2.6.15.1-owrt/security/selinux/hooks.c
2763 --- linux-2.6.15.1/security/selinux/hooks.c 2006-01-15 07:16:02.000000000 +0100
2764 +++ linux-2.6.15.1-owrt/security/selinux/hooks.c 2006-01-27 15:08:36.000000000 +0100
2765 @@ -1018,7 +1018,7 @@
2766 has the same SID as the process. If av is zero, then
2767 access to the file is not checked, e.g. for cases
2768 where only the descriptor is affected like seek. */
2769 -static inline int file_has_perm(struct task_struct *tsk,
2770 +static int file_has_perm(struct task_struct *tsk,
2771 struct file *file,
2772 u32 av)
2773 {
2774 diff -Nur linux-2.6.15.1/sound/oss/esssolo1.c linux-2.6.15.1-owrt/sound/oss/esssolo1.c
2775 --- linux-2.6.15.1/sound/oss/esssolo1.c 2006-01-15 07:16:02.000000000 +0100
2776 +++ linux-2.6.15.1-owrt/sound/oss/esssolo1.c 2006-01-27 15:08:36.000000000 +0100
2777 @@ -515,7 +515,7 @@
2778 return 0;
2779 }
2780
2781 -static inline int prog_dmabuf_dac(struct solo1_state *s)
2782 +static int prog_dmabuf_dac(struct solo1_state *s)
2783 {
2784 unsigned long va;
2785 int c;
2786 diff -Nur linux-2.6.15.1/sound/pci/es1968.c linux-2.6.15.1-owrt/sound/pci/es1968.c
2787 --- linux-2.6.15.1/sound/pci/es1968.c 2006-01-15 07:16:02.000000000 +0100
2788 +++ linux-2.6.15.1-owrt/sound/pci/es1968.c 2006-01-27 15:13:39.000000000 +0100
2789 @@ -731,7 +731,7 @@
2790 apu_data_set(chip, data);
2791 }
2792
2793 -static inline void apu_set_register(es1968_t *chip, u16 channel, u8 reg, u16 data)
2794 +static void apu_set_register(es1968_t *chip, u16 channel, u8 reg, u16 data)
2795 {
2796 unsigned long flags;
2797 spin_lock_irqsave(&chip->reg_lock, flags);
2798 diff -Nur linux-2.6.15.1/arch/mips/Makefile linux-2.6.15.1-owrt/arch/mips/Makefile
2799 --- linux-2.6.15.1/arch/mips/Makefile 2006-01-21 17:13:20.000000000 +0100
2800 +++ linux-2.6.15.1-owrt/arch/mips/Makefile 2006-01-28 11:37:25.000000000 +0100
2801 @@ -93,7 +93,6 @@
2802 #
2803 cflags-y += -I $(TOPDIR)/include/asm/gcc
2804 cflags-y += -G 0 -mno-abicalls -fno-pic -pipe
2805 -cflags-y += $(call cc-option, -finline-limit=100000)
2806 LDFLAGS_vmlinux += -G 0 -static -n -nostdlib
2807 MODFLAGS += -mlong-calls
2808
2809 --- linux-2.6.15.1.old/include/asm-mips/system.h 2006-01-28 15:02:54.481032280 +0100
2810 +++ linux-2.6.15.1.dev/include/asm-mips/system.h 2006-01-28 14:47:51.634285848 +0100
2811 @@ -273,7 +273,7 @@
2812 if something tries to do an invalid xchg(). */
2813 extern void __xchg_called_with_bad_pointer(void);
2814
2815 -static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int size)
2816 +static __always_inline unsigned long __xchg(unsigned long x, volatile void * ptr, int size)
2817 {
2818 switch (size) {
2819 case 4: