]> git.pld-linux.org Git - packages/kernel.git/commitdiff
- patches from LKML for kernel 2.6.0-t8 and 2.6.0-t9
authorcieciwa <cieciwa@pld-linux.org>
Sun, 26 Oct 2003 10:02:51 +0000 (10:02 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    2.6.0-t8-__div64_32-lkml.patch -> 1.1
    2.6.0-t8-umsdos-lkml.patch -> 1.1
    2.6.0-t9-NLS-module-lkml.patch -> 1.1
    2.6.0-t9-ibmtr_cs-lkml.patch -> 1.1

2.6.0-t8-__div64_32-lkml.patch [new file with mode: 0644]
2.6.0-t8-umsdos-lkml.patch [new file with mode: 0644]
2.6.0-t9-NLS-module-lkml.patch [new file with mode: 0644]
2.6.0-t9-ibmtr_cs-lkml.patch [new file with mode: 0644]

diff --git a/2.6.0-t8-__div64_32-lkml.patch b/2.6.0-t8-__div64_32-lkml.patch
new file mode 100644 (file)
index 0000000..7ee3231
--- /dev/null
@@ -0,0 +1,47 @@
+diff -u -p -r1.1 div64.c
+--- linux.org/lib/div64.c      29 Jul 2003 17:02:19 -0000      1.1
++++ linux/lib/div64.c  24 Oct 2003 04:10:59 -0000
+@@ -25,25 +25,27 @@
+ uint32_t __div64_32(uint64_t *n, uint32_t base)
+ {
+-      uint32_t low, low2, high, rem;
++      uint64_t rem = *n;
++      uint64_t b = base;
++      uint64_t res = 0, d = 1;
+-      low   = *n   & 0xffffffff;
+-      high  = *n  >> 32;
+-      rem   = high % (uint32_t)base;
+-      high  = high / (uint32_t)base;
+-      low2  = low >> 16;
+-      low2 += rem << 16;
+-      rem   = low2 % (uint32_t)base;
+-      low2  = low2 / (uint32_t)base;
+-      low   = low  & 0xffff;
+-      low  += rem << 16;
+-      rem   = low  % (uint32_t)base;
+-      low   = low  / (uint32_t)base;
++      if (b > 0) {
++              while (b < rem) {
++                      b <<= 1;
++                      d <<= 1;
++              }
++      }
+-      *n = low +
+-              ((uint64_t)low2 << 16) +
+-              ((uint64_t)high << 32);
++      do {
++              if (rem >= b) {
++                      rem -= b;
++                      res += d;
++              }
++              b >>= 1;
++              d >>= 1;
++      } while (d);
++      *n = res;
+       return rem;
+ }
diff --git a/2.6.0-t8-umsdos-lkml.patch b/2.6.0-t8-umsdos-lkml.patch
new file mode 100644 (file)
index 0000000..eb1848c
--- /dev/null
@@ -0,0 +1,395 @@
+ fs/Kconfig                  |    6 +--
+ fs/umsdos/Makefile          |    4 +-
+ fs/umsdos/dir.c             |   25 +++++++++------
+ fs/umsdos/inode.c           |   71 ++++++++++++++++++++++++++++++++------------
+ fs/umsdos/ioctl.c           |   17 ++++++----
+ fs/umsdos/namei.c           |    2 +
+ fs/umsdos/rdir.c            |    1 
+ include/linux/umsdos_fs.p   |   14 +++-----
+ include/linux/umsdos_fs_i.h |    4 ++
+ 9 files changed, 96 insertions(+), 48 deletions(-)
+
+diff -Naurp linux-260-test8-efs/include/linux/umsdos_fs_i.h linux-260-test8/include/linux/umsdos_fs_i.h
+--- linux-260-test8-efs/include/linux/umsdos_fs_i.h    2003-10-17 14:43:20.000000000 -0700
++++ linux-260-test8/include/linux/umsdos_fs_i.h        2003-10-23 16:13:10.000000000 -0700
+@@ -55,4 +55,8 @@ struct umsdos_inode_info {
+       off_t pos;              /* Entry offset in the emd_owner file */
+ };
++static inline struct umsdos_inode_info *UMSDOS_I(struct inode *inode)
++{
++      return (struct umsdos_inode_info *)inode->u.generic_ip;
++}
+ #endif
+diff -Naurp linux-260-test8-efs/include/linux/umsdos_fs.p linux-260-test8/include/linux/umsdos_fs.p
+--- linux-260-test8-efs/include/linux/umsdos_fs.p      2003-10-17 14:43:00.000000000 -0700
++++ linux-260-test8/include/linux/umsdos_fs.p  2003-10-23 23:20:36.000000000 -0700
+@@ -37,8 +37,10 @@ void UMSDOS_write_inode (struct inode *,
+ int UMSDOS_notify_change (struct dentry *, struct iattr *attr);
+ int umsdos_notify_change_locked(struct dentry *, struct iattr *attr);
+ void UMSDOS_put_inode (struct inode *);
+-int UMSDOS_statfs (struct super_block *, struct statfs *);
+-struct super_block *UMSDOS_read_super (struct super_block *, void *, int);
++struct statfs;
++int UMSDOS_statfs (struct super_block *, struct kstatfs *);
++int UMSDOS_read_super (struct super_block *, void *, int,
++              struct inode_operations *, int);
+ void UMSDOS_put_super (struct super_block *);
+ void umsdos_setup_dir(struct dentry *);
+@@ -74,7 +76,8 @@ int UMSDOS_link (struct dentry *olddentr
+                struct dentry *dentry);
+ int UMSDOS_create (struct inode *dir,
+                  struct dentry *dentry,
+-                 int mode);
++                 int mode,
++                 struct nameidata *nd);
+ int UMSDOS_mkdir (struct inode *dir,
+                 struct dentry *dentry,
+@@ -93,8 +96,3 @@ int UMSDOS_rename (struct inode *old_dir
+ /* rdir.c 22/03/95 03.31.42 */
+ struct dentry *umsdos_rlookup_x (struct inode *dir, struct dentry *dentry, int nopseudo);
+ struct dentry *UMSDOS_rlookup (struct inode *dir, struct dentry *dentry, struct nameidata *nd);
+-
+-static inline struct umsdos_inode_info *UMSDOS_I(struct inode *inode)
+-{
+-      return &inode->u.umsdos_i;
+-}
+--- linux-260-test8-efs/fs/Kconfig     2003-10-17 14:43:15.000000000 -0700
++++ linux-260-test8/fs/Kconfig 2003-10-23 13:01:50.000000000 -0700
+@@ -621,9 +621,9 @@ config VFAT_FS
+         vfat.
+ config UMSDOS_FS
+-#dep_tristate '    UMSDOS: Unix-like file system on top of standard MSDOS fs' CONFIG_UMSDOS_FS $CONFIG_MSDOS_FS
+-# UMSDOS is temprory broken
+-      bool
++      tristate '    UMSDOS: Unix-like file system on top of standard MSDOS fs'
++      depends on MSDOS_FS || BROKEN
++# UMSDOS is BROKEN until someone spends some time to fix it
+       help
+         Say Y here if you want to run Linux from within an existing DOS
+         partition of your hard drive. The advantage of this is that you can
+diff -Naurp linux-260-test8-efs/fs/umsdos/inode.c linux-260-test8/fs/umsdos/inode.c
+--- linux-260-test8-efs/fs/umsdos/inode.c      2003-10-17 14:42:54.000000000 -0700
++++ linux-260-test8/fs/umsdos/inode.c  2003-10-23 23:18:39.000000000 -0700
+@@ -11,16 +11,21 @@
+ #include <linux/fs.h>
+ #include <linux/msdos_fs.h>
+ #include <linux/kernel.h>
++#include <linux/namei.h>
+ #include <linux/time.h>
+ #include <linux/errno.h>
+ #include <asm/uaccess.h>
+ #include <linux/string.h>
+ #include <linux/stat.h>
++#include <linux/statfs.h>
++#include <linux/smp_lock.h>
+ #include <linux/umsdos_fs.h>
++#include <linux/umsdos_fs_i.h>
+ #include <linux/list.h>
+ #include <linux/pagemap.h>
+ extern struct dentry_operations umsdos_dentry_operations;
++extern dev_t ROOT_DEV;
+ struct dentry *saved_root;    /* Original root if changed */
+ struct inode *pseudo_root;    /* Useful to simulate the pseudo DOS */
+@@ -49,7 +54,9 @@ void UMSDOS_put_inode (struct inode *ino
+ void UMSDOS_put_super (struct super_block *sb)
+ {
+       Printk ((KERN_DEBUG "UMSDOS_put_super: entering\n"));
+-      if (saved_root && pseudo_root && kdev_same(sb->s_dev, ROOT_DEV)) {
++      if (saved_root && pseudo_root &&
++          old_encode_dev(sb->s_dev) == old_encode_dev(ROOT_DEV)) {
++          /* TBD: is using 16-bit dev_t OK here? */
+               shrink_dcache_parent(saved_root);
+               dput(saved_root);
+               saved_root = NULL;
+@@ -150,7 +157,7 @@ dentry, f_pos));
+               inode->i_op = &umsdos_symlink_inode_operations;
+       } else
+               init_special_inode(inode, inode->i_mode,
+-                                      kdev_t_to_nr(inode->i_rdev));
++                                      inode->i_rdev);
+ }
+@@ -282,12 +289,15 @@ dentry->d_parent->d_name.name, dentry->d
+               entry->gid = cpu_to_le16(attr->ia_gid);
+       if (attr->ia_valid & ATTR_MODE)
+               entry->mode = cpu_to_le16(attr->ia_mode);
++      /* TBD: fix times */
++#if 0
+       if (attr->ia_valid & ATTR_ATIME)
+               entry->atime = cpu_to_le32(attr->ia_atime);
+       if (attr->ia_valid & ATTR_MTIME)
+               entry->mtime = cpu_to_le32(attr->ia_mtime);
+       if (attr->ia_valid & ATTR_CTIME)
+               entry->ctime = cpu_to_le32(attr->ia_ctime);
++#endif
+       entry->nlink = cpu_to_le16(inode->i_nlink);
+       ret=mapping->a_ops->commit_write(NULL,page,offs,offs+UMSDOS_REC_SIZE);
+       if (ret)
+@@ -343,7 +353,7 @@ static struct super_operations umsdos_so
+       .clear_inode    = fat_clear_inode,
+ };
+-int UMSDOS_statfs(struct super_block *sb,struct statfs *buf)
++int UMSDOS_statfs(struct super_block *sb, struct kstatfs *buf)
+ {
+       int ret;
+       ret = fat_statfs (sb, buf);
+@@ -355,26 +365,27 @@ int UMSDOS_statfs(struct super_block *sb
+ /*
+  * Read the super block of an Extended MS-DOS FS.
+  */
+-struct super_block *UMSDOS_read_super (struct super_block *sb, void *data,
+-                                    int silent)
++int UMSDOS_read_super (struct super_block *sb,
++                      void *data, int silent,
++                      struct inode_operations *fs_dir_inode_ops,
++                      int isvfat)
+ {
+-      struct super_block *res;
+       struct dentry *new_root;
++      int res;
+       /*
+        * Call msdos-fs to mount the disk.
+-       * Note: this returns res == sb or NULL
++       * Note: this returns res == 0 (success) else error.
+        */
+       MSDOS_SB(sb)->options.isvfat = 0;
+-      res = fat_read_super(sb, data, silent, &umsdos_rdir_inode_operations);
+-
+-      if (IS_ERR(res))
+-              return NULL;
+-      if (res == NULL) {
++      // TBD: which inode_operations to use:
++      res = fat_fill_super(sb, data, silent,
++                      &umsdos_rdir_inode_operations, isvfat);
++      if (res) {
+               if (!silent)
+                       printk(KERN_INFO "VFS: Can't find a valid "
+                              "UMSDOS filesystem on dev %s.\n", sb->s_id);
+-              return NULL;
++              return res;
+       }
+       printk (KERN_INFO "UMSDOS 0.86k "
+@@ -402,14 +413,13 @@ struct super_block *UMSDOS_read_super (s
+               printk(KERN_INFO "UMSDOS: changed to alternate root\n");
+               dget (sb->s_root); sb->s_root = dget(new_root);
+       }
+-      return sb;
++      return 0;
+ }
+ /*
+  * Check for an alternate root if we're the root device.
+  */
+-extern kdev_t ROOT_DEV;
+ static struct dentry *check_pseudo_root(struct super_block *sb)
+ {
+       struct dentry *root, *sbin, *init;
+@@ -419,14 +429,15 @@ static struct dentry *check_pseudo_root(
+        * must check like this, because we can be used with initrd
+        */
+               
+-      if (!kdev_same(sb->s_dev, ROOT_DEV))
++      if (old_encode_dev(sb->s_dev) != old_encode_dev(ROOT_DEV))
+               goto out_noroot;
+       /* 
+        * lookup_dentry needs a (so far non-existent) root. 
+        */
+       printk(KERN_INFO "check_pseudo_root: mounted as root\n");
+-      root = lookup_one_len(UMSDOS_PSDROOT_NAME, sb->s_root,UMSDOS_PSDROOT_LEN); 
++      root = lookup_one_len(UMSDOS_PSDROOT_NAME,
++                      sb->s_root, UMSDOS_PSDROOT_LEN); 
+       if (IS_ERR(root))
+               goto out_noroot;
+               
+@@ -464,7 +475,31 @@ out_noroot:
+ }
+-static DECLARE_FSTYPE_DEV(umsdos_fs_type, "umsdos", UMSDOS_read_super);
++static int umsdos_fill_super(struct super_block *sb, void *data, int silent)
++{
++      int res;
++
++      res = UMSDOS_read_super(sb, data, silent, &umsdos_dir_inode_operations, 0);
++
++      return res;
++}
++
++static struct super_block *umsdos_get_sb(struct file_system_type *fs_type,
++      int flags, const char *dev_name, void *data)
++{
++      return get_sb_bdev(fs_type, flags, dev_name, data, umsdos_fill_super);
++}
++
++//TBD: must EXPORT all entry points;
++//and use UMSDOS_ for them by local convention;
++
++static struct file_system_type umsdos_fs_type = {
++      .owner          = THIS_MODULE,
++      .name           = "umsdos",
++      .get_sb         = umsdos_get_sb,
++      .kill_sb        = kill_block_super,
++      .fs_flags       = FS_REQUIRES_DEV,
++};
+ static int __init init_umsdos_fs (void)
+ {
+diff -Naurp linux-260-test8-efs/fs/umsdos/ioctl.c linux-260-test8/fs/umsdos/ioctl.c
+--- linux-260-test8-efs/fs/umsdos/ioctl.c      2003-10-17 14:42:54.000000000 -0700
++++ linux-260-test8/fs/umsdos/ioctl.c  2003-10-23 21:22:53.000000000 -0700
+@@ -402,9 +402,10 @@ new_dentry->d_parent->d_name.name, new_d
+                       data.stat.st_ino = inode->i_ino;
+                       data.stat.st_mode = inode->i_mode;
+                       data.stat.st_size = inode->i_size;
+-                      data.stat.st_atime = inode->i_atime;
+-                      data.stat.st_ctime = inode->i_ctime;
+-                      data.stat.st_mtime = inode->i_mtime;
++                      /* TBD: fix times */
++                      ///data.stat.st_atime = inode->i_atime;
++                      ///data.stat.st_ctime = inode->i_ctime;
++                      ///data.stat.st_mtime = inode->i_mtime;
+                       ret = -EFAULT;
+                       if (!copy_to_user (&idata->stat, &data.stat, 
+                                               sizeof (data.stat)))
+@@ -414,6 +415,7 @@ new_dentry->d_parent->d_name.name, new_d
+               goto out;
+       }
+       else if (cmd == UMSDOS_DOS_SETUP) {
++              struct msdos_sb_info *msdossbi = (struct msdos_sb_info *)dir->i_sb->s_fs_info;
+               /* #Specification: ioctl / UMSDOS_DOS_SETUP
+                * The UMSDOS_DOS_SETUP ioctl allow changing the
+                * default permission of the MS-DOS filesystem driver
+@@ -433,10 +435,11 @@ new_dentry->d_parent->d_name.name, new_d
+                * umsdos_dirent.uid and gid sets the owner and group.
+                * umsdos_dirent.mode set the permissions flags.
+                */
+-              dir->i_sb->u.msdos_sb.options.fs_uid = data.umsdos_dirent.uid;
+-              dir->i_sb->u.msdos_sb.options.fs_gid = data.umsdos_dirent.gid;
+-              dir->i_sb->u.msdos_sb.options.fs_fmask =
+-                      dir->i_sb->u.msdos_sb.options.fs_dmask =
++              msdossbi->options.fs_uid = data.umsdos_dirent.uid;
++              msdossbi->options.fs_gid = data.umsdos_dirent.gid;
++              msdossbi->options.fs_fmask =
++                              data.umsdos_dirent.mode;
++              msdossbi->options.fs_dmask =
+                               data.umsdos_dirent.mode;
+               ret = 0;
+       }
+diff -Naurp linux-260-test8-efs/fs/umsdos/Makefile linux-260-test8/fs/umsdos/Makefile
+--- linux-260-test8-efs/fs/umsdos/Makefile     2003-10-17 14:42:58.000000000 -0700
++++ linux-260-test8/fs/umsdos/Makefile 2003-10-23 13:05:13.000000000 -0700
+@@ -2,9 +2,9 @@
+ # Makefile for the umsdos Unix-like filesystem routines.
+ #
+-obj-$(CONFIG_UMSDOS) += umsdos.o
++obj-$(CONFIG_UMSDOS_FS) += umsdos.o
+-umsdos-objs := dir.o  inode.o ioctl.o mangle.o namei.o rdir.o emd.o
++umsdos-objs := dir.o inode.o ioctl.o mangle.o namei.o rdir.o emd.o
+ p:
+       proto *.c >/usr/include/linux/umsdos_fs.p
+diff -Naurp linux-260-test8-efs/fs/umsdos/namei.c linux-260-test8/fs/umsdos/namei.c
+--- linux-260-test8-efs/fs/umsdos/namei.c      2003-10-17 14:43:23.000000000 -0700
++++ linux-260-test8/fs/umsdos/namei.c  2003-10-23 21:46:02.000000000 -0700
+@@ -16,10 +16,12 @@
+ #include <linux/time.h>
+ #include <linux/types.h>
+ #include <linux/fcntl.h>
++#include <linux/sched.h>
+ #include <linux/stat.h>
+ #include <linux/string.h>
+ #include <linux/msdos_fs.h>
+ #include <linux/umsdos_fs.h>
++#include <linux/umsdos_fs_i.h>
+ #include <linux/slab.h>
+ #define UMSDOS_DIR_LOCK
+diff -Naurp linux-260-test8-efs/fs/umsdos/rdir.c linux-260-test8/fs/umsdos/rdir.c
+--- linux-260-test8-efs/fs/umsdos/rdir.c       2003-10-17 14:42:56.000000000 -0700
++++ linux-260-test8/fs/umsdos/rdir.c   2003-10-23 20:11:33.000000000 -0700
+@@ -14,6 +14,7 @@
+ #include <linux/stat.h>
+ #include <linux/limits.h>
+ #include <linux/umsdos_fs.h>
++#include <linux/umsdos_fs_i.h>
+ #include <linux/slab.h>
+ #include <linux/smp_lock.h>
+diff -Naurp linux-260-test8-efs/fs/umsdos/dir.c linux-260-test8/fs/umsdos/dir.c
+--- linux-260-test8-efs/fs/umsdos/dir.c        2003-10-17 14:43:11.000000000 -0700
++++ linux-260-test8/fs/umsdos/dir.c    2003-10-23 23:45:19.000000000 -0700
+@@ -15,6 +15,7 @@
+ #include <linux/stat.h>
+ #include <linux/limits.h>
+ #include <linux/umsdos_fs.h>
++#include <linux/umsdos_fs_i.h>
+ #include <linux/slab.h>
+ #include <linux/pagemap.h>
+ #include <linux/smp_lock.h>
+@@ -368,13 +369,16 @@ void umsdos_lookup_patch_new(struct dent
+       if (UMSDOS_I(inode)->i_patched)
+               goto out;
+       UMSDOS_I(inode)->i_patched = 1;
+-      if (S_ISREG (entry->mode))
+-              entry->mtime = inode->i_mtime;
++      /* TBD: fix mtime */
++      ///if (S_ISREG (entry->mode))
++              ///entry->mtime = inode->i_mtime;
+       inode->i_mode = entry->mode;
+-      inode->i_rdev = to_kdev_t (entry->rdev);
+-      inode->i_atime = entry->atime;
+-      inode->i_ctime = entry->ctime;
+-      inode->i_mtime = entry->mtime;
++      /* TBD: still using 16-bit dev_t; is this a problem? */
++      inode->i_rdev = old_decode_dev (entry->rdev);
++      /* TBD: fix times */
++      ///inode->i_atime = entry->atime;
++      ///inode->i_ctime = entry->ctime;
++      ///inode->i_mtime = entry->mtime;
+       inode->i_uid = entry->uid;
+       inode->i_gid = entry->gid;
+@@ -593,7 +597,7 @@ struct dentry *umsdos_covered(struct den
+       dentry = d_alloc(parent, &qstr);
+       if (dentry) {
+               /* XXXXXXXXXXXXXXXXXXX Race alert! */
+-              result = UMSDOS_rlookup(parent->d_inode, dentry);
++              result = UMSDOS_rlookup(parent->d_inode, dentry, NULL);
+               d_drop(dentry);
+               if (result)
+                       goto out_fail;
+@@ -628,8 +632,8 @@ struct dentry *umsdos_lookup_dentry(stru
+               dentry = d_alloc(parent, &qstr);
+               if (dentry) {
+                       result = real ?
+-                              UMSDOS_rlookup(parent->d_inode, dentry) :
+-                              UMSDOS_lookup(parent->d_inode, dentry);
++                              UMSDOS_rlookup(parent->d_inode, dentry, NULL) :
++                              UMSDOS_lookup(parent->d_inode, dentry, NULL);
+                       if (result)
+                               goto out_fail;
+                       return dentry;
+@@ -655,7 +659,8 @@ char * umsdos_d_path(struct dentry *dent
+       old_root = dget(current->fs->root);
+       read_unlock(&current->fs->lock);
+       spin_lock(&dcache_lock);
+-      path = __d_path(dentry, current->fs->rootmnt, dentry->d_sb->s_root, current->fs->rootmnt, buffer, len); /* FIXME: current->fs->rootmnt */
++      /* FIXME: current->fs->rootmnt: */
++      path = d_path(dentry, current->fs->rootmnt, buffer, len);
+       spin_unlock(&dcache_lock);
+       if (*path == '/')
diff --git a/2.6.0-t9-NLS-module-lkml.patch b/2.6.0-t9-NLS-module-lkml.patch
new file mode 100644 (file)
index 0000000..eb718db
--- /dev/null
@@ -0,0 +1,453 @@
+diff -ur linux-2.6.0-test7/fs/Kconfig linux-2.6.0-test7.new/fs/Kconfig
+--- linux-2.6.0-test7/fs/Kconfig       Thu Oct  9 22:11:31 2003
++++ linux-2.6.0-test7.new/fs/Kconfig   Sat Oct 25 21:24:13 2003
+@@ -246,6 +246,7 @@
+
+ config JFS_FS
+       tristate "JFS filesystem support"
++      depends on NLS
+       help
+         This is a port of IBM's Journaled Filesystem .  More information is
+         available in the file Documentation/filesystems/jfs.txt.
+@@ -464,6 +465,8 @@
+         local network, you probably do not need an automounter, and can say
+         N here.
+
++source "fs/nls/Kconfig"
++
+ menu "CD-ROM/DVD Filesystems"
+
+ config ISO9660_FS
+@@ -484,7 +487,7 @@
+
+ config JOLIET
+       bool "Microsoft Joliet CDROM extensions"
+-      depends on ISO9660_FS
++      depends on ISO9660_FS && NLS
+       help
+         Joliet is a Microsoft extension for the ISO 9660 CD-ROM file system
+         which allows for long filenames in unicode format (unicode is the
+@@ -530,6 +533,7 @@
+
+ config FAT_FS
+       tristate "DOS FAT fs support"
++      depends on NLS
+       help
+         If you want to use one of the FAT-based file systems (the MS-DOS,
+         VFAT (Windows 95) and UMSDOS (used to run Linux on top of an
+@@ -651,6 +655,7 @@
+
+ config NTFS_FS
+       tristate "NTFS file system support"
++      depends on NLS
+       help
+         NTFS is the file system of Microsoft Windows NT, 2000, XP and 2003.
+
+@@ -961,7 +966,7 @@
+
+ config BEFS_FS
+       tristate "BeOS file systemv(BeFS) support (read only) (EXPERIMENTAL)"
+-      depends on EXPERIMENTAL
++      depends on EXPERIMENTAL && NLS
+       help
+         The BeOS File System (BeFS) is the native file system of Be, Inc's
+         BeOS. Notable features include support for arbitrary attributes
+@@ -1415,7 +1420,7 @@
+
+ config SMB_FS
+       tristate "SMB file system support (to mount Windows shares etc.)"
+-      depends on INET
++      depends on INET && NLS
+       help
+         SMB (Server Message Block) is the protocol Windows for Workgroups
+         (WfW), Windows 95/98, Windows NT and OS/2 Lan Manager use to share
+@@ -1470,7 +1475,7 @@
+
+ config CIFS
+       tristate "CIFS support (advanced network filesystem for Samba, Window and other CIFS compliant servers)(EXPERIMENTAL)"
+-      depends on INET
++      depends on INET && NLS
+       help
+         This is the client VFS module for the Common Internet File System
+         (CIFS) protocol which is the successor to the Server Message Block
+@@ -1585,8 +1590,6 @@
+ source "fs/partitions/Kconfig"
+
+ endmenu
+-
+-source "fs/nls/Kconfig"
+
+ endmenu
+
+diff -ur linux-2.6.0-test7/fs/ncpfs/Kconfig linux-2.6.0-test7.new/fs/ncpfs/Kconfig
+--- linux-2.6.0-test7/fs/ncpfs/Kconfig Sat Aug  9 06:33:21 2003
++++ linux-2.6.0-test7.new/fs/ncpfs/Kconfig     Sat Oct 25 21:01:08 2003
+@@ -64,7 +64,7 @@
+
+ config NCPFS_NLS
+       bool "Use Native Language Support"
+-      depends on NCP_FS
++      depends on NCP_FS && NLS
+       help
+         Allows you to use codepages and I/O charsets for file name
+         translation between the server file system and input/output. This
+diff -ur linux-2.6.0-test7/fs/nls/Kconfig linux-2.6.0-test7.new/fs/nls/Kconfig
+--- linux-2.6.0-test7/fs/nls/Kconfig   Sat Aug  9 06:31:05 2003
++++ linux-2.6.0-test7.new/fs/nls/Kconfig       Sat Oct 25 21:27:58 2003
+@@ -1,24 +1,32 @@
+ #
+ # Native language support configuration
+ #
+-# smb wants NLS
+-config SMB_NLS
+-      bool
+-      depends on SMB_FS
+-      default y
+
+-# msdos and Joliet want NLS
++menu "Native Language Support"
++
+ config NLS
+-      bool
+-      depends on JOLIET || FAT_FS || NTFS_FS || NCPFS_NLS || SMB_NLS || JFS_FS || CIFS || BEFS_FS
++      tristate 'Base native language support'
+       default y
++      ---help---
++        The base Native Language Support. A number of filesystems
++        depend on it (e.g. FAT, JOLIET, NT, BEOS filesystems), as well
++        as the ability of some filesystems to use native languages
++        (NCP, SMB).
+
++        If unsure, say Y.
+
+-menu "Native Language Support"
+-      depends on NLS
++        To compile this code as a module, choose M here: the module
++        will be called nls_base.
++
++# smb wants NLS
++config SMB_NLS
++      bool
++      depends on SMB_FS && NLS
++      default y
+
+ config NLS_DEFAULT
+       string "Default NLS Option"
++      depends on NLS
+       default "iso8859-1"
+       ---help---
+         The default NLS used when mounting file system. Note, that this is
+@@ -38,6 +46,7 @@
+
+ config NLS_CODEPAGE_437
+       tristate "Codepage 437 (United States, Canada)"
++      depends on NLS
+       help
+         The Microsoft FAT file system family can deal with filenames in
+         native language character sets. These character sets are stored
+@@ -50,6 +59,7 @@
+
+ config NLS_CODEPAGE_737
+       tristate "Codepage 737 (Greek)"
++      depends on NLS
+       help
+         The Microsoft FAT file system family can deal with filenames in
+         native language character sets. These character sets are stored
+@@ -62,6 +72,7 @@
+
+ config NLS_CODEPAGE_775
+       tristate "Codepage 775 (Baltic Rim)"
++      depends on NLS
+       help
+         The Microsoft FAT file system family can deal with filenames in
+         native language character sets. These character sets are stored
+@@ -75,6 +86,7 @@
+
+ config NLS_CODEPAGE_850
+       tristate "Codepage 850 (Europe)"
++      depends on NLS
+       ---help---
+         The Microsoft FAT file system family can deal with filenames in
+         native language character sets. These character sets are stored in
+@@ -91,6 +103,7 @@
+
+ config NLS_CODEPAGE_852
+       tristate "Codepage 852 (Central/Eastern Europe)"
++      depends on NLS
+       ---help---
+         The Microsoft FAT file system family can deal with filenames in
+         native language character sets. These character sets are stored in
+@@ -106,6 +119,7 @@
+
+ config NLS_CODEPAGE_855
+       tristate "Codepage 855 (Cyrillic)"
++      depends on NLS
+       help
+         The Microsoft FAT file system family can deal with filenames in
+         native language character sets. These character sets are stored in
+@@ -117,6 +131,7 @@
+
+ config NLS_CODEPAGE_857
+       tristate "Codepage 857 (Turkish)"
++      depends on NLS
+       help
+         The Microsoft FAT file system family can deal with filenames in
+         native language character sets. These character sets are stored in
+@@ -128,6 +143,7 @@
+
+ config NLS_CODEPAGE_860
+       tristate "Codepage 860 (Portuguese)"
++      depends on NLS
+       help
+         The Microsoft FAT file system family can deal with filenames in
+         native language character sets. These character sets are stored in
+@@ -139,6 +155,7 @@
+
+ config NLS_CODEPAGE_861
+       tristate "Codepage 861 (Icelandic)"
++      depends on NLS
+       help
+         The Microsoft FAT file system family can deal with filenames in
+         native language character sets. These character sets are stored in
+@@ -150,6 +167,7 @@
+
+ config NLS_CODEPAGE_862
+       tristate "Codepage 862 (Hebrew)"
++      depends on NLS
+       help
+         The Microsoft FAT file system family can deal with filenames in
+         native language character sets. These character sets are stored in
+@@ -161,6 +179,7 @@
+
+ config NLS_CODEPAGE_863
+       tristate "Codepage 863 (Canadian French)"
++      depends on NLS
+       help
+         The Microsoft FAT file system family can deal with filenames in
+         native language character sets. These character sets are stored in
+@@ -173,6 +192,7 @@
+
+ config NLS_CODEPAGE_864
+       tristate "Codepage 864 (Arabic)"
++      depends on NLS
+       help
+         The Microsoft FAT file system family can deal with filenames in
+         native language character sets. These character sets are stored in
+@@ -184,6 +204,7 @@
+
+ config NLS_CODEPAGE_865
+       tristate "Codepage 865 (Norwegian, Danish)"
++      depends on NLS
+       help
+         The Microsoft FAT file system family can deal with filenames in
+         native language character sets. These character sets are stored in
+@@ -196,6 +217,7 @@
+
+ config NLS_CODEPAGE_866
+       tristate "Codepage 866 (Cyrillic/Russian)"
++      depends on NLS
+       help
+         The Microsoft FAT file system family can deal with filenames in
+         native language character sets. These character sets are stored in
+@@ -208,6 +230,7 @@
+
+ config NLS_CODEPAGE_869
+       tristate "Codepage 869 (Greek)"
++      depends on NLS
+       help
+         The Microsoft FAT file system family can deal with filenames in
+         native language character sets. These character sets are stored in
+@@ -219,6 +242,7 @@
+
+ config NLS_CODEPAGE_936
+       tristate "Simplified Chinese charset (CP936, GB2312)"
++      depends on NLS
+       help
+         The Microsoft FAT file system family can deal with filenames in
+         native language character sets. These character sets are stored in
+@@ -231,6 +255,7 @@
+
+ config NLS_CODEPAGE_950
+       tristate "Traditional Chinese charset (Big5)"
++      depends on NLS
+       help
+         The Microsoft FAT file system family can deal with filenames in
+         native language character sets. These character sets are stored in
+@@ -243,6 +268,7 @@
+
+ config NLS_CODEPAGE_932
+       tristate "Japanese charsets (Shift-JIS, EUC-JP)"
++      depends on NLS
+       help
+         The Microsoft FAT file system family can deal with filenames in
+         native language character sets. These character sets are stored in
+@@ -256,6 +282,7 @@
+
+ config NLS_CODEPAGE_949
+       tristate "Korean charset (CP949, EUC-KR)"
++      depends on NLS
+       help
+         The Microsoft FAT file system family can deal with filenames in
+         native language character sets. These character sets are stored in
+@@ -267,6 +294,7 @@
+
+ config NLS_CODEPAGE_874
+       tristate "Thai charset (CP874, TIS-620)"
++      depends on NLS
+       help
+         The Microsoft FAT file system family can deal with filenames in
+         native language character sets. These character sets are stored in
+@@ -278,6 +306,7 @@
+
+ config NLS_ISO8859_8
+       tristate "Hebrew charsets (ISO-8859-8, CP1255)"
++      depends on NLS
+       help
+         If you want to display filenames with native language characters
+         from the Microsoft FAT file system family or from JOLIET CD-ROMs
+@@ -287,6 +316,7 @@
+
+ config NLS_CODEPAGE_1250
+       tristate "Windows CP1250 (Slavic/Central European Languages)"
++      depends on NLS
+       help
+         If you want to display filenames with native language characters
+         from the Microsoft FAT file system family or from JOLIET CDROMs
+@@ -298,6 +328,7 @@
+
+ config NLS_CODEPAGE_1251
+       tristate "Windows CP1251 (Bulgarian, Belarusian)"
++      depends on NLS
+       help
+         The Microsoft FAT file system family can deal with filenames in
+         native language character sets. These character sets are stored in
+@@ -310,6 +341,7 @@
+
+ config NLS_ISO8859_1
+       tristate "NLS ISO 8859-1  (Latin 1; Western European Languages)"
++      depends on NLS
+       help
+         If you want to display filenames with native language characters
+         from the Microsoft FAT file system family or from JOLIET CD-ROMs
+@@ -322,6 +354,7 @@
+
+ config NLS_ISO8859_2
+       tristate "NLS ISO 8859-2  (Latin 2; Slavic/Central European Languages)"
++      depends on NLS
+       help
+         If you want to display filenames with native language characters
+         from the Microsoft FAT file system family or from JOLIET CD-ROMs
+@@ -333,6 +366,7 @@
+
+ config NLS_ISO8859_3
+       tristate "NLS ISO 8859-3  (Latin 3; Esperanto, Galician, Maltese, Turkish)"
++      depends on NLS
+       help
+         If you want to display filenames with native language characters
+         from the Microsoft FAT file system family or from JOLIET CD-ROMs
+@@ -343,6 +377,7 @@
+
+ config NLS_ISO8859_4
+       tristate "NLS ISO 8859-4  (Latin 4; old Baltic charset)"
++      depends on NLS
+       help
+         If you want to display filenames with native language characters
+         from the Microsoft FAT file system family or from JOLIET CD-ROMs
+@@ -353,6 +388,7 @@
+
+ config NLS_ISO8859_5
+       tristate "NLS ISO 8859-5  (Cyrillic)"
++      depends on NLS
+       help
+         If you want to display filenames with native language characters
+         from the Microsoft FAT file system family or from JOLIET CD-ROMs
+@@ -364,6 +400,7 @@
+
+ config NLS_ISO8859_6
+       tristate "NLS ISO 8859-6  (Arabic)"
++      depends on NLS
+       help
+         If you want to display filenames with native language characters
+         from the Microsoft FAT file system family or from JOLIET CD-ROMs
+@@ -373,6 +410,7 @@
+
+ config NLS_ISO8859_7
+       tristate "NLS ISO 8859-7  (Modern Greek)"
++      depends on NLS
+       help
+         If you want to display filenames with native language characters
+         from the Microsoft FAT file system family or from JOLIET CD-ROMs
+@@ -382,6 +420,7 @@
+
+ config NLS_ISO8859_9
+       tristate "NLS ISO 8859-9  (Latin 5; Turkish)"
++      depends on NLS
+       help
+         If you want to display filenames with native language characters
+         from the Microsoft FAT file system family or from JOLIET CD-ROMs
+@@ -392,6 +431,7 @@
+
+ config NLS_ISO8859_13
+       tristate "NLS ISO 8859-13 (Latin 7; Baltic)"
++      depends on NLS
+       help
+         If you want to display filenames with native language characters
+         from the Microsoft FAT file system family or from JOLIET CD-ROMs
+@@ -402,6 +442,7 @@
+
+ config NLS_ISO8859_14
+       tristate "NLS ISO 8859-14 (Latin 8; Celtic)"
++      depends on NLS
+       help
+         If you want to display filenames with native language characters
+         from the Microsoft FAT file system family or from JOLIET CD-ROMs
+@@ -413,6 +454,7 @@
+
+ config NLS_ISO8859_15
+       tristate "NLS ISO 8859-15 (Latin 9; Western European Languages with Euro)"
++      depends on NLS
+       ---help---
+         If you want to display filenames with native language characters
+         from the Microsoft FAT file system family or from JOLIET CD-ROMs
+@@ -429,6 +471,7 @@
+
+ config NLS_KOI8_R
+       tristate "NLS KOI8-R (Russian)"
++      depends on NLS
+       help
+         If you want to display filenames with native language characters
+         from the Microsoft FAT file system family or from JOLIET CD-ROMs
+@@ -438,6 +481,7 @@
+
+ config NLS_KOI8_U
+       tristate "NLS KOI8-U/RU (Ukrainian, Belarusian)"
++      depends on NLS
+       help
+         If you want to display filenames with native language characters
+         from the Microsoft FAT file system family or from JOLIET CD-ROMs
+@@ -447,6 +491,7 @@
+
+ config NLS_UTF8
+       tristate "NLS UTF8"
++      depends on NLS
+       help
+         If you want to display filenames with native language characters
+         from the Microsoft FAT file system family or from JOLIET CD-ROMs
+diff -ur linux-2.6.0-test7/fs/nls/nls_base.c linux-2.6.0-test7.new/fs/nls/nls_base.c
+--- linux-2.6.0-test7/fs/nls/nls_base.c        Wed Oct  8 23:28:18 2003
++++ linux-2.6.0-test7.new/fs/nls/nls_base.c    Sat Oct 25 21:18:54 2003
+@@ -480,7 +480,7 @@
+       if (default_nls != NULL)
+               return default_nls;
+       else
+-               return &default_table;
++              return &default_table;
+ }
+
+ EXPORT_SYMBOL(register_nls);
+@@ -492,3 +492,5 @@
+ EXPORT_SYMBOL(utf8_mbstowcs);
+ EXPORT_SYMBOL(utf8_wctomb);
+ EXPORT_SYMBOL(utf8_wcstombs);
++
++MODULE_LICENSE("Dual BSD/GPL");
diff --git a/2.6.0-t9-ibmtr_cs-lkml.patch b/2.6.0-t9-ibmtr_cs-lkml.patch
new file mode 100644 (file)
index 0000000..7675596
--- /dev/null
@@ -0,0 +1,76 @@
+diff -urN -X dontdiff linux-2.6.0-test9.vanilla/drivers/net/pcmcia/ibmtr_cs.c linux-2.6.0-test9/drivers/net/pcmcia/ibmtr_cs.c
+--- linux-2.6.0-test9.vanilla/drivers/net/pcmcia/ibmtr_cs.c    2003-10-25 14:43:42.000000000 -0400
++++ linux-2.6.0-test9/drivers/net/pcmcia/ibmtr_cs.c    2003-10-25 19:01:02.000000000 -0400
+@@ -136,7 +136,7 @@
+     struct net_device *dev;
+     dev_node_t          node;
+     window_handle_t     sram_win_handle;
+-    struct tok_info   ti;
++    struct tok_info   *ti;
+ } ibmtr_dev_t;
+ static void netdev_get_drvinfo(struct net_device *dev,
+@@ -168,14 +168,19 @@
+     DEBUG(0, "ibmtr_attach()\n");
+     /* Create new token-ring device */
+-    dev = alloc_trdev(sizeof(*info));
+-    if (!dev)
+-          return NULL;
+-    info = dev->priv;
++    info = kmalloc(sizeof(*info), GFP_KERNEL); 
++    if (!info) return NULL;
++    memset(info,0,sizeof(*info));
++    dev = alloc_trdev(sizeof(struct tok_info));
++    if (!dev) { 
++      kfree(info); 
++      return NULL;
++    } 
+     link = &info->link;
+     link->priv = info;
+-
++    info->ti = dev->priv; 
++    
+     link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
+     link->io.NumPorts1 = 4;
+     link->io.IOAddrLines = 16;
+@@ -265,6 +270,7 @@
+     *linkp = link->next;
+     unregister_netdev(dev);
+     free_netdev(dev);
++    kfree(info); 
+ } /* ibmtr_detach */
+ /*======================================================================
+diff -urN -X dontdiff linux-2.6.0-test9.vanilla/drivers/net/tokenring/ibmtr.c linux-2.6.0-test9/drivers/net/tokenring/ibmtr.c
+--- linux-2.6.0-test9.vanilla/drivers/net/tokenring/ibmtr.c    2003-10-25 14:43:58.000000000 -0400
++++ linux-2.6.0-test9/drivers/net/tokenring/ibmtr.c    2003-10-25 17:26:38.000000000 -0400
+@@ -152,7 +152,7 @@
+ /* this allows displaying full adapter information */
+-char *channel_def[] __initdata = { "ISA", "MCA", "ISA P&P" };
++char *channel_def[] __devinitdata = { "ISA", "MCA", "ISA P&P" };
+ static char pcchannelid[] __devinitdata = {
+       0x05, 0x00, 0x04, 0x09,
+@@ -864,7 +864,8 @@
+       ti->sram_virt &= ~1; /* to reverse what we do in tok_close */
+       /* init the spinlock */
+       ti->lock = (spinlock_t) SPIN_LOCK_UNLOCKED;
+-
++      init_timer(&ti->tr_timer);
++      
+       i = tok_init_card(dev);
+       if (i) return i;
+@@ -1033,7 +1034,7 @@
+       /* Important for PCMCIA hot unplug, otherwise, we'll pull the card, */
+       /* unloading the module from memory, and then if a timer pops, ouch */
+-      del_timer(&ti->tr_timer);
++      del_timer_sync(&ti->tr_timer);
+       outb(0, dev->base_addr + ADAPTRESET);
+       ti->sram_virt |= 1;
+       ti->open_status = CLOSED;
This page took 0.935841 seconds and 4 git commands to generate.