From f2820f23b7adb742047f9d38191b9bb8cf0cb6a5 Mon Sep 17 00:00:00 2001 From: Alexander Viro Date: Sat, 30 Aug 2003 22:51:46 -0700 Subject: [PATCH] [PATCH] dev_t handling cleanups (11/12) 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 --git a/arch/cris/arch-v10/drivers/eeprom.c b/arch/cris/arch-v10/drivers/eeprom.c index 0d3fb116d5997..f0ea4701478a5 100644 --- a/arch/cris/arch-v10/drivers/eeprom.c +++ b/arch/cris/arch-v10/drivers/eeprom.c @@ -443,7 +443,7 @@ static int eeprom_open(struct inode * inode, struct file * file) 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 --git a/arch/sparc/kernel/sys_sunos.c b/arch/sparc/kernel/sys_sunos.c index 3bbe87c7f85c4..65a98e403eb8b 100644 --- a/arch/sparc/kernel/sys_sunos.c +++ b/arch/sparc/kernel/sys_sunos.c @@ -92,7 +92,7 @@ asmlinkage unsigned long sunos_mmap(unsigned long addr, unsigned long len, * 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 --git a/arch/sparc64/kernel/sys_sunos32.c b/arch/sparc64/kernel/sys_sunos32.c index 64045baa00909..69104cdae35e0 100644 --- a/arch/sparc64/kernel/sys_sunos32.c +++ b/arch/sparc64/kernel/sys_sunos32.c @@ -90,7 +90,7 @@ asmlinkage u32 sunos_mmap(u32 addr, u32 len, u32 prot, u32 flags, u32 fd, u32 of 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 --git a/arch/sparc64/solaris/misc.c b/arch/sparc64/solaris/misc.c index 627c7fa887766..024b74c9d8b50 100644 --- a/arch/sparc64/solaris/misc.c +++ b/arch/sparc64/solaris/misc.c @@ -77,7 +77,7 @@ static u32 do_solaris_mmap(u32 addr, u32 len, u32 prot, u32 flags, u32 fd, u64 o 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 --git a/arch/sparc64/solaris/timod.c b/arch/sparc64/solaris/timod.c index 16c4f6a1b3fa5..8609d1abf206a 100644 --- a/arch/sparc64/solaris/timod.c +++ b/arch/sparc64/solaris/timod.c @@ -924,7 +924,7 @@ asmlinkage int solaris_putmsg(unsigned int fd, u32 arg1, u32 arg2, u32 arg3) 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 --git a/drivers/block/cciss.c b/drivers/block/cciss.c index c87a520e925f0..34b490615ce33 100644 --- a/drivers/block/cciss.c +++ b/drivers/block/cciss.c @@ -356,11 +356,11 @@ static void cmd_free(ctlr_info_t *h, CommandList_struct *c, int got_from_pool) */ 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 *inode, struct file *filep) */ 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 *inode, struct file *filep) 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 --git a/drivers/input/mousedev.c b/drivers/input/mousedev.c index 06fa75c36fc95..11aec91ce558f 100644 --- a/drivers/input/mousedev.c +++ b/drivers/input/mousedev.c @@ -228,7 +228,7 @@ static int mousedev_open(struct inode * inode, struct file * file) 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 --git a/drivers/s390/char/tape_char.c b/drivers/s390/char/tape_char.c index 69befc61204b7..89d9ad076e23e 100644 --- a/drivers/s390/char/tape_char.c +++ b/drivers/s390/char/tape_char.c @@ -238,7 +238,7 @@ tapechar_open (struct inode *inode, struct file *filp) 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 --git a/fs/coda/inode.c b/fs/coda/inode.c index ca21447b53f05..75b933ab63732 100644 --- a/fs/coda/inode.c +++ b/fs/coda/inode.c @@ -115,7 +115,7 @@ static int get_device_index(struct coda_mount_data *data) 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 --git a/fs/jffs2/file.c b/fs/jffs2/file.c index 2ba31894b54bc..9441b71594892 100644 --- a/fs/jffs2/file.c +++ b/fs/jffs2/file.c @@ -103,7 +103,7 @@ int jffs2_setattr (struct dentry *dentry, struct iattr *iattr) 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 --git a/fs/jffs2/os-linux.h b/fs/jffs2/os-linux.h index 8e33232758b7d..d06443ceec683 100644 --- a/fs/jffs2/os-linux.h +++ b/fs/jffs2/os-linux.h @@ -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 --git a/include/linux/fs.h b/include/linux/fs.h index 2309b4e2e29c7..090bc3ab5c6bb 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -472,6 +472,11 @@ static inline unsigned iminor(struct inode *inode) 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 --git a/include/linux/nfsd/nfsfh.h b/include/linux/nfsd/nfsfh.h index dc63e0326a2df..d4d63cc8e5fa9 100644 --- a/include/linux/nfsd/nfsfh.h +++ b/include/linux/nfsd/nfsfh.h @@ -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 --git a/sound/core/hwdep.c b/sound/core/hwdep.c index de02f443137de..f7191fc7c7767 100644 --- a/sound/core/hwdep.c +++ b/sound/core/hwdep.c @@ -73,7 +73,7 @@ static ssize_t snd_hwdep_write(struct file * file, const char *buf, size_t count 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 --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index 659394be25ea5..bc2e16a4f6a3e 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c @@ -1431,7 +1431,7 @@ static struct file *snd_pcm_file_fd(int fd) 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 --git a/sound/core/rawmidi.c b/sound/core/rawmidi.c index 6c98a21190efa..480e96fc2ffc0 100644 --- a/sound/core/rawmidi.c +++ b/sound/core/rawmidi.c @@ -345,7 +345,7 @@ int snd_rawmidi_kernel_open(int cardnum, int device, int subdevice, 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; -- 2.53.0