Skip to content

Commit

Permalink
V4L/DVB (3354e): bttv semaphore to mutex conversion
Browse files Browse the repository at this point in the history
Semaphore to mutex conversion.

The conversion was generated via scripts, and the result was validated
automatically via a script as well.

build-tested.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
  • Loading branch information
Ingo Molnar authored and Mauro Carvalho Chehab committed Jan 13, 2006
1 parent 9b565eb commit bd5f0ac
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 32 deletions.
60 changes: 30 additions & 30 deletions drivers/media/video/bttv-driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -684,16 +684,16 @@ int check_alloc_btres(struct bttv *btv, struct bttv_fh *fh, int bit)
return 1;

/* is it free? */
down(&btv->reslock);
mutex_lock(&btv->reslock);
if (btv->resources & bit) {
/* no, someone else uses it */
up(&btv->reslock);
mutex_unlock(&btv->reslock);
return 0;
}
/* it's free, grab it */
fh->resources |= bit;
btv->resources |= bit;
up(&btv->reslock);
mutex_unlock(&btv->reslock);
return 1;
}

Expand All @@ -716,10 +716,10 @@ void free_btres(struct bttv *btv, struct bttv_fh *fh, int bits)
/* trying to free ressources not allocated by us ... */
printk("bttv: BUG! (btres)\n");
}
down(&btv->reslock);
mutex_lock(&btv->reslock);
fh->resources &= ~bits;
btv->resources &= ~bits;
up(&btv->reslock);
mutex_unlock(&btv->reslock);
}

/* ----------------------------------------------------------------------- */
Expand Down Expand Up @@ -1536,12 +1536,12 @@ static int bttv_common_ioctls(struct bttv *btv, unsigned int cmd, void *arg)
case VIDIOCSFREQ:
{
unsigned long *freq = arg;
down(&btv->lock);
mutex_lock(&btv->lock);
btv->freq=*freq;
bttv_call_i2c_clients(btv,VIDIOCSFREQ,freq);
if (btv->has_matchbox && btv->radio_user)
tea5757_set_freq(btv,*freq);
up(&btv->lock);
mutex_unlock(&btv->lock);
return 0;
}

Expand Down Expand Up @@ -1571,10 +1571,10 @@ static int bttv_common_ioctls(struct bttv *btv, unsigned int cmd, void *arg)
if (v->mode >= BTTV_TVNORMS)
return -EINVAL;

down(&btv->lock);
mutex_lock(&btv->lock);
set_tvnorm(btv,v->mode);
bttv_call_i2c_clients(btv,cmd,v);
up(&btv->lock);
mutex_unlock(&btv->lock);
return 0;
}

Expand Down Expand Up @@ -1611,17 +1611,17 @@ static int bttv_common_ioctls(struct bttv *btv, unsigned int cmd, void *arg)
if (v->norm >= BTTV_TVNORMS)
return -EINVAL;

down(&btv->lock);
mutex_lock(&btv->lock);
if (channel == btv->input &&
v->norm == btv->tvnorm) {
/* nothing to do */
up(&btv->lock);
mutex_unlock(&btv->lock);
return 0;
}

btv->tvnorm = v->norm;
set_input(btv,v->channel);
up(&btv->lock);
mutex_unlock(&btv->lock);
return 0;
}

Expand All @@ -1634,14 +1634,14 @@ static int bttv_common_ioctls(struct bttv *btv, unsigned int cmd, void *arg)
v->flags |= VIDEO_AUDIO_MUTABLE;
v->mode = VIDEO_SOUND_MONO;

down(&btv->lock);
mutex_lock(&btv->lock);
bttv_call_i2c_clients(btv,cmd,v);

/* card specific hooks */
if (btv->audio_hook)
btv->audio_hook(btv,v,0);

up(&btv->lock);
mutex_unlock(&btv->lock);
return 0;
}
case VIDIOCSAUDIO:
Expand All @@ -1652,15 +1652,15 @@ static int bttv_common_ioctls(struct bttv *btv, unsigned int cmd, void *arg)
if (audio >= bttv_tvcards[btv->c.type].audio_inputs)
return -EINVAL;

down(&btv->lock);
mutex_lock(&btv->lock);
audio_mux(btv, (v->flags&VIDEO_AUDIO_MUTE) ? AUDIO_MUTE : AUDIO_UNMUTE);
bttv_call_i2c_clients(btv,cmd,v);

/* card specific hooks */
if (btv->audio_hook)
btv->audio_hook(btv,v,1);

up(&btv->lock);
mutex_unlock(&btv->lock);
return 0;
}

Expand Down Expand Up @@ -1694,10 +1694,10 @@ static int bttv_common_ioctls(struct bttv *btv, unsigned int cmd, void *arg)
if (i == BTTV_TVNORMS)
return -EINVAL;

