diff options
Diffstat (limited to 'target/linux/generic-2.6/patches')
4 files changed, 378 insertions, 3185 deletions
diff --git a/target/linux/generic-2.6/patches/006-gcc4_inline_fix.patch b/target/linux/generic-2.6/patches/006-gcc4_inline_fix.patch index 5d27c5362..e95663e38 100644 --- a/target/linux/generic-2.6/patches/006-gcc4_inline_fix.patch +++ b/target/linux/generic-2.6/patches/006-gcc4_inline_fix.patch @@ -1,2811 +1,3 @@ -diff -Nur linux-2.6.15.1/Documentation/feature-removal-schedule.txt linux-2.6.15.1-owrt/Documentation/feature-removal-schedule.txt ---- linux-2.6.15.1/Documentation/feature-removal-schedule.txt 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/Documentation/feature-removal-schedule.txt 2006-01-27 15:03:21.000000000 +0100 -@@ -143,6 +143,15 @@ - - --------------------------- - -+What: CONFIG_FORCED_INLINING -+When: June 2006 -+Why: Config option is there to see if gcc is good enough. (in january -+ 2006). If it is, the behavior should just be the default. If it's not, -+ the option should just go away entirely. -+Who: Arjan van de Ven -+ -+--------------------------- -+ - What: START_ARRAY ioctl for md - When: July 2006 - Files: drivers/md/md.c -diff -Nur linux-2.6.15.1/drivers/acpi/ec.c linux-2.6.15.1-owrt/drivers/acpi/ec.c ---- linux-2.6.15.1/drivers/acpi/ec.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/acpi/ec.c 2006-01-27 15:08:36.000000000 +0100 -@@ -153,7 +153,7 @@ - Transaction Management - -------------------------------------------------------------------------- */ - --static inline u32 acpi_ec_read_status(union acpi_ec *ec) -+static u32 acpi_ec_read_status(union acpi_ec *ec) - { - u32 status = 0; - -diff -Nur linux-2.6.15.1/drivers/base/firmware_class.c linux-2.6.15.1-owrt/drivers/base/firmware_class.c ---- linux-2.6.15.1/drivers/base/firmware_class.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/base/firmware_class.c 2006-01-27 15:08:36.000000000 +0100 -@@ -47,7 +47,7 @@ - struct timer_list timeout; - }; - --static inline void -+static void - fw_load_abort(struct firmware_priv *fw_priv) - { - set_bit(FW_STATUS_ABORT, &fw_priv->status); -diff -Nur linux-2.6.15.1/drivers/block/loop.c linux-2.6.15.1-owrt/drivers/block/loop.c ---- linux-2.6.15.1/drivers/block/loop.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/block/loop.c 2006-01-27 15:08:36.000000000 +0100 -@@ -281,7 +281,7 @@ - * This helper just factors out common code between do_lo_send_direct_write() - * and do_lo_send_write(). - */ --static inline int __do_lo_send_write(struct file *file, -+static int __do_lo_send_write(struct file *file, - u8 __user *buf, const int len, loff_t pos) - { - ssize_t bw; -diff -Nur linux-2.6.15.1/drivers/bluetooth/hci_bcsp.c linux-2.6.15.1-owrt/drivers/bluetooth/hci_bcsp.c ---- linux-2.6.15.1/drivers/bluetooth/hci_bcsp.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/bluetooth/hci_bcsp.c 2006-01-27 15:08:36.000000000 +0100 -@@ -494,7 +494,7 @@ - } - } - --static inline void bcsp_complete_rx_pkt(struct hci_uart *hu) -+static void bcsp_complete_rx_pkt(struct hci_uart *hu) - { - struct bcsp_struct *bcsp = hu->priv; - int pass_up; -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 ---- linux-2.6.15.1/drivers/char/drm/r128_state.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/char/drm/r128_state.c 2006-01-27 15:08:36.000000000 +0100 -@@ -220,7 +220,7 @@ - ADVANCE_RING(); - } - --static __inline__ void r128_emit_state(drm_r128_private_t * dev_priv) -+static void r128_emit_state(drm_r128_private_t * dev_priv) - { - drm_r128_sarea_t *sarea_priv = dev_priv->sarea_priv; - unsigned int dirty = sarea_priv->dirty; -diff -Nur linux-2.6.15.1/drivers/cpufreq/cpufreq.c linux-2.6.15.1-owrt/drivers/cpufreq/cpufreq.c ---- linux-2.6.15.1/drivers/cpufreq/cpufreq.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/cpufreq/cpufreq.c 2006-01-27 15:08:36.000000000 +0100 -@@ -41,7 +41,6 @@ - /* internal prototypes */ - static int __cpufreq_governor(struct cpufreq_policy *policy, unsigned int event); - static void handle_update(void *data); --static inline void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci); - - /** - * Two notifier lists: the "policy" list is involved in the -@@ -127,7 +126,7 @@ - static unsigned int disable_ratelimit = 1; - static DEFINE_SPINLOCK(disable_ratelimit_lock); - --static inline void cpufreq_debug_enable_ratelimit(void) -+static void cpufreq_debug_enable_ratelimit(void) - { - unsigned long flags; - -@@ -137,7 +136,7 @@ - spin_unlock_irqrestore(&disable_ratelimit_lock, flags); - } - --static inline void cpufreq_debug_disable_ratelimit(void) -+static void cpufreq_debug_disable_ratelimit(void) - { - unsigned long flags; - -@@ -206,7 +205,7 @@ - static unsigned long l_p_j_ref; - static unsigned int l_p_j_ref_freq; - --static inline void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci) -+static void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci) - { - if (ci->flags & CPUFREQ_CONST_LOOPS) - return; -diff -Nur linux-2.6.15.1/drivers/ide/ide-cd.c linux-2.6.15.1-owrt/drivers/ide/ide-cd.c ---- linux-2.6.15.1/drivers/ide/ide-cd.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/ide/ide-cd.c 2006-01-27 15:08:36.000000000 +0100 -@@ -980,7 +980,7 @@ - * and attempt to recover if there are problems. Returns 0 if everything's - * ok; nonzero if the request has been terminated. - */ --static inline -+static - int cdrom_read_check_ireason (ide_drive_t *drive, int len, int ireason) - { - if (ireason == 2) -@@ -1541,7 +1541,7 @@ - /* - * Write handling - */ --static inline int cdrom_write_check_ireason(ide_drive_t *drive, int len, int ireason) -+static int cdrom_write_check_ireason(ide_drive_t *drive, int len, int ireason) - { - /* Two notes about IDE interrupt reason here - 0 means that - * the drive wants to receive data from us, 2 means that -diff -Nur linux-2.6.15.1/drivers/ide/ide-disk.c linux-2.6.15.1-owrt/drivers/ide/ide-disk.c ---- linux-2.6.15.1/drivers/ide/ide-disk.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/ide/ide-disk.c 2006-01-27 15:08:36.000000000 +0100 -@@ -477,7 +477,7 @@ - && id->lba_capacity_2; - } - --static inline void idedisk_check_hpa(ide_drive_t *drive) -+static void idedisk_check_hpa(ide_drive_t *drive) - { - unsigned long long capacity, set_max; - int lba48 = idedisk_supports_lba48(drive->id); -diff -Nur linux-2.6.15.1/drivers/ide/ide-taskfile.c linux-2.6.15.1-owrt/drivers/ide/ide-taskfile.c ---- linux-2.6.15.1/drivers/ide/ide-taskfile.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/ide/ide-taskfile.c 2006-01-27 15:08:36.000000000 +0100 -@@ -308,7 +308,7 @@ - ide_pio_sector(drive, write); - } - --static inline void ide_pio_datablock(ide_drive_t *drive, struct request *rq, -+static void ide_pio_datablock(ide_drive_t *drive, struct request *rq, - unsigned int write) - { - if (rq->bio) /* fs request */ -diff -Nur linux-2.6.15.1/drivers/infiniband/core/cm.c linux-2.6.15.1-owrt/drivers/infiniband/core/cm.c ---- linux-2.6.15.1/drivers/infiniband/core/cm.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/infiniband/core/cm.c 2006-01-27 15:08:36.000000000 +0100 -@@ -850,7 +850,7 @@ - param->private_data_len); - } - --static inline int cm_validate_req_param(struct ib_cm_req_param *param) -+static int cm_validate_req_param(struct ib_cm_req_param *param) - { - /* peer-to-peer not supported */ - if (param->peer_to_peer) -@@ -999,7 +999,7 @@ - (be32_to_cpu(local_qpn) > be32_to_cpu(remote_qpn)))); - } - --static inline void cm_format_paths_from_req(struct cm_req_msg *req_msg, -+static void cm_format_paths_from_req(struct cm_req_msg *req_msg, - struct ib_sa_path_rec *primary_path, - struct ib_sa_path_rec *alt_path) - { -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 ---- linux-2.6.15.1/drivers/isdn/hisax/avm_pci.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/isdn/hisax/avm_pci.c 2006-01-27 15:08:36.000000000 +0100 -@@ -358,7 +358,7 @@ - } - } - --static inline void -+static void - HDLC_irq(struct BCState *bcs, u_int stat) { - int len; - struct sk_buff *skb; -diff -Nur linux-2.6.15.1/drivers/isdn/hisax/diva.c linux-2.6.15.1-owrt/drivers/isdn/hisax/diva.c ---- linux-2.6.15.1/drivers/isdn/hisax/diva.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/isdn/hisax/diva.c 2006-01-27 15:08:36.000000000 +0100 -@@ -476,7 +476,7 @@ - } - } - --static inline void -+static void - Memhscx_interrupt(struct IsdnCardState *cs, u_char val, u_char hscx) - { - u_char r; -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 ---- linux-2.6.15.1/drivers/isdn/hisax/hscx_irq.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/isdn/hisax/hscx_irq.c 2006-01-27 15:08:36.000000000 +0100 -@@ -119,7 +119,7 @@ - } - } - --static inline void -+static void - hscx_interrupt(struct IsdnCardState *cs, u_char val, u_char hscx) - { - u_char r; -@@ -221,7 +221,7 @@ - } - } - --static inline void -+static void - hscx_int_main(struct IsdnCardState *cs, u_char val) - { - -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 ---- linux-2.6.15.1/drivers/isdn/hisax/jade_irq.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/isdn/hisax/jade_irq.c 2006-01-27 15:08:36.000000000 +0100 -@@ -110,7 +110,7 @@ - } - - --static inline void -+static void - jade_interrupt(struct IsdnCardState *cs, u_char val, u_char jade) - { - u_char r; -diff -Nur linux-2.6.15.1/drivers/md/bitmap.c linux-2.6.15.1-owrt/drivers/md/bitmap.c ---- linux-2.6.15.1/drivers/md/bitmap.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/md/bitmap.c 2006-01-27 15:08:36.000000000 +0100 -@@ -200,7 +200,7 @@ - /* if page is completely empty, put it back on the free list, or dealloc it */ - /* if page was hijacked, unmark the flag so it might get alloced next time */ - /* Note: lock should be held when calling this */ --static inline void bitmap_checkfree(struct bitmap *bitmap, unsigned long page) -+static void bitmap_checkfree(struct bitmap *bitmap, unsigned long page) - { - char *ptr; - -diff -Nur linux-2.6.15.1/drivers/md/dm.c linux-2.6.15.1-owrt/drivers/md/dm.c ---- linux-2.6.15.1/drivers/md/dm.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/md/dm.c 2006-01-27 15:08:36.000000000 +0100 -@@ -292,7 +292,7 @@ - * Decrements the number of outstanding ios that a bio has been - * cloned into, completing the original io if necc. - */ --static inline void dec_pending(struct dm_io *io, int error) -+static void dec_pending(struct dm_io *io, int error) - { - if (error) - io->error = error; -diff -Nur linux-2.6.15.1/drivers/md/dm-crypt.c linux-2.6.15.1-owrt/drivers/md/dm-crypt.c ---- linux-2.6.15.1/drivers/md/dm-crypt.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/md/dm-crypt.c 2006-01-27 15:08:36.000000000 +0100 -@@ -228,7 +228,7 @@ - }; - - --static inline int -+static int - crypt_convert_scatterlist(struct crypt_config *cc, struct scatterlist *out, - struct scatterlist *in, unsigned int length, - int write, sector_t sector) -diff -Nur linux-2.6.15.1/drivers/md/dm-ioctl.c linux-2.6.15.1-owrt/drivers/md/dm-ioctl.c ---- linux-2.6.15.1/drivers/md/dm-ioctl.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/md/dm-ioctl.c 2006-01-27 15:08:36.000000000 +0100 -@@ -588,7 +588,7 @@ - /* - * Always use UUID for lookups if it's present, otherwise use name or dev. - */ --static inline struct hash_cell *__find_device_hash_cell(struct dm_ioctl *param) -+static struct hash_cell *__find_device_hash_cell(struct dm_ioctl *param) - { - if (*param->uuid) - return __get_uuid_cell(param->uuid); -@@ -598,7 +598,7 @@ - return dm_get_mdptr(huge_decode_dev(param->dev)); - } - --static inline struct mapped_device *find_device(struct dm_ioctl *param) -+static struct mapped_device *find_device(struct dm_ioctl *param) - { - struct hash_cell *hc; - struct mapped_device *md = NULL; -diff -Nur linux-2.6.15.1/drivers/md/dm-snap.c linux-2.6.15.1-owrt/drivers/md/dm-snap.c ---- linux-2.6.15.1/drivers/md/dm-snap.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/md/dm-snap.c 2006-01-27 15:08:36.000000000 +0100 -@@ -677,7 +677,7 @@ - /* - * Dispatches the copy operation to kcopyd. - */ --static inline void start_copy(struct pending_exception *pe) -+static void start_copy(struct pending_exception *pe) - { - struct dm_snapshot *s = pe->snap; - struct io_region src, dest; -diff -Nur linux-2.6.15.1/drivers/md/raid10.c linux-2.6.15.1-owrt/drivers/md/raid10.c ---- linux-2.6.15.1/drivers/md/raid10.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/md/raid10.c 2006-01-27 15:08:36.000000000 +0100 -@@ -173,7 +173,7 @@ - } - } - --static inline void free_r10bio(r10bio_t *r10_bio) -+static void free_r10bio(r10bio_t *r10_bio) - { - unsigned long flags; - -@@ -194,7 +194,7 @@ - mempool_free(r10_bio, conf->r10bio_pool); - } - --static inline void put_buf(r10bio_t *r10_bio) -+static void put_buf(r10bio_t *r10_bio) - { - conf_t *conf = mddev_to_conf(r10_bio->mddev); - unsigned long flags; -diff -Nur linux-2.6.15.1/drivers/md/raid1.c linux-2.6.15.1-owrt/drivers/md/raid1.c ---- linux-2.6.15.1/drivers/md/raid1.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/md/raid1.c 2006-01-27 15:08:36.000000000 +0100 -@@ -158,7 +158,7 @@ - } - } - --static inline void free_r1bio(r1bio_t *r1_bio) -+static void free_r1bio(r1bio_t *r1_bio) - { - unsigned long flags; - -@@ -179,7 +179,7 @@ - mempool_free(r1_bio, conf->r1bio_pool); - } - --static inline void put_buf(r1bio_t *r1_bio) -+static void put_buf(r1bio_t *r1_bio) - { - conf_t *conf = mddev_to_conf(r1_bio->mddev); - unsigned long flags; -diff -Nur linux-2.6.15.1/drivers/md/raid5.c linux-2.6.15.1-owrt/drivers/md/raid5.c ---- linux-2.6.15.1/drivers/md/raid5.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/md/raid5.c 2006-01-27 15:08:36.000000000 +0100 -@@ -71,7 +71,7 @@ - - static void print_raid5_conf (raid5_conf_t *conf); - --static inline void __release_stripe(raid5_conf_t *conf, struct stripe_head *sh) -+static void __release_stripe(raid5_conf_t *conf, struct stripe_head *sh) - { - if (atomic_dec_and_test(&sh->count)) { - if (!list_empty(&sh->lru)) -@@ -188,7 +188,7 @@ - - static void raid5_build_block (struct stripe_head *sh, int i); - --static inline void init_stripe(struct stripe_head *sh, sector_t sector, int pd_idx) -+static void init_stripe(struct stripe_head *sh, sector_t sector, int pd_idx) - { - raid5_conf_t *conf = sh->raid_conf; - int disks = conf->raid_disks, i; -@@ -1421,7 +1421,7 @@ - } - } - --static inline void raid5_activate_delayed(raid5_conf_t *conf) -+static void raid5_activate_delayed(raid5_conf_t *conf) - { - if (atomic_read(&conf->preread_active_stripes) < IO_THRESHOLD) { - while (!list_empty(&conf->delayed_list)) { -@@ -1437,7 +1437,7 @@ - } - } - --static inline void activate_bit_delay(raid5_conf_t *conf) -+static void activate_bit_delay(raid5_conf_t *conf) - { - /* device_lock is held */ - struct list_head head; -diff -Nur linux-2.6.15.1/drivers/md/raid6main.c linux-2.6.15.1-owrt/drivers/md/raid6main.c ---- linux-2.6.15.1/drivers/md/raid6main.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/md/raid6main.c 2006-01-27 15:08:36.000000000 +0100 -@@ -90,7 +90,7 @@ - - static void print_raid6_conf (raid6_conf_t *conf); - --static inline void __release_stripe(raid6_conf_t *conf, struct stripe_head *sh) -+static void __release_stripe(raid6_conf_t *conf, struct stripe_head *sh) - { - if (atomic_dec_and_test(&sh->count)) { - if (!list_empty(&sh->lru)) -@@ -207,7 +207,7 @@ - - static void raid6_build_block (struct stripe_head *sh, int i); - --static inline void init_stripe(struct stripe_head *sh, sector_t sector, int pd_idx) -+static void init_stripe(struct stripe_head *sh, sector_t sector, int pd_idx) - { - raid6_conf_t *conf = sh->raid_conf; - int disks = conf->raid_disks, i; -@@ -1501,7 +1501,7 @@ - } - } - --static inline void raid6_activate_delayed(raid6_conf_t *conf) -+static void raid6_activate_delayed(raid6_conf_t *conf) - { - if (atomic_read(&conf->preread_active_stripes) < IO_THRESHOLD) { - while (!list_empty(&conf->delayed_list)) { -@@ -1517,7 +1517,7 @@ - } - } - --static inline void activate_bit_delay(raid6_conf_t *conf) -+static void activate_bit_delay(raid6_conf_t *conf) - { - /* device_lock is held */ - struct list_head head; -diff -Nur linux-2.6.15.1/drivers/media/video/tvp5150.c linux-2.6.15.1-owrt/drivers/media/video/tvp5150.c ---- linux-2.6.15.1/drivers/media/video/tvp5150.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/media/video/tvp5150.c 2006-01-27 15:08:36.000000000 +0100 -@@ -87,7 +87,7 @@ - int sat; - }; - --static inline int tvp5150_read(struct i2c_client *c, unsigned char addr) -+static int tvp5150_read(struct i2c_client *c, unsigned char addr) - { - unsigned char buffer[1]; - int rc; -diff -Nur linux-2.6.15.1/drivers/message/fusion/mptlan.c linux-2.6.15.1-owrt/drivers/message/fusion/mptlan.c ---- linux-2.6.15.1/drivers/message/fusion/mptlan.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/message/fusion/mptlan.c 2006-01-27 15:08:36.000000000 +0100 -@@ -848,7 +848,7 @@ - } - - /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ --static inline void -+static void - mpt_lan_wake_post_buckets_task(struct net_device *dev, int priority) - /* - * @priority: 0 = put it on the timer queue, 1 = put it on the immediate queue -@@ -870,7 +870,7 @@ - } - - /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ --static inline int -+static int - mpt_lan_receive_skb(struct net_device *dev, struct sk_buff *skb) - { - struct mpt_lan_priv *priv = dev->priv; -diff -Nur linux-2.6.15.1/drivers/mtd/devices/doc2000.c linux-2.6.15.1-owrt/drivers/mtd/devices/doc2000.c ---- linux-2.6.15.1/drivers/mtd/devices/doc2000.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/mtd/devices/doc2000.c 2006-01-27 15:08:36.000000000 +0100 -@@ -138,7 +138,7 @@ - bypass the internal pipeline. Each of 4 delay cycles (read from the NOP register) is - required after writing to CDSN Control register, see Software Requirement 11.4 item 3. */ - --static inline int DoC_Command(struct DiskOnChip *doc, unsigned char command, -+static int DoC_Command(struct DiskOnChip *doc, unsigned char command, - unsigned char xtraflags) - { - void __iomem *docptr = doc->virtadr; -diff -Nur linux-2.6.15.1/drivers/mtd/devices/doc2001.c linux-2.6.15.1-owrt/drivers/mtd/devices/doc2001.c ---- linux-2.6.15.1/drivers/mtd/devices/doc2001.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/mtd/devices/doc2001.c 2006-01-27 15:08:36.000000000 +0100 -@@ -103,7 +103,7 @@ - with the internal pipeline. Each of 4 delay cycles (read from the NOP register) is - required after writing to CDSN Control register, see Software Requirement 11.4 item 3. */ - --static inline void DoC_Command(void __iomem * docptr, unsigned char command, -+static void DoC_Command(void __iomem * docptr, unsigned char command, - unsigned char xtraflags) - { - /* Assert the CLE (Command Latch Enable) line to the flash chip */ -diff -Nur linux-2.6.15.1/drivers/mtd/devices/doc2001plus.c linux-2.6.15.1-owrt/drivers/mtd/devices/doc2001plus.c ---- linux-2.6.15.1/drivers/mtd/devices/doc2001plus.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/mtd/devices/doc2001plus.c 2006-01-27 15:08:36.000000000 +0100 -@@ -118,7 +118,7 @@ - /* DoC_Command: Send a flash command to the flash chip through the Flash - * command register. Need 2 Write Pipeline Terminates to complete send. - */ --static inline void DoC_Command(void __iomem * docptr, unsigned char command, -+static void DoC_Command(void __iomem * docptr, unsigned char command, - unsigned char xtraflags) - { - WriteDOC(command, docptr, Mplus_FlashCmd); -diff -Nur linux-2.6.15.1/drivers/mtd/nand/diskonchip.c linux-2.6.15.1-owrt/drivers/mtd/nand/diskonchip.c ---- linux-2.6.15.1/drivers/mtd/nand/diskonchip.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/mtd/nand/diskonchip.c 2006-01-27 15:08:36.000000000 +0100 -@@ -1506,7 +1506,7 @@ - return 1; - } - --static inline int __init doc_probe(unsigned long physadr) -+static int __init doc_probe(unsigned long physadr) - { - unsigned char ChipID; - struct mtd_info *mtd; -diff -Nur linux-2.6.15.1/drivers/net/e100.c linux-2.6.15.1-owrt/drivers/net/e100.c ---- linux-2.6.15.1/drivers/net/e100.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/net/e100.c 2006-01-27 15:08:36.000000000 +0100 -@@ -587,7 +587,7 @@ - (void)readb(&nic->csr->scb.status); - } - --static inline void e100_enable_irq(struct nic *nic) -+static void e100_enable_irq(struct nic *nic) - { - unsigned long flags; - -@@ -597,7 +597,7 @@ - e100_write_flush(nic); - } - --static inline void e100_disable_irq(struct nic *nic) -+static void e100_disable_irq(struct nic *nic) - { - unsigned long flags; - -@@ -786,7 +786,7 @@ - - #define E100_WAIT_SCB_TIMEOUT 20000 /* we might have to wait 100ms!!! */ - #define E100_WAIT_SCB_FAST 20 /* delay like the old code */ --static inline int e100_exec_cmd(struct nic *nic, u8 cmd, dma_addr_t dma_addr) -+static int e100_exec_cmd(struct nic *nic, u8 cmd, dma_addr_t dma_addr) - { - unsigned long flags; - unsigned int i; -@@ -817,7 +817,7 @@ - return err; - } - --static inline int e100_exec_cb(struct nic *nic, struct sk_buff *skb, -+static int e100_exec_cb(struct nic *nic, struct sk_buff *skb, - void (*cb_prepare)(struct nic *, struct cb *, struct sk_buff *)) - { - struct cb *cb; -@@ -1542,7 +1542,7 @@ - mod_timer(&nic->watchdog, jiffies + E100_WATCHDOG_PERIOD); - } - --static inline void e100_xmit_prepare(struct nic *nic, struct cb *cb, -+static void e100_xmit_prepare(struct nic *nic, struct cb *cb, - struct sk_buff *skb) - { - cb->command = nic->tx_command; -@@ -1592,7 +1592,7 @@ - return 0; - } - --static inline int e100_tx_clean(struct nic *nic) -+static int e100_tx_clean(struct nic *nic) - { - struct cb *cb; - int tx_cleaned = 0; -@@ -1703,7 +1703,7 @@ - } - - #define RFD_BUF_LEN (sizeof(struct rfd) + VLAN_ETH_FRAME_LEN) --static inline int e100_rx_alloc_skb(struct nic *nic, struct rx *rx) -+static int e100_rx_alloc_skb(struct nic *nic, struct rx *rx) - { - if(!(rx->skb = dev_alloc_skb(RFD_BUF_LEN + NET_IP_ALIGN))) - return -ENOMEM; -@@ -1737,7 +1737,7 @@ - return 0; - } - --static inline int e100_rx_indicate(struct nic *nic, struct rx *rx, -+static int e100_rx_indicate(struct nic *nic, struct rx *rx, - unsigned int *work_done, unsigned int work_to_do) - { - struct sk_buff *skb = rx->skb; -@@ -1797,7 +1797,7 @@ - return 0; - } - --static inline void e100_rx_clean(struct nic *nic, unsigned int *work_done, -+static void e100_rx_clean(struct nic *nic, unsigned int *work_done, - unsigned int work_to_do) - { - struct rx *rx; -diff -Nur linux-2.6.15.1/drivers/net/sb1000.c linux-2.6.15.1-owrt/drivers/net/sb1000.c ---- linux-2.6.15.1/drivers/net/sb1000.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/net/sb1000.c 2006-01-27 15:08:36.000000000 +0100 -@@ -94,7 +94,7 @@ - const char* name); - static inline int card_wait_for_ready(const int ioaddr[], const char* name, - unsigned char in[]); --static inline int card_send_command(const int ioaddr[], const char* name, -+static int card_send_command(const int ioaddr[], const char* name, - const unsigned char out[], unsigned char in[]); - - /* SB1000 hardware routines to be used during frame rx interrupt */ -@@ -309,7 +309,7 @@ - } - - /* Card Send Command (cannot be used during an interrupt) */ --static inline int -+static int - card_send_command(const int ioaddr[], const char* name, - const unsigned char out[], unsigned char in[]) - { -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 ---- linux-2.6.15.1/drivers/net/wireless/hostap/hostap_80211_rx.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/net/wireless/hostap/hostap_80211_rx.c 2006-01-27 15:08:36.000000000 +0100 -@@ -435,7 +435,7 @@ - } - - --static inline int -+static int - hostap_rx_frame_mgmt(local_info_t *local, struct sk_buff *skb, - struct hostap_80211_rx_status *rx_stats, u16 type, - u16 stype) -@@ -499,7 +499,7 @@ - - - /* Called only as a tasklet (software IRQ) */ --static inline struct net_device *prism2_rx_get_wds(local_info_t *local, -+static struct net_device *prism2_rx_get_wds(local_info_t *local, - u8 *addr) - { - struct hostap_interface *iface = NULL; -@@ -519,7 +519,7 @@ - } - - --static inline int -+static int - hostap_rx_frame_wds(local_info_t *local, struct ieee80211_hdr_4addr *hdr, - u16 fc, struct net_device **wds) - { -@@ -615,7 +615,7 @@ - - - /* Called only as a tasklet (software IRQ) */ --static inline int -+static int - hostap_rx_frame_decrypt(local_info_t *local, struct sk_buff *skb, - struct ieee80211_crypt_data *crypt) - { -@@ -654,7 +654,7 @@ - - - /* Called only as a tasklet (software IRQ) */ --static inline int -+static int - hostap_rx_frame_decrypt_msdu(local_info_t *local, struct sk_buff *skb, - int keyidx, struct ieee80211_crypt_data *crypt) - { -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 ---- linux-2.6.15.1/drivers/net/wireless/hostap/hostap_hw.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/net/wireless/hostap/hostap_hw.c 2006-01-27 15:08:36.000000000 +0100 -@@ -253,7 +253,7 @@ - * @dev: pointer to net_device - * @entry: Prism2 command queue entry to be issued - */ --static inline int hfa384x_cmd_issue(struct net_device *dev, -+static int hfa384x_cmd_issue(struct net_device *dev, - struct hostap_cmd_queue *entry) - { - struct hostap_interface *iface; -@@ -743,7 +743,7 @@ - } - - --static inline int hfa384x_wait_offset(struct net_device *dev, u16 o_off) -+static int hfa384x_wait_offset(struct net_device *dev, u16 o_off) - { - int tries = HFA384X_BAP_BUSY_TIMEOUT; - int res = HFA384X_INW(o_off) & HFA384X_OFFSET_BUSY; -@@ -1904,7 +1904,7 @@ - * and will try to get the correct fid eventually. */ - #define EXTRA_FID_READ_TESTS - --static inline u16 prism2_read_fid_reg(struct net_device *dev, u16 reg) -+static u16 prism2_read_fid_reg(struct net_device *dev, u16 reg) - { - #ifdef EXTRA_FID_READ_TESTS - u16 val, val2, val3; -@@ -2581,7 +2581,7 @@ - - - /* Called only from hardware IRQ */ --static inline void prism2_check_magic(local_info_t *local) -+static void prism2_check_magic(local_info_t *local) - { - /* at least PCI Prism2.5 with bus mastering seems to sometimes - * return 0x0000 in SWSUPPORT0 for unknown reason, but re-reading the -diff -Nur linux-2.6.15.1/drivers/net/wireless/ipw2100.c linux-2.6.15.1-owrt/drivers/net/wireless/ipw2100.c ---- linux-2.6.15.1/drivers/net/wireless/ipw2100.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/net/wireless/ipw2100.c 2006-01-27 15:08:36.000000000 +0100 -@@ -411,7 +411,7 @@ - write_register(dev, IPW_REG_AUTOINCREMENT_DATA, val); - } - --static inline void write_nic_memory(struct net_device *dev, u32 addr, u32 len, -+static void write_nic_memory(struct net_device *dev, u32 addr, u32 len, - const u8 * buf) - { - u32 aligned_addr; -@@ -449,7 +449,7 @@ - *buf); - } - --static inline void read_nic_memory(struct net_device *dev, u32 addr, u32 len, -+static void read_nic_memory(struct net_device *dev, u32 addr, u32 len, - u8 * buf) - { - u32 aligned_addr; -@@ -657,7 +657,7 @@ - - #define MAX_RESET_BACKOFF 10 - --static inline void schedule_reset(struct ipw2100_priv *priv) -+static void schedule_reset(struct ipw2100_priv *priv) - { - unsigned long now = get_seconds(); - -@@ -1130,7 +1130,7 @@ - write_register(priv->net_dev, IPW_REG_GPIO, reg); - } - --static inline int rf_kill_active(struct ipw2100_priv *priv) -+static int rf_kill_active(struct ipw2100_priv *priv) - { - #define MAX_RF_KILL_CHECKS 5 - #define RF_KILL_CHECK_DELAY 40 -@@ -2177,7 +2177,7 @@ - }; - #endif - --static inline int ipw2100_alloc_skb(struct ipw2100_priv *priv, -+static int ipw2100_alloc_skb(struct ipw2100_priv *priv, - struct ipw2100_rx_packet *packet) - { - packet->skb = dev_alloc_skb(sizeof(struct ipw2100_rx)); -@@ -2201,7 +2201,7 @@ - #define SEARCH_SNAPSHOT 1 - - #define SNAPSHOT_ADDR(ofs) (priv->snapshot[((ofs) >> 12) & 0xff] + ((ofs) & 0xfff)) --static inline int ipw2100_snapshot_alloc(struct ipw2100_priv *priv) -+static int ipw2100_snapshot_alloc(struct ipw2100_priv *priv) - { - int i; - if (priv->snapshot[0]) -@@ -2221,7 +2221,7 @@ - return 1; - } - --static inline void ipw2100_snapshot_free(struct ipw2100_priv *priv) -+static void ipw2100_snapshot_free(struct ipw2100_priv *priv) - { - int i; - if (!priv->snapshot[0]) -@@ -2231,7 +2231,7 @@ - priv->snapshot[0] = NULL; - } - --static inline u32 ipw2100_match_buf(struct ipw2100_priv *priv, u8 * in_buf, -+static u32 ipw2100_match_buf(struct ipw2100_priv *priv, u8 * in_buf, - size_t len, int mode) - { - u32 i, j; -@@ -2288,7 +2288,7 @@ - static u8 packet_data[IPW_RX_NIC_BUFFER_LENGTH]; - #endif - --static inline void ipw2100_corruption_detected(struct ipw2100_priv *priv, int i) -+static void ipw2100_corruption_detected(struct ipw2100_priv *priv, int i) - { - #ifdef CONFIG_IPW_DEBUG_C3 - struct ipw2100_status *status = &priv->status_queue.drv[i]; -@@ -2346,7 +2346,7 @@ - schedule_reset(priv); - } - --static inline void isr_rx(struct ipw2100_priv *priv, int i, -+static void isr_rx(struct ipw2100_priv *priv, int i, - struct ieee80211_rx_stats *stats) - { - struct ipw2100_status *status = &priv->status_queue.drv[i]; -@@ -2425,7 +2425,7 @@ - priv->rx_queue.drv[i].host_addr = packet->dma_addr; - } - --static inline int ipw2100_corruption_check(struct ipw2100_priv *priv, int i) -+static int ipw2100_corruption_check(struct ipw2100_priv *priv, int i) - { - struct ipw2100_status *status = &priv->status_queue.drv[i]; - struct ipw2100_rx *u = priv->rx_buffers[i].rxp; -@@ -2481,7 +2481,7 @@ - * The WRITE index is cached in the variable 'priv->rx_queue.next'. - * - */ --static inline void __ipw2100_rx_process(struct ipw2100_priv *priv) -+static void __ipw2100_rx_process(struct ipw2100_priv *priv) - { - struct ipw2100_bd_queue *rxq = &priv->rx_queue; - struct ipw2100_status_queue *sq = &priv->status_queue; -@@ -2634,7 +2634,7 @@ - * for use by future command and data packets. - * - */ --static inline int __ipw2100_tx_process(struct ipw2100_priv *priv) -+static int __ipw2100_tx_process(struct ipw2100_priv *priv) - { - struct ipw2100_bd_queue *txq = &priv->tx_queue; - struct ipw2100_bd *tbd; -diff -Nur linux-2.6.15.1/drivers/net/wireless/ipw2200.c linux-2.6.15.1-owrt/drivers/net/wireless/ipw2200.c ---- linux-2.6.15.1/drivers/net/wireless/ipw2200.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/net/wireless/ipw2200.c 2006-01-27 15:08:36.000000000 +0100 -@@ -813,7 +813,7 @@ - up(&priv->sem); - } - --static inline void __ipw_led_activity_on(struct ipw_priv *priv) -+static void __ipw_led_activity_on(struct ipw_priv *priv) - { - u32 led; - -@@ -1508,7 +1508,7 @@ - static DEVICE_ATTR(direct_dword, S_IWUSR | S_IRUGO, - show_direct_dword, store_direct_dword); - --static inline int rf_kill_active(struct ipw_priv *priv) -+static int rf_kill_active(struct ipw_priv *priv) - { - if (0 == (ipw_read32(priv, 0x30) & 0x10000)) - priv->status |= STATUS_RF_KILL_HW; -@@ -2359,7 +2359,7 @@ - } - - /* perform a chip select operation */ --static inline void eeprom_cs(struct ipw_priv *priv) -+static void eeprom_cs(struct ipw_priv *priv) - { - eeprom_write_reg(priv, 0); - eeprom_write_reg(priv, EEPROM_BIT_CS); -@@ -2368,7 +2368,7 @@ - } - - /* perform a chip select operation */ --static inline void eeprom_disable_cs(struct ipw_priv *priv) -+static void eeprom_disable_cs(struct ipw_priv *priv) - { - eeprom_write_reg(priv, EEPROM_BIT_CS); - eeprom_write_reg(priv, 0); -@@ -2475,7 +2475,7 @@ - IPW_DEBUG_TRACE("<<\n"); - } - --static inline void ipw_zero_memory(struct ipw_priv *priv, u32 start, u32 count) -+static void ipw_zero_memory(struct ipw_priv *priv, u32 start, u32 count) - { - count >>= 2; - if (!count) -@@ -2772,7 +2772,7 @@ - return ipw_read32(priv, 0x90) == 0xd55555d5; - } - --static inline int ipw_poll_bit(struct ipw_priv *priv, u32 addr, u32 mask, -+static int ipw_poll_bit(struct ipw_priv *priv, u32 addr, u32 mask, - int timeout) - { - int i = 0; -@@ -3150,7 +3150,7 @@ - - #define IPW_RX_BUF_SIZE (3000) - --static inline void ipw_rx_queue_reset(struct ipw_priv *priv, -+static void ipw_rx_queue_reset(struct ipw_priv *priv, - struct ipw_rx_queue *rxq) - { - unsigned long flags; -@@ -3608,7 +3608,7 @@ - ipw_queue_tx_free(priv, &priv->txq[3]); - } - --static inline void ipw_create_bssid(struct ipw_priv *priv, u8 * bssid) -+static void ipw_create_bssid(struct ipw_priv *priv, u8 * bssid) - { - /* First 3 bytes are manufacturer */ - bssid[0] = priv->mac_addr[0]; -@@ -3622,7 +3622,7 @@ - bssid[0] |= 0x02; /* set local assignment bit (IEEE802) */ - } - --static inline u8 ipw_add_station(struct ipw_priv *priv, u8 * bssid) -+static u8 ipw_add_station(struct ipw_priv *priv, u8 * bssid) - { - struct ipw_station_entry entry; - int i; -@@ -3655,7 +3655,7 @@ - return i; - } - --static inline u8 ipw_find_station(struct ipw_priv *priv, u8 * bssid) -+static u8 ipw_find_station(struct ipw_priv *priv, u8 * bssid) - { - int i; - -@@ -3794,7 +3794,7 @@ - memset(avg, 0, sizeof(*avg)); - } - --static void inline average_add(struct average *avg, s16 val) -+static void average_add(struct average *avg, s16 val) - { - avg->sum -= avg->entries[avg->pos]; - avg->sum += val; -@@ -3805,7 +3805,7 @@ - } - } - --static s16 inline average_value(struct average *avg) -+static s16 average_value(struct average *avg) - { - if (!unlikely(avg->init)) { - if (avg->pos) -@@ -3847,7 +3847,7 @@ - - } - --static inline u32 ipw_get_max_rate(struct ipw_priv *priv) -+static u32 ipw_get_max_rate(struct ipw_priv *priv) - { - u32 i = 0x80000000; - u32 mask = priv->rates_mask; -@@ -4087,7 +4087,7 @@ - * roaming_threshold -> disassociate_threshold, scan and roam for better signal. - * Above disassociate threshold, give up and stop scanning. - * Roaming is disabled if disassociate_threshold <= roaming_threshold */ --static inline void ipw_handle_missed_beacon(struct ipw_priv *priv, -+static void ipw_handle_missed_beacon(struct ipw_priv *priv, - int missed_count) - { - priv->notif_missed_beacons = missed_count; -@@ -4157,7 +4157,7 @@ - * Handle host notification packet. - * Called from interrupt routine - */ --static inline void ipw_rx_notification(struct ipw_priv *priv, -+static void ipw_rx_notification(struct ipw_priv *priv, - struct ipw_rx_notification *notif) - { - notif->size = le16_to_cpu(notif->size); -@@ -5096,7 +5096,7 @@ - return 1; - } - --static inline void ipw_copy_rates(struct ipw_supported_rates *dest, -+static void ipw_copy_rates(struct ipw_supported_rates *dest, - const struct ipw_supported_rates *src) - { - u8 i; -@@ -5857,7 +5857,7 @@ - #define ipw_debug_config(x) do {} while (0) - #endif - --static inline void ipw_set_fixed_rate(struct ipw_priv *priv, int mode) -+static void ipw_set_fixed_rate(struct ipw_priv *priv, int mode) - { - /* TODO: Verify that this works... */ - struct ipw_fixed_rate fr = { -@@ -7636,7 +7636,7 @@ - } - #endif - --static inline int is_network_packet(struct ipw_priv *priv, -+static int is_network_packet(struct ipw_priv *priv, - struct ieee80211_hdr_4addr *header) - { - /* Filter incoming packets to determine if they are targetted toward -@@ -7676,7 +7676,7 @@ - - #define IPW_PACKET_RETRY_TIME HZ - --static inline int is_duplicate_packet(struct ipw_priv *priv, -+static int is_duplicate_packet(struct ipw_priv *priv, - struct ieee80211_hdr_4addr *header) - { - u16 sc = le16_to_cpu(header->seq_ctl); -@@ -9585,7 +9585,7 @@ - - /* net device stuff */ - --static inline void init_sys_config(struct ipw_sys_config *sys_config) -+static void init_sys_config(struct ipw_sys_config *sys_config) - { - memset(sys_config, 0, sizeof(struct ipw_sys_config)); - sys_config->bt_coexistence = 1; /* We may need to look into prvStaBtConfig */ -@@ -9631,7 +9631,7 @@ - we need to heavily modify the ieee80211_skb_to_txb. - */ - --static inline int ipw_tx_skb(struct ipw_priv *priv, struct ieee80211_txb *txb, -+static int ipw_tx_skb(struct ipw_priv *priv, struct ieee80211_txb *txb, - int pri) - { - struct ieee80211_hdr_3addr *hdr = (struct ieee80211_hdr_3addr *) -diff -Nur linux-2.6.15.1/drivers/net/wireless/wavelan.c linux-2.6.15.1-owrt/drivers/net/wireless/wavelan.c ---- linux-2.6.15.1/drivers/net/wireless/wavelan.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/net/wireless/wavelan.c 2006-01-27 15:08:36.000000000 +0100 -@@ -102,7 +102,7 @@ - * Write to card's Host Adapter Command Register. Include a delay for - * those times when it is needed. - */ --static inline void hacr_write_slow(unsigned long ioaddr, u16 hacr) -+static void hacr_write_slow(unsigned long ioaddr, u16 hacr) - { - hacr_write(ioaddr, hacr); - /* delay might only be needed sometimes */ -@@ -242,7 +242,7 @@ - * The Windows drivers don't use the CRC, but the AP and the PtP tool - * depend on it. - */ --static inline u16 psa_crc(u8 * psa, /* The PSA */ -+static u16 psa_crc(u8 * psa, /* The PSA */ - int size) - { /* Number of short for CRC */ - int byte_cnt; /* Loop on the PSA */ -@@ -310,7 +310,7 @@ - /* - * Write 1 byte to the MMC. - */ --static inline void mmc_out(unsigned long ioaddr, u16 o, u8 d) -+static void mmc_out(unsigned long ioaddr, u16 o, u8 d) - { - int count = 0; - -@@ -326,7 +326,7 @@ - * Routine to write bytes to the Modem Management Controller. - * We start at the end because it is the way it should be! - */ --static inline void mmc_write(unsigned long ioaddr, u8 o, u8 * b, int n) -+static void mmc_write(unsigned long ioaddr, u8 o, u8 * b, int n) - { - o += n; - b += n; -@@ -340,7 +340,7 @@ - * Read a byte from the MMC. - * Optimised version for 1 byte, avoid using memory. - */ --static inline u8 mmc_in(unsigned long ioaddr, u16 o) -+static u8 mmc_in(unsigned long ioaddr, u16 o) - { - int count = 0; - -@@ -587,7 +587,7 @@ - * Set channel attention bit and busy wait until command has - * completed, then acknowledge completion of the command. - */ --static inline int wv_synchronous_cmd(struct net_device * dev, const char *str) -+static int wv_synchronous_cmd(struct net_device * dev, const char *str) - { - net_local *lp = (net_local *) dev->priv; - unsigned long ioaddr = dev->base_addr; -@@ -633,7 +633,7 @@ - * Configuration commands completion interrupt. - * Check if done, and if OK. - */ --static inline int -+static int - wv_config_complete(struct net_device * dev, unsigned long ioaddr, net_local * lp) - { - unsigned short mcs_addr; -@@ -843,7 +843,7 @@ - * wavelan_interrupt is not an option), so you may experience - * delays sometimes. - */ --static inline void wv_82586_reconfig(struct net_device * dev) -+static void wv_82586_reconfig(struct net_device * dev) - { - net_local *lp = (net_local *) dev->priv; - unsigned long flags; -@@ -1281,7 +1281,7 @@ - * This is the information which is displayed by the driver at startup. - * There are lots of flags for configuring it to your liking. - */ --static inline void wv_init_info(struct net_device * dev) -+static void wv_init_info(struct net_device * dev) - { - short ioaddr = dev->base_addr; - net_local *lp = (net_local *) dev->priv; -@@ -1502,7 +1502,7 @@ - * It's a bit complicated and you don't really want to look into it. - * (called in wavelan_ioctl) - */ --static inline int wv_set_frequency(unsigned long ioaddr, /* I/O port of the card */ -+static int wv_set_frequency(unsigned long ioaddr, /* I/O port of the card */ - iw_freq * frequency) - { - const int BAND_NUM = 10; /* Number of bands */ -@@ -1677,7 +1677,7 @@ - /* - * Give the list of available frequencies. - */ --static inline int wv_frequency_list(unsigned long ioaddr, /* I/O port of the card */ -+static int wv_frequency_list(unsigned long ioaddr, /* I/O port of the card */ - iw_freq * list, /* List of frequencies to fill */ - int max) - { /* Maximum number of frequencies */ -@@ -2489,7 +2489,7 @@ - * Note: if any errors occur, the packet is "dropped on the floor". - * (called by wv_packet_rcv()) - */ --static inline void -+static void - wv_packet_read(struct net_device * dev, u16 buf_off, int sksize) - { - net_local *lp = (net_local *) dev->priv; -@@ -2585,7 +2585,7 @@ - * (called in wavelan_interrupt()). - * Note : the spinlock is already grabbed for us. - */ --static inline void wv_receive(struct net_device * dev) -+static void wv_receive(struct net_device * dev) - { - unsigned long ioaddr = dev->base_addr; - net_local *lp = (net_local *) dev->priv; -@@ -2768,7 +2768,7 @@ - * - * (called in wavelan_packet_xmit()) - */ --static inline int wv_packet_write(struct net_device * dev, void *buf, short length) -+static int wv_packet_write(struct net_device * dev, void *buf, short length) - { - net_local *lp = (net_local *) dev->priv; - unsigned long ioaddr = dev->base_addr; -@@ -2964,7 +2964,7 @@ - * Routine to initialize the Modem Management Controller. - * (called by wv_hw_reset()) - */ --static inline int wv_mmc_init(struct net_device * dev) -+static int wv_mmc_init(struct net_device * dev) - { - unsigned long ioaddr = dev->base_addr; - net_local *lp = (net_local *) dev->priv; -@@ -3136,7 +3136,7 @@ - * Start the receive unit. - * (called by wv_hw_reset()) - */ --static inline int wv_ru_start(struct net_device * dev) -+static int wv_ru_start(struct net_device * dev) - { - net_local *lp = (net_local *) dev->priv; - unsigned long ioaddr = dev->base_addr; -@@ -3228,7 +3228,7 @@ - * - * (called by wv_hw_reset()) - */ --static inline int wv_cu_start(struct net_device * dev) -+static int wv_cu_start(struct net_device * dev) - { - net_local *lp = (net_local *) dev->priv; - unsigned long ioaddr = dev->base_addr; -@@ -3329,7 +3329,7 @@ - * - * (called by wv_hw_reset()) - */ --static inline int wv_82586_start(struct net_device * dev) -+static int wv_82586_start(struct net_device * dev) - { - net_local *lp = (net_local *) dev->priv; - unsigned long ioaddr = dev->base_addr; -@@ -3641,7 +3641,7 @@ - * WaveLAN controller (i82586). - * (called by wavelan_close()) - */ --static inline void wv_82586_stop(struct net_device * dev) -+static void wv_82586_stop(struct net_device * dev) - { - net_local *lp = (net_local *) dev->priv; - unsigned long ioaddr = dev->base_addr; -diff -Nur linux-2.6.15.1/drivers/scsi/aic7xxx_old.c linux-2.6.15.1-owrt/drivers/scsi/aic7xxx_old.c ---- linux-2.6.15.1/drivers/scsi/aic7xxx_old.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/scsi/aic7xxx_old.c 2006-01-27 15:08:36.000000000 +0100 -@@ -1290,7 +1290,7 @@ - * - ***************************************************************************/ - --static inline unsigned char -+static unsigned char - aic_inb(struct aic7xxx_host *p, long port) - { - #ifdef MMAPIO -@@ -1309,7 +1309,7 @@ - #endif - } - --static inline void -+static void - aic_outb(struct aic7xxx_host *p, unsigned char val, long port) - { - #ifdef MMAPIO -diff -Nur linux-2.6.15.1/drivers/scsi/iscsi_tcp.c linux-2.6.15.1-owrt/drivers/scsi/iscsi_tcp.c ---- linux-2.6.15.1/drivers/scsi/iscsi_tcp.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/scsi/iscsi_tcp.c 2006-01-27 15:08:36.000000000 +0100 -@@ -1437,7 +1437,7 @@ - } - } - --static inline int -+static int - iscsi_digest_final_send(struct iscsi_conn *conn, struct iscsi_cmd_task *ctask, - struct iscsi_buf *buf, uint32_t *digest, int final) - { -diff -Nur linux-2.6.15.1/drivers/scsi/libata-core.c linux-2.6.15.1-owrt/drivers/scsi/libata-core.c ---- linux-2.6.15.1/drivers/scsi/libata-core.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/scsi/libata-core.c 2006-01-27 15:08:36.000000000 +0100 -@@ -1660,7 +1660,7 @@ - { ATA_SHIFT_PIO, XFER_PIO_0 }, - }; - --static inline u8 base_from_shift(unsigned int shift) -+static u8 base_from_shift(unsigned int shift) - { - int i; - -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 ---- linux-2.6.15.1/drivers/scsi/megaraid/megaraid_mbox.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/scsi/megaraid/megaraid_mbox.c 2006-01-27 15:08:36.000000000 +0100 -@@ -1331,7 +1331,7 @@ - * return the scb from the head of the free list. NULL if there are none - * available - **/ --static inline scb_t * -+static scb_t * - megaraid_alloc_scb(adapter_t *adapter, struct scsi_cmnd *scp) - { - struct list_head *head = &adapter->kscb_pool; -@@ -1394,7 +1394,7 @@ - * - * prepare the scatter-gather list - */ --static inline int -+static int - megaraid_mbox_mksgl(adapter_t *adapter, scb_t *scb) - { - struct scatterlist *sgl; -@@ -1467,7 +1467,7 @@ - * - * post the command to the controller if mailbox is availble. - */ --static inline int -+static int - mbox_post_cmd(adapter_t *adapter, scb_t *scb) - { - mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); -@@ -2135,7 +2135,7 @@ - * - * Returns: 1 if the interrupt is valid, 0 otherwise - */ --static inline int -+static int - megaraid_ack_sequence(adapter_t *adapter) - { - mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); -@@ -2273,7 +2273,7 @@ - * - * DMA sync if required. - */ --static inline void -+static void - megaraid_mbox_sync_scb(adapter_t *adapter, scb_t *scb) - { - mbox_ccb_t *ccb; -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 ---- linux-2.6.15.1/drivers/scsi/megaraid/megaraid_sas.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/scsi/megaraid/megaraid_sas.c 2006-01-27 15:08:36.000000000 +0100 -@@ -80,7 +80,7 @@ - * - * Returns a free command from the pool - */ --static inline struct megasas_cmd *megasas_get_cmd(struct megasas_instance -+static struct megasas_cmd *megasas_get_cmd(struct megasas_instance - *instance) - { - unsigned long flags; -@@ -262,7 +262,7 @@ - * If successful, this function returns the number of SG elements. Otherwise, - * it returnes -1. - */ --static inline int -+static int - megasas_make_sgl32(struct megasas_instance *instance, struct scsi_cmnd *scp, - union megasas_sgl *mfi_sgl) - { -@@ -310,7 +310,7 @@ - * If successful, this function returns the number of SG elements. Otherwise, - * it returnes -1. - */ --static inline int -+static int - megasas_make_sgl64(struct megasas_instance *instance, struct scsi_cmnd *scp, - union megasas_sgl *mfi_sgl) - { -@@ -359,7 +359,7 @@ - * This function prepares CDB commands. These are typcially pass-through - * commands to the devices. - */ --static inline int -+static int - megasas_build_dcdb(struct megasas_instance *instance, struct scsi_cmnd *scp, - struct megasas_cmd *cmd) - { -@@ -440,7 +440,7 @@ - * - * Frames (and accompanying SGLs) for regular SCSI IOs use this function. - */ --static inline int -+static int - megasas_build_ldio(struct megasas_instance *instance, struct scsi_cmnd *scp, - struct megasas_cmd *cmd) - { -@@ -562,7 +562,7 @@ - * @scp: SCSI command - * @frame_count: [OUT] Number of frames used to prepare this command - */ --static inline struct megasas_cmd *megasas_build_cmd(struct megasas_instance -+static struct megasas_cmd *megasas_build_cmd(struct megasas_instance - *instance, - struct scsi_cmnd *scp, - int *frame_count) -@@ -913,7 +913,7 @@ - * @instance: Adapter soft state - * @cmd: Completed command - */ --static inline void -+static void - megasas_unmap_sgbuf(struct megasas_instance *instance, struct megasas_cmd *cmd) - { - dma_addr_t buf_h; -@@ -957,7 +957,7 @@ - * an alternate status (as in the case of aborted - * commands) - */ --static inline void -+static void - megasas_complete_cmd(struct megasas_instance *instance, struct megasas_cmd *cmd, - u8 alt_status) - { -@@ -1104,7 +1104,7 @@ - * SCSI mid-layer instead of the status - * returned by the FW - */ --static inline int -+static int - megasas_deplete_reply_queue(struct megasas_instance *instance, u8 alt_status) - { - u32 status; -diff -Nur linux-2.6.15.1/drivers/scsi/sr.c linux-2.6.15.1-owrt/drivers/scsi/sr.c ---- linux-2.6.15.1/drivers/scsi/sr.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/scsi/sr.c 2006-01-27 15:08:36.000000000 +0100 -@@ -150,7 +150,7 @@ - return cd; - } - --static inline void scsi_cd_put(struct scsi_cd *cd) -+static void scsi_cd_put(struct scsi_cd *cd) - { - struct scsi_device *sdev = cd->device; - -diff -Nur linux-2.6.15.1/drivers/usb/atm/usbatm.c linux-2.6.15.1-owrt/drivers/usb/atm/usbatm.c ---- linux-2.6.15.1/drivers/usb/atm/usbatm.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/usb/atm/usbatm.c 2006-01-27 15:08:36.000000000 +0100 -@@ -207,7 +207,7 @@ - ** urbs ** - ************/ - --static inline struct urb *usbatm_pop_urb(struct usbatm_channel *channel) -+static struct urb *usbatm_pop_urb(struct usbatm_channel *channel) - { - struct urb *urb; - -@@ -224,7 +224,7 @@ - return urb; - } - --static inline int usbatm_submit_urb(struct urb *urb) -+static int usbatm_submit_urb(struct urb *urb) - { - struct usbatm_channel *channel = urb->context; - int ret; -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 ---- linux-2.6.15.1/drivers/video/matrox/matroxfb_maven.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/drivers/video/matrox/matroxfb_maven.c 2006-01-27 15:08:36.000000000 +0100 -@@ -968,7 +968,7 @@ - return 0; - } - --static inline int maven_program_timming(struct maven_data* md, -+static int maven_program_timming(struct maven_data* md, - const struct mavenregs* m) { - struct i2c_client* c = md->client; - -diff -Nur linux-2.6.15.1/fs/9p/conv.c linux-2.6.15.1-owrt/fs/9p/conv.c ---- linux-2.6.15.1/fs/9p/conv.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/fs/9p/conv.c 2006-01-27 15:08:36.000000000 +0100 -@@ -56,7 +56,7 @@ - return buf->p > buf->ep; - } - --static inline int buf_check_size(struct cbuf *buf, int len) -+static int buf_check_size(struct cbuf *buf, int len) - { - if (buf->p+len > buf->ep) { - if (buf->p < buf->ep) { -@@ -69,7 +69,7 @@ - return 1; - } - --static inline void *buf_alloc(struct cbuf *buf, int len) -+static void *buf_alloc(struct cbuf *buf, int len) - { - void *ret = NULL; - -@@ -81,7 +81,7 @@ - return ret; - } - --static inline void buf_put_int8(struct cbuf *buf, u8 val) -+static void buf_put_int8(struct cbuf *buf, u8 val) - { - if (buf_check_size(buf, 1)) { - buf->p[0] = val; -@@ -89,7 +89,7 @@ - } - } - --static inline void buf_put_int16(struct cbuf *buf, u16 val) -+static void buf_put_int16(struct cbuf *buf, u16 val) - { - if (buf_check_size(buf, 2)) { - *(__le16 *) buf->p = cpu_to_le16(val); -@@ -97,7 +97,7 @@ - } - } - --static inline void buf_put_int32(struct cbuf *buf, u32 val) -+static void buf_put_int32(struct cbuf *buf, u32 val) - { - if (buf_check_size(buf, 4)) { - *(__le32 *)buf->p = cpu_to_le32(val); -@@ -105,7 +105,7 @@ - } - } - --static inline void buf_put_int64(struct cbuf *buf, u64 val) -+static void buf_put_int64(struct cbuf *buf, u64 val) - { - if (buf_check_size(buf, 8)) { - *(__le64 *)buf->p = cpu_to_le64(val); -@@ -113,7 +113,7 @@ - } - } - --static inline void buf_put_stringn(struct cbuf *buf, const char *s, u16 slen) -+static void buf_put_stringn(struct cbuf *buf, const char *s, u16 slen) - { - if (buf_check_size(buf, slen + 2)) { - buf_put_int16(buf, slen); -@@ -135,7 +135,7 @@ - } - } - --static inline u8 buf_get_int8(struct cbuf *buf) -+static u8 buf_get_int8(struct cbuf *buf) - { - u8 ret = 0; - -@@ -147,7 +147,7 @@ - return ret; - } - --static inline u16 buf_get_int16(struct cbuf *buf) -+static u16 buf_get_int16(struct cbuf *buf) - { - u16 ret = 0; - -@@ -159,7 +159,7 @@ - return ret; - } - --static inline u32 buf_get_int32(struct cbuf *buf) -+static u32 buf_get_int32(struct cbuf *buf) - { - u32 ret = 0; - -@@ -171,7 +171,7 @@ - return ret; - } - --static inline u64 buf_get_int64(struct cbuf *buf) -+static u64 buf_get_int64(struct cbuf *buf) - { - u64 ret = 0; - -diff -Nur linux-2.6.15.1/fs/binfmt_elf.c linux-2.6.15.1-owrt/fs/binfmt_elf.c ---- linux-2.6.15.1/fs/binfmt_elf.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/fs/binfmt_elf.c 2006-01-27 15:08:36.000000000 +0100 -@@ -1212,7 +1212,7 @@ - if (!dump_seek(file, (off))) \ - goto end_coredump; - --static inline void fill_elf_header(struct elfhdr *elf, int segs) -+static void fill_elf_header(struct elfhdr *elf, int segs) - { - memcpy(elf->e_ident, ELFMAG, SELFMAG); - elf->e_ident[EI_CLASS] = ELF_CLASS; -@@ -1237,7 +1237,7 @@ - return; - } - --static inline void fill_elf_note_phdr(struct elf_phdr *phdr, int sz, off_t offset) -+static void fill_elf_note_phdr(struct elf_phdr *phdr, int sz, off_t offset) - { - phdr->p_type = PT_NOTE; - phdr->p_offset = offset; -diff -Nur linux-2.6.15.1/fs/binfmt_misc.c linux-2.6.15.1-owrt/fs/binfmt_misc.c ---- linux-2.6.15.1/fs/binfmt_misc.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/fs/binfmt_misc.c 2006-01-27 15:08:36.000000000 +0100 -@@ -264,7 +264,7 @@ - return p - from; - } - --static inline char * check_special_flags (char * sfs, Node * e) -+static char * check_special_flags (char * sfs, Node * e) - { - char * p = sfs; - int cont = 1; -diff -Nur linux-2.6.15.1/fs/bio.c linux-2.6.15.1-owrt/fs/bio.c ---- linux-2.6.15.1/fs/bio.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/fs/bio.c 2006-01-27 15:08:36.000000000 +0100 -@@ -123,7 +123,7 @@ - bio_free(bio, fs_bio_set); - } - --inline void bio_init(struct bio *bio) -+void bio_init(struct bio *bio) - { - bio->bi_next = NULL; - bio->bi_flags = 1 << BIO_UPTODATE; -@@ -252,7 +252,7 @@ - * the actual data it points to. Reference count of returned - * bio will be one. - */ --inline void __bio_clone(struct bio *bio, struct bio *bio_src) -+void __bio_clone(struct bio *bio, struct bio *bio_src) - { - request_queue_t *q = bdev_get_queue(bio_src->bi_bdev); - -diff -Nur linux-2.6.15.1/fs/buffer.c linux-2.6.15.1-owrt/fs/buffer.c ---- linux-2.6.15.1/fs/buffer.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/fs/buffer.c 2006-01-27 15:08:36.000000000 +0100 -@@ -1170,7 +1170,7 @@ - * some of those buffers may be aliases of filesystem data. - * grow_dev_page() will go BUG() if this happens. - */ --static inline int -+static int - grow_buffers(struct block_device *bdev, sector_t block, int size) - { - struct page *page; -@@ -1396,7 +1396,7 @@ - /* - * Look up the bh in this cpu's LRU. If it's there, move it to the head. - */ --static inline struct buffer_head * -+static struct buffer_head * - lookup_bh_lru(struct block_device *bdev, sector_t block, int size) - { - struct buffer_head *ret = NULL; -@@ -1546,7 +1546,7 @@ - /* - * Called when truncating a buffer on a page completely. - */ --static inline void discard_buffer(struct buffer_head * bh) -+static void discard_buffer(struct buffer_head * bh) - { - lock_buffer(bh); - clear_buffer_dirty(bh); -diff -Nur linux-2.6.15.1/fs/compat.c linux-2.6.15.1-owrt/fs/compat.c ---- linux-2.6.15.1/fs/compat.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/fs/compat.c 2006-01-27 15:08:36.000000000 +0100 -@@ -1523,7 +1523,7 @@ - * Ooo, nasty. We need here to frob 32-bit unsigned longs to - * 64-bit unsigned longs. - */ --static inline -+static - int compat_get_fd_set(unsigned long nr, compat_ulong_t __user *ufdset, - unsigned long *fdset) - { -@@ -1556,7 +1556,7 @@ - return 0; - } - --static inline -+static - void compat_set_fd_set(unsigned long nr, compat_ulong_t __user *ufdset, - unsigned long *fdset) - { -diff -Nur linux-2.6.15.1/fs/dcache.c linux-2.6.15.1-owrt/fs/dcache.c ---- linux-2.6.15.1/fs/dcache.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/fs/dcache.c 2006-01-27 15:08:36.000000000 +0100 -@@ -94,7 +94,7 @@ - * d_iput() operation if defined. - * Called with dcache_lock and per dentry lock held, drops both. - */ --static inline void dentry_iput(struct dentry * dentry) -+static void dentry_iput(struct dentry * dentry) - { - struct inode *inode = dentry->d_inode; - if (inode) { -diff -Nur linux-2.6.15.1/fs/exec.c linux-2.6.15.1-owrt/fs/exec.c ---- linux-2.6.15.1/fs/exec.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/fs/exec.c 2006-01-27 15:08:36.000000000 +0100 -@@ -575,7 +575,7 @@ - * disturbing other processes. (Other processes might share the signal - * table via the CLONE_SIGHAND option to clone().) - */ --static inline int de_thread(struct task_struct *tsk) -+static int de_thread(struct task_struct *tsk) - { - struct signal_struct *sig = tsk->signal; - struct sighand_struct *newsighand, *oldsighand = tsk->sighand; -@@ -780,7 +780,7 @@ - * so that a new one can be started - */ - --static inline void flush_old_files(struct files_struct * files) -+static void flush_old_files(struct files_struct * files) - { - long j = -1; - struct fdtable *fdt; -@@ -964,7 +964,7 @@ - - EXPORT_SYMBOL(prepare_binprm); - --static inline int unsafe_exec(struct task_struct *p) -+static int unsafe_exec(struct task_struct *p) - { - int unsafe = 0; - if (p->ptrace & PT_PTRACED) { -diff -Nur linux-2.6.15.1/fs/fcntl.c linux-2.6.15.1-owrt/fs/fcntl.c ---- linux-2.6.15.1/fs/fcntl.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/fs/fcntl.c 2006-01-27 15:08:36.000000000 +0100 -@@ -35,7 +35,7 @@ - spin_unlock(&files->file_lock); - } - --static inline int get_close_on_exec(unsigned int fd) -+static int get_close_on_exec(unsigned int fd) - { - struct files_struct *files = current->files; - struct fdtable *fdt; -diff -Nur linux-2.6.15.1/fs/inode.c linux-2.6.15.1-owrt/fs/inode.c ---- linux-2.6.15.1/fs/inode.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/fs/inode.c 2006-01-27 15:03:56.000000000 +0100 -@@ -770,7 +770,7 @@ - * - * Note, @test is called with the inode_lock held, so can't sleep. - */ --static inline struct inode *ifind(struct super_block *sb, -+static struct inode *ifind(struct super_block *sb, - struct hlist_head *head, int (*test)(struct inode *, void *), - void *data, const int wait) - { -@@ -804,7 +804,7 @@ - * - * Otherwise NULL is returned. - */ --static inline struct inode *ifind_fast(struct super_block *sb, -+static struct inode *ifind_fast(struct super_block *sb, - struct hlist_head *head, unsigned long ino) - { - struct inode *inode; -diff -Nur linux-2.6.15.1/fs/jffs2/build.c linux-2.6.15.1-owrt/fs/jffs2/build.c ---- linux-2.6.15.1/fs/jffs2/build.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/fs/jffs2/build.c 2006-01-27 15:08:36.000000000 +0100 -@@ -47,7 +47,7 @@ - ic = next_inode(&i, ic, (c))) - - --static inline void jffs2_build_inode_pass1(struct jffs2_sb_info *c, -+static void jffs2_build_inode_pass1(struct jffs2_sb_info *c, - struct jffs2_inode_cache *ic) - { - struct jffs2_full_dirent *fd; -diff -Nur linux-2.6.15.1/fs/jffs2/nodelist.c linux-2.6.15.1-owrt/fs/jffs2/nodelist.c ---- linux-2.6.15.1/fs/jffs2/nodelist.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/fs/jffs2/nodelist.c 2006-01-27 15:08:36.000000000 +0100 -@@ -134,7 +134,7 @@ - /* - * Allocate and initializes a new fragment. - */ --static inline struct jffs2_node_frag * new_fragment(struct jffs2_full_dnode *fn, uint32_t ofs, uint32_t size) -+static struct jffs2_node_frag * new_fragment(struct jffs2_full_dnode *fn, uint32_t ofs, uint32_t size) - { - struct jffs2_node_frag *newfrag; - -@@ -513,7 +513,7 @@ - * - * Checks the node if we are in the checking stage. - */ --static inline int check_node(struct jffs2_sb_info *c, struct jffs2_inode_info *f, struct jffs2_tmp_dnode_info *tn) -+static int check_node(struct jffs2_sb_info *c, struct jffs2_inode_info *f, struct jffs2_tmp_dnode_info *tn) - { - int ret; - -diff -Nur linux-2.6.15.1/fs/lockd/xdr.c linux-2.6.15.1-owrt/fs/lockd/xdr.c ---- linux-2.6.15.1/fs/lockd/xdr.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/fs/lockd/xdr.c 2006-01-27 15:08:36.000000000 +0100 -@@ -44,7 +44,7 @@ - /* - * XDR functions for basic NLM types - */ --static inline u32 *nlm_decode_cookie(u32 *p, struct nlm_cookie *c) -+static u32 *nlm_decode_cookie(u32 *p, struct nlm_cookie *c) - { - unsigned int len; - -@@ -79,7 +79,7 @@ - return p; - } - --static inline u32 * -+static u32 * - nlm_decode_fh(u32 *p, struct nfs_fh *f) - { - unsigned int len; -@@ -119,7 +119,7 @@ - return xdr_encode_netobj(p, oh); - } - --static inline u32 * -+static u32 * - nlm_decode_lock(u32 *p, struct nlm_lock *lock) - { - struct file_lock *fl = &lock->fl; -diff -Nur linux-2.6.15.1/fs/locks.c linux-2.6.15.1-owrt/fs/locks.c ---- linux-2.6.15.1/fs/locks.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/fs/locks.c 2006-01-27 15:03:52.000000000 +0100 -@@ -154,7 +154,7 @@ - } - - /* Free a lock which is not in use. */ --static inline void locks_free_lock(struct file_lock *fl) -+static void locks_free_lock(struct file_lock *fl) - { - if (fl == NULL) { - BUG(); -@@ -475,8 +475,7 @@ - /* - * Check whether two locks have the same owner. - */ --static inline int --posix_same_owner(struct file_lock *fl1, struct file_lock *fl2) -+static int posix_same_owner(struct file_lock *fl1, struct file_lock *fl2) - { - if (fl1->fl_lmops && fl1->fl_lmops->fl_compare_owner) - return fl2->fl_lmops == fl1->fl_lmops && -@@ -487,7 +486,7 @@ - /* Remove waiter from blocker's block list. - * When blocker ends up pointing to itself then the list is empty. - */ --static inline void __locks_delete_block(struct file_lock *waiter) -+static void __locks_delete_block(struct file_lock *waiter) - { - list_del_init(&waiter->fl_block); - list_del_init(&waiter->fl_link); -diff -Nur linux-2.6.15.1/fs/mbcache.c linux-2.6.15.1-owrt/fs/mbcache.c ---- linux-2.6.15.1/fs/mbcache.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/fs/mbcache.c 2006-01-27 15:08:36.000000000 +0100 -@@ -126,7 +126,7 @@ - } - - --static inline void -+static void - __mb_cache_entry_unhash(struct mb_cache_entry *ce) - { - int n; -@@ -139,7 +139,7 @@ - } - - --static inline void -+static void - __mb_cache_entry_forget(struct mb_cache_entry *ce, gfp_t gfp_mask) - { - struct mb_cache *cache = ce->e_cache; -@@ -158,7 +158,7 @@ - } - - --static inline void -+static void - __mb_cache_entry_release_unlock(struct mb_cache_entry *ce) - { - /* Wake up all processes queuing for this cache entry. */ -diff -Nur linux-2.6.15.1/fs/namei.c linux-2.6.15.1-owrt/fs/namei.c ---- linux-2.6.15.1/fs/namei.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/fs/namei.c 2006-01-27 15:08:36.000000000 +0100 -@@ -112,7 +112,7 @@ - * POSIX.1 2.4: an empty pathname is invalid (ENOENT). - * PATH_MAX includes the nul terminator --RR. - */ --static inline int do_getname(const char __user *filename, char *page) -+static int do_getname(const char __user *filename, char *page) - { - int retval; - unsigned long len = PATH_MAX; -@@ -395,7 +395,7 @@ - * short-cut DAC fails, then call permission() to do more - * complete permission check. - */ --static inline int exec_permission_lite(struct inode *inode, -+static int exec_permission_lite(struct inode *inode, - struct nameidata *nd) - { - umode_t mode = inode->i_mode; -@@ -485,7 +485,7 @@ - static int __emul_lookup_dentry(const char *, struct nameidata *); - - /* SMP-safe */ --static inline int -+static __always_inline int - walk_init_root(const char *name, struct nameidata *nd) - { - read_lock(¤t->fs->lock); -@@ -503,7 +503,7 @@ - return 1; - } - --static inline int __vfs_follow_link(struct nameidata *nd, const char *link) -+static __always_inline int __vfs_follow_link(struct nameidata *nd, const char *link) - { - int res = 0; - char *name; -@@ -543,7 +543,7 @@ - struct dentry *dentry; - }; - --static inline int __do_follow_link(struct path *path, struct nameidata *nd) -+static __always_inline int __do_follow_link(struct path *path, struct nameidata *nd) - { - int error; - void *cookie; -@@ -689,7 +689,7 @@ - return 0; - } - --static inline void follow_dotdot(struct nameidata *nd) -+static __always_inline void follow_dotdot(struct nameidata *nd) - { - while(1) { - struct vfsmount *parent; -@@ -1293,7 +1293,7 @@ - * 10. We don't allow removal of NFS sillyrenamed files; it's handled by - * nfs_async_unlink(). - */ --static inline int may_delete(struct inode *dir,struct dentry *victim,int isdir) -+static int may_delete(struct inode *dir,struct dentry *victim,int isdir) - { - int error; - -@@ -2314,7 +2314,7 @@ - return error; - } - --static inline int do_rename(const char * oldname, const char * newname) -+static int do_rename(const char * oldname, const char * newname) - { - int error = 0; - struct dentry * old_dir, * new_dir; -diff -Nur linux-2.6.15.1/fs/nfsd/nfsxdr.c linux-2.6.15.1-owrt/fs/nfsd/nfsxdr.c ---- linux-2.6.15.1/fs/nfsd/nfsxdr.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/fs/nfsd/nfsxdr.c 2006-01-27 15:11:46.000000000 +0100 -@@ -37,7 +37,7 @@ - /* - * XDR functions for basic NFS types - */ --static inline u32 * -+static u32 * - decode_fh(u32 *p, struct svc_fh *fhp) - { - fh_init(fhp, NFS_FHSIZE); -@@ -55,7 +55,7 @@ - return decode_fh(p, fhp); - } - --static inline u32 * -+static u32 * - encode_fh(u32 *p, struct svc_fh *fhp) - { - memcpy(p, &fhp->fh_handle.fh_base, NFS_FHSIZE); -diff -Nur linux-2.6.15.1/fs/open.c linux-2.6.15.1-owrt/fs/open.c ---- linux-2.6.15.1/fs/open.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/fs/open.c 2006-01-27 15:04:00.000000000 +0100 -@@ -216,7 +216,7 @@ - return err; - } - --static inline long do_sys_truncate(const char __user * path, loff_t length) -+static long do_sys_truncate(const char __user * path, loff_t length) - { - struct nameidata nd; - struct inode * inode; -@@ -282,7 +282,7 @@ - return do_sys_truncate(path, (long)length); - } - --static inline long do_sys_ftruncate(unsigned int fd, loff_t length, int small) -+static long do_sys_ftruncate(unsigned int fd, loff_t length, int small) - { - struct inode * inode; - struct dentry *dentry; -@@ -970,7 +970,7 @@ - - EXPORT_SYMBOL(get_unused_fd); - --static inline void __put_unused_fd(struct files_struct *files, unsigned int fd) -+static void __put_unused_fd(struct files_struct *files, unsigned int fd) - { - struct fdtable *fdt = files_fdtable(files); - __FD_CLR(fd, fdt->open_fds); -diff -Nur linux-2.6.15.1/fs/pipe.c linux-2.6.15.1-owrt/fs/pipe.c ---- linux-2.6.15.1/fs/pipe.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/fs/pipe.c 2006-01-27 15:08:36.000000000 +0100 -@@ -50,7 +50,7 @@ - down(PIPE_SEM(*inode)); - } - --static inline int -+static int - pipe_iov_copy_from_user(void *to, struct iovec *iov, unsigned long len) - { - unsigned long copy; -@@ -70,7 +70,7 @@ - return 0; - } - --static inline int -+static int - pipe_iov_copy_to_user(struct iovec *iov, const void *from, unsigned long len) - { - unsigned long copy; -diff -Nur linux-2.6.15.1/include/asm-i386/bitops.h linux-2.6.15.1-owrt/include/asm-i386/bitops.h ---- linux-2.6.15.1/include/asm-i386/bitops.h 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/include/asm-i386/bitops.h 2006-01-27 15:03:37.000000000 +0100 -@@ -247,7 +247,7 @@ - static int test_bit(int nr, const volatile void * addr); - #endif - --static inline int constant_test_bit(int nr, const volatile unsigned long *addr) -+static __always_inline int constant_test_bit(int nr, const volatile unsigned long *addr) - { - return ((1UL << (nr & 31)) & (addr[nr >> 5])) != 0; - } -diff -Nur linux-2.6.15.1/include/asm-i386/current.h linux-2.6.15.1-owrt/include/asm-i386/current.h ---- linux-2.6.15.1/include/asm-i386/current.h 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/include/asm-i386/current.h 2006-01-27 15:03:37.000000000 +0100 -@@ -5,7 +5,7 @@ - - struct task_struct; - --static inline struct task_struct * get_current(void) -+static __always_inline struct task_struct * get_current(void) - { - return current_thread_info()->task; - } -diff -Nur linux-2.6.15.1/include/asm-i386/string.h linux-2.6.15.1-owrt/include/asm-i386/string.h ---- linux-2.6.15.1/include/asm-i386/string.h 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/include/asm-i386/string.h 2006-01-27 15:03:37.000000000 +0100 -@@ -201,7 +201,7 @@ - return __res; - } - --static inline void * __memcpy(void * to, const void * from, size_t n) -+static __always_inline void * __memcpy(void * to, const void * from, size_t n) - { - int d0, d1, d2; - __asm__ __volatile__( -@@ -223,7 +223,7 @@ - * This looks ugly, but the compiler can optimize it totally, - * as the count is constant. - */ --static inline void * __constant_memcpy(void * to, const void * from, size_t n) -+static __always_inline void * __constant_memcpy(void * to, const void * from, size_t n) - { - long esi, edi; - if (!n) return to; -@@ -367,7 +367,7 @@ - * things 32 bits at a time even when we don't know the size of the - * area at compile-time.. - */ --static inline void * __constant_c_memset(void * s, unsigned long c, size_t count) -+static __always_inline void * __constant_c_memset(void * s, unsigned long c, size_t count) - { - int d0, d1; - __asm__ __volatile__( -@@ -416,7 +416,7 @@ - * This looks horribly ugly, but the compiler can optimize it totally, - * as we by now know that both pattern and count is constant.. - */ --static inline void * __constant_c_and_count_memset(void * s, unsigned long pattern, size_t count) -+static __always_inline void * __constant_c_and_count_memset(void * s, unsigned long pattern, size_t count) - { - switch (count) { - case 0: -diff -Nur linux-2.6.15.1/include/asm-i386/uaccess.h linux-2.6.15.1-owrt/include/asm-i386/uaccess.h ---- linux-2.6.15.1/include/asm-i386/uaccess.h 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/include/asm-i386/uaccess.h 2006-01-27 15:03:37.000000000 +0100 -@@ -411,7 +411,7 @@ - * Returns number of bytes that could not be copied. - * On success, this will be zero. - */ --static inline unsigned long __must_check -+static __always_inline unsigned long __must_check - __copy_to_user_inatomic(void __user *to, const void *from, unsigned long n) - { - if (__builtin_constant_p(n)) { -@@ -432,7 +432,7 @@ - return __copy_to_user_ll(to, from, n); - } - --static inline unsigned long __must_check -+static __always_inline unsigned long __must_check - __copy_to_user(void __user *to, const void *from, unsigned long n) - { - might_sleep(); -@@ -456,7 +456,7 @@ - * If some data could not be copied, this function will pad the copied - * data to the requested size using zero bytes. - */ --static inline unsigned long -+static __always_inline unsigned long - __copy_from_user_inatomic(void *to, const void __user *from, unsigned long n) - { - if (__builtin_constant_p(n)) { -@@ -477,7 +477,7 @@ - return __copy_from_user_ll(to, from, n); - } - --static inline unsigned long -+static __always_inline unsigned long - __copy_from_user(void *to, const void __user *from, unsigned long n) - { - might_sleep(); -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 ---- linux-2.6.15.1/include/asm-x86_64/fixmap.h 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/include/asm-x86_64/fixmap.h 2006-01-27 15:03:37.000000000 +0100 -@@ -76,7 +76,7 @@ - * directly without translation, we catch the bug with a NULL-deference - * kernel oops. Illegal ranges of incoming indices are caught too. - */ --static inline unsigned long fix_to_virt(const unsigned int idx) -+static __always_inline unsigned long fix_to_virt(const unsigned int idx) - { - /* - * this branch gets completely eliminated after inlining, -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 ---- linux-2.6.15.1/include/asm-x86_64/uaccess.h 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/include/asm-x86_64/uaccess.h 2006-01-27 15:03:37.000000000 +0100 -@@ -244,7 +244,7 @@ - extern unsigned long copy_from_user(void *to, const void __user *from, unsigned len); - extern unsigned long copy_in_user(void __user *to, const void __user *from, unsigned len); - --static inline int __copy_from_user(void *dst, const void __user *src, unsigned size) -+static __always_inline int __copy_from_user(void *dst, const void __user *src, unsigned size) - { - int ret = 0; - if (!__builtin_constant_p(size)) -@@ -273,7 +273,7 @@ - } - } - --static inline int __copy_to_user(void __user *dst, const void *src, unsigned size) -+static __always_inline int __copy_to_user(void __user *dst, const void *src, unsigned size) - { - int ret = 0; - if (!__builtin_constant_p(size)) -@@ -305,7 +305,7 @@ - } - - --static inline int __copy_in_user(void __user *dst, const void __user *src, unsigned size) -+static __always_inline int __copy_in_user(void __user *dst, const void __user *src, unsigned size) - { - int ret = 0; - if (!__builtin_constant_p(size)) -diff -Nur linux-2.6.15.1/include/linux/compiler-gcc3.h linux-2.6.15.1-owrt/include/linux/compiler-gcc3.h ---- linux-2.6.15.1/include/linux/compiler-gcc3.h 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/include/linux/compiler-gcc3.h 2006-01-27 15:04:45.000000000 +0100 -@@ -30,3 +30,4 @@ - #define __must_check __attribute__((warn_unused_result)) - #endif - -+#define __always_inline inline __attribute__((always_inline)) -diff -Nur linux-2.6.15.1/include/linux/compiler-gcc4.h linux-2.6.15.1-owrt/include/linux/compiler-gcc4.h ---- linux-2.6.15.1/include/linux/compiler-gcc4.h 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/include/linux/compiler-gcc4.h 2006-01-27 15:03:21.000000000 +0100 -@@ -3,14 +3,16 @@ - /* These definitions are for GCC v4.x. */ - #include <linux/compiler-gcc.h> - -+#ifdef CONFIG_FORCED_INLINING -+# undef inline -+# undef __inline__ -+# undef __inline - #define inline inline __attribute__((always_inline)) - #define __inline__ __inline__ __attribute__((always_inline)) - #define __inline __inline __attribute__((always_inline)) --#define __deprecated __attribute__((deprecated)) -+#endif -+ - #define __attribute_used__ __attribute__((__used__)) --#define __attribute_pure__ __attribute__((pure)) --#define __attribute_const__ __attribute__((__const__)) --#define noinline __attribute__((noinline)) - #define __must_check __attribute__((warn_unused_result)) - #define __compiler_offsetof(a,b) __builtin_offsetof(a,b) -- -+#define __always_inline inline __attribute__((always_inline)) -diff -Nur linux-2.6.15.1/include/linux/mm.h linux-2.6.15.1-owrt/include/linux/mm.h ---- linux-2.6.15.1/include/linux/mm.h 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/include/linux/mm.h 2006-01-27 15:03:37.000000000 +0100 -@@ -507,7 +507,7 @@ - extern struct page *mem_map; - #endif - --static inline void *lowmem_page_address(struct page *page) -+static __always_inline void *lowmem_page_address(struct page *page) - { - return __va(page_to_pfn(page) << PAGE_SHIFT); - } -diff -Nur linux-2.6.15.1/include/linux/sched.h linux-2.6.15.1-owrt/include/linux/sched.h ---- linux-2.6.15.1/include/linux/sched.h 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/include/linux/sched.h 2006-01-27 15:03:45.000000000 +0100 -@@ -1102,19 +1102,8 @@ - } - - --#ifdef CONFIG_SECURITY --/* code is in security.c */ -+/* code is in security.c or kernel/sys.c if !SECURITY */ - extern int capable(int cap); --#else --static inline int capable(int cap) --{ -- if (cap_raised(current->cap_effective, cap)) { -- current->flags |= PF_SUPERPRIV; -- return 1; -- } -- return 0; --} --#endif - - /* - * Routines for handling mm_structs -diff -Nur linux-2.6.15.1/include/linux/time.h linux-2.6.15.1-owrt/include/linux/time.h ---- linux-2.6.15.1/include/linux/time.h 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/include/linux/time.h 2006-01-27 15:04:09.000000000 +0100 -@@ -38,38 +38,9 @@ - return (a->tv_sec == b->tv_sec) && (a->tv_nsec == b->tv_nsec); - } - --/* Converts Gregorian date to seconds since 1970-01-01 00:00:00. -- * Assumes input in normal date format, i.e. 1980-12-31 23:59:59 -- * => year=1980, mon=12, day=31, hour=23, min=59, sec=59. -- * -- * [For the Julian calendar (which was used in Russia before 1917, -- * Britain & colonies before 1752, anywhere else before 1582, -- * and is still in use by some communities) leave out the -- * -year/100+year/400 terms, and add 10.] -- * -- * This algorithm was first published by Gauss (I think). -- * -- * WARNING: this function will overflow on 2106-02-07 06:28:16 on -- * machines were long is 32-bit! (However, as time_t is signed, we -- * will already get problems at other places on 2038-01-19 03:14:08) -- */ --static inline unsigned long --mktime (unsigned int year, unsigned int mon, -- unsigned int day, unsigned int hour, -- unsigned int min, unsigned int sec) --{ -- if (0 >= (int) (mon -= 2)) { /* 1..12 -> 11,12,1..10 */ -- mon += 12; /* Puts Feb last since it has leap day */ -- year -= 1; -- } -- -- return ((( -- (unsigned long) (year/4 - year/100 + year/400 + 367*mon/12 + day) + -- year*365 - 719499 -- )*24 + hour /* now have hours */ -- )*60 + min /* now have minutes */ -- )*60 + sec; /* finally seconds */ --} -+extern unsigned long mktime (unsigned int year, unsigned int mon, -+ unsigned int day, unsigned int hour, -+ unsigned int min, unsigned int sec); - - extern struct timespec xtime; - extern struct timespec wall_to_monotonic; -@@ -80,6 +51,8 @@ - return xtime.tv_sec; - } - -+extern void set_normalized_timespec (struct timespec *ts, time_t sec, long nsec); -+ - struct timespec current_kernel_time(void); - - #define CURRENT_TIME (current_kernel_time()) -@@ -99,21 +72,6 @@ - - extern struct timespec timespec_trunc(struct timespec t, unsigned gran); - --static inline void --set_normalized_timespec (struct timespec *ts, time_t sec, long nsec) --{ -- while (nsec >= NSEC_PER_SEC) { -- nsec -= NSEC_PER_SEC; -- ++sec; -- } -- while (nsec < 0) { -- nsec += NSEC_PER_SEC; -- --sec; -- } -- ts->tv_sec = sec; -- ts->tv_nsec = nsec; --} -- - #endif /* __KERNEL__ */ - - #define NFDBITS __NFDBITS -diff -Nur linux-2.6.15.1/kernel/cpuset.c linux-2.6.15.1-owrt/kernel/cpuset.c ---- linux-2.6.15.1/kernel/cpuset.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/kernel/cpuset.c 2006-01-27 15:08:36.000000000 +0100 -@@ -1252,7 +1252,7 @@ - * when reading out p->cpuset, as we don't really care if it changes - * on the next cycle, and we are not going to try to dereference it. - */ --static inline int pid_array_load(pid_t *pidarray, int npids, struct cpuset *cs) -+static int pid_array_load(pid_t *pidarray, int npids, struct cpuset *cs) - { - int n = 0; - struct task_struct *g, *p; -diff -Nur linux-2.6.15.1/kernel/exit.c linux-2.6.15.1-owrt/kernel/exit.c ---- linux-2.6.15.1/kernel/exit.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/kernel/exit.c 2006-01-27 15:08:36.000000000 +0100 -@@ -192,7 +192,7 @@ - return retval; - } - --static inline int has_stopped_jobs(int pgrp) -+static int has_stopped_jobs(int pgrp) - { - int retval = 0; - struct task_struct *p; -@@ -229,7 +229,7 @@ - * - * NOTE that reparent_to_init() gives the caller full capabilities. - */ --static inline void reparent_to_init(void) -+static void reparent_to_init(void) - { - write_lock_irq(&tasklist_lock); - -@@ -366,7 +366,7 @@ - - EXPORT_SYMBOL(daemonize); - --static inline void close_files(struct files_struct * files) -+static void close_files(struct files_struct * files) - { - int i, j; - struct fdtable *fdt; -@@ -540,7 +540,7 @@ - p->real_parent = reaper; - } - --static inline void reparent_thread(task_t *p, task_t *father, int traced) -+static void reparent_thread(task_t *p, task_t *father, int traced) - { - /* We don't want people slaying init. */ - if (p->exit_signal != -1) -@@ -604,7 +604,7 @@ - * group, and if no such member exists, give it to - * the global child reaper process (ie "init") - */ --static inline void forget_original_parent(struct task_struct * father, -+static void forget_original_parent(struct task_struct * father, - struct list_head *to_release) - { - struct task_struct *p, *reaper = father; -diff -Nur linux-2.6.15.1/kernel/posix-timers.c linux-2.6.15.1-owrt/kernel/posix-timers.c ---- linux-2.6.15.1/kernel/posix-timers.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/kernel/posix-timers.c 2006-01-27 15:08:36.000000000 +0100 -@@ -203,7 +203,7 @@ - return do_sys_settimeofday(tp, NULL); - } - --static inline int common_timer_create(struct k_itimer *new_timer) -+static int common_timer_create(struct k_itimer *new_timer) - { - INIT_LIST_HEAD(&new_timer->it.real.abs_timer_entry); - init_timer(&new_timer->it.real.timer); -@@ -513,7 +513,7 @@ - } - - --static inline struct task_struct * good_sigevent(sigevent_t * event) -+static struct task_struct * good_sigevent(sigevent_t * event) - { - struct task_struct *rtn = current->group_leader; - -@@ -939,7 +939,7 @@ - - /* Set a POSIX.1b interval timer. */ - /* timr->it_lock is taken. */ --static inline int -+static int - common_timer_set(struct k_itimer *timr, int flags, - struct itimerspec *new_setting, struct itimerspec *old_setting) - { -@@ -1122,7 +1122,7 @@ - /* - * return timer owned by the process, used by exit_itimers - */ --static inline void itimer_delete(struct k_itimer *timer) -+static void itimer_delete(struct k_itimer *timer) - { - unsigned long flags; - -diff -Nur linux-2.6.15.1/kernel/sched.c linux-2.6.15.1-owrt/kernel/sched.c ---- linux-2.6.15.1/kernel/sched.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/kernel/sched.c 2006-01-27 15:08:36.000000000 +0100 -@@ -512,7 +512,7 @@ - * long it was waiting to run. We also note when it began so that we - * can keep stats on how long its timeslice is. - */ --static inline void sched_info_arrive(task_t *t) -+static void sched_info_arrive(task_t *t) - { - unsigned long now = jiffies, diff = 0; - struct runqueue *rq = task_rq(t); -@@ -994,7 +994,7 @@ - * We want to under-estimate the load of migration sources, to - * balance conservatively. - */ --static inline unsigned long __source_load(int cpu, int type, enum idle_type idle) -+static unsigned long __source_load(int cpu, int type, enum idle_type idle) - { - runqueue_t *rq = cpu_rq(cpu); - unsigned long running = rq->nr_running; -@@ -1849,7 +1849,7 @@ - * pull_task - move a task from a remote runqueue to the local runqueue. - * Both runqueues must be locked. - */ --static inline -+static - void pull_task(runqueue_t *src_rq, prio_array_t *src_array, task_t *p, - runqueue_t *this_rq, prio_array_t *this_array, int this_cpu) - { -@@ -1871,7 +1871,7 @@ - /* - * can_migrate_task - may task p from runqueue rq be migrated to this_cpu? - */ --static inline -+static - int can_migrate_task(task_t *p, runqueue_t *rq, int this_cpu, - struct sched_domain *sd, enum idle_type idle, - int *all_pinned) -@@ -2357,7 +2357,7 @@ - * idle_balance is called by schedule() if this_cpu is about to become - * idle. Attempts to pull tasks from other CPUs. - */ --static inline void idle_balance(int this_cpu, runqueue_t *this_rq) -+static void idle_balance(int this_cpu, runqueue_t *this_rq) - { - struct sched_domain *sd; - -@@ -2741,7 +2741,7 @@ - resched_task(rq->idle); - } - --static inline void wake_sleeping_dependent(int this_cpu, runqueue_t *this_rq) -+static void wake_sleeping_dependent(int this_cpu, runqueue_t *this_rq) - { - struct sched_domain *tmp, *sd = NULL; - cpumask_t sibling_map; -@@ -2795,7 +2795,7 @@ - return p->time_slice * (100 - sd->per_cpu_gain) / 100; - } - --static inline int dependent_sleeper(int this_cpu, runqueue_t *this_rq) -+static int dependent_sleeper(int this_cpu, runqueue_t *this_rq) - { - struct sched_domain *tmp, *sd = NULL; - cpumask_t sibling_map; -@@ -5505,7 +5505,7 @@ - * Detach sched domains from a group of cpus specified in cpu_map - * These cpus will now be attached to the NULL domain - */ --static inline void detach_destroy_domains(const cpumask_t *cpu_map) -+static void detach_destroy_domains(const cpumask_t *cpu_map) - { - int i; - -diff -Nur linux-2.6.15.1/kernel/signal.c linux-2.6.15.1-owrt/kernel/signal.c ---- linux-2.6.15.1/kernel/signal.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/kernel/signal.c 2006-01-27 15:08:36.000000000 +0100 -@@ -465,7 +465,7 @@ - spin_unlock_irqrestore(¤t->sighand->siglock, flags); - } - --static inline int collect_signal(int sig, struct sigpending *list, siginfo_t *info) -+static int collect_signal(int sig, struct sigpending *list, siginfo_t *info) - { - struct sigqueue *q, *first = NULL; - int still_pending = 0; -@@ -1786,7 +1786,7 @@ - * We return zero if we still hold the siglock and should look - * for another signal without checking group_stop_count again. - */ --static inline int handle_group_stop(void) -+static int handle_group_stop(void) - { - int stop_count; - -diff -Nur linux-2.6.15.1/kernel/sys.c linux-2.6.15.1-owrt/kernel/sys.c ---- linux-2.6.15.1/kernel/sys.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/kernel/sys.c 2006-01-27 15:03:45.000000000 +0100 -@@ -223,6 +223,18 @@ - - EXPORT_SYMBOL(unregister_reboot_notifier); - -+#ifndef CONFIG_SECURITY -+int capable(int cap) -+{ -+ if (cap_raised(current->cap_effective, cap)) { -+ current->flags |= PF_SUPERPRIV; -+ return 1; -+ } -+ return 0; -+} -+EXPORT_SYMBOL(capable); -+#endif -+ - static int set_one_prio(struct task_struct *p, int niceval, int error) - { - int no_nice; -diff -Nur linux-2.6.15.1/kernel/time.c linux-2.6.15.1-owrt/kernel/time.c ---- linux-2.6.15.1/kernel/time.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/kernel/time.c 2006-01-27 15:04:09.000000000 +0100 -@@ -583,6 +583,67 @@ - } - EXPORT_SYMBOL_GPL(getnstimestamp); - -+/* Converts Gregorian date to seconds since 1970-01-01 00:00:00. -+ * Assumes input in normal date format, i.e. 1980-12-31 23:59:59 -+ * => year=1980, mon=12, day=31, hour=23, min=59, sec=59. -+ * -+ * [For the Julian calendar (which was used in Russia before 1917, -+ * Britain & colonies before 1752, anywhere else before 1582, -+ * and is still in use by some communities) leave out the -+ * -year/100+year/400 terms, and add 10.] -+ * -+ * This algorithm was first published by Gauss (I think). -+ * -+ * WARNING: this function will overflow on 2106-02-07 06:28:16 on -+ * machines were long is 32-bit! (However, as time_t is signed, we -+ * will already get problems at other places on 2038-01-19 03:14:08) -+ */ -+unsigned long -+mktime (unsigned int year, unsigned int mon, -+ unsigned int day, unsigned int hour, -+ unsigned int min, unsigned int sec) -+{ -+ if (0 >= (int) (mon -= 2)) { /* 1..12 -> 11,12,1..10 */ -+ mon += 12; /* Puts Feb last since it has leap day */ -+ year -= 1; -+ } -+ -+ return ((((unsigned long) -+ (year/4 - year/100 + year/400 + 367*mon/12 + day) + -+ year*365 - 719499 -+ )*24 + hour /* now have hours */ -+ )*60 + min /* now have minutes */ -+ )*60 + sec; /* finally seconds */ -+} -+ -+/** -+ * set_normalized_timespec - set timespec sec and nsec parts and normalize -+ * -+ * @ts: pointer to timespec variable to be set -+ * @sec: seconds to set -+ * @nsec: nanoseconds to set -+ * -+ * Set seconds and nanoseconds field of a timespec variable and -+ * normalize to the timespec storage format -+ * -+ * Note: The tv_nsec part is always in the range of -+ * 0 <= tv_nsec < NSEC_PER_SEC -+ * For negative values only the tv_sec field is negative ! -+ */ -+void set_normalized_timespec (struct timespec *ts, time_t sec, long nsec) -+{ -+ while (nsec >= NSEC_PER_SEC) { -+ nsec -= NSEC_PER_SEC; -+ ++sec; -+ } -+ while (nsec < 0) { -+ nsec += NSEC_PER_SEC; -+ --sec; -+ } -+ ts->tv_sec = sec; -+ ts->tv_nsec = nsec; -+} -+ - #if (BITS_PER_LONG < 64) - u64 get_jiffies_64(void) - { -diff -Nur linux-2.6.15.1/kernel/workqueue.c linux-2.6.15.1-owrt/kernel/workqueue.c ---- linux-2.6.15.1/kernel/workqueue.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/kernel/workqueue.c 2006-01-27 15:08:36.000000000 +0100 -@@ -147,7 +147,7 @@ - return ret; - } - --static inline void run_workqueue(struct cpu_workqueue_struct *cwq) -+static void run_workqueue(struct cpu_workqueue_struct *cwq) - { - unsigned long flags; - -diff -Nur linux-2.6.15.1/lib/Kconfig.debug linux-2.6.15.1-owrt/lib/Kconfig.debug ---- linux-2.6.15.1/lib/Kconfig.debug 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/lib/Kconfig.debug 2006-01-27 15:03:21.000000000 +0100 -@@ -186,6 +186,20 @@ - some architectures or if you use external debuggers. - If you don't debug the kernel, you can say N. - -+config FORCED_INLINING -+ bool "Force gcc to inline functions marked 'inline'" -+ depends on DEBUG_KERNEL -+ default y -+ help -+ This option determines if the kernel forces gcc to inline the functions -+ developers have marked 'inline'. Doing so takes away freedom from gcc to -+ do what it thinks is best, which is desirable for the gcc 3.x series of -+ compilers. The gcc 4.x series have a rewritten inlining algorithm and -+ disabling this option will generate a smaller kernel there. Hopefully -+ this algorithm is so good that allowing gcc4 to make the decision can -+ become the default in the future, until then this option is there to -+ test gcc for this. -+ - config RCU_TORTURE_TEST - tristate "torture tests for RCU" - depends on DEBUG_KERNEL -diff -Nur linux-2.6.15.1/mm/internal.h linux-2.6.15.1-owrt/mm/internal.h ---- linux-2.6.15.1/mm/internal.h 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/mm/internal.h 2006-01-27 15:04:04.000000000 +0100 -@@ -9,5 +9,20 @@ - * 2 of the License, or (at your option) any later version. - */ - --/* page_alloc.c */ --extern void set_page_refs(struct page *page, int order); -+static inline void set_page_refs(struct page *page, int order) -+{ -+#ifdef CONFIG_MMU -+ set_page_count(page, 1); -+#else -+ int i; -+ -+ /* -+ * We need to reference all the pages for this order, otherwise if -+ * anyone accesses one of the pages with (get/put) it will be freed. -+ * - eg: access_process_vm() -+ */ -+ for (i = 0; i < (1 << order); i++) -+ set_page_count(page + i, 1); -+#endif /* CONFIG_MMU */ -+} -+ -diff -Nur linux-2.6.15.1/mm/page_alloc.c linux-2.6.15.1-owrt/mm/page_alloc.c ---- linux-2.6.15.1/mm/page_alloc.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/mm/page_alloc.c 2006-01-27 15:04:04.000000000 +0100 -@@ -451,23 +451,6 @@ - return page; - } - --void set_page_refs(struct page *page, int order) --{ --#ifdef CONFIG_MMU -- set_page_count(page, 1); --#else -- int i; -- -- /* -- * We need to reference all the pages for this order, otherwise if -- * anyone accesses one of the pages with (get/put) it will be freed. -- * - eg: access_process_vm() -- */ -- for (i = 0; i < (1 << order); i++) -- set_page_count(page + i, 1); --#endif /* CONFIG_MMU */ --} -- - /* - * This page is about to be returned from the page allocator - */ -diff -Nur linux-2.6.15.1/net/ieee80211/ieee80211_module.c linux-2.6.15.1-owrt/net/ieee80211/ieee80211_module.c ---- linux-2.6.15.1/net/ieee80211/ieee80211_module.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/net/ieee80211/ieee80211_module.c 2006-01-27 15:08:36.000000000 +0100 -@@ -62,7 +62,7 @@ - MODULE_AUTHOR(DRV_COPYRIGHT); - MODULE_LICENSE("GPL"); - --static inline int ieee80211_networks_allocate(struct ieee80211_device *ieee) -+static int ieee80211_networks_allocate(struct ieee80211_device *ieee) - { - if (ieee->networks) - return 0; -@@ -90,7 +90,7 @@ - ieee->networks = NULL; - } - --static inline void ieee80211_networks_initialize(struct ieee80211_device *ieee) -+static void ieee80211_networks_initialize(struct ieee80211_device *ieee) - { - int i; - -diff -Nur linux-2.6.15.1/net/ieee80211/ieee80211_rx.c linux-2.6.15.1-owrt/net/ieee80211/ieee80211_rx.c ---- linux-2.6.15.1/net/ieee80211/ieee80211_rx.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/net/ieee80211/ieee80211_rx.c 2006-01-27 15:08:36.000000000 +0100 -@@ -35,7 +35,7 @@ - - #include <net/ieee80211.h> - --static inline void ieee80211_monitor_rx(struct ieee80211_device *ieee, -+static void ieee80211_monitor_rx(struct ieee80211_device *ieee, - struct sk_buff *skb, - struct ieee80211_rx_stats *rx_stats) - { -@@ -165,7 +165,7 @@ - * Responsible for handling management control frames - * - * Called by ieee80211_rx */ --static inline int -+static int - ieee80211_rx_frame_mgmt(struct ieee80211_device *ieee, struct sk_buff *skb, - struct ieee80211_rx_stats *rx_stats, u16 type, - u16 stype) -@@ -266,7 +266,7 @@ - } - - /* Called only as a tasklet (software IRQ), by ieee80211_rx */ --static inline int -+static int - ieee80211_rx_frame_decrypt(struct ieee80211_device *ieee, struct sk_buff *skb, - struct ieee80211_crypt_data *crypt) - { -@@ -297,7 +297,7 @@ - } - - /* Called only as a tasklet (software IRQ), by ieee80211_rx */ --static inline int -+static int - ieee80211_rx_frame_decrypt_msdu(struct ieee80211_device *ieee, - struct sk_buff *skb, int keyidx, - struct ieee80211_crypt_data *crypt) -@@ -1157,7 +1157,7 @@ - - /***************************************************/ - --static inline int ieee80211_network_init(struct ieee80211_device *ieee, struct ieee80211_probe_response -+static int ieee80211_network_init(struct ieee80211_device *ieee, struct ieee80211_probe_response - *beacon, - struct ieee80211_network *network, - struct ieee80211_rx_stats *stats) -@@ -1236,7 +1236,7 @@ - !memcmp(src->ssid, dst->ssid, src->ssid_len)); - } - --static inline void update_network(struct ieee80211_network *dst, -+static void update_network(struct ieee80211_network *dst, - struct ieee80211_network *src) - { - int qos_active; -@@ -1295,7 +1295,7 @@ - return (WLAN_FC_GET_STYPE(le16_to_cpu(fc)) == IEEE80211_STYPE_BEACON); - } - --static inline void ieee80211_process_probe_response(struct ieee80211_device -+static void ieee80211_process_probe_response(struct ieee80211_device - *ieee, struct - ieee80211_probe_response - *beacon, struct ieee80211_rx_stats -diff -Nur linux-2.6.15.1/net/ieee80211/ieee80211_tx.c linux-2.6.15.1-owrt/net/ieee80211/ieee80211_tx.c ---- linux-2.6.15.1/net/ieee80211/ieee80211_tx.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/net/ieee80211/ieee80211_tx.c 2006-01-27 15:08:36.000000000 +0100 -@@ -127,7 +127,7 @@ - static u8 P802_1H_OUI[P80211_OUI_LEN] = { 0x00, 0x00, 0xf8 }; - static u8 RFC1042_OUI[P80211_OUI_LEN] = { 0x00, 0x00, 0x00 }; - --static inline int ieee80211_copy_snap(u8 * data, u16 h_proto) -+static int ieee80211_copy_snap(u8 * data, u16 h_proto) - { - struct ieee80211_snap_hdr *snap; - u8 *oui; -@@ -150,7 +150,7 @@ - return SNAP_SIZE + sizeof(u16); - } - --static inline int ieee80211_encrypt_fragment(struct ieee80211_device *ieee, -+static int ieee80211_encrypt_fragment(struct ieee80211_device *ieee, - struct sk_buff *frag, int hdr_len) - { - struct ieee80211_crypt_data *crypt = ieee->crypt[ieee->tx_keyidx]; -diff -Nur linux-2.6.15.1/net/ieee80211/ieee80211_wx.c linux-2.6.15.1-owrt/net/ieee80211/ieee80211_wx.c ---- linux-2.6.15.1/net/ieee80211/ieee80211_wx.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/net/ieee80211/ieee80211_wx.c 2006-01-27 15:08:36.000000000 +0100 -@@ -42,7 +42,7 @@ - }; - - #define MAX_CUSTOM_LEN 64 --static inline char *ipw2100_translate_scan(struct ieee80211_device *ieee, -+static char *ipw2100_translate_scan(struct ieee80211_device *ieee, - char *start, char *stop, - struct ieee80211_network *network) - { -diff -Nur linux-2.6.15.1/net/netfilter/nfnetlink.c linux-2.6.15.1-owrt/net/netfilter/nfnetlink.c ---- linux-2.6.15.1/net/netfilter/nfnetlink.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/net/netfilter/nfnetlink.c 2006-01-27 15:08:36.000000000 +0100 -@@ -212,7 +212,7 @@ - } - - /* Process one complete nfnetlink message. */ --static inline int nfnetlink_rcv_msg(struct sk_buff *skb, -+static int nfnetlink_rcv_msg(struct sk_buff *skb, - struct nlmsghdr *nlh, int *errp) - { - struct nfnl_callback *nc; -diff -Nur linux-2.6.15.1/security/selinux/hooks.c linux-2.6.15.1-owrt/security/selinux/hooks.c ---- linux-2.6.15.1/security/selinux/hooks.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/security/selinux/hooks.c 2006-01-27 15:08:36.000000000 +0100 -@@ -1018,7 +1018,7 @@ - has the same SID as the process. If av is zero, then - access to the file is not checked, e.g. for cases - where only the descriptor is affected like seek. */ --static inline int file_has_perm(struct task_struct *tsk, -+static int file_has_perm(struct task_struct *tsk, - struct file *file, - u32 av) - { -diff -Nur linux-2.6.15.1/sound/oss/esssolo1.c linux-2.6.15.1-owrt/sound/oss/esssolo1.c ---- linux-2.6.15.1/sound/oss/esssolo1.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/sound/oss/esssolo1.c 2006-01-27 15:08:36.000000000 +0100 -@@ -515,7 +515,7 @@ - return 0; - } - --static inline int prog_dmabuf_dac(struct solo1_state *s) -+static int prog_dmabuf_dac(struct solo1_state *s) - { - unsigned long va; - int c; -diff -Nur linux-2.6.15.1/sound/pci/es1968.c linux-2.6.15.1-owrt/sound/pci/es1968.c ---- linux-2.6.15.1/sound/pci/es1968.c 2006-01-15 07:16:02.000000000 +0100 -+++ linux-2.6.15.1-owrt/sound/pci/es1968.c 2006-01-27 15:13:39.000000000 +0100 -@@ -731,7 +731,7 @@ - apu_data_set(chip, data); - } - --static inline void apu_set_register(es1968_t *chip, u16 channel, u8 reg, u16 data) -+static void apu_set_register(es1968_t *chip, u16 channel, u8 reg, u16 data) - { - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); -diff -Nur linux-2.6.15.1/arch/mips/Makefile linux-2.6.15.1-owrt/arch/mips/Makefile ---- linux-2.6.15.1/arch/mips/Makefile 2006-01-21 17:13:20.000000000 +0100 -+++ linux-2.6.15.1-owrt/arch/mips/Makefile 2006-01-28 11:37:25.000000000 +0100 -@@ -93,7 +93,6 @@ - # - cflags-y += -I $(TOPDIR)/include/asm/gcc - cflags-y += -G 0 -mno-abicalls -fno-pic -pipe --cflags-y += $(call cc-option, -finline-limit=100000) - LDFLAGS_vmlinux += -G 0 -static -n -nostdlib - MODFLAGS += -mlong-calls - --- linux-2.6.15.1.old/include/asm-mips/system.h 2006-01-28 15:02:54.481032280 +0100 +++ linux-2.6.15.1.dev/include/asm-mips/system.h 2006-01-28 14:47:51.634285848 +0100 @@ -273,7 +273,7 @@ diff --git a/target/linux/generic-2.6/patches/100-netfilter_layer7_2.1nbd.patch b/target/linux/generic-2.6/patches/100-netfilter_layer7_2.1nbd.patch index ba46de31b..ed8009cc6 100644 --- a/target/linux/generic-2.6/patches/100-netfilter_layer7_2.1nbd.patch +++ b/target/linux/generic-2.6/patches/100-netfilter_layer7_2.1nbd.patch @@ -1,6 +1,6 @@ -diff -urN linux.old/include/linux/netfilter_ipv4/ip_conntrack.h linux.dev/include/linux/netfilter_ipv4/ip_conntrack.h ---- linux.old/include/linux/netfilter_ipv4/ip_conntrack.h 2006-01-31 20:18:24.952957500 +0100 -+++ linux.dev/include/linux/netfilter_ipv4/ip_conntrack.h 2006-01-31 19:52:21.869393000 +0100 +diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ip_conntrack.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_conntrack.h +--- linux-2.6.16/include/linux/netfilter_ipv4/ip_conntrack.h 2006-03-20 06:53:29.000000000 +0100 ++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_conntrack.h 2006-03-20 13:48:06.000000000 +0100 @@ -122,6 +122,15 @@ /* Traversed often, so hopefully in different cacheline to top */ /* These are my tuples; original and reply */ @@ -17,9 +17,9 @@ diff -urN linux.old/include/linux/netfilter_ipv4/ip_conntrack.h linux.dev/includ }; struct ip_conntrack_expect -diff -urN linux.old/include/linux/netfilter_ipv4/ipt_layer7.h linux.dev/include/linux/netfilter_ipv4/ipt_layer7.h ---- linux.old/include/linux/netfilter_ipv4/ipt_layer7.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux.dev/include/linux/netfilter_ipv4/ipt_layer7.h 2006-01-31 20:04:29.500745000 +0100 +diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ipt_layer7.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ipt_layer7.h +--- linux-2.6.16/include/linux/netfilter_ipv4/ipt_layer7.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ipt_layer7.h 2006-03-20 13:48:06.000000000 +0100 @@ -0,0 +1,27 @@ +/* + By Matthew Strait <quadong@users.sf.net>, Dec 2003. @@ -48,49 +48,9 @@ diff -urN linux.old/include/linux/netfilter_ipv4/ipt_layer7.h linux.dev/include/ +}; + +#endif /* _IPT_LAYER7_H */ -diff -urN linux.old/net/ipv4/netfilter/Kconfig linux.dev/net/ipv4/netfilter/Kconfig ---- linux.old/net/ipv4/netfilter/Kconfig 2006-01-31 20:18:24.960958000 +0100 -+++ linux.dev/net/ipv4/netfilter/Kconfig 2006-01-31 19:52:21.869393000 +0100 -@@ -219,6 +219,24 @@ - - To compile it as a module, choose M here. If unsure, say N. - -+config IP_NF_MATCH_LAYER7 -+ tristate "Layer 7 match support (EXPERIMENTAL)" -+ depends on IP_NF_IPTABLES && IP_NF_CT_ACCT && IP_NF_CONNTRACK && EXPERIMENTAL -+ help -+ Say Y if you want to be able to classify connections (and their -+ packets) based on regular expression matching of their application -+ layer data. This is one way to classify applications such as -+ peer-to-peer filesharing systems that do not always use the same -+ port. -+ -+ To compile it as a module, choose M here. If unsure, say N. -+ -+config IP_NF_MATCH_LAYER7_DEBUG -+ bool "Layer 7 debugging output" -+ depends on IP_NF_MATCH_LAYER7 -+ help -+ Say Y to get lots of debugging output. -+ - config IP_NF_MATCH_PKTTYPE - tristate "Packet type match support" - depends on IP_NF_IPTABLES -diff -urN linux.old/net/ipv4/netfilter/Makefile linux.dev/net/ipv4/netfilter/Makefile ---- linux.old/net/ipv4/netfilter/Makefile 2006-01-31 20:18:24.960958000 +0100 -+++ linux.dev/net/ipv4/netfilter/Makefile 2006-01-31 19:52:21.873393250 +0100 -@@ -77,6 +77,8 @@ - obj-$(CONFIG_IP_NF_MATCH_COMMENT) += ipt_comment.o - obj-$(CONFIG_IP_NF_MATCH_STRING) += ipt_string.o - -+obj-$(CONFIG_IP_NF_MATCH_LAYER7) += ipt_layer7.o -+ - # targets - obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o - obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TOS.o -diff -urN linux.old/net/ipv4/netfilter/ip_conntrack_core.c linux.dev/net/ipv4/netfilter/ip_conntrack_core.c ---- linux.old/net/ipv4/netfilter/ip_conntrack_core.c 2006-01-31 20:18:24.964958250 +0100 -+++ linux.dev/net/ipv4/netfilter/ip_conntrack_core.c 2006-01-31 19:52:21.873393250 +0100 +diff -Nur linux-2.6.16/net/ipv4/netfilter/ip_conntrack_core.c linux-2.6.16-owrt/net/ipv4/netfilter/ip_conntrack_core.c +--- linux-2.6.16/net/ipv4/netfilter/ip_conntrack_core.c 2006-03-20 06:53:29.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/ip_conntrack_core.c 2006-03-20 13:48:06.000000000 +0100 @@ -339,6 +339,13 @@ * too. */ ip_ct_remove_expectations(ct); @@ -105,10 +65,10 @@ diff -urN linux.old/net/ipv4/netfilter/ip_conntrack_core.c linux.dev/net/ipv4/ne /* We overload first tuple to link into unconfirmed list. */ if (!is_confirmed(ct)) { BUG_ON(list_empty(&ct->tuplehash[IP_CT_DIR_ORIGINAL].list)); -diff -urN linux.old/net/ipv4/netfilter/ip_conntrack_standalone.c linux.dev/net/ipv4/netfilter/ip_conntrack_standalone.c ---- linux.old/net/ipv4/netfilter/ip_conntrack_standalone.c 2006-01-31 20:18:24.964958250 +0100 -+++ linux.dev/net/ipv4/netfilter/ip_conntrack_standalone.c 2006-01-31 19:52:21.877393500 +0100 -@@ -188,6 +188,12 @@ +diff -Nur linux-2.6.16/net/ipv4/netfilter/ip_conntrack_standalone.c linux-2.6.16-owrt/net/ipv4/netfilter/ip_conntrack_standalone.c +--- linux-2.6.16/net/ipv4/netfilter/ip_conntrack_standalone.c 2006-03-20 06:53:29.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/ip_conntrack_standalone.c 2006-03-20 13:48:06.000000000 +0100 +@@ -189,6 +189,12 @@ return -ENOSPC; #endif @@ -121,9 +81,9 @@ diff -urN linux.old/net/ipv4/netfilter/ip_conntrack_standalone.c linux.dev/net/i if (seq_printf(s, "use=%u\n", atomic_read(&conntrack->ct_general.use))) return -ENOSPC; -diff -urN linux.old/net/ipv4/netfilter/ipt_layer7.c linux.dev/net/ipv4/netfilter/ipt_layer7.c ---- linux.old/net/ipv4/netfilter/ipt_layer7.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux.dev/net/ipv4/netfilter/ipt_layer7.c 2006-01-31 20:55:41.145545750 +0100 +diff -Nur linux-2.6.16/net/ipv4/netfilter/ipt_layer7.c linux-2.6.16-owrt/net/ipv4/netfilter/ipt_layer7.c +--- linux-2.6.16/net/ipv4/netfilter/ipt_layer7.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/ipt_layer7.c 2006-03-20 13:48:06.000000000 +0100 @@ -0,0 +1,592 @@ +/* + Kernel module to match application layer (OSI layer 7) @@ -717,9 +677,49 @@ diff -urN linux.old/net/ipv4/netfilter/ipt_layer7.c linux.dev/net/ipv4/netfilter + +module_init(init); +module_exit(fini); -diff -urN linux.old/net/ipv4/netfilter/regexp/regexp.c linux.dev/net/ipv4/netfilter/regexp/regexp.c ---- linux.old/net/ipv4/netfilter/regexp/regexp.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux.dev/net/ipv4/netfilter/regexp/regexp.c 2006-01-31 19:52:21.885394000 +0100 +diff -Nur linux-2.6.16/net/ipv4/netfilter/Kconfig linux-2.6.16-owrt/net/ipv4/netfilter/Kconfig +--- linux-2.6.16/net/ipv4/netfilter/Kconfig 2006-03-20 06:53:29.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/Kconfig 2006-03-20 13:48:39.000000000 +0100 +@@ -201,6 +201,24 @@ + + To compile it as a module, choose M here. If unsure, say N. + ++config IP_NF_MATCH_LAYER7 ++ tristate "Layer 7 match support (EXPERIMENTAL)" ++ depends on IP_NF_IPTABLES && IP_NF_CT_ACCT && IP_NF_CONNTRACK && EXPERIMENTAL ++ help ++ Say Y if you want to be able to classify connections (and their ++ packets) based on regular expression matching of their application ++ layer data. This is one way to classify applications such as ++ peer-to-peer filesharing systems that do not always use the same ++ port. ++ ++ To compile it as a module, choose M here. If unsure, say N. ++ ++config IP_NF_MATCH_LAYER7_DEBUG ++ bool "Layer 7 debugging output" ++ depends on IP_NF_MATCH_LAYER7 ++ help ++ Say Y to get lots of debugging output. ++ + config IP_NF_MATCH_MULTIPORT + tristate "Multiple port match support" + depends on IP_NF_IPTABLES +diff -Nur linux-2.6.16/net/ipv4/netfilter/Makefile linux-2.6.16-owrt/net/ipv4/netfilter/Makefile +--- linux-2.6.16/net/ipv4/netfilter/Makefile 2006-03-20 06:53:29.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/Makefile 2006-03-20 13:48:06.000000000 +0100 +@@ -59,6 +59,8 @@ + obj-$(CONFIG_IP_NF_MATCH_ADDRTYPE) += ipt_addrtype.o + obj-$(CONFIG_IP_NF_MATCH_POLICY) += ipt_policy.o + ++obj-$(CONFIG_IP_NF_MATCH_LAYER7) += ipt_layer7.o ++ + # targets + obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o + obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TOS.o +diff -Nur linux-2.6.16/net/ipv4/netfilter/regexp/regexp.c linux-2.6.16-owrt/net/ipv4/netfilter/regexp/regexp.c +--- linux-2.6.16/net/ipv4/netfilter/regexp/regexp.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/regexp/regexp.c 2006-03-20 13:48:06.000000000 +0100 @@ -0,0 +1,1195 @@ +/* + * regcomp and regexec -- regsub and regerror are elsewhere @@ -1916,9 +1916,9 @@ diff -urN linux.old/net/ipv4/netfilter/regexp/regexp.c linux.dev/net/ipv4/netfil +#endif + + -diff -urN linux.old/net/ipv4/netfilter/regexp/regexp.h linux.dev/net/ipv4/netfilter/regexp/regexp.h ---- linux.old/net/ipv4/netfilter/regexp/regexp.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux.dev/net/ipv4/netfilter/regexp/regexp.h 2006-01-31 19:52:21.885394000 +0100 +diff -Nur linux-2.6.16/net/ipv4/netfilter/regexp/regexp.h linux-2.6.16-owrt/net/ipv4/netfilter/regexp/regexp.h +--- linux-2.6.16/net/ipv4/netfilter/regexp/regexp.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/regexp/regexp.h 2006-03-20 13:48:06.000000000 +0100 @@ -0,0 +1,41 @@ +/* + * Definitions etc. for regexp(3) routines. @@ -1961,18 +1961,18 @@ diff -urN linux.old/net/ipv4/netfilter/regexp/regexp.h linux.dev/net/ipv4/netfil +void regerror(char *s); + +#endif -diff -urN linux.old/net/ipv4/netfilter/regexp/regmagic.h linux.dev/net/ipv4/netfilter/regexp/regmagic.h ---- linux.old/net/ipv4/netfilter/regexp/regmagic.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux.dev/net/ipv4/netfilter/regexp/regmagic.h 2006-01-31 19:52:21.885394000 +0100 +diff -Nur linux-2.6.16/net/ipv4/netfilter/regexp/regmagic.h linux-2.6.16-owrt/net/ipv4/netfilter/regexp/regmagic.h +--- linux-2.6.16/net/ipv4/netfilter/regexp/regmagic.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/regexp/regmagic.h 2006-03-20 13:48:06.000000000 +0100 @@ -0,0 +1,5 @@ +/* + * The first byte of the regexp internal "program" is actually this magic + * number; the start node begins in the second byte. + */ +#define MAGIC 0234 -diff -urN linux.old/net/ipv4/netfilter/regexp/regsub.c linux.dev/net/ipv4/netfilter/regexp/regsub.c ---- linux.old/net/ipv4/netfilter/regexp/regsub.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux.dev/net/ipv4/netfilter/regexp/regsub.c 2006-01-31 19:52:21.885394000 +0100 +diff -Nur linux-2.6.16/net/ipv4/netfilter/regexp/regsub.c linux-2.6.16-owrt/net/ipv4/netfilter/regexp/regsub.c +--- linux-2.6.16/net/ipv4/netfilter/regexp/regsub.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/regexp/regsub.c 2006-03-20 13:48:06.000000000 +0100 @@ -0,0 +1,95 @@ +/* + * regsub diff --git a/target/linux/generic-2.6/patches/103-netfilter-ipset.patch b/target/linux/generic-2.6/patches/103-netfilter-ipset.patch index 54e2828a1..fb75c8b7e 100644 --- a/target/linux/generic-2.6/patches/103-netfilter-ipset.patch +++ b/target/linux/generic-2.6/patches/103-netfilter-ipset.patch @@ -1,6 +1,6 @@ -diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set.h linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set.h ---- linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set.h 2005-09-20 13:11:38.782384000 +0200 +diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ip_set.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set.h +--- linux-2.6.16/include/linux/netfilter_ipv4/ip_set.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set.h 2006-03-20 12:53:59.000000000 +0100 @@ -0,0 +1,489 @@ +#ifndef _IP_SET_H +#define _IP_SET_H @@ -491,9 +491,9 @@ diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set.h linux-2.6.12.5-ip +#endif /* __KERNEL__ */ + +#endif /*_IP_SET_H*/ -diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_iphash.h linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_iphash.h ---- linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_iphash.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_iphash.h 2005-09-20 13:11:38.782384000 +0200 +diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ip_set_iphash.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_iphash.h +--- linux-2.6.16/include/linux/netfilter_ipv4/ip_set_iphash.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_iphash.h 2006-03-20 12:53:59.000000000 +0100 @@ -0,0 +1,30 @@ +#ifndef __IP_SET_IPHASH_H +#define __IP_SET_IPHASH_H @@ -525,9 +525,9 @@ diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_iphash.h linux-2.6. +}; + +#endif /* __IP_SET_IPHASH_H */ -diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_ipmap.h linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_ipmap.h ---- linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_ipmap.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_ipmap.h 2005-09-20 13:11:38.782384000 +0200 +diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ip_set_ipmap.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_ipmap.h +--- linux-2.6.16/include/linux/netfilter_ipv4/ip_set_ipmap.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_ipmap.h 2006-03-20 12:53:59.000000000 +0100 @@ -0,0 +1,56 @@ +#ifndef __IP_SET_IPMAP_H +#define __IP_SET_IPMAP_H @@ -585,9 +585,9 @@ diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_ipmap.h linux-2.6.1 +} + +#endif /* __IP_SET_IPMAP_H */ -diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_iptree.h linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_iptree.h ---- linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_iptree.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_iptree.h 2005-09-20 13:11:38.782384000 +0200 +diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ip_set_iptree.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_iptree.h +--- linux-2.6.16/include/linux/netfilter_ipv4/ip_set_iptree.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_iptree.h 2006-03-20 12:53:59.000000000 +0100 @@ -0,0 +1,39 @@ +#ifndef __IP_SET_IPTREE_H +#define __IP_SET_IPTREE_H @@ -628,9 +628,9 @@ diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_iptree.h linux-2.6. +}; + +#endif /* __IP_SET_IPTREE_H */ -diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_jhash.h linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_jhash.h ---- linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_jhash.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_jhash.h 2005-09-20 13:11:38.782384000 +0200 +diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ip_set_jhash.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_jhash.h +--- linux-2.6.16/include/linux/netfilter_ipv4/ip_set_jhash.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_jhash.h 2006-03-20 12:53:59.000000000 +0100 @@ -0,0 +1,148 @@ +#ifndef _LINUX_IPSET_JHASH_H +#define _LINUX_IPSET_JHASH_H @@ -780,9 +780,9 @@ diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_jhash.h linux-2.6.1 +} + +#endif /* _LINUX_IPSET_JHASH_H */ -diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_macipmap.h linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_macipmap.h ---- linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_macipmap.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_macipmap.h 2005-09-20 13:11:38.782384000 +0200 +diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ip_set_macipmap.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_macipmap.h +--- linux-2.6.16/include/linux/netfilter_ipv4/ip_set_macipmap.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_macipmap.h 2006-03-20 12:53:59.000000000 +0100 @@ -0,0 +1,38 @@ +#ifndef __IP_SET_MACIPMAP_H +#define __IP_SET_MACIPMAP_H @@ -822,9 +822,9 @@ diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_macipmap.h linux-2. +}; + +#endif /* __IP_SET_MACIPMAP_H */ -diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_malloc.h linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_malloc.h ---- linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_malloc.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_malloc.h 2005-09-20 13:11:38.782384000 +0200 +diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ip_set_malloc.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_malloc.h +--- linux-2.6.16/include/linux/netfilter_ipv4/ip_set_malloc.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_malloc.h 2006-03-20 12:53:59.000000000 +0100 @@ -0,0 +1,42 @@ +#ifndef _IP_SET_MALLOC_H +#define _IP_SET_MALLOC_H @@ -868,9 +868,9 @@ diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_malloc.h linux-2.6. +#endif /* __KERNEL__ */ + +#endif /*_IP_SET_MALLOC_H*/ -diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_nethash.h linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_nethash.h ---- linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_nethash.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_nethash.h 2005-09-20 13:11:38.782384000 +0200 +diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ip_set_nethash.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_nethash.h +--- linux-2.6.16/include/linux/netfilter_ipv4/ip_set_nethash.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_nethash.h 2006-03-20 12:53:59.000000000 +0100 @@ -0,0 +1,55 @@ +#ifndef __IP_SET_NETHASH_H +#define __IP_SET_NETHASH_H @@ -927,9 +927,9 @@ diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_nethash.h linux-2.6 +} + +#endif /* __IP_SET_NETHASH_H */ -diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_portmap.h linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_portmap.h ---- linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_portmap.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_portmap.h 2005-09-20 13:11:38.782384000 +0200 +diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ip_set_portmap.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_portmap.h +--- linux-2.6.16/include/linux/netfilter_ipv4/ip_set_portmap.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_portmap.h 2006-03-20 12:53:59.000000000 +0100 @@ -0,0 +1,25 @@ +#ifndef __IP_SET_PORTMAP_H +#define __IP_SET_PORTMAP_H @@ -956,9 +956,9 @@ diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_portmap.h linux-2.6 +}; + +#endif /* __IP_SET_PORTMAP_H */ -diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_prime.h linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_prime.h ---- linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_prime.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ip_set_prime.h 2005-09-20 13:11:38.782384000 +0200 +diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ip_set_prime.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_prime.h +--- linux-2.6.16/include/linux/netfilter_ipv4/ip_set_prime.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ip_set_prime.h 2006-03-20 12:53:59.000000000 +0100 @@ -0,0 +1,34 @@ +#ifndef __IP_SET_PRIME_H +#define __IP_SET_PRIME_H @@ -994,9 +994,9 @@ diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ip_set_prime.h linux-2.6.1 +} + +#endif /* __IP_SET_PRIME_H */ -diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ipt_set.h linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ipt_set.h ---- linux-2.6.12.5/include/linux/netfilter_ipv4/ipt_set.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.12.5-ipset/include/linux/netfilter_ipv4/ipt_set.h 2005-09-20 13:11:38.786384250 +0200 +diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ipt_set.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ipt_set.h +--- linux-2.6.16/include/linux/netfilter_ipv4/ipt_set.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ipt_set.h 2006-03-20 12:53:59.000000000 +0100 @@ -0,0 +1,21 @@ +#ifndef _IPT_SET_H +#define _IPT_SET_H @@ -1019,9 +1019,9 @@ diff -Nur linux-2.6.12.5/include/linux/netfilter_ipv4/ipt_set.h linux-2.6.12.5-i +}; + +#endif /*_IPT_SET_H*/ -diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set.c linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set.c ---- linux-2.6.12.5/net/ipv4/netfilter/ip_set.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set.c 2005-09-20 13:11:38.786384250 +0200 +diff -Nur linux-2.6.16/net/ipv4/netfilter/ip_set.c linux-2.6.16-owrt/net/ipv4/netfilter/ip_set.c +--- linux-2.6.16/net/ipv4/netfilter/ip_set.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/ip_set.c 2006-03-20 12:53:59.000000000 +0100 @@ -0,0 +1,1989 @@ +/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu> + * Patrick Schaaf <bof@bof.de> @@ -3012,9 +3012,9 @@ diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set.c linux-2.6.12.5-ipset/net/ip + +module_init(init); +module_exit(fini); -diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_iphash.c linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_iphash.c ---- linux-2.6.12.5/net/ipv4/netfilter/ip_set_iphash.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_iphash.c 2005-09-20 13:11:38.786384250 +0200 +diff -Nur linux-2.6.16/net/ipv4/netfilter/ip_set_iphash.c linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_iphash.c +--- linux-2.6.16/net/ipv4/netfilter/ip_set_iphash.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_iphash.c 2006-03-20 12:53:59.000000000 +0100 @@ -0,0 +1,379 @@ +/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> + * @@ -3395,9 +3395,9 @@ diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_iphash.c linux-2.6.12.5-ipset + +module_init(init); +module_exit(fini); -diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_ipmap.c linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_ipmap.c ---- linux-2.6.12.5/net/ipv4/netfilter/ip_set_ipmap.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_ipmap.c 2005-09-20 13:11:38.802385250 +0200 +diff -Nur linux-2.6.16/net/ipv4/netfilter/ip_set_ipmap.c linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_ipmap.c +--- linux-2.6.16/net/ipv4/netfilter/ip_set_ipmap.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_ipmap.c 2006-03-20 12:53:59.000000000 +0100 @@ -0,0 +1,313 @@ +/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu> + * Patrick Schaaf <bof@bof.de> @@ -3712,9 +3712,9 @@ diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_ipmap.c linux-2.6.12.5-ipset/ + +module_init(init); +module_exit(fini); -diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_iptree.c linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_iptree.c ---- linux-2.6.12.5/net/ipv4/netfilter/ip_set_iptree.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_iptree.c 2005-09-20 13:11:38.802385250 +0200 +diff -Nur linux-2.6.16/net/ipv4/netfilter/ip_set_iptree.c linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_iptree.c +--- linux-2.6.16/net/ipv4/netfilter/ip_set_iptree.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_iptree.c 2006-03-20 12:53:59.000000000 +0100 @@ -0,0 +1,510 @@ +/* Copyright (C) 2005 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> + * @@ -4226,9 +4226,9 @@ diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_iptree.c linux-2.6.12.5-ipset + +module_init(init); +module_exit(fini); -diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_macipmap.c linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_macipmap.c ---- linux-2.6.12.5/net/ipv4/netfilter/ip_set_macipmap.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_macipmap.c 2005-09-20 13:11:38.802385250 +0200 +diff -Nur linux-2.6.16/net/ipv4/netfilter/ip_set_macipmap.c linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_macipmap.c +--- linux-2.6.16/net/ipv4/netfilter/ip_set_macipmap.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_macipmap.c 2006-03-20 12:53:59.000000000 +0100 @@ -0,0 +1,338 @@ +/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu> + * Patrick Schaaf <bof@bof.de> @@ -4568,9 +4568,9 @@ diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_macipmap.c linux-2.6.12.5-ips + +module_init(init); +module_exit(fini); -diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_nethash.c linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_nethash.c ---- linux-2.6.12.5/net/ipv4/netfilter/ip_set_nethash.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_nethash.c 2005-09-20 13:11:38.802385250 +0200 +diff -Nur linux-2.6.16/net/ipv4/netfilter/ip_set_nethash.c linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_nethash.c +--- linux-2.6.16/net/ipv4/netfilter/ip_set_nethash.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_nethash.c 2006-03-20 12:53:59.000000000 +0100 @@ -0,0 +1,449 @@ +/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> + * @@ -5021,9 +5021,9 @@ diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_nethash.c linux-2.6.12.5-ipse + +module_init(init); +module_exit(fini); -diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_portmap.c linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_portmap.c ---- linux-2.6.12.5/net/ipv4/netfilter/ip_set_portmap.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.12.5-ipset/net/ipv4/netfilter/ip_set_portmap.c 2005-09-20 13:11:38.802385250 +0200 +diff -Nur linux-2.6.16/net/ipv4/netfilter/ip_set_portmap.c linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_portmap.c +--- linux-2.6.16/net/ipv4/netfilter/ip_set_portmap.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/ip_set_portmap.c 2006-03-20 12:53:59.000000000 +0100 @@ -0,0 +1,325 @@ +/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> + * @@ -5350,9 +5350,9 @@ diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ip_set_portmap.c linux-2.6.12.5-ipse + +module_init(init); +module_exit(fini); -diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ipt_set.c linux-2.6.12.5-ipset/net/ipv4/netfilter/ipt_set.c ---- linux-2.6.12.5/net/ipv4/netfilter/ipt_set.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.12.5-ipset/net/ipv4/netfilter/ipt_set.c 2005-09-20 13:11:38.802385250 +0200 +diff -Nur linux-2.6.16/net/ipv4/netfilter/ipt_set.c linux-2.6.16-owrt/net/ipv4/netfilter/ipt_set.c +--- linux-2.6.16/net/ipv4/netfilter/ipt_set.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/ipt_set.c 2006-03-20 12:53:59.000000000 +0100 @@ -0,0 +1,112 @@ +/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu> + * Patrick Schaaf <bof@bof.de> @@ -5466,9 +5466,9 @@ diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ipt_set.c linux-2.6.12.5-ipset/net/i + +module_init(init); +module_exit(fini); -diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ipt_SET.c linux-2.6.12.5-ipset/net/ipv4/netfilter/ipt_SET.c ---- linux-2.6.12.5/net/ipv4/netfilter/ipt_SET.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.12.5-ipset/net/ipv4/netfilter/ipt_SET.c 2005-09-20 13:11:38.802385250 +0200 +diff -Nur linux-2.6.16/net/ipv4/netfilter/ipt_SET.c linux-2.6.16-owrt/net/ipv4/netfilter/ipt_SET.c +--- linux-2.6.16/net/ipv4/netfilter/ipt_SET.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/ipt_SET.c 2006-03-20 12:53:59.000000000 +0100 @@ -0,0 +1,128 @@ +/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu> + * Patrick Schaaf <bof@bof.de> @@ -5598,10 +5598,10 @@ diff -Nur linux-2.6.12.5/net/ipv4/netfilter/ipt_SET.c linux-2.6.12.5-ipset/net/i + +module_init(init); +module_exit(fini); -diff -Nur linux-2.6.12.5/net/ipv4/netfilter/Kconfig linux-2.6.12.5-ipset/net/ipv4/netfilter/Kconfig ---- linux-2.6.12.5/net/ipv4/netfilter/Kconfig 2005-08-15 02:20:18.000000000 +0200 -+++ linux-2.6.12.5-ipset/net/ipv4/netfilter/Kconfig 2005-09-20 13:11:38.802385250 +0200 -@@ -692,5 +692,106 @@ +diff -Nur linux-2.6.16/net/ipv4/netfilter/Kconfig linux-2.6.16-owrt/net/ipv4/netfilter/Kconfig +--- linux-2.6.16/net/ipv4/netfilter/Kconfig 2006-03-20 12:52:42.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/Kconfig 2006-03-20 12:53:59.000000000 +0100 +@@ -623,5 +623,106 @@ Allows altering the ARP packet payload: source and destination hardware and network addresses. @@ -5708,21 +5708,21 @@ diff -Nur linux-2.6.12.5/net/ipv4/netfilter/Kconfig linux-2.6.12.5-ipset/net/ipv + endmenu -diff -Nur linux-2.6.12.5/net/ipv4/netfilter/Makefile linux-2.6.12.5-ipset/net/ipv4/netfilter/Makefile ---- linux-2.6.12.5/net/ipv4/netfilter/Makefile 2005-08-15 02:20:18.000000000 +0200 -+++ linux-2.6.12.5-ipset/net/ipv4/netfilter/Makefile 2005-09-20 13:11:38.818386250 +0200 -@@ -39,6 +39,7 @@ +diff -Nur linux-2.6.16/net/ipv4/netfilter/Makefile linux-2.6.16-owrt/net/ipv4/netfilter/Makefile +--- linux-2.6.16/net/ipv4/netfilter/Makefile 2006-03-20 12:52:42.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/Makefile 2006-03-20 12:56:30.000000000 +0100 +@@ -47,6 +47,7 @@ + + # matches obj-$(CONFIG_IP_NF_MATCH_HASHLIMIT) += ipt_hashlimit.o - obj-$(CONFIG_IP_NF_MATCH_SCTP) += ipt_sctp.o - obj-$(CONFIG_IP_NF_MATCH_MARK) += ipt_mark.o +obj-$(CONFIG_IP_NF_MATCH_SET) += ipt_set.o - obj-$(CONFIG_IP_NF_MATCH_MAC) += ipt_mac.o obj-$(CONFIG_IP_NF_MATCH_IPRANGE) += ipt_iprange.o - obj-$(CONFIG_IP_NF_MATCH_PKTTYPE) += ipt_pkttype.o -@@ -77,6 +78,16 @@ + obj-$(CONFIG_IP_NF_MATCH_MULTIPORT) += ipt_multiport.o + obj-$(CONFIG_IP_NF_MATCH_OWNER) += ipt_owner.o +@@ -74,6 +75,17 @@ + obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.o obj-$(CONFIG_IP_NF_TARGET_ULOG) += ipt_ULOG.o obj-$(CONFIG_IP_NF_TARGET_TCPMSS) += ipt_TCPMSS.o - obj-$(CONFIG_IP_NF_TARGET_NOTRACK) += ipt_NOTRACK.o +obj-$(CONFIG_IP_NF_TARGET_SET) += ipt_SET.o + +# sets @@ -5733,6 +5733,7 @@ diff -Nur linux-2.6.12.5/net/ipv4/netfilter/Makefile linux-2.6.12.5-ipset/net/ip +obj-$(CONFIG_IP_NF_SET_IPHASH) += ip_set_iphash.o +obj-$(CONFIG_IP_NF_SET_NETHASH) += ip_set_nethash.o +obj-$(CONFIG_IP_NF_SET_IPTREE) += ip_set_iptree.o ++ obj-$(CONFIG_IP_NF_TARGET_CLUSTERIP) += ipt_CLUSTERIP.o + obj-$(CONFIG_IP_NF_TARGET_TTL) += ipt_TTL.o - # generic ARP tables diff --git a/target/linux/generic-2.6/patches/106-netfilter_imq.patch b/target/linux/generic-2.6/patches/106-netfilter_imq.patch index 71d6ac0fe..8114db621 100644 --- a/target/linux/generic-2.6/patches/106-netfilter_imq.patch +++ b/target/linux/generic-2.6/patches/106-netfilter_imq.patch @@ -1,150 +1,6 @@ -diff -Nrub linux-2.6.14/drivers/net/Kconfig linux-2.6.14-imq/drivers/net/Kconfig ---- linux-2.6.14/drivers/net/Kconfig 2005-10-28 00:02:08.000000000 +0000 -+++ linux-2.6.14-imq/drivers/net/Kconfig 2005-12-16 16:28:05.000000000 +0000 -@@ -82,6 +82,129 @@ - To compile this driver as a module, choose M here: the module - will be called eql. If unsure, say N. - -+config IMQ -+ tristate "IMQ (intermediate queueing device) support" -+ depends on NETDEVICES && NETFILTER -+ ---help--- -+ The IMQ device(s) is used as placeholder for QoS queueing disciplines. -+ Every packet entering/leaving the IP stack can be directed through -+ the IMQ device where it's enqueued/dequeued to the attached qdisc. -+ This allows you to treat network devices as classes and distribute -+ bandwidth among them. Iptables is used to specify through which IMQ -+ device, if any, packets travel. -+ -+ More information at: http://www.linuximq.net/ -+ -+ To compile this driver as a module, choose M here: the module -+ will be called imq. If unsure, say N. -+ -+choice -+ prompt "IMQ behavior (PRE/POSTROUTING)" -+ depends on IMQ -+ default IMQ_BEHAVIOR_BA -+ help -+ -+ This settings defines how IMQ behaves in respect to its -+ hooking in PREROUTING and POSTROUTING. -+ -+ IMQ can work in any of the following ways: -+ -+ PREROUTING | POSTROUTING -+ -----------------|------------------- -+ #1 After NAT | After NAT -+ #2 After NAT | Before NAT -+ #3 Before NAT | After NAT -+ #4 Before NAT | Before NAT -+ -+ The default behavior is to hook before NAT on PREROUTING -+ and after NAT on POSTROUTING (#3). -+ -+ This settings are specially usefull when trying to use IMQ -+ to shape NATed clients. -+ -+ More information can be found at: www.linuximq.net -+ -+ If not sure leave the default settings alone. -+ -+config IMQ_BEHAVIOR_AA -+ bool "IMQ AA" -+ help -+ This settings defines how IMQ behaves in respect to its -+ hooking in PREROUTING and POSTROUTING. -+ -+ Choosing this option will make IMQ hook like this: -+ -+ PREROUTING: After NAT -+ POSTROUTING: After NAT -+ -+ More information can be found at: www.linuximq.net -+ -+ If not sure leave the default settings alone. -+ -+config IMQ_BEHAVIOR_AB -+ bool "IMQ AB" -+ help -+ This settings defines how IMQ behaves in respect to its -+ hooking in PREROUTING and POSTROUTING. -+ -+ Choosing this option will make IMQ hook like this: -+ -+ PREROUTING: After NAT -+ POSTROUTING: Before NAT -+ -+ More information can be found at: www.linuximq.net -+ -+ If not sure leave the default settings alone. -+ -+config IMQ_BEHAVIOR_BA -+ bool "IMQ BA" -+ help -+ This settings defines how IMQ behaves in respect to its -+ hooking in PREROUTING and POSTROUTING. -+ -+ Choosing this option will make IMQ hook like this: -+ -+ PREROUTING: Before NAT -+ POSTROUTING: After NAT -+ -+ More information can be found at: www.linuximq.net -+ -+ If not sure leave the default settings alone. -+ -+config IMQ_BEHAVIOR_BB -+ bool "IMQ BB" -+ help -+ This settings defines how IMQ behaves in respect to its -+ hooking in PREROUTING and POSTROUTING. -+ -+ Choosing this option will make IMQ hook like this: -+ -+ PREROUTING: Before NAT -+ POSTROUTING: Before NAT -+ -+ More information can be found at: www.linuximq.net -+ -+ If not sure leave the default settings alone. -+ -+endchoice -+ -+config IMQ_NUM_DEVS -+ -+ int "Number of IMQ devices" -+ range 2 8 -+ depends on IMQ -+ default "2" -+ help -+ -+ This settings defines how many IMQ devices will be -+ created. -+ -+ The default value is 2. -+ -+ More information can be found at: www.linuximq.net -+ -+ If not sure leave the default settings alone. -+ - config TUN - tristate "Universal TUN/TAP device driver support" - select CRC32 -diff -Nrub linux-2.6.14/drivers/net/Makefile linux-2.6.14-imq/drivers/net/Makefile ---- linux-2.6.14/drivers/net/Makefile 2005-10-28 00:02:08.000000000 +0000 -+++ linux-2.6.14-imq/drivers/net/Makefile 2005-12-16 16:28:05.000000000 +0000 -@@ -119,6 +119,7 @@ - endif - - obj-$(CONFIG_DUMMY) += dummy.o -+obj-$(CONFIG_IMQ) += imq.o - obj-$(CONFIG_DE600) += de600.o - obj-$(CONFIG_DE620) += de620.o - obj-$(CONFIG_LANCE) += lance.o -diff -Nrub linux-2.6.14/drivers/net/imq.c linux-2.6.14-imq/drivers/net/imq.c ---- linux-2.6.14/drivers/net/imq.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.14-imq/drivers/net/imq.c 2005-12-16 16:49:02.000000000 +0000 +diff -Nur linux-2.6.16/drivers/net/imq.c linux-2.6.16-owrt/drivers/net/imq.c +--- linux-2.6.16/drivers/net/imq.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/drivers/net/imq.c 2006-03-20 12:59:23.000000000 +0100 @@ -0,0 +1,403 @@ +/* + * Pseudo-driver for the intermediate queue device. @@ -549,9 +405,153 @@ diff -Nrub linux-2.6.14/drivers/net/imq.c linux-2.6.14-imq/drivers/net/imq.c +MODULE_AUTHOR("http://www.linuximq.net"); +MODULE_DESCRIPTION("Pseudo-driver for the intermediate queue device. See http://www.linuximq.net/ for more information."); +MODULE_LICENSE("GPL"); -diff -Nrub linux-2.6.14/include/linux/imq.h linux-2.6.14-imq/include/linux/imq.h ---- linux-2.6.14/include/linux/imq.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.14-imq/include/linux/imq.h 2005-12-16 16:28:05.000000000 +0000 +diff -Nur linux-2.6.16/drivers/net/Kconfig linux-2.6.16-owrt/drivers/net/Kconfig +--- linux-2.6.16/drivers/net/Kconfig 2006-03-20 06:53:29.000000000 +0100 ++++ linux-2.6.16-owrt/drivers/net/Kconfig 2006-03-20 12:59:23.000000000 +0100 +@@ -93,6 +93,129 @@ + To compile this driver as a module, choose M here: the module + will be called eql. If unsure, say N. + ++config IMQ ++ tristate "IMQ (intermediate queueing device) support" ++ depends on NETDEVICES && NETFILTER ++ ---help--- ++ The IMQ device(s) is used as placeholder for QoS queueing disciplines. ++ Every packet entering/leaving the IP stack can be directed through ++ the IMQ device where it's enqueued/dequeued to the attached qdisc. ++ This allows you to treat network devices as classes and distribute ++ bandwidth among them. Iptables is used to specify through which IMQ ++ device, if any, packets travel. ++ ++ More information at: http://www.linuximq.net/ ++ ++ To compile this driver as a module, choose M here: the module ++ will be called imq. If unsure, say N. ++ ++choice ++ prompt "IMQ behavior (PRE/POSTROUTING)" ++ depends on IMQ ++ default IMQ_BEHAVIOR_BA ++ help ++ ++ This settings defines how IMQ behaves in respect to its ++ hooking in PREROUTING and POSTROUTING. ++ ++ IMQ can work in any of the following ways: ++ ++ PREROUTING | POSTROUTING ++ -----------------|------------------- ++ #1 After NAT | After NAT ++ #2 After NAT | Before NAT ++ #3 Before NAT | After NAT ++ #4 Before NAT | Before NAT ++ ++ The default behavior is to hook before NAT on PREROUTING ++ and after NAT on POSTROUTING (#3). ++ ++ This settings are specially usefull when trying to use IMQ ++ to shape NATed clients. ++ ++ More information can be found at: www.linuximq.net ++ ++ If not sure leave the default settings alone. ++ ++config IMQ_BEHAVIOR_AA ++ bool "IMQ AA" ++ help ++ This settings defines how IMQ behaves in respect to its ++ hooking in PREROUTING and POSTROUTING. ++ ++ Choosing this option will make IMQ hook like this: ++ ++ PREROUTING: After NAT ++ POSTROUTING: After NAT ++ ++ More information can be found at: www.linuximq.net ++ ++ If not sure leave the default settings alone. ++ ++config IMQ_BEHAVIOR_AB ++ bool "IMQ AB" ++ help ++ This settings defines how IMQ behaves in respect to its ++ hooking in PREROUTING and POSTROUTING. ++ ++ Choosing this option will make IMQ hook like this: ++ ++ PREROUTING: After NAT ++ POSTROUTING: Before NAT ++ ++ More information can be found at: www.linuximq.net ++ ++ If not sure leave the default settings alone. ++ ++config IMQ_BEHAVIOR_BA ++ bool "IMQ BA" ++ help ++ This settings defines how IMQ behaves in respect to its ++ hooking in PREROUTING and POSTROUTING. ++ ++ Choosing this option will make IMQ hook like this: ++ ++ PREROUTING: Before NAT ++ POSTROUTING: After NAT ++ ++ More information can be found at: www.linuximq.net ++ ++ If not sure leave the default settings alone. ++ ++config IMQ_BEHAVIOR_BB ++ bool "IMQ BB" ++ help ++ This settings defines how IMQ behaves in respect to its ++ hooking in PREROUTING and POSTROUTING. ++ ++ Choosing this option will make IMQ hook like this: ++ ++ PREROUTING: Before NAT ++ POSTROUTING: Before NAT ++ ++ More information can be found at: www.linuximq.net ++ ++ If not sure leave the default settings alone. ++ ++endchoice ++ ++config IMQ_NUM_DEVS ++ ++ int "Number of IMQ devices" ++ range 2 8 ++ depends on IMQ ++ default "2" ++ help ++ ++ This settings defines how many IMQ devices will be ++ created. ++ ++ The default value is 2. ++ ++ More information can be found at: www.linuximq.net ++ ++ If not sure leave the default settings alone. ++ + config TUN + tristate "Universal TUN/TAP device driver support" + select CRC32 +diff -Nur linux-2.6.16/drivers/net/Makefile linux-2.6.16-owrt/drivers/net/Makefile +--- linux-2.6.16/drivers/net/Makefile 2006-03-20 06:53:29.000000000 +0100 ++++ linux-2.6.16-owrt/drivers/net/Makefile 2006-03-20 13:00:13.000000000 +0100 +@@ -125,6 +125,7 @@ + endif + + obj-$(CONFIG_DUMMY) += dummy.o ++obj-$(CONFIG_IMQ) += imq.o + obj-$(CONFIG_IFB) += ifb.o + obj-$(CONFIG_DE600) += de600.o + obj-$(CONFIG_DE620) += de620.o +diff -Nur linux-2.6.16/include/linux/imq.h linux-2.6.16-owrt/include/linux/imq.h +--- linux-2.6.16/include/linux/imq.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/include/linux/imq.h 2006-03-20 12:59:23.000000000 +0100 @@ -0,0 +1,9 @@ +#ifndef _IMQ_H +#define _IMQ_H @@ -562,9 +562,9 @@ diff -Nrub linux-2.6.14/include/linux/imq.h linux-2.6.14-imq/include/linux/imq.h +#define IMQ_F_ENQUEUE 0x80 + +#endif /* _IMQ_H */ -diff -Nrub linux-2.6.14/include/linux/netfilter_ipv4/ipt_IMQ.h linux-2.6.14-imq/include/linux/netfilter_ipv4/ipt_IMQ.h ---- linux-2.6.14/include/linux/netfilter_ipv4/ipt_IMQ.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.14-imq/include/linux/netfilter_ipv4/ipt_IMQ.h 2005-12-16 16:28:05.000000000 +0000 +diff -Nur linux-2.6.16/include/linux/netfilter_ipv4/ipt_IMQ.h linux-2.6.16-owrt/include/linux/netfilter_ipv4/ipt_IMQ.h +--- linux-2.6.16/include/linux/netfilter_ipv4/ipt_IMQ.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/include/linux/netfilter_ipv4/ipt_IMQ.h 2006-03-20 12:59:23.000000000 +0100 @@ -0,0 +1,8 @@ +#ifndef _IPT_IMQ_H +#define _IPT_IMQ_H @@ -574,9 +574,9 @@ diff -Nrub linux-2.6.14/include/linux/netfilter_ipv4/ipt_IMQ.h linux-2.6.14-imq/ +}; + +#endif /* _IPT_IMQ_H */ -diff -Nrub linux-2.6.14/include/linux/netfilter_ipv6/ip6t_IMQ.h linux-2.6.14-imq/include/linux/netfilter_ipv6/ip6t_IMQ.h ---- linux-2.6.14/include/linux/netfilter_ipv6/ip6t_IMQ.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.14-imq/include/linux/netfilter_ipv6/ip6t_IMQ.h 2005-12-16 16:28:05.000000000 +0000 +diff -Nur linux-2.6.16/include/linux/netfilter_ipv6/ip6t_IMQ.h linux-2.6.16-owrt/include/linux/netfilter_ipv6/ip6t_IMQ.h +--- linux-2.6.16/include/linux/netfilter_ipv6/ip6t_IMQ.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/include/linux/netfilter_ipv6/ip6t_IMQ.h 2006-03-20 12:59:23.000000000 +0100 @@ -0,0 +1,8 @@ +#ifndef _IP6T_IMQ_H +#define _IP6T_IMQ_H @@ -586,12 +586,12 @@ diff -Nrub linux-2.6.14/include/linux/netfilter_ipv6/ip6t_IMQ.h linux-2.6.14-imq +}; + +#endif /* _IP6T_IMQ_H */ -diff -Nrub linux-2.6.14/include/linux/skbuff.h linux-2.6.14-imq/include/linux/skbuff.h ---- linux-2.6.14/include/linux/skbuff.h 2005-10-28 00:02:08.000000000 +0000 -+++ linux-2.6.14-imq/include/linux/skbuff.h 2005-12-16 16:28:05.000000000 +0000 -@@ -271,6 +271,10 @@ - #if defined(CONFIG_IP_VS) || defined(CONFIG_IP_VS_MODULE) - __u8 ipvs_property:1; +diff -Nur linux-2.6.16/include/linux/skbuff.h linux-2.6.16-owrt/include/linux/skbuff.h +--- linux-2.6.16/include/linux/skbuff.h 2006-03-20 06:53:29.000000000 +0100 ++++ linux-2.6.16-owrt/include/linux/skbuff.h 2006-03-20 12:59:23.000000000 +0100 +@@ -275,6 +275,10 @@ + #if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE) + struct sk_buff *nfct_reasm; #endif +#if defined(CONFIG_IMQ) || defined(CONFIG_IMQ_MODULE) + unsigned char imq_flags; @@ -600,12 +600,12 @@ diff -Nrub linux-2.6.14/include/linux/skbuff.h linux-2.6.14-imq/include/linux/sk #ifdef CONFIG_BRIDGE_NETFILTER struct nf_bridge_info *nf_bridge; #endif -diff -Nrub linux-2.6.14/net/core/skbuff.c linux-2.6.14-imq/net/core/skbuff.c ---- linux-2.6.14/net/core/skbuff.c 2005-10-28 00:02:08.000000000 +0000 -+++ linux-2.6.14-imq/net/core/skbuff.c 2005-12-16 16:28:05.000000000 +0000 -@@ -413,6 +413,10 @@ - #if defined(CONFIG_IP_VS) || defined(CONFIG_IP_VS_MODULE) - C(ipvs_property); +diff -Nur linux-2.6.16/net/core/skbuff.c linux-2.6.16-owrt/net/core/skbuff.c +--- linux-2.6.16/net/core/skbuff.c 2006-03-20 06:53:29.000000000 +0100 ++++ linux-2.6.16-owrt/net/core/skbuff.c 2006-03-20 12:59:23.000000000 +0100 +@@ -425,6 +425,10 @@ + C(nfct_reasm); + nf_conntrack_get_reasm(skb->nfct_reasm); #endif +#if defined(CONFIG_IMQ) || defined(CONFIG_IMQ_MODULE) + C(imq_flags); @@ -614,7 +614,7 @@ diff -Nrub linux-2.6.14/net/core/skbuff.c linux-2.6.14-imq/net/core/skbuff.c #ifdef CONFIG_BRIDGE_NETFILTER C(nf_bridge); nf_bridge_get(skb->nf_bridge); -@@ -473,6 +477,10 @@ +@@ -489,6 +493,10 @@ #if defined(CONFIG_IP_VS) || defined(CONFIG_IP_VS_MODULE) new->ipvs_property = old->ipvs_property; #endif @@ -625,41 +625,9 @@ diff -Nrub linux-2.6.14/net/core/skbuff.c linux-2.6.14-imq/net/core/skbuff.c #ifdef CONFIG_BRIDGE_NETFILTER new->nf_bridge = old->nf_bridge; nf_bridge_get(old->nf_bridge); -diff -Nrub linux-2.6.14/net/ipv4/netfilter/Kconfig linux-2.6.14-imq/net/ipv4/netfilter/Kconfig ---- linux-2.6.14/net/ipv4/netfilter/Kconfig 2005-10-28 00:02:08.000000000 +0000 -+++ linux-2.6.14-imq/net/ipv4/netfilter/Kconfig 2005-12-16 16:28:05.000000000 +0000 -@@ -489,6 +489,17 @@ - - To compile it as a module, choose M here. If unsure, say N. - -+config IP_NF_TARGET_IMQ -+ tristate "IMQ target support" -+ depends on IP_NF_MANGLE -+ help -+ This option adds a `IMQ' target which is used to specify if and -+ to which IMQ device packets should get enqueued/dequeued. -+ -+ For more information visit: http://www.linuximq.net/ -+ -+ To compile it as a module, choose M here. If unsure, say N. -+ - config IP_NF_TARGET_LOG - tristate "LOG target support" - depends on IP_NF_IPTABLES -diff -Nrub linux-2.6.14/net/ipv4/netfilter/Makefile linux-2.6.14-imq/net/ipv4/netfilter/Makefile ---- linux-2.6.14/net/ipv4/netfilter/Makefile 2005-10-28 00:02:08.000000000 +0000 -+++ linux-2.6.14-imq/net/ipv4/netfilter/Makefile 2005-12-16 16:28:05.000000000 +0000 -@@ -80,6 +80,7 @@ - obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o - obj-$(CONFIG_IP_NF_TARGET_DSCP) += ipt_DSCP.o - obj-$(CONFIG_IP_NF_TARGET_MARK) += ipt_MARK.o -+obj-$(CONFIG_IP_NF_TARGET_IMQ) += ipt_IMQ.o - obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o - obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o - obj-$(CONFIG_IP_NF_TARGET_NETMAP) += ipt_NETMAP.o -diff -Nrub linux-2.6.14/net/ipv4/netfilter/ipt_IMQ.c linux-2.6.14-imq/net/ipv4/netfilter/ipt_IMQ.c ---- linux-2.6.14/net/ipv4/netfilter/ipt_IMQ.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.14-imq/net/ipv4/netfilter/ipt_IMQ.c 2005-12-16 16:28:05.000000000 +0000 +diff -Nur linux-2.6.16/net/ipv4/netfilter/ipt_IMQ.c linux-2.6.16-owrt/net/ipv4/netfilter/ipt_IMQ.c +--- linux-2.6.16/net/ipv4/netfilter/ipt_IMQ.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/ipt_IMQ.c 2006-03-20 12:59:23.000000000 +0100 @@ -0,0 +1,80 @@ +/* + * This target marks packets to be enqueued to an imq device @@ -741,39 +709,41 @@ diff -Nrub linux-2.6.14/net/ipv4/netfilter/ipt_IMQ.c linux-2.6.14-imq/net/ipv4/n +MODULE_AUTHOR("http://www.linuximq.net"); +MODULE_DESCRIPTION("Pseudo-driver for the intermediate queue device. See http://www.linuximq.net/ for more information."); +MODULE_LICENSE("GPL"); -diff -Nrub linux-2.6.14/net/ipv6/netfilter/Kconfig linux-2.6.14-imq/net/ipv6/netfilter/Kconfig ---- linux-2.6.14/net/ipv6/netfilter/Kconfig 2005-10-28 00:02:08.000000000 +0000 -+++ linux-2.6.14-imq/net/ipv6/netfilter/Kconfig 2005-12-16 16:28:05.000000000 +0000 -@@ -190,6 +190,15 @@ +diff -Nur linux-2.6.16/net/ipv4/netfilter/Kconfig linux-2.6.16-owrt/net/ipv4/netfilter/Kconfig +--- linux-2.6.16/net/ipv4/netfilter/Kconfig 2006-03-20 12:58:53.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/Kconfig 2006-03-20 12:59:23.000000000 +0100 +@@ -351,6 +351,17 @@ To compile it as a module, choose M here. If unsure, say N. -+config IP6_NF_TARGET_IMQ -+ tristate "IMQ target support" -+ depends on IP6_NF_MANGLE -+ help -+ This option adds a `IMQ' target which is used to specify if and -+ to which imq device packets should get enqueued/dequeued. ++config IP_NF_TARGET_IMQ ++ tristate "IMQ target support" ++ depends on IP_NF_MANGLE ++ help ++ This option adds a `IMQ' target which is used to specify if and ++ to which IMQ device packets should get enqueued/dequeued. + -+ To compile it as a module, choose M here. If unsure, say N. ++ For more information visit: http://www.linuximq.net/ + - config IP6_NF_TARGET_LOG ++ To compile it as a module, choose M here. If unsure, say N. ++ + config IP_NF_TARGET_LOG tristate "LOG target support" - depends on IP6_NF_FILTER -diff -Nrub linux-2.6.14/net/ipv6/netfilter/Makefile linux-2.6.14-imq/net/ipv6/netfilter/Makefile ---- linux-2.6.14/net/ipv6/netfilter/Makefile 2005-10-28 00:02:08.000000000 +0000 -+++ linux-2.6.14-imq/net/ipv6/netfilter/Makefile 2005-12-16 16:28:05.000000000 +0000 -@@ -6,6 +6,7 @@ - obj-$(CONFIG_IP6_NF_IPTABLES) += ip6_tables.o - obj-$(CONFIG_IP6_NF_MATCH_LIMIT) += ip6t_limit.o - obj-$(CONFIG_IP6_NF_MATCH_MARK) += ip6t_mark.o -+obj-$(CONFIG_IP6_NF_TARGET_IMQ) += ip6t_IMQ.o - obj-$(CONFIG_IP6_NF_MATCH_LENGTH) += ip6t_length.o - obj-$(CONFIG_IP6_NF_MATCH_MAC) += ip6t_mac.o - obj-$(CONFIG_IP6_NF_MATCH_RT) += ip6t_rt.o -diff -Nrub linux-2.6.14/net/ipv6/netfilter/ip6t_IMQ.c linux-2.6.14-imq/net/ipv6/netfilter/ip6t_IMQ.c ---- linux-2.6.14/net/ipv6/netfilter/ip6t_IMQ.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.14-imq/net/ipv6/netfilter/ip6t_IMQ.c 2005-12-16 16:28:05.000000000 +0000 + depends on IP_NF_IPTABLES +diff -Nur linux-2.6.16/net/ipv4/netfilter/Makefile linux-2.6.16-owrt/net/ipv4/netfilter/Makefile +--- linux-2.6.16/net/ipv4/netfilter/Makefile 2006-03-20 12:58:53.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv4/netfilter/Makefile 2006-03-20 13:01:12.000000000 +0100 +@@ -67,6 +67,7 @@ + obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TOS.o + obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o + obj-$(CONFIG_IP_NF_TARGET_DSCP) += ipt_DSCP.o ++obj-$(CONFIG_IP_NF_TARGET_IMQ) += ipt_IMQ.o + obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o + obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o + obj-$(CONFIG_IP_NF_TARGET_NETMAP) += ipt_NETMAP.o +diff -Nur linux-2.6.16/net/ipv6/netfilter/ip6t_IMQ.c linux-2.6.16-owrt/net/ipv6/netfilter/ip6t_IMQ.c +--- linux-2.6.16/net/ipv6/netfilter/ip6t_IMQ.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv6/netfilter/ip6t_IMQ.c 2006-03-20 12:59:23.000000000 +0100 @@ -0,0 +1,80 @@ +/* + * This target marks packets to be enqueued to an imq device @@ -855,9 +825,39 @@ diff -Nrub linux-2.6.14/net/ipv6/netfilter/ip6t_IMQ.c linux-2.6.14-imq/net/ipv6/ +MODULE_AUTHOR("http://www.linuximq.net"); +MODULE_DESCRIPTION("Pseudo-driver for the intermediate queue device. See http://www.linuximq.net/ for more information."); +MODULE_LICENSE("GPL"); -diff -Nrub linux-2.6.14/net/sched/sch_generic.c linux-2.6.14-imq/net/sched/sch_generic.c ---- linux-2.6.14/net/sched/sch_generic.c 2005-10-28 00:02:08.000000000 +0000 -+++ linux-2.6.14-imq/net/sched/sch_generic.c 2005-12-16 16:28:05.000000000 +0000 +diff -Nur linux-2.6.16/net/ipv6/netfilter/Kconfig linux-2.6.16-owrt/net/ipv6/netfilter/Kconfig +--- linux-2.6.16/net/ipv6/netfilter/Kconfig 2006-03-20 06:53:29.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv6/netfilter/Kconfig 2006-03-20 12:59:23.000000000 +0100 +@@ -154,6 +154,15 @@ + + To compile it as a module, choose M here. If unsure, say N. + ++config IP6_NF_TARGET_IMQ ++ tristate "IMQ target support" ++ depends on IP6_NF_MANGLE ++ help ++ This option adds a `IMQ' target which is used to specify if and ++ to which imq device packets should get enqueued/dequeued. ++ ++ To compile it as a module, choose M here. If unsure, say N. ++ + config IP6_NF_TARGET_LOG + tristate "LOG target support" + depends on IP6_NF_FILTER +diff -Nur linux-2.6.16/net/ipv6/netfilter/Makefile linux-2.6.16-owrt/net/ipv6/netfilter/Makefile +--- linux-2.6.16/net/ipv6/netfilter/Makefile 2006-03-20 06:53:29.000000000 +0100 ++++ linux-2.6.16-owrt/net/ipv6/netfilter/Makefile 2006-03-20 13:02:14.000000000 +0100 +@@ -4,6 +4,7 @@ + + # Link order matters here. + obj-$(CONFIG_IP6_NF_IPTABLES) += ip6_tables.o ++obj-$(CONFIG_IP6_NF_TARGET_IMQ) += ip6t_IMQ.o + obj-$(CONFIG_IP6_NF_MATCH_RT) += ip6t_rt.o + obj-$(CONFIG_IP6_NF_MATCH_OPTS) += ip6t_hbh.o ip6t_dst.o + obj-$(CONFIG_IP6_NF_MATCH_IPV6HEADER) += ip6t_ipv6header.o +diff -Nur linux-2.6.16/net/sched/sch_generic.c linux-2.6.16-owrt/net/sched/sch_generic.c +--- linux-2.6.16/net/sched/sch_generic.c 2006-03-20 06:53:29.000000000 +0100 ++++ linux-2.6.16-owrt/net/sched/sch_generic.c 2006-03-20 12:59:23.000000000 +0100 @@ -29,6 +29,9 @@ #include <linux/netdevice.h> #include <linux/skbuff.h> |