aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/radio/radio-aztech.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/radio/radio-aztech.c')
-rw-r--r--drivers/media/radio/radio-aztech.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/media/radio/radio-aztech.c b/drivers/media/radio/radio-aztech.c
index 628c689e3ffe..ae18a7cf0d59 100644
--- a/drivers/media/radio/radio-aztech.c
+++ b/drivers/media/radio/radio-aztech.c
@@ -70,6 +70,7 @@ static struct mutex lock;
70 70
71struct az_device 71struct az_device
72{ 72{
73 unsigned long in_use;
73 int curvol; 74 int curvol;
74 unsigned long curfreq; 75 unsigned long curfreq;
75 int stereo; 76 int stereo;
@@ -342,10 +343,21 @@ static int vidioc_s_ctrl (struct file *file, void *priv,
342 343
343static struct az_device aztech_unit; 344static struct az_device aztech_unit;
344 345
346static int aztech_exclusive_open(struct inode *inode, struct file *file)
347{
348 return test_and_set_bit(0, &aztech_unit.in_use) ? -EBUSY : 0;
349}
350
351static int aztech_exclusive_release(struct inode *inode, struct file *file)
352{
353 clear_bit(0, &aztech_unit.in_use);
354 return 0;
355}
356
345static const struct file_operations aztech_fops = { 357static const struct file_operations aztech_fops = {
346 .owner = THIS_MODULE, 358 .owner = THIS_MODULE,
347 .open = video_exclusive_open, 359 .open = aztech_exclusive_open,
348 .release = video_exclusive_release, 360 .release = aztech_exclusive_release,
349 .ioctl = video_ioctl2, 361 .ioctl = video_ioctl2,
350#ifdef CONFIG_COMPAT 362#ifdef CONFIG_COMPAT
351 .compat_ioctl = v4l_compat_ioctl32, 363 .compat_ioctl = v4l_compat_ioctl32,