down(&btv->lock);
mutex_lock(&btv->lock);
set_tvnorm(btv,i);
i2c_vidiocschan(btv);
up(&btv->lock);
mutex_unlock(&btv->lock);
return 0;
}
case VIDIOC_QUERYSTD:
Expand Down Expand Up @@ -1755,9 +1755,9 @@ static int bttv_common_ioctls(struct bttv *btv, unsigned int cmd, void *arg)

if (*i > bttv_tvcards[btv->c.type].video_inputs)
return -EINVAL;
down(&btv->lock);
mutex_lock(&btv->lock);
set_input(btv,*i);
up(&btv->lock);
mutex_unlock(&btv->lock);
return 0;
}

Expand All @@ -1769,7 +1769,7 @@ static int bttv_common_ioctls(struct bttv *btv, unsigned int cmd, void *arg)
return -EINVAL;
if (0 != t->index)
return -EINVAL;
down(&btv->lock);
mutex_lock(&btv->lock);
memset(t,0,sizeof(*t));
strcpy(t->name, "Television");
t->type = V4L2_TUNER_ANALOG_TV;
Expand Down Expand Up @@ -1804,7 +1804,7 @@ static int bttv_common_ioctls(struct bttv *btv, unsigned int cmd, void *arg)
}
}
/* FIXME: fill capability+audmode */
up(&btv->lock);
mutex_unlock(&btv->lock);
return 0;
}
case VIDIOC_S_TUNER:
Expand All @@ -1815,7 +1815,7 @@ static int bttv_common_ioctls(struct bttv *btv, unsigned int cmd, void *arg)
return -EINVAL;
if (0 != t->index)
return -EINVAL;
down(&btv->lock);
mutex_lock(&btv->lock);
{
struct video_audio va;
memset(&va, 0, sizeof(struct video_audio));
Expand All @@ -1832,7 +1832,7 @@ static int bttv_common_ioctls(struct bttv *btv, unsigned int cmd, void *arg)
if (btv->audio_hook)
btv->audio_hook(btv,&va,1);
}
up(&btv->lock);
mutex_unlock(&btv->lock);
return 0;
}

Expand All @@ -1853,12 +1853,12 @@ static int bttv_common_ioctls(struct bttv *btv, unsigned int cmd, void *arg)
return -EINVAL;
if (unlikely (f->type != V4L2_TUNER_ANALOG_TV))
return -EINVAL;
down(&btv->lock);
mutex_lock(&btv->lock);
btv->freq = f->frequency;
bttv_call_i2c_clients(btv,VIDIOCSFREQ,&btv->freq);
if (btv->has_matchbox && btv->radio_user)
tea5757_set_freq(btv,btv->freq);
up(&btv->lock);
mutex_unlock(&btv->lock);
return 0;
}
case VIDIOC_LOG_STATUS:
Expand Down Expand Up @@ -3156,7 +3156,7 @@ static int radio_open(struct inode *inode, struct file *file)
return -ENODEV;

dprintk("bttv%d: open called (radio)\n",btv->c.nr);
down(&btv->lock);
mutex_lock(&btv->lock);

btv->radio_user++;

Expand All @@ -3165,7 +3165,7 @@ static int radio_open(struct inode *inode, struct file *file)
bttv_call_i2c_clients(btv,AUDC_SET_RADIO,&btv->tuner_type);
audio_mux(btv,AUDIO_RADIO);

up(&btv->lock);
mutex_unlock(&btv->lock);
return 0;
}

Expand Down Expand Up @@ -3920,8 +3920,8 @@ static int __devinit bttv_probe(struct pci_dev *dev,
sprintf(btv->c.name,"bttv%d",btv->c.nr);

/* initialize structs / fill in defaults */
init_MUTEX(&btv->lock);
init_MUTEX(&btv->reslock);
mutex_init(&btv->lock);
mutex_init(&btv->reslock);
spin_lock_init(&btv->s_lock);
spin_lock_init(&btv->gpio_lock);
init_waitqueue_head(&btv->gpioq);
Expand Down
5 changes: 3 additions & 2 deletions drivers/media/video/bttvp.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
#include <linux/videodev.h>
#include <linux/pci.h>
#include <linux/input.h>
#include <linux/mutex.h>
#include <asm/scatterlist.h>
#include <asm/io.h>

Expand Down Expand Up @@ -309,9 +310,9 @@ struct bttv {

/* locking */
spinlock_t s_lock;
struct semaphore lock;
struct mutex lock;
int resources;
struct semaphore reslock;
struct mutex reslock;
#ifdef VIDIOC_G_PRIORITY
struct v4l2_prio_state prio;
#endif
Expand Down

0 comments on commit bd5f0ac

Please sign in to comment.