aboutsummaryrefslogtreecommitdiff
path: root/drivers/media/common/saa7146_fops.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-03-21 09:01:08 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-21 09:01:08 -0800
commitf0481730c827421cf1548bfd73c073c0f47f2907 (patch)
tree0d25ab7377afd270995f8c31d2953ffa32c8aa40 /drivers/media/common/saa7146_fops.c
parentc4a1745aa09fc110afdefea0e5d025043e348bae (diff)
parentecb73774e5f5b5f635a70073086c3f57b4ca4ae6 (diff)
Merge kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb.git with fixups
This merges the DVB tree, but fixes up the history that had gotten screwed up by a broken commit. The history is fixed up by re-doing the commit properly (taking the resolve from the final result of the original), and then cherry-picking the commits that followed the broken merge. * dvb: (190 commits) V4L/DVB (3545): Fixed no_overlay option and quirks on saa7134 driver V4L/DVB (3543): Fix Makefile to adapt to bt8xx/ conversion V4L/DVB (3538): Bt8xx documentation update V4L/DVB (3537a): Whitespace cleanup V4L/DVB (3533): Add WSS (wide screen signalling) module parameters V4L/DVB (3532): Moved duplicated code of ALPS BSRU6 tuner to a standalone file. V4L/DVB (3530): Kconfig: remove VIDEO_AUDIO_DECODER V4L/DVB (3529): Kconfig: add menu items for cs53l32a and wm8775 A/D converters V4L/DVB (3528): Kconfig: fix ATSC frontend menu item names by manufacturer V4L/DVB (3527): VIDEO_CPIA2 must depend on USB V4L/DVB (3525): Kconfig: remove VIDEO_DECODER V4L/DVB (3524): Kconfig: add menu items for saa7115 and saa7127 V4L/DVB (3494): Kconfig: select VIDEO_MSP3400 to build msp3400.ko V4L/DVB (3522): Fixed a trouble with other PAL standards V4L/DVB (3521): Avoid warnings at video-buf.c V4L/DVB (3514): SAA7113 doesn't have auto std chroma detection mode V4L/DVB (3513): Remove saa711x driver V4L/DVB (3509): Make a needlessly global function static. V4L/DVB (3506): Cinergy T2 dmx cleanup on disconnect V4L/DVB (3504): Medion 7134: Autodetect second bridge chip ... Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/media/common/saa7146_fops.c')
-rw-r--r--drivers/media/common/saa7146_fops.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/drivers/media/common/saa7146_fops.c b/drivers/media/common/saa7146_fops.c
index f8cf73ed49a..3870fa948cc 100644
--- a/drivers/media/common/saa7146_fops.c
+++ b/drivers/media/common/saa7146_fops.c
@@ -17,18 +17,18 @@ int saa7146_res_get(struct saa7146_fh *fh, unsigned int bit)
}
/* is it free? */
- down(&dev->lock);
+ mutex_lock(&dev->lock);
if (vv->resources & bit) {
DEB_D(("locked! vv->resources:0x%02x, we want:0x%02x\n",vv->resources,bit));
/* no, someone else uses it */
- up(&dev->lock);
+ mutex_unlock(&dev->lock);
return 0;
}
/* it's free, grab it */
fh->resources |= bit;
vv->resources |= bit;
DEB_D(("res: get 0x%02x, cur:0x%02x\n",bit,vv->resources));
- up(&dev->lock);
+ mutex_unlock(&dev->lock);
return 1;
}
@@ -37,14 +37,13 @@ void saa7146_res_free(struct saa7146_fh *fh, unsigned int bits)
struct saa7146_dev *dev = fh->dev;
struct saa7146_vv *vv = dev->vv_data;
- if ((fh->resources & bits) != bits)
- BUG();
+ BUG_ON((fh->resources & bits) != bits);
- down(&dev->lock);
+ mutex_lock(&dev->lock);
fh->resources &= ~bits;
vv->resources &= ~bits;
DEB_D(("res: put 0x%02x, cur:0x%02x\n",bits,vv->resources));
- up(&dev->lock);
+ mutex_unlock(&dev->lock);
}
@@ -55,8 +54,7 @@ void saa7146_dma_free(struct saa7146_dev *dev,struct saa7146_buf *buf)
{
DEB_EE(("dev:%p, buf:%p\n",dev,buf));
- if (in_interrupt())
- BUG();
+ BUG_ON(in_interrupt());
videobuf_waiton(&buf->vb,0,0);
videobuf_dma_pci_unmap(dev->pci, &buf->vb.dma);
@@ -204,7 +202,7 @@ static int fops_open(struct inode *inode, struct file *file)
DEB_EE(("inode:%p, file:%p, minor:%d\n",inode,file,minor));
- if (down_interruptible(&saa7146_devices_lock))
+ if (mutex_lock_interruptible(&saa7146_devices_lock))
return -ERESTARTSYS;
list_for_each(list,&saa7146_devices) {
@@ -276,7 +274,7 @@ out:
kfree(fh);
file->private_data = NULL;
}
- up(&saa7146_devices_lock);
+ mutex_unlock(&saa7146_devices_lock);
return result;
}
@@ -287,7 +285,7 @@ static int fops_release(struct inode *inode, struct file *file)
DEB_EE(("inode:%p, file:%p\n",inode,file));
- if (down_interruptible(&saa7146_devices_lock))
+ if (mutex_lock_interruptible(&saa7146_devices_lock))
return -ERESTARTSYS;
if( fh->type == V4L2_BUF_TYPE_VBI_CAPTURE) {
@@ -303,7 +301,7 @@ static int fops_release(struct inode *inode, struct file *file)
file->private_data = NULL;
kfree(fh);
- up(&saa7146_devices_lock);
+ mutex_unlock(&saa7146_devices_lock);
return 0;
}