aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/radio/radio-gemtek-pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/radio/radio-gemtek-pci.c')
-rw-r--r--drivers/media/radio/radio-gemtek-pci.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/drivers/media/radio/radio-gemtek-pci.c b/drivers/media/radio/radio-gemtek-pci.c
index 5cd7f032298d..a7b9a5df4ca7 100644
--- a/drivers/media/radio/radio-gemtek-pci.c
+++ b/drivers/media/radio/radio-gemtek-pci.c
@@ -100,9 +100,8 @@ struct gemtek_pci_card {
100 u8 mute; 100 u8 mute;
101}; 101};
102 102
103static const char rcsid[] = "$Id: radio-gemtek-pci.c,v 1.1 2001/07/23 08:08:16 ted Exp ted $";
104
105static int nr_radio = -1; 103static int nr_radio = -1;
104static unsigned long in_use;
106 105
107static inline u8 gemtek_pci_out( u16 value, u32 port ) 106static inline u8 gemtek_pci_out( u16 value, u32 port )
108{ 107{
@@ -364,10 +363,21 @@ MODULE_DEVICE_TABLE( pci, gemtek_pci_id );
364 363
365static int mx = 1; 364static int mx = 1;
366 365
366static int gemtek_pci_exclusive_open(struct inode *inode, struct file *file)
367{
368 return test_and_set_bit(0, &in_use) ? -EBUSY : 0;
369}
370
371static int gemtek_pci_exclusive_release(struct inode *inode, struct file *file)
372{
373 clear_bit(0, &in_use);
374 return 0;
375}
376
367static const struct file_operations gemtek_pci_fops = { 377static const struct file_operations gemtek_pci_fops = {
368 .owner = THIS_MODULE, 378 .owner = THIS_MODULE,
369 .open = video_exclusive_open, 379 .open = gemtek_pci_exclusive_open,
370 .release = video_exclusive_release, 380 .release = gemtek_pci_exclusive_release,
371 .ioctl = video_ioctl2, 381 .ioctl = video_ioctl2,
372#ifdef CONFIG_COMPAT 382#ifdef CONFIG_COMPAT
373 .compat_ioctl = v4l_compat_ioctl32, 383 .compat_ioctl = v4l_compat_ioctl32,