aboutsummaryrefslogtreecommitdiff
path: root/arch/mips/kernel
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-04-27 14:24:49 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-04-27 14:24:49 -0700
commita9aa0e24f7ed5acf2e0e1799fb28daf928293ba1 (patch)
tree38782b91d531c8d98b81372a7c964fa2c924b90f /arch/mips/kernel
parent7c1c3eb855b5311118bed3b51c79d652d40148ec (diff)
parentee1cca1b0661fa33fd99f2d8ec7e2749432f9b1d (diff)
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] Fix branch emulation for floating-point exceptions. [MIPS] Cleanup inode->r_dev usage. [MIPS] Update MIPS defconfigs. [MIPS] Get rid of CONFIG_ADVANCED. [MIPS] Kconfig: Clarify description of CROSSCOMPILE. [MIPS] 24K LV: Add core card id. [MIPS] Sparse: fix sparse for 64-bit kernels. [MIPS] Use __ffs() instead of ffs() in ip32_irq0(). [MIPS] Fix bitops for MIPS32/MIPS64 CPUs. [MIPS] Fix ip27 build. [MIPS] Oprofile: fix sparse warning. [MIPS] Fix oprofile module unloading
Diffstat (limited to 'arch/mips/kernel')
-rw-r--r--arch/mips/kernel/branch.c2
-rw-r--r--arch/mips/kernel/rtlx.c11
-rw-r--r--arch/mips/kernel/vpe.c6
3 files changed, 9 insertions, 10 deletions
diff --git a/arch/mips/kernel/branch.c b/arch/mips/kernel/branch.c
index 374de839558..b6232d9033c 100644
--- a/arch/mips/kernel/branch.c
+++ b/arch/mips/kernel/branch.c
@@ -184,7 +184,7 @@ int __compute_return_epc(struct pt_regs *regs)
bit = (insn.i_format.rt >> 2);
bit += (bit != 0);
bit += 23;
- switch (insn.i_format.rt) {
+ switch (insn.i_format.rt & 3) {
case 0: /* bc1f */
case 2: /* bc1fl */
if (~fcr31 & (1 << bit))
diff --git a/arch/mips/kernel/rtlx.c b/arch/mips/kernel/rtlx.c
index 6179805af9f..caf777f8328 100644
--- a/arch/mips/kernel/rtlx.c
+++ b/arch/mips/kernel/rtlx.c
@@ -398,15 +398,14 @@ ssize_t rtlx_write(int index, void *buffer, size_t count, int user)
static int file_open(struct inode *inode, struct file *filp)
{
- int minor = MINOR(inode->i_rdev);
+ int minor = iminor(inode);
return rtlx_open(minor, (filp->f_flags & O_NONBLOCK) ? 0 : 1);
}
static int file_release(struct inode *inode, struct file *filp)
{
- int minor;
- minor = MINOR(inode->i_rdev);
+ int minor = iminor(inode);
return rtlx_release(minor);
}
@@ -416,7 +415,7 @@ static unsigned int file_poll(struct file *file, poll_table * wait)
int minor;
unsigned int mask = 0;
- minor = MINOR(file->f_dentry->d_inode->i_rdev);
+ minor = iminor(file->f_dentry->d_inode);
poll_wait(file, &channel_wqs[minor].rt_queue, wait);
poll_wait(file, &channel_wqs[minor].lx_queue, wait);
@@ -438,7 +437,7 @@ static unsigned int file_poll(struct file *file, poll_table * wait)
static ssize_t file_read(struct file *file, char __user * buffer, size_t count,
loff_t * ppos)
{
- int minor = MINOR(file->f_dentry->d_inode->i_rdev);
+ int minor = iminor(file->f_dentry->d_inode);
/* data available? */
if (!rtlx_read_poll(minor, (file->f_flags & O_NONBLOCK) ? 0 : 1)) {
@@ -455,7 +454,7 @@ static ssize_t file_write(struct file *file, const char __user * buffer,
struct rtlx_channel *rt;
DECLARE_WAITQUEUE(wait, current);
- minor = MINOR(file->f_dentry->d_inode->i_rdev);
+ minor = iminor(file->f_dentry->d_inode);
rt = &rtlx->channel[minor];
/* any space left... */
diff --git a/arch/mips/kernel/vpe.c b/arch/mips/kernel/vpe.c
index 80ffaa6d50a..85d7df7b18e 100644
--- a/arch/mips/kernel/vpe.c
+++ b/arch/mips/kernel/vpe.c
@@ -1072,7 +1072,7 @@ static int vpe_open(struct inode *inode, struct file *filp)
struct vpe_notifications *not;
/* assume only 1 device at the mo. */
- if ((minor = MINOR(inode->i_rdev)) != 1) {
+ if ((minor = iminor(inode)) != 1) {
printk(KERN_WARNING "VPE loader: only vpe1 is supported\n");
return -ENODEV;
}
@@ -1133,7 +1133,7 @@ static int vpe_release(struct inode *inode, struct file *filp)
struct vpe *v;
Elf_Ehdr *hdr;
- minor = MINOR(inode->i_rdev);
+ minor = iminor(inode);
if ((v = get_vpe(minor)) == NULL)
return -ENODEV;
@@ -1174,7 +1174,7 @@ static ssize_t vpe_write(struct file *file, const char __user * buffer,
size_t ret = count;
struct vpe *v;
- minor = MINOR(file->f_dentry->d_inode->i_rdev);
+ minor = iminor(file->f_dentry->d_inode);
if ((v = get_vpe(minor)) == NULL)
return -ENODEV;