From: viro@www.linux.org.uk new helper - imajor(inode) arch/cris/arch-v10/drivers/eeprom.c | 2 +- arch/sparc/kernel/sys_sunos.c | 2 +- arch/sparc64/kernel/sys_sunos32.c | 2 +- arch/sparc64/solaris/misc.c | 2 +- arch/sparc64/solaris/timod.c | 2 +- drivers/block/cciss.c | 10 +++++----- drivers/input/mousedev.c | 2 +- drivers/s390/char/tape_char.c | 2 +- fs/coda/inode.c | 2 +- fs/jffs2/file.c | 2 +- fs/jffs2/os-linux.h | 2 +- include/linux/fs.h | 5 +++++ include/linux/nfsd/nfsfh.h | 2 +- sound/core/hwdep.c | 2 +- sound/core/pcm_native.c | 2 +- sound/core/rawmidi.c | 2 +- 16 files changed, 24 insertions(+), 19 deletions(-) diff -puN arch/cris/arch-v10/drivers/eeprom.c~large-dev_t-11 arch/cris/arch-v10/drivers/eeprom.c --- 25/arch/cris/arch-v10/drivers/eeprom.c~large-dev_t-11 2003-08-26 18:29:42.000000000 -0700 +++ 25-akpm/arch/cris/arch-v10/drivers/eeprom.c 2003-08-26 18:29:42.000000000 -0700 @@ -443,7 +443,7 @@ static int eeprom_open(struct inode * in if(iminor(inode) != EEPROM_MINOR_NR) return -ENXIO; - if(major(inode->i_rdev) != EEPROM_MAJOR_NR) + if(imajor(inode) != EEPROM_MAJOR_NR) return -ENXIO; if( eeprom.size > 0 ) diff -puN arch/sparc64/kernel/sys_sunos32.c~large-dev_t-11 arch/sparc64/kernel/sys_sunos32.c --- 25/arch/sparc64/kernel/sys_sunos32.c~large-dev_t-11 2003-08-26 18:29:42.000000000 -0700 +++ 25-akpm/arch/sparc64/kernel/sys_sunos32.c 2003-08-26 18:29:42.000000000 -0700 @@ -90,7 +90,7 @@ asmlinkage u32 sunos_mmap(u32 addr, u32 if (!file) goto out; inode = file->f_dentry->d_inode; - if (major(inode->i_rdev) == MEM_MAJOR && iminor(inode) == 5) { + if (imajor(inode) == MEM_MAJOR && iminor(inode) == 5) { flags |= MAP_ANONYMOUS; fput(file); file = NULL; diff -puN arch/sparc64/solaris/misc.c~large-dev_t-11 arch/sparc64/solaris/misc.c --- 25/arch/sparc64/solaris/misc.c~large-dev_t-11 2003-08-26 18:29:42.000000000 -0700 +++ 25-akpm/arch/sparc64/solaris/misc.c 2003-08-26 18:29:42.000000000 -0700 @@ -77,7 +77,7 @@ static u32 do_solaris_mmap(u32 addr, u32 goto out; else { struct inode * inode = file->f_dentry->d_inode; - if(major(inode->i_rdev) == MEM_MAJOR && + if(imajor(inode) == MEM_MAJOR && iminor(inode) == 5) { flags |= MAP_ANONYMOUS; fput(file); diff -puN arch/sparc64/solaris/timod.c~large-dev_t-11 arch/sparc64/solaris/timod.c --- 25/arch/sparc64/solaris/timod.c~large-dev_t-11 2003-08-26 18:29:42.000000000 -0700 +++ 25-akpm/arch/sparc64/solaris/timod.c 2003-08-26 18:29:42.000000000 -0700 @@ -924,7 +924,7 @@ asmlinkage int solaris_putmsg(unsigned i if (!ino) goto out; if (!ino->i_sock && - (major(ino->i_rdev) != 30 || iminor(ino) != 1)) + (imajor(ino) != 30 || iminor(ino) != 1)) goto out; ctlptr = (struct strbuf *)A(arg1); diff -puN arch/sparc/kernel/sys_sunos.c~large-dev_t-11 arch/sparc/kernel/sys_sunos.c --- 25/arch/sparc/kernel/sys_sunos.c~large-dev_t-11 2003-08-26 18:29:42.000000000 -0700 +++ 25-akpm/arch/sparc/kernel/sys_sunos.c 2003-08-26 18:29:42.000000000 -0700 @@ -92,7 +92,7 @@ asmlinkage unsigned long sunos_mmap(unsi * SunOS is so stupid some times... hmph! */ if (file) { - if(major(file->f_dentry->d_inode->i_rdev) == MEM_MAJOR && + if(imajor(file->f_dentry->d_inode) == MEM_MAJOR && iminor(file->f_dentry->d_inode) == 5) { flags |= MAP_ANONYMOUS; fput(file); diff -puN drivers/block/cciss.c~large-dev_t-11 drivers/block/cciss.c --- 25/drivers/block/cciss.c~large-dev_t-11 2003-08-26 18:29:42.000000000 -0700 +++ 25-akpm/drivers/block/cciss.c 2003-08-26 18:29:42.000000000 -0700 @@ -356,11 +356,11 @@ static void cmd_free(ctlr_info_t *h, Com */ static int cciss_open(struct inode *inode, struct file *filep) { - int ctlr = major(inode->i_rdev) - COMPAQ_CISS_MAJOR; + int ctlr = imajor(inode) - COMPAQ_CISS_MAJOR; int dsk = iminor(inode) >> NWD_SHIFT; #ifdef CCISS_DEBUG - printk(KERN_DEBUG "cciss_open %x (%x:%x)\n", inode->i_rdev, ctlr, dsk); + printk(KERN_DEBUG "cciss_open %s (%x:%x)\n", inode->i_bdev->bd_disk->disk_name, ctlr, dsk); #endif /* CCISS_DEBUG */ if (ctlr >= MAX_CTLR || hba[ctlr] == NULL) @@ -386,11 +386,11 @@ static int cciss_open(struct inode *inod */ static int cciss_release(struct inode *inode, struct file *filep) { - int ctlr = major(inode->i_rdev) - COMPAQ_CISS_MAJOR; + int ctlr = imajor(inode) - COMPAQ_CISS_MAJOR; int dsk = iminor(inode) >> NWD_SHIFT; #ifdef CCISS_DEBUG - printk(KERN_DEBUG "cciss_release %x (%x:%x)\n", inode->i_rdev, ctlr, dsk); + printk(KERN_DEBUG "cciss_release %s (%x:%x)\n", inode->i_bdev->bd_disk->disk_name, ctlr, dsk); #endif /* CCISS_DEBUG */ /* fsync_dev(inode->i_rdev); */ @@ -406,7 +406,7 @@ static int cciss_release(struct inode *i static int cciss_ioctl(struct inode *inode, struct file *filep, unsigned int cmd, unsigned long arg) { - int ctlr = major(inode->i_rdev) - COMPAQ_CISS_MAJOR; + int ctlr = imajor(inode) - COMPAQ_CISS_MAJOR; int dsk = iminor(inode) >> NWD_SHIFT; #ifdef CCISS_DEBUG diff -puN drivers/input/mousedev.c~large-dev_t-11 drivers/input/mousedev.c --- 25/drivers/input/mousedev.c~large-dev_t-11 2003-08-26 18:29:42.000000000 -0700 +++ 25-akpm/drivers/input/mousedev.c 2003-08-26 18:29:42.000000000 -0700 @@ -228,7 +228,7 @@ static int mousedev_open(struct inode * int i; #ifdef CONFIG_INPUT_MOUSEDEV_PSAUX - if (major(inode->i_rdev) == MISC_MAJOR) + if (imajor(inode) == MISC_MAJOR) i = MOUSEDEV_MIX; else #endif diff -puN drivers/s390/char/tape_char.c~large-dev_t-11 drivers/s390/char/tape_char.c --- 25/drivers/s390/char/tape_char.c~large-dev_t-11 2003-08-26 18:29:42.000000000 -0700 +++ 25-akpm/drivers/s390/char/tape_char.c 2003-08-26 18:29:42.000000000 -0700 @@ -238,7 +238,7 @@ tapechar_open (struct inode *inode, stru struct tape_device *device; int minor, rc; - if (major(filp->f_dentry->d_inode->i_rdev) != tapechar_major) + if (imajor(filp->f_dentry->d_inode) != tapechar_major) return -ENODEV; minor = iminor(filp->f_dentry->d_inode); device = tape_get_device(minor / TAPE_MINORS_PER_DEV); diff -puN fs/coda/inode.c~large-dev_t-11 fs/coda/inode.c --- 25/fs/coda/inode.c~large-dev_t-11 2003-08-26 18:29:42.000000000 -0700 +++ 25-akpm/fs/coda/inode.c 2003-08-26 18:29:42.000000000 -0700 @@ -115,7 +115,7 @@ static int get_device_index(struct coda_ inode = file->f_dentry->d_inode; if(!inode || !S_ISCHR(inode->i_mode) || - major(inode->i_rdev) != CODA_PSDEV_MAJOR) { + imajor(inode) != CODA_PSDEV_MAJOR) { if(file) fput(file); diff -puN fs/jffs2/file.c~large-dev_t-11 fs/jffs2/file.c --- 25/fs/jffs2/file.c~large-dev_t-11 2003-08-26 18:29:42.000000000 -0700 +++ 25-akpm/fs/jffs2/file.c 2003-08-26 18:29:42.000000000 -0700 @@ -103,7 +103,7 @@ int jffs2_setattr (struct dentry *dentry it out again with the appropriate data attached */ if (S_ISBLK(inode->i_mode) || S_ISCHR(inode->i_mode)) { /* For these, we don't actually need to read the old node */ - dev = (major(dentry->d_inode->i_rdev) << 8) | + dev = (imajor(dentry->d_inode) << 8) | iminor(dentry->d_inode); mdata = (char *)&dev; mdatalen = sizeof(dev); diff -puN fs/jffs2/os-linux.h~large-dev_t-11 fs/jffs2/os-linux.h --- 25/fs/jffs2/os-linux.h~large-dev_t-11 2003-08-26 18:29:42.000000000 -0700 +++ 25-akpm/fs/jffs2/os-linux.h 2003-08-26 18:29:42.000000000 -0700 @@ -45,7 +45,7 @@ #if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,1) #define JFFS2_F_I_RDEV_MIN(f) (iminor(OFNI_EDONI_2SFFJ(f))) -#define JFFS2_F_I_RDEV_MAJ(f) (major(OFNI_EDONI_2SFFJ(f)->i_rdev)) +#define JFFS2_F_I_RDEV_MAJ(f) (imajor(OFNI_EDONI_2SFFJ(f))) #else #define JFFS2_F_I_RDEV_MIN(f) (MINOR(to_kdev_t(OFNI_EDONI_2SFFJ(f)->i_rdev))) #define JFFS2_F_I_RDEV_MAJ(f) (MAJOR(to_kdev_t(OFNI_EDONI_2SFFJ(f)->i_rdev))) diff -puN include/linux/fs.h~large-dev_t-11 include/linux/fs.h --- 25/include/linux/fs.h~large-dev_t-11 2003-08-26 18:29:42.000000000 -0700 +++ 25-akpm/include/linux/fs.h 2003-08-26 18:29:42.000000000 -0700 @@ -472,6 +472,11 @@ static inline unsigned iminor(struct ino return minor(inode->i_rdev); } +static inline unsigned imajor(struct inode *inode) +{ + return major(inode->i_rdev); +} + struct fown_struct { rwlock_t lock; /* protects pid, uid, euid fields */ int pid; /* pid or -pgrp where SIGIO should be sent */ diff -puN include/linux/nfsd/nfsfh.h~large-dev_t-11 include/linux/nfsd/nfsfh.h --- 25/include/linux/nfsd/nfsfh.h~large-dev_t-11 2003-08-26 18:29:42.000000000 -0700 +++ 25-akpm/include/linux/nfsd/nfsfh.h 2003-08-26 18:29:42.000000000 -0700 @@ -294,7 +294,7 @@ fill_post_wcc(struct svc_fh *fhp) /* how much do we care for accuracy with MinixFS? */ fhp->fh_post_blocks = (inode->i_size+511) >> 9; } - fhp->fh_post_rdev[0] = htonl((u32)major(inode->i_rdev)); + fhp->fh_post_rdev[0] = htonl((u32)imajor(inode)); fhp->fh_post_rdev[1] = htonl((u32)iminor(inode)); fhp->fh_post_atime = inode->i_atime; fhp->fh_post_mtime = inode->i_mtime; diff -puN sound/core/hwdep.c~large-dev_t-11 sound/core/hwdep.c --- 25/sound/core/hwdep.c~large-dev_t-11 2003-08-26 18:29:42.000000000 -0700 +++ 25-akpm/sound/core/hwdep.c 2003-08-26 18:29:42.000000000 -0700 @@ -73,7 +73,7 @@ static ssize_t snd_hwdep_write(struct fi static int snd_hwdep_open(struct inode *inode, struct file * file) { - int major = major(inode->i_rdev); + int major = imajor(inode); int cardnum; int device; snd_hwdep_t *hw; diff -puN sound/core/pcm_native.c~large-dev_t-11 sound/core/pcm_native.c --- 25/sound/core/pcm_native.c~large-dev_t-11 2003-08-26 18:29:42.000000000 -0700 +++ 25-akpm/sound/core/pcm_native.c 2003-08-26 18:29:42.000000000 -0700 @@ -1431,7 +1431,7 @@ static struct file *snd_pcm_file_fd(int return 0; inode = file->f_dentry->d_inode; if (!S_ISCHR(inode->i_mode) || - major(inode->i_rdev) != snd_major) { + imajor(inode) != snd_major) { fput(file); return 0; } diff -puN sound/core/rawmidi.c~large-dev_t-11 sound/core/rawmidi.c --- 25/sound/core/rawmidi.c~large-dev_t-11 2003-08-26 18:29:42.000000000 -0700 +++ 25-akpm/sound/core/rawmidi.c 2003-08-26 18:29:42.000000000 -0700 @@ -345,7 +345,7 @@ int snd_rawmidi_kernel_open(int cardnum, static int snd_rawmidi_open(struct inode *inode, struct file *file) { - int maj = major(inode->i_rdev); + int maj = imajor(inode); int cardnum; snd_card_t *card; int device, subdevice; _