summaryrefslogtreecommitdiff
path: root/drivers/char
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@home.osdl.org>2003-08-30 23:45:59 -0700
committerLinus Torvalds <torvalds@home.osdl.org>2003-08-30 23:45:59 -0700
commitc334ec3406bd4e366a4138570332d4e19fa70128 (patch)
treed465dd090c583e8646a98bf570a287c643ba66cb /drivers/char
parented8dff304648833f2acf9b3189a1e611355111b0 (diff)
parent9b9f98eec3f1f66d0186f7c95e3d724cf3b6765b (diff)
Merge http://lia64.bkbits.net/to-linus-2.5
into home.osdl.org:/home/torvalds/v2.5/linux
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/agp/frontend.c2
-rw-r--r--drivers/char/busmouse.c4
-rw-r--r--drivers/char/drm/drm_drv.h2
-rw-r--r--drivers/char/drm/drm_fops.h2
-rw-r--r--drivers/char/drm/drm_stub.h2
-rw-r--r--drivers/char/dsp56k.c12
-rw-r--r--drivers/char/dtlk.c8
-rw-r--r--drivers/char/ftape/zftape/zftape-init.c16
-rw-r--r--drivers/char/ip2main.c6
-rw-r--r--drivers/char/ipmi/ipmi_devintf.c2
-rw-r--r--drivers/char/ipmi/ipmi_watchdog.c4
-rw-r--r--drivers/char/istallion.c6
-rw-r--r--drivers/char/ite_gpio.c2
-rw-r--r--drivers/char/lp.c10
-rw-r--r--drivers/char/lp_old98.c2
-rw-r--r--drivers/char/mem.c2
-rw-r--r--drivers/char/misc.c2
-rw-r--r--drivers/char/ppdev.c10
-rw-r--r--drivers/char/raw.c8
-rw-r--r--drivers/char/scx200_gpio.c6
-rw-r--r--drivers/char/stallion.c2
-rw-r--r--drivers/char/tipar.c10
-rw-r--r--drivers/char/tpqic02.c63
-rw-r--r--drivers/char/tty_io.c18
-rw-r--r--drivers/char/vc_screen.c8
-rw-r--r--drivers/char/watchdog/acquirewdt.c4
-rw-r--r--drivers/char/watchdog/cpu5wdt.c4
-rw-r--r--drivers/char/watchdog/ib700wdt.c4
-rw-r--r--drivers/char/watchdog/machzwd.c4
-rw-r--r--drivers/char/watchdog/pcwd.c6
-rw-r--r--drivers/char/watchdog/wdt.c6
-rw-r--r--drivers/char/watchdog/wdt_pci.c6
32 files changed, 122 insertions, 121 deletions
diff --git a/drivers/char/agp/frontend.c b/drivers/char/agp/frontend.c
index 803513180b6a..6ff8d157fc6d 100644
--- a/drivers/char/agp/frontend.c
+++ b/drivers/char/agp/frontend.c
@@ -698,7 +698,7 @@ static int agp_release(struct inode *inode, struct file *file)
static int agp_open(struct inode *inode, struct file *file)
{
- int minor = minor(inode->i_rdev);
+ int minor = iminor(inode);
struct agp_file_private *priv;
struct agp_client *client;
int rc = -ENXIO;
diff --git a/drivers/char/busmouse.c b/drivers/char/busmouse.c
index ad6163f8d9ef..126d77f8a215 100644
--- a/drivers/char/busmouse.c
+++ b/drivers/char/busmouse.c
@@ -51,7 +51,7 @@ struct busmouse_data {
#define NR_MICE 15
#define FIRST_MOUSE 0
-#define DEV_TO_MOUSE(dev) MINOR_TO_MOUSE(minor(dev))
+#define DEV_TO_MOUSE(inode) MINOR_TO_MOUSE(iminor(inode))
#define MINOR_TO_MOUSE(minor) ((minor) - FIRST_MOUSE)
/*
@@ -190,7 +190,7 @@ static int busmouse_open(struct inode *inode, struct file *file)
unsigned int mousedev;
int ret;
- mousedev = DEV_TO_MOUSE(inode->i_rdev);
+ mousedev = DEV_TO_MOUSE(inode);
if (mousedev >= NR_MICE)
return -EINVAL;
diff --git a/drivers/char/drm/drm_drv.h b/drivers/char/drm/drm_drv.h
index d62156b35fcf..62c0cad7fe9b 100644
--- a/drivers/char/drm/drm_drv.h
+++ b/drivers/char/drm/drm_drv.h
@@ -795,7 +795,7 @@ int DRM(open)( struct inode *inode, struct file *filp )
int i;
for (i = 0; i < DRM(numdevs); i++) {
- if (minor(inode->i_rdev) == DRM(minor)[i]) {
+ if (iminor(inode) == DRM(minor)[i]) {
dev = &(DRM(device)[i]);
break;
}
diff --git a/drivers/char/drm/drm_fops.h b/drivers/char/drm/drm_fops.h
index 1039df122317..a925c669b845 100644
--- a/drivers/char/drm/drm_fops.h
+++ b/drivers/char/drm/drm_fops.h
@@ -51,7 +51,7 @@
*/
int DRM(open_helper)(struct inode *inode, struct file *filp, drm_device_t *dev)
{
- int minor = minor(inode->i_rdev);
+ int minor = iminor(inode);
drm_file_t *priv;
if (filp->f_flags & O_EXCL) return -EBUSY; /* No exclusive opens */
diff --git a/drivers/char/drm/drm_stub.h b/drivers/char/drm/drm_stub.h
index 706615eb7237..63033c13b197 100644
--- a/drivers/char/drm/drm_stub.h
+++ b/drivers/char/drm/drm_stub.h
@@ -62,7 +62,7 @@ static struct drm_stub_info {
*/
static int DRM(stub_open)(struct inode *inode, struct file *filp)
{
- int minor = minor(inode->i_rdev);
+ int minor = iminor(inode);
int err = -ENODEV;
struct file_operations *old_fops;
diff --git a/drivers/char/dsp56k.c b/drivers/char/dsp56k.c
index d9cf9097afeb..cfd6527bc514 100644
--- a/drivers/char/dsp56k.c
+++ b/drivers/char/dsp56k.c
@@ -207,7 +207,7 @@ static ssize_t dsp56k_read(struct file *file, char *buf, size_t count,
loff_t *ppos)
{
struct inode *inode = file->f_dentry->d_inode;
- int dev = minor(inode->i_rdev) & 0x0f;
+ int dev = iminor(inode) & 0x0f;
switch(dev)
{
@@ -270,7 +270,7 @@ static ssize_t dsp56k_write(struct file *file, const char *buf, size_t count,
loff_t *ppos)
{
struct inode *inode = file->f_dentry->d_inode;
- int dev = minor(inode->i_rdev) & 0x0f;
+ int dev = iminor(inode) & 0x0f;
switch(dev)
{
@@ -331,7 +331,7 @@ static ssize_t dsp56k_write(struct file *file, const char *buf, size_t count,
static int dsp56k_ioctl(struct inode *inode, struct file *file,
unsigned int cmd, unsigned long arg)
{
- int dev = minor(inode->i_rdev) & 0x0f;
+ int dev = iminor(inode) & 0x0f;
switch(dev)
{
@@ -424,7 +424,7 @@ static int dsp56k_ioctl(struct inode *inode, struct file *file,
#if 0
static unsigned int dsp56k_poll(struct file *file, poll_table *wait)
{
- int dev = minor(file->f_dentry->d_inode->i_rdev) & 0x0f;
+ int dev = iminor(file->f_dentry->d_inode) & 0x0f;
switch(dev)
{
@@ -441,7 +441,7 @@ static unsigned int dsp56k_poll(struct file *file, poll_table *wait)
static int dsp56k_open(struct inode *inode, struct file *file)
{
- int dev = minor(inode->i_rdev) & 0x0f;
+ int dev = iminor(inode) & 0x0f;
switch(dev)
{
@@ -472,7 +472,7 @@ static int dsp56k_open(struct inode *inode, struct file *file)
static int dsp56k_release(struct inode *inode, struct file *file)
{
- int dev = minor(inode->i_rdev) & 0x0f;
+ int dev = iminor(inode) & 0x0f;
switch(dev)
{
diff --git a/drivers/char/dtlk.c b/drivers/char/dtlk.c
index 6bf29e34c692..748c8a17295a 100644
--- a/drivers/char/dtlk.c
+++ b/drivers/char/dtlk.c
@@ -125,7 +125,7 @@ static void dtlk_timer_tick(unsigned long data);
static ssize_t dtlk_read(struct file *file, char *buf,
size_t count, loff_t * ppos)
{
- unsigned int minor = minor(file->f_dentry->d_inode->i_rdev);
+ unsigned int minor = iminor(file->f_dentry->d_inode);
char ch;
int i = 0, retries;
@@ -185,7 +185,7 @@ static ssize_t dtlk_write(struct file *file, const char *buf,
if (ppos != &file->f_pos)
return -ESPIPE;
- if (minor(file->f_dentry->d_inode->i_rdev) != DTLK_MINOR)
+ if (iminor(file->f_dentry->d_inode) != DTLK_MINOR)
return -EINVAL;
while (1) {
@@ -304,7 +304,7 @@ static int dtlk_open(struct inode *inode, struct file *file)
{
TRACE_TEXT("(dtlk_open");
- switch (minor(inode->i_rdev)) {
+ switch (iminor(inode)) {
case DTLK_MINOR:
if (dtlk_busy)
return -EBUSY;
@@ -319,7 +319,7 @@ static int dtlk_release(struct inode *inode, struct file *file)
{
TRACE_TEXT("(dtlk_release");
- switch (minor(inode->i_rdev)) {
+ switch (iminor(inode)) {
case DTLK_MINOR:
break;
diff --git a/drivers/char/ftape/zftape/zftape-init.c b/drivers/char/ftape/zftape/zftape-init.c
index 788e032f379d..80f4f09c4194 100644
--- a/drivers/char/ftape/zftape/zftape-init.c
+++ b/drivers/char/ftape/zftape/zftape-init.c
@@ -110,11 +110,11 @@ static int zft_open(struct inode *ino, struct file *filep)
int result;
TRACE_FUN(ft_t_flow);
- TRACE(ft_t_flow, "called for minor %d", minor(ino->i_rdev));
+ TRACE(ft_t_flow, "called for minor %d", iminor(ino));
if ( test_and_set_bit(0,&busy_flag) ) {
TRACE_ABORT(-EBUSY, ft_t_warn, "failed: already busy");
}
- if ((minor(ino->i_rdev) & ~(ZFT_MINOR_OP_MASK | FTAPE_NO_REWIND))
+ if ((iminor(ino) & ~(ZFT_MINOR_OP_MASK | FTAPE_NO_REWIND))
>
FTAPE_SEL_D) {
clear_bit(0,&busy_flag);
@@ -122,7 +122,7 @@ static int zft_open(struct inode *ino, struct file *filep)
}
orig_sigmask = current->blocked;
sigfillset(&current->blocked);
- result = _zft_open(minor(ino->i_rdev), filep->f_flags & O_ACCMODE);
+ result = _zft_open(iminor(ino), filep->f_flags & O_ACCMODE);
if (result < 0) {
current->blocked = orig_sigmask; /* restore mask */
clear_bit(0,&busy_flag);
@@ -144,7 +144,7 @@ static int zft_close(struct inode *ino, struct file *filep)
int result;
TRACE_FUN(ft_t_flow);
- if ( !test_bit(0,&busy_flag) || minor(ino->i_rdev) != zft_unit) {
+ if ( !test_bit(0,&busy_flag) || iminor(ino) != zft_unit) {
TRACE(ft_t_err, "failed: not busy or wrong unit");
TRACE_EXIT 0;
}
@@ -167,7 +167,7 @@ static int zft_ioctl(struct inode *ino, struct file *filep,
sigset_t old_sigmask;
TRACE_FUN(ft_t_flow);
- if ( !test_bit(0,&busy_flag) || minor(ino->i_rdev) != zft_unit || ft_failure) {
+ if ( !test_bit(0,&busy_flag) || iminor(ino) != zft_unit || ft_failure) {
TRACE_ABORT(-EIO, ft_t_err,
"failed: not busy, failure or wrong unit");
}
@@ -188,7 +188,7 @@ static int zft_mmap(struct file *filep, struct vm_area_struct *vma)
TRACE_FUN(ft_t_flow);
if ( !test_bit(0,&busy_flag) ||
- minor(filep->f_dentry->d_inode->i_rdev) != zft_unit ||
+ iminor(filep->f_dentry->d_inode) != zft_unit ||
ft_failure)
{
TRACE_ABORT(-EIO, ft_t_err,
@@ -217,7 +217,7 @@ static ssize_t zft_read(struct file *fp, char *buff,
TRACE_FUN(ft_t_flow);
TRACE(ft_t_data_flow, "called with count: %ld", (unsigned long)req_len);
- if (!test_bit(0,&busy_flag) || minor(ino->i_rdev) != zft_unit || ft_failure) {
+ if (!test_bit(0,&busy_flag) || iminor(ino) != zft_unit || ft_failure) {
TRACE_ABORT(-EIO, ft_t_err,
"failed: not busy, failure or wrong unit");
}
@@ -240,7 +240,7 @@ static ssize_t zft_write(struct file *fp, const char *buff,
TRACE_FUN(ft_t_flow);
TRACE(ft_t_flow, "called with count: %ld", (unsigned long)req_len);
- if (!test_bit(0,&busy_flag) || minor(ino->i_rdev) != zft_unit || ft_failure) {
+ if (!test_bit(0,&busy_flag) || iminor(ino) != zft_unit || ft_failure) {
TRACE_ABORT(-EIO, ft_t_err,
"failed: not busy, failure or wrong unit");
}
diff --git a/drivers/char/ip2main.c b/drivers/char/ip2main.c
index 0dd339726bb7..eef32735a70d 100644
--- a/drivers/char/ip2main.c
+++ b/drivers/char/ip2main.c
@@ -2733,7 +2733,7 @@ static
ssize_t
ip2_ipl_read(struct file *pFile, char *pData, size_t count, loff_t *off )
{
- unsigned int minor = minor( pFile->f_dentry->d_inode->i_rdev );
+ unsigned int minor = iminor(pFile->f_dentry->d_inode);
int rc = 0;
#ifdef IP2DEBUG_IPL
@@ -2863,7 +2863,7 @@ ip2_ipl_write(struct file *pFile, const char *pData, size_t count, loff_t *off)
static int
ip2_ipl_ioctl ( struct inode *pInode, struct file *pFile, UINT cmd, ULONG arg )
{
- unsigned int iplminor = minor(pInode->i_rdev);
+ unsigned int iplminor = iminor(pInode);
int rc = 0;
ULONG *pIndex = (ULONG*)arg;
i2eBordStrPtr pB = i2BoardPtrTable[iplminor / 4];
@@ -2998,7 +2998,7 @@ ip2_ipl_ioctl ( struct inode *pInode, struct file *pFile, UINT cmd, ULONG arg )
static int
ip2_ipl_open( struct inode *pInode, struct file *pFile )
{
- unsigned int iplminor = minor(pInode->i_rdev);
+ unsigned int iplminor = iminor(pInode);
i2eBordStrPtr pB;
i2ChanStrPtr pCh;
diff --git a/drivers/char/ipmi/ipmi_devintf.c b/drivers/char/ipmi/ipmi_devintf.c
index 0457f37d0a08..b69ff3d19284 100644
--- a/drivers/char/ipmi/ipmi_devintf.c
+++ b/drivers/char/ipmi/ipmi_devintf.c
@@ -110,7 +110,7 @@ static struct ipmi_user_hndl ipmi_hndlrs =
static int ipmi_open(struct inode *inode, struct file *file)
{
- int if_num = minor(inode->i_rdev);
+ int if_num = iminor(inode);
int rv;
struct ipmi_file_private *priv;
diff --git a/drivers/char/ipmi/ipmi_watchdog.c b/drivers/char/ipmi/ipmi_watchdog.c
index 185ed6ade2a2..eb213e416d23 100644
--- a/drivers/char/ipmi/ipmi_watchdog.c
+++ b/drivers/char/ipmi/ipmi_watchdog.c
@@ -645,7 +645,7 @@ static ssize_t ipmi_read(struct file *file,
static int ipmi_open(struct inode *ino, struct file *filep)
{
- switch (minor(ino->i_rdev))
+ switch (iminor(ino))
{
case WATCHDOG_MINOR:
if (ipmi_wdog_open)
@@ -688,7 +688,7 @@ static int ipmi_fasync(int fd, struct file *file, int on)
static int ipmi_close(struct inode *ino, struct file *filep)
{
- if (minor(ino->i_rdev)==WATCHDOG_MINOR)
+ if (iminor(ino)==WATCHDOG_MINOR)
{
#ifndef CONFIG_WATCHDOG_NOWAYOUT
ipmi_watchdog_state = WDOG_TIMEOUT_NONE;
diff --git a/drivers/char/istallion.c b/drivers/char/istallion.c
index 429fb2955573..ff543516731d 100644
--- a/drivers/char/istallion.c
+++ b/drivers/char/istallion.c
@@ -4805,7 +4805,7 @@ static ssize_t stli_memread(struct file *fp, char *buf, size_t count, loff_t *of
(int) fp, (int) buf, count, (int) offp);
#endif
- brdnr = minor(fp->f_dentry->d_inode->i_rdev);
+ brdnr = iminor(fp->f_dentry->d_inode);
if (brdnr >= stli_nrbrds)
return(-ENODEV);
brdp = stli_brds[brdnr];
@@ -4860,7 +4860,7 @@ static ssize_t stli_memwrite(struct file *fp, const char *buf, size_t count, lof
(int) fp, (int) buf, count, (int) offp);
#endif
- brdnr = minor(fp->f_dentry->d_inode->i_rdev);
+ brdnr = iminor(fp->f_dentry->d_inode);
if (brdnr >= stli_nrbrds)
return(-ENODEV);
brdp = stli_brds[brdnr];
@@ -5201,7 +5201,7 @@ static int stli_memioctl(struct inode *ip, struct file *fp, unsigned int cmd, un
* Now handle the board specific ioctls. These all depend on the
* minor number of the device they were called from.
*/
- brdnr = minor(ip->i_rdev);
+ brdnr = iminor(ip);
if (brdnr >= STL_MAXBRDS)
return(-ENODEV);
brdp = stli_brds[brdnr];
diff --git a/drivers/char/ite_gpio.c b/drivers/char/ite_gpio.c
index 1d76b81180d5..f3a6c78bd322 100644
--- a/drivers/char/ite_gpio.c
+++ b/drivers/char/ite_gpio.c
@@ -238,7 +238,7 @@ EXPORT_SYMBOL(ite_gpio_int_wait);
static int ite_gpio_open(struct inode *inode, struct file *file)
{
- unsigned int minor = minor(inode->i_rdev);
+ unsigned int minor = iminor(inode);
if (minor != GPIO_MINOR)
return -ENODEV;
diff --git a/drivers/char/lp.c b/drivers/char/lp.c
index 6f3ba6d76be7..46be7a8ac3d3 100644
--- a/drivers/char/lp.c
+++ b/drivers/char/lp.c
@@ -292,7 +292,7 @@ static int lp_wait_ready(int minor, int nonblock)
static ssize_t lp_write(struct file * file, const char * buf,
size_t count, loff_t *ppos)
{
- unsigned int minor = minor(file->f_dentry->d_inode->i_rdev);
+ unsigned int minor = iminor(file->f_dentry->d_inode);
struct parport *port = lp_table[minor].dev->port;
char *kbuf = lp_table[minor].lp_buffer;
ssize_t retv = 0;
@@ -408,7 +408,7 @@ static ssize_t lp_write(struct file * file, const char * buf,
static ssize_t lp_read(struct file * file, char * buf,
size_t count, loff_t *ppos)
{
- unsigned int minor=minor(file->f_dentry->d_inode->i_rdev);
+ unsigned int minor=iminor(file->f_dentry->d_inode);
struct parport *port = lp_table[minor].dev->port;
ssize_t retval = 0;
char *kbuf = lp_table[minor].lp_buffer;
@@ -483,7 +483,7 @@ static ssize_t lp_read(struct file * file, char * buf,
static int lp_open(struct inode * inode, struct file * file)
{
- unsigned int minor = minor(inode->i_rdev);
+ unsigned int minor = iminor(inode);
if (minor >= LP_NO)
return -ENXIO;
@@ -540,7 +540,7 @@ static int lp_open(struct inode * inode, struct file * file)
static int lp_release(struct inode * inode, struct file * file)
{
- unsigned int minor = minor(inode->i_rdev);
+ unsigned int minor = iminor(inode);
lp_claim_parport_or_block (&lp_table[minor]);
parport_negotiate (lp_table[minor].dev->port, IEEE1284_MODE_COMPAT);
@@ -555,7 +555,7 @@ static int lp_release(struct inode * inode, struct file * file)
static int lp_ioctl(struct inode *inode, struct file *file,
unsigned int cmd, unsigned long arg)
{
- unsigned int minor = minor(inode->i_rdev);
+ unsigned int minor = iminor(inode);
int status;
int retval = 0;
diff --git a/drivers/char/lp_old98.c b/drivers/char/lp_old98.c
index fe5d3de82e0a..87695ee2ec07 100644
--- a/drivers/char/lp_old98.c
+++ b/drivers/char/lp_old98.c
@@ -219,7 +219,7 @@ static ssize_t lp_old98_write(struct file * file,
static int lp_old98_open(struct inode * inode, struct file * file)
{
- if (minor(inode->i_rdev) != 0)
+ if (iminor(inode) != 0)
return -ENXIO;
if (lp.flags & LP_BUSY)
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
index 7f1464f3e6b8..82b44f1c1a13 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@ -607,7 +607,7 @@ static struct file_operations kmsg_fops = {
static int memory_open(struct inode * inode, struct file * filp)
{
- switch (minor(inode->i_rdev)) {
+ switch (iminor(inode)) {
case 1:
filp->f_op = &mem_fops;
break;
diff --git a/drivers/char/misc.c b/drivers/char/misc.c
index b1c42c73b763..8cc75c28a105 100644
--- a/drivers/char/misc.c
+++ b/drivers/char/misc.c
@@ -100,7 +100,7 @@ static int misc_read_proc(char *buf, char **start, off_t offset,
static int misc_open(struct inode * inode, struct file * file)
{
- int minor = minor(inode->i_rdev);
+ int minor = iminor(inode);
struct miscdevice *c;
int err = -ENODEV;
struct file_operations *old_fops, *new_fops = NULL;
diff --git a/drivers/char/ppdev.c b/drivers/char/ppdev.c
index b1e6721199e9..7428e4d3ce99 100644
--- a/drivers/char/ppdev.c
+++ b/drivers/char/ppdev.c
@@ -104,7 +104,7 @@ static inline void pp_enable_irq (struct pp_struct *pp)
static ssize_t pp_read (struct file * file, char * buf, size_t count,
loff_t * ppos)
{
- unsigned int minor = minor (file->f_dentry->d_inode->i_rdev);
+ unsigned int minor = iminor(file->f_dentry->d_inode);
struct pp_struct *pp = file->private_data;
char * kbuffer;
ssize_t bytes_read = 0;
@@ -187,7 +187,7 @@ static ssize_t pp_read (struct file * file, char * buf, size_t count,
static ssize_t pp_write (struct file * file, const char * buf, size_t count,
loff_t * ppos)
{
- unsigned int minor = minor (file->f_dentry->d_inode->i_rdev);
+ unsigned int minor = iminor(file->f_dentry->d_inode);
struct pp_struct *pp = file->private_data;
char * kbuffer;
ssize_t bytes_written = 0;
@@ -330,7 +330,7 @@ static enum ieee1284_phase init_phase (int mode)
static int pp_ioctl(struct inode *inode, struct file *file,
unsigned int cmd, unsigned long arg)
{
- unsigned int minor = minor(inode->i_rdev);
+ unsigned int minor = iminor(inode);
struct pp_struct *pp = file->private_data;
struct parport * port;
@@ -638,7 +638,7 @@ static int pp_ioctl(struct inode *inode, struct file *file,
static int pp_open (struct inode * inode, struct file * file)
{
- unsigned int minor = minor (inode->i_rdev);
+ unsigned int minor = iminor(inode);
struct pp_struct *pp;
if (minor >= PARPORT_MAX)
@@ -667,7 +667,7 @@ static int pp_open (struct inode * inode, struct file * file)
static int pp_release (struct inode * inode, struct file * file)
{
- unsigned int minor = minor (inode->i_rdev);
+ unsigned int minor = iminor(inode);
struct pp_struct *pp = file->private_data;
int compat_negot;
diff --git a/drivers/char/raw.c b/drivers/char/raw.c
index 8aeb7cbbe9b8..a7a1a31db6e2 100644
--- a/drivers/char/raw.c
+++ b/drivers/char/raw.c
@@ -43,7 +43,7 @@ static struct file_operations raw_ctl_fops; /* forward declaration */
*/
static int raw_open(struct inode *inode, struct file *filp)
{
- const int minor = minor(inode->i_rdev);
+ const int minor = iminor(inode);
struct block_device *bdev;
int err;
@@ -63,7 +63,9 @@ static int raw_open(struct inode *inode, struct file *filp)
err = bd_claim(bdev, raw_open);
if (err)
goto out;
- atomic_inc(&bdev->bd_count);
+ err = -ENODEV;
+ if (!igrab(bdev->bd_inode))
+ goto out;
err = blkdev_get(bdev, filp->f_mode, 0, BDEV_RAW);
if (err) {
bd_release(bdev);
@@ -90,7 +92,7 @@ out:
*/
static int raw_release(struct inode *inode, struct file *filp)
{
- const int minor= minor(inode->i_rdev);
+ const int minor= iminor(inode);
struct block_device *bdev;
down(&raw_mutex);
diff --git a/drivers/char/scx200_gpio.c b/drivers/char/scx200_gpio.c
index e366643396df..3758fb1b1171 100644
--- a/drivers/char/scx200_gpio.c
+++ b/drivers/char/scx200_gpio.c
@@ -29,7 +29,7 @@ MODULE_PARM_DESC(major, "Major device number");
static ssize_t scx200_gpio_write(struct file *file, const char *data,
size_t len, loff_t *ppos)
{
- unsigned m = minor(file->f_dentry->d_inode->i_rdev);
+ unsigned m = iminor(file->f_dentry->d_inode);
size_t i;
if (ppos != &file->f_pos)
@@ -80,7 +80,7 @@ static ssize_t scx200_gpio_write(struct file *file, const char *data,
static ssize_t scx200_gpio_read(struct file *file, char *buf,
size_t len, loff_t *ppos)
{
- unsigned m = minor(file->f_dentry->d_inode->i_rdev);
+ unsigned m = iminor(file->f_dentry->d_inode);
int value;
if (ppos != &file->f_pos)
@@ -95,7 +95,7 @@ static ssize_t scx200_gpio_read(struct file *file, char *buf,
static int scx200_gpio_open(struct inode *inode, struct file *file)
{
- unsigned m = minor(inode->i_rdev);
+ unsigned m = iminor(inode);
if (m > 63)
return -EINVAL;
return 0;
diff --git a/drivers/char/stallion.c b/drivers/char/stallion.c
index d3a4f5eae2c2..88e764f891bc 100644
--- a/drivers/char/stallion.c
+++ b/drivers/char/stallion.c
@@ -3078,7 +3078,7 @@ static int stl_memioctl(struct inode *ip, struct file *fp, unsigned int cmd, uns
(int) fp, cmd, (int) arg);
#endif
- brdnr = minor(ip->i_rdev);
+ brdnr = iminor(ip);
if (brdnr >= STL_MAXBRDS)
return(-ENODEV);
rc = 0;
diff --git a/drivers/char/tipar.c b/drivers/char/tipar.c
index b88f7d0d4ddb..660f7b0f1487 100644
--- a/drivers/char/tipar.c
+++ b/drivers/char/tipar.c
@@ -248,7 +248,7 @@ probe_ti_parallel(int minor)
static int
tipar_open(struct inode *inode, struct file *file)
{
- unsigned int minor = minor(inode->i_rdev) - TIPAR_MINOR;
+ unsigned int minor = iminor(inode) - TIPAR_MINOR;
if (minor > tp_count - 1)
return -ENXIO;
@@ -266,7 +266,7 @@ tipar_open(struct inode *inode, struct file *file)
static int
tipar_close(struct inode *inode, struct file *file)
{
- unsigned int minor = minor(inode->i_rdev) - TIPAR_MINOR;
+ unsigned int minor = iminor(inode) - TIPAR_MINOR;
if (minor > tp_count - 1)
return -ENXIO;
@@ -279,8 +279,7 @@ tipar_close(struct inode *inode, struct file *file)
static ssize_t
tipar_write(struct file *file, const char *buf, size_t count, loff_t * ppos)
{
- unsigned int minor =
- minor(file->f_dentry->d_inode->i_rdev) - TIPAR_MINOR;
+ unsigned int minor = iminor(file->f_dentry->d_inode) - TIPAR_MINOR;
ssize_t n;
parport_claim_or_block(table[minor].dev);
@@ -308,8 +307,7 @@ static ssize_t
tipar_read(struct file *file, char *buf, size_t count, loff_t * ppos)
{
int b = 0;
- unsigned int minor =
- minor(file->f_dentry->d_inode->i_rdev) - TIPAR_MINOR;
+ unsigned int minor = iminor(file->f_dentry->d_inode) - TIPAR_MINOR;
ssize_t retval = 0;
ssize_t n = 0;
diff --git a/drivers/char/tpqic02.c b/drivers/char/tpqic02.c
index 4429c89ac7c3..ec6861ef30cb 100644
--- a/drivers/char/tpqic02.c
+++ b/drivers/char/tpqic02.c
@@ -169,7 +169,7 @@ static unsigned long dma_bytes_done;
static volatile unsigned dma_mode; /* !=0 also means DMA in use */
static flag need_rewind = YES;
-static kdev_t current_tape_dev;
+static int current_type;
static int extra_blocks_left = BLOCKS_BEYOND_EW;
static struct timer_list tp_timer;
@@ -677,7 +677,7 @@ static int rdstatus(char *stp, unsigned size, char qcmd)
* exception flag from previous exception which we are trying to clear.
*/
- if (TP_DIAGS(current_tape_dev))
+ if (TP_DIAGS(current_type))
printk(TPQIC02_NAME ": reading status bytes: ");
for (q = stp; q < stp + size; q++) {
@@ -693,7 +693,7 @@ static int rdstatus(char *stp, unsigned size, char qcmd)
*q = inb_p(QIC02_DATA_PORT); /* read status byte */
- if (TP_DIAGS(current_tape_dev))
+ if (TP_DIAGS(current_type))
printk("[%1d]=0x%x ", q - stp, (unsigned) (*q) & 0xff);
outb_p(ctlbits | QIC02_CTL_REQUEST, QIC02_CTL_PORT); /* set request */
@@ -714,7 +714,7 @@ static int rdstatus(char *stp, unsigned size, char qcmd)
cpu_relax();
/* wait for ready */
- if (TP_DIAGS(current_tape_dev))
+ if (TP_DIAGS(current_type))
printk("\n");
return TE_OK;
@@ -1614,7 +1614,7 @@ static irqreturn_t qic02_tape_interrupt(int irq, void *dev_id,
if (status_expect_int) {
#ifdef WANT_EXTRA_FULL_DEBUGGING
- if (TP_DIAGS(current_tape_dev))
+ if (TP_DIAGS(current_type))
printk("@");
#endif
stat = inb(QIC02_STAT_PORT); /* Knock, knock */
@@ -1726,7 +1726,7 @@ static irqreturn_t qic02_tape_interrupt(int irq, void *dev_id,
static ssize_t qic02_tape_read(struct file *filp, char *buf, size_t count, loff_t * ppos)
{
- kdev_t dev = filp->f_dentry->d_inode->i_rdev;
+ int type = iminor(filp->f_dentry->d_inode);
unsigned short flags = filp->f_flags;
unsigned long bytes_todo, bytes_done, total_bytes_done = 0;
int stat;
@@ -1736,8 +1736,8 @@ static ssize_t qic02_tape_read(struct file *filp, char *buf, size_t count, loff_
return -ENXIO;
}
- if (TP_DIAGS(current_tape_dev))
- printk(TPQIC02_NAME ": request READ, minor=%x, buf=%p, count=%lx, pos=%Lx, flags=%x\n", minor(dev), buf,
+ if (TP_DIAGS(current_type))
+ printk(TPQIC02_NAME ": request READ, minor=%x, buf=%p, count=%lx, pos=%Lx, flags=%x\n", type, buf,
(long) count, filp->f_pos, flags);
if (count % TAPE_BLKSIZE) { /* Only allow mod 512 bytes at a time. */
@@ -1904,7 +1904,7 @@ static ssize_t qic02_tape_read(struct file *filp, char *buf, size_t count, loff_
*/
static ssize_t qic02_tape_write(struct file *filp, const char *buf, size_t count, loff_t * ppos)
{
- kdev_t dev = filp->f_dentry->d_inode->i_rdev;
+ int type = iminor(filp->f_dentry->d_inode);
unsigned short flags = filp->f_flags;
unsigned long bytes_todo, bytes_done, total_bytes_done = 0;
@@ -1913,9 +1913,9 @@ static ssize_t qic02_tape_write(struct file *filp, const char *buf, size_t count
return -ENXIO;
}
- if (TP_DIAGS(current_tape_dev)) {
+ if (TP_DIAGS(current_type)) {
printk(TPQIC02_NAME ": request WRITE, minor=%x, buf=%p, count=%lx, pos=%Lx, flags=%x\n",
- minor(dev), buf, (long) count, filp->f_pos, flags);
+ type, buf, (long) count, filp->f_pos, flags);
}
if (count % TAPE_BLKSIZE) { /* only allow mod 512 bytes at a time */
@@ -2070,17 +2070,18 @@ static int qic02_tape_open(struct inode *inode, struct file *filp)
static int qic02_tape_open_no_use_count(struct inode *inode,
struct file *filp)
{
- kdev_t dev = inode->i_rdev;
+ int type = iminor(inode);
unsigned short flags = filp->f_flags;
unsigned short dens = 0;
int s;
- if (TP_DIAGS(dev)) {
- printk("qic02_tape_open: dev=%s, flags=%x ", cdevname(dev), flags);
+ if (TP_DIAGS(type)) {
+ printk("qic02_tape_open: dev=tpqic2(%d), flags=%x ",
+ type, flags);
}
- if (minor(dev) == 255) { /* special case for resetting */
+ if (type == 255) { /* special case for resetting */
if (capable(CAP_SYS_ADMIN)) {
return (tape_reset(1) == TE_OK) ? -EAGAIN : -ENXIO;
} else {
@@ -2162,7 +2163,7 @@ static int qic02_tape_open_no_use_count(struct inode *inode,
*/
/* not allowed to do QCMD_DENS_* unless tape is rewound */
- if ((TP_DENS(dev) != 0) && (TP_DENS(current_tape_dev) != TP_DENS(dev))) {
+ if ((TP_DENS(type) != 0) && (TP_DENS(current_type) != TP_DENS(type))) {
/* force rewind if minor bits have changed,
* i.e. user wants to use tape in different format.
* [assuming single drive operation]
@@ -2175,7 +2176,7 @@ static int qic02_tape_open_no_use_count(struct inode *inode,
/* density bits still the same, but TP_DIAGS bit
* may have changed.
*/
- current_tape_dev = dev;
+ current_type = type;
}
if (need_rewind == YES) {
@@ -2212,14 +2213,14 @@ static int qic02_tape_open_no_use_count(struct inode *inode,
* so we must have done a rewind by now. If not, just skip over.
* Only give set density command when minor bits have changed.
*/
- if (TP_DENS(current_tape_dev) == TP_DENS(dev)) {
+ if (TP_DENS(current_type) == TP_DENS(type)) {
return 0;
}
- current_tape_dev = dev;
+ current_type = type;
need_rewind = NO;
if (TP_HAVE_DENS) {
- dens = TP_DENS(dev);
+ dens = TP_DENS(type);
}
if (dens < sizeof(format_names) / sizeof(char *))
@@ -2227,7 +2228,7 @@ static int qic02_tape_open_no_use_count(struct inode *inode,
else
tpqputs(TPQD_REWIND, "Wait for retensioning...");
- switch (TP_DENS(dev)) {
+ switch (TP_DENS(type)) {
case 0: /* Minor 0 is for drives without set-density support */
s = 0;
break;
@@ -2254,7 +2255,7 @@ static int qic02_tape_open_no_use_count(struct inode *inode,
}
if (s != 0) {
status_dead = YES; /* force reset */
- current_tape_dev = NODEV;/* earlier 0xff80 */
+ current_type = 0;/* earlier 0xff80 */
return -EIO;
}
@@ -2264,10 +2265,10 @@ static int qic02_tape_open_no_use_count(struct inode *inode,
static int qic02_tape_release(struct inode *inode, struct file *filp)
{
- kdev_t dev = inode->i_rdev;
+ int type = iminor(inode);
- if (TP_DIAGS(dev)) {
- printk("qic02_tape_release: dev=%s\n", cdevname(dev));
+ if (TP_DIAGS(type)) {
+ printk("qic02_tape_release: dev=tpqic2(%d)\n", type);
}
if (status_zombie == NO) { /* don't rewind in zombie mode */
@@ -2283,7 +2284,7 @@ static int qic02_tape_release(struct inode *inode, struct file *filp)
/* Rewind only if minor number requires it AND
* read/writes have been done. ************* IS THIS CORRECT??????????
*/
- if ((TP_REWCLOSE(dev)) && (status_bytes_rd | status_bytes_wr)) {
+ if (TP_REWCLOSE(type) && (status_bytes_rd | status_bytes_wr)) {
tpqputs(TPQD_REWIND, "release: Doing rewind...");
(void) do_qic_cmd(QCMD_REWIND, TIM_R);
}
@@ -2398,7 +2399,7 @@ static int qic02_tape_ioctl(struct inode *inode, struct file *filp, unsigned int
struct mtpos ioctl_tell;
- if (TP_DIAGS(current_tape_dev))
+ if (TP_DIAGS(current_type))
printk(TPQIC02_NAME ": ioctl(%4x, %4lx)\n", iocmd, ioarg);
if (!inode)
@@ -2459,7 +2460,7 @@ static int qic02_tape_ioctl(struct inode *inode, struct file *filp, unsigned int
* --- tape at the beginning of the current file.
*/
- if (TP_DIAGS(current_tape_dev))
+ if (TP_DIAGS(current_type))
printk("OP op=%4x, count=%4x\n", operation.mt_op, operation.mt_count);
if (operation.mt_count < 0)
@@ -2492,7 +2493,7 @@ static int qic02_tape_ioctl(struct inode *inode, struct file *filp, unsigned int
return 0;
} else if (c == _IOC_NR(MTIOCGET)) {
- if (TP_DIAGS(current_tape_dev))
+ if (TP_DIAGS(current_type))
printk("GET ");
CHECK_IOC_SIZE(mtget);
@@ -2507,7 +2508,7 @@ static int qic02_tape_ioctl(struct inode *inode, struct file *filp, unsigned int
return -EFAULT;
return 0;
} else if (TP_HAVE_TELL && (c == _IOC_NR(MTIOCPOS))) {
- if (TP_DIAGS(current_tape_dev))
+ if (TP_DIAGS(current_type))
printk("POS ");
CHECK_IOC_SIZE(mtpos);
@@ -2664,7 +2665,7 @@ int __init qic02_tape_init(void)
return -ENODEV;
}
- current_tape_dev = mk_kdev(QIC02_TAPE_MAJOR, 0);
+ current_type = 0;
#ifndef CONFIG_QIC02_DYNCONF
printk(TPQIC02_NAME ": IRQ %d, DMA %d, IO 0x%x, IFC %s, %s, %s\n",
diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c
index ba53772c8fd9..d0e06f0e6bcf 100644
--- a/drivers/char/tty_io.c
+++ b/drivers/char/tty_io.c
@@ -177,7 +177,7 @@ char *tty_name(struct tty_struct *tty, char *buf)
EXPORT_SYMBOL(tty_name);
-inline int tty_paranoia_check(struct tty_struct *tty, kdev_t device,
+inline int tty_paranoia_check(struct tty_struct *tty, struct inode *inode,
const char *routine)
{
#ifdef TTY_PARANOIA_CHECK
@@ -187,11 +187,11 @@ inline int tty_paranoia_check(struct tty_struct *tty, kdev_t device,
"Warning: null TTY for (%s) in %s\n";
if (!tty) {
- printk(badtty, cdevname(device), routine);
+ printk(badtty, cdevname(inode->i_rdev), routine);
return 1;
}
if (tty->magic != TTY_MAGIC) {
- printk(badmagic, cdevname(device), routine);
+ printk(badmagic, cdevname(inode->i_rdev), routine);
return 1;
}
#endif
@@ -646,7 +646,7 @@ static ssize_t tty_read(struct file * file, char * buf, size_t count,
tty = (struct tty_struct *)file->private_data;
inode = file->f_dentry->d_inode;
- if (tty_paranoia_check(tty, inode->i_rdev, "tty_read"))
+ if (tty_paranoia_check(tty, inode, "tty_read"))
return -EIO;
if (!tty || (test_bit(TTY_IO_ERROR, &tty->flags)))
return -EIO;
@@ -763,7 +763,7 @@ static ssize_t tty_write(struct file * file, const char * buf, size_t count,
}
tty = (struct tty_struct *)file->private_data;
- if (tty_paranoia_check(tty, inode->i_rdev, "tty_write"))
+ if (tty_paranoia_check(tty, inode, "tty_write"))
return -EIO;
if (!tty || !tty->driver->write || (test_bit(TTY_IO_ERROR, &tty->flags)))
return -EIO;
@@ -1059,7 +1059,7 @@ static void release_dev(struct file * filp)
char buf[64];
tty = (struct tty_struct *)filp->private_data;
- if (tty_paranoia_check(tty, filp->f_dentry->d_inode->i_rdev, "release_dev"))
+ if (tty_paranoia_check(tty, filp->f_dentry->d_inode, "release_dev"))
return;
check_tty_count(tty, "release_dev");
@@ -1439,7 +1439,7 @@ static unsigned int tty_poll(struct file * filp, poll_table * wait)
struct tty_struct * tty;
tty = (struct tty_struct *)filp->private_data;
- if (tty_paranoia_check(tty, filp->f_dentry->d_inode->i_rdev, "tty_poll"))
+ if (tty_paranoia_check(tty, filp->f_dentry->d_inode, "tty_poll"))
return 0;
if (tty->ldisc.poll)
@@ -1453,7 +1453,7 @@ static int tty_fasync(int fd, struct file * filp, int on)
int retval;
tty = (struct tty_struct *)filp->private_data;
- if (tty_paranoia_check(tty, filp->f_dentry->d_inode->i_rdev, "tty_fasync"))
+ if (tty_paranoia_check(tty, filp->f_dentry->d_inode, "tty_fasync"))
return 0;
retval = fasync_helper(fd, filp, on, &tty->fasync);
@@ -1727,7 +1727,7 @@ int tty_ioctl(struct inode * inode, struct file * file,
int retval;
tty = (struct tty_struct *)file->private_data;
- if (tty_paranoia_check(tty, inode->i_rdev, "tty_ioctl"))
+ if (tty_paranoia_check(tty, inode, "tty_ioctl"))
return -EINVAL;
real_tty = tty;
diff --git a/drivers/char/vc_screen.c b/drivers/char/vc_screen.c
index 07e16dbdb4e0..15c28a5edb5c 100644
--- a/drivers/char/vc_screen.c
+++ b/drivers/char/vc_screen.c
@@ -49,7 +49,7 @@ static int
vcs_size(struct inode *inode)
{
int size;
- int minor = minor(inode->i_rdev);
+ int minor = iminor(inode);
int currcons = minor & 127;
if (currcons == 0)
currcons = fg_console;
@@ -104,7 +104,7 @@ static ssize_t
vcs_read(struct file *file, char *buf, size_t count, loff_t *ppos)
{
struct inode *inode = file->f_dentry->d_inode;
- unsigned int currcons = minor(inode->i_rdev);
+ unsigned int currcons = iminor(inode);
long pos = *ppos;
long viewed, attr, read;
int col, maxcol;
@@ -273,7 +273,7 @@ static ssize_t
vcs_write(struct file *file, const char *buf, size_t count, loff_t *ppos)
{
struct inode *inode = file->f_dentry->d_inode;
- unsigned int currcons = minor(inode->i_rdev);
+ unsigned int currcons = iminor(inode);
long pos = *ppos;
long viewed, attr, size, written;
char *con_buf0;
@@ -456,7 +456,7 @@ unlock_out:
static int
vcs_open(struct inode *inode, struct file *filp)
{
- unsigned int currcons = minor(inode->i_rdev) & 127;
+ unsigned int currcons = iminor(inode) & 127;
if(currcons && !vc_cons_allocated(currcons-1))
return -ENXIO;
return 0;
diff --git a/drivers/char/watchdog/acquirewdt.c b/drivers/char/watchdog/acquirewdt.c
index 2e6e98ac932d..e25bd42b9963 100644
--- a/drivers/char/watchdog/acquirewdt.c
+++ b/drivers/char/watchdog/acquirewdt.c
@@ -130,7 +130,7 @@ static int acq_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
static int acq_open(struct inode *inode, struct file *file)
{
- if ((minor(inode->i_rdev) == WATCHDOG_MINOR)) {
+ if ((iminor(inode) == WATCHDOG_MINOR)) {
spin_lock(&acq_lock);
if(acq_is_open) {
spin_unlock(&acq_lock);
@@ -152,7 +152,7 @@ static int acq_open(struct inode *inode, struct file *file)
static int acq_close(struct inode *inode, struct file *file)
{
- if(minor(inode->i_rdev)==WATCHDOG_MINOR) {
+ if(iminor(inode)==WATCHDOG_MINOR) {
spin_lock(&acq_lock);
if (expect_close)
inb_p(WDT_STOP);
diff --git a/drivers/char/watchdog/cpu5wdt.c b/drivers/char/watchdog/cpu5wdt.c
index 8b23114ea122..36897e1ad3e0 100644
--- a/drivers/char/watchdog/cpu5wdt.c
+++ b/drivers/char/watchdog/cpu5wdt.c
@@ -134,7 +134,7 @@ static int cpu5wdt_stop(void)
static int cpu5wdt_open(struct inode *inode, struct file *file)
{
- switch(minor(inode->i_rdev)) {
+ switch(iminor(inode)) {
case WATCHDOG_MINOR:
if ( test_and_set_bit(0, &cpu5wdt_device.inuse) )
return -EBUSY;
@@ -148,7 +148,7 @@ static int cpu5wdt_open(struct inode *inode, struct file *file)
static int cpu5wdt_release(struct inode *inode, struct file *file)
{
- if(minor(inode->i_rdev)==WATCHDOG_MINOR) {
+ if(iminor(inode)==WATCHDOG_MINOR) {
clear_bit(0, &cpu5wdt_device.inuse);
}
return 0;
diff --git a/drivers/char/watchdog/ib700wdt.c b/drivers/char/watchdog/ib700wdt.c
index 3cb496f8efb3..91ae8dc73c1a 100644
--- a/drivers/char/watchdog/ib700wdt.c
+++ b/drivers/char/watchdog/ib700wdt.c
@@ -218,7 +218,7 @@ ibwdt_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
static int
ibwdt_open(struct inode *inode, struct file *file)
{
- if (minor(inode->i_rdev) == WATCHDOG_MINOR) {
+ if (iminor(inode) == WATCHDOG_MINOR) {
spin_lock(&ibwdt_lock);
if (ibwdt_is_open) {
spin_unlock(&ibwdt_lock);
@@ -240,7 +240,7 @@ ibwdt_open(struct inode *inode, struct file *file)
static int
ibwdt_close(struct inode *inode, struct file *file)
{
- if (minor(inode->i_rdev) == WATCHDOG_MINOR) {
+ if (iminor(inode) == WATCHDOG_MINOR) {
spin_lock(&ibwdt_lock);
if (expect_close)
outb_p(wd_times[wd_margin], WDT_STOP);
diff --git a/drivers/char/watchdog/machzwd.c b/drivers/char/watchdog/machzwd.c
index 87bfb0edb03a..f175809cc7cd 100644
--- a/drivers/char/watchdog/machzwd.c
+++ b/drivers/char/watchdog/machzwd.c
@@ -377,7 +377,7 @@ static int zf_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
static int zf_open(struct inode *inode, struct file *file)
{
- switch(minor(inode->i_rdev)){
+ switch(iminor(inode)){
case WATCHDOG_MINOR:
spin_lock(&zf_lock);
if(zf_is_open){
@@ -402,7 +402,7 @@ static int zf_open(struct inode *inode, struct file *file)
static int zf_close(struct inode *inode, struct file *file)
{
- if(minor(inode->i_rdev) == WATCHDOG_MINOR){
+ if(iminor(inode) == WATCHDOG_MINOR){
if(zf_expect_close){
zf_timer_off();
diff --git a/drivers/char/watchdog/pcwd.c b/drivers/char/watchdog/pcwd.c
index a9167cf89341..6d3ceaeeb11a 100644
--- a/drivers/char/watchdog/pcwd.c
+++ b/drivers/char/watchdog/pcwd.c
@@ -426,7 +426,7 @@ static ssize_t pcwd_write(struct file *file, const char *buf, size_t len,
static int pcwd_open(struct inode *ino, struct file *filep)
{
- switch (minor(ino->i_rdev)) {
+ switch (iminor(ino)) {
case WATCHDOG_MINOR:
if (!atomic_dec_and_test(&open_allowed) ) {
atomic_inc( &open_allowed );
@@ -457,7 +457,7 @@ static ssize_t pcwd_read(struct file *file, char *buf, size_t count,
/* Can't seek (pread) on this device */
if (ppos != &file->f_pos)
return -ESPIPE;
- switch(minor(file->f_dentry->d_inode->i_rdev))
+ switch(iminor(file->f_dentry->d_inode))
{
case TEMP_MINOR:
/*
@@ -477,7 +477,7 @@ static ssize_t pcwd_read(struct file *file, char *buf, size_t count,
static int pcwd_close(struct inode *ino, struct file *filep)
{
- if (minor(ino->i_rdev)==WATCHDOG_MINOR) {
+ if (iminor(ino)==WATCHDOG_MINOR) {
if (expect_close) {
/* Disable the board */
if (revision == PCWD_REVISION_C) {
diff --git a/drivers/char/watchdog/wdt.c b/drivers/char/watchdog/wdt.c
index 1c2680425d2e..e1760847f6d3 100644
--- a/drivers/char/watchdog/wdt.c
+++ b/drivers/char/watchdog/wdt.c
@@ -290,7 +290,7 @@ static ssize_t wdt_read(struct file *file, char *buf, size_t count, loff_t *ptr)
if (ptr != &file->f_pos)
return -ESPIPE;
- switch(minor(file->f_dentry->d_inode->i_rdev))
+ switch(iminor(file->f_dentry->d_inode))
{
case TEMP_MINOR:
c*=11;
@@ -373,7 +373,7 @@ static int wdt_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
static int wdt_open(struct inode *inode, struct file *file)
{
- switch(minor(inode->i_rdev))
+ switch(iminor(inode))
{
case WATCHDOG_MINOR:
if(test_and_set_bit(0, &wdt_is_open))
@@ -413,7 +413,7 @@ static int wdt_open(struct inode *inode, struct file *file)
static int wdt_release(struct inode *inode, struct file *file)
{
- if(minor(inode->i_rdev)==WATCHDOG_MINOR)
+ if(iminor(inode)==WATCHDOG_MINOR)
{
if (expect_close) {
inb_p(WDT_DC); /* Disable counters */
diff --git a/drivers/char/watchdog/wdt_pci.c b/drivers/char/watchdog/wdt_pci.c
index 07982732389b..93ff3659675a 100644
--- a/drivers/char/watchdog/wdt_pci.c
+++ b/drivers/char/watchdog/wdt_pci.c
@@ -276,7 +276,7 @@ static ssize_t wdtpci_read(struct file *file, char *buf, size_t count, loff_t *p
if (ptr != &file->f_pos)
return -ESPIPE;
- switch(minor(file->f_dentry->d_inode->i_rdev))
+ switch(iminor(file->f_dentry->d_inode))
{
case TEMP_MINOR:
c*=11;
@@ -361,7 +361,7 @@ static int wdtpci_open(struct inode *inode, struct file *file)
{
unsigned long flags;
- switch(minor(inode->i_rdev))
+ switch(iminor(inode))
{
case WATCHDOG_MINOR:
if (down_trylock(&open_sem))
@@ -423,7 +423,7 @@ static int wdtpci_open(struct inode *inode, struct file *file)
static int wdtpci_release(struct inode *inode, struct file *file)
{
- if (minor(inode->i_rdev)==WATCHDOG_MINOR) {
+ if (iminor(inode)==WATCHDOG_MINOR) {
unsigned long flags;
if (expect_close) {
spin_lock_irqsave(&wdtpci_lock, flags);