diff options
Diffstat (limited to 'drivers/media/video/saa7134/saa7134-oss.c')
-rw-r--r-- | drivers/media/video/saa7134/saa7134-oss.c | 42 |
1 files changed, 15 insertions, 27 deletions
diff --git a/drivers/media/video/saa7134/saa7134-oss.c b/drivers/media/video/saa7134/saa7134-oss.c index 1a737b64736..aedf04653e0 100644 --- a/drivers/media/video/saa7134/saa7134-oss.c +++ b/drivers/media/video/saa7134/saa7134-oss.c | |||
@@ -239,17 +239,14 @@ static int dsp_rec_stop(struct saa7134_dev *dev) | |||
239 | static int dsp_open(struct inode *inode, struct file *file) | 239 | static int dsp_open(struct inode *inode, struct file *file) |
240 | { | 240 | { |
241 | int minor = iminor(inode); | 241 | int minor = iminor(inode); |
242 | struct saa7134_dev *h,*dev = NULL; | 242 | struct saa7134_dev *dev; |
243 | struct list_head *list; | ||
244 | int err; | 243 | int err; |
245 | 244 | ||
246 | list_for_each(list,&saa7134_devlist) { | 245 | list_for_each_entry(dev, &saa7134_devlist, devlist) |
247 | h = list_entry(list, struct saa7134_dev, devlist); | 246 | if (dev->dmasound.minor_dsp == minor) |
248 | if (h->dmasound.minor_dsp == minor) | 247 | goto found; |
249 | dev = h; | 248 | return -ENODEV; |
250 | } | 249 | found: |
251 | if (NULL == dev) | ||
252 | return -ENODEV; | ||
253 | 250 | ||
254 | mutex_lock(&dev->dmasound.lock); | 251 | mutex_lock(&dev->dmasound.lock); |
255 | err = -EBUSY; | 252 | err = -EBUSY; |
@@ -680,19 +677,14 @@ mixer_level(struct saa7134_dev *dev, enum saa7134_audio_in src, int level) | |||
680 | static int mixer_open(struct inode *inode, struct file *file) | 677 | static int mixer_open(struct inode *inode, struct file *file) |
681 | { | 678 | { |
682 | int minor = iminor(inode); | 679 | int minor = iminor(inode); |
683 | struct saa7134_dev *h,*dev = NULL; | 680 | struct saa7134_dev *dev; |
684 | struct list_head *list; | ||
685 | 681 | ||
686 | list_for_each(list,&saa7134_devlist) { | 682 | list_for_each_entry(dev, &saa7134_devlist, devlist) |
687 | h = list_entry(list, struct saa7134_dev, devlist); | 683 | if (dev->dmasound.minor_mixer == minor) { |
688 | if (h->dmasound.minor_mixer == minor) | 684 | file->private_data = dev; |
689 | dev = h; | 685 | return 0; |
690 | } | 686 | } |
691 | if (NULL == dev) | 687 | return -ENODEV; |
692 | return -ENODEV; | ||
693 | |||
694 | file->private_data = dev; | ||
695 | return 0; | ||
696 | } | 688 | } |
697 | 689 | ||
698 | static int mixer_release(struct inode *inode, struct file *file) | 690 | static int mixer_release(struct inode *inode, struct file *file) |
@@ -1022,18 +1014,14 @@ static int saa7134_oss_init(void) | |||
1022 | 1014 | ||
1023 | static void saa7134_oss_exit(void) | 1015 | static void saa7134_oss_exit(void) |
1024 | { | 1016 | { |
1025 | struct saa7134_dev *dev = NULL; | 1017 | struct saa7134_dev *dev; |
1026 | struct list_head *list; | ||
1027 | |||
1028 | list_for_each(list,&saa7134_devlist) { | ||
1029 | dev = list_entry(list, struct saa7134_dev, devlist); | ||
1030 | 1018 | ||
1019 | list_for_each_entry(dev, &saa7134_devlist, devlist) { | ||
1031 | /* Device isn't registered by OSS, probably ALSA's */ | 1020 | /* Device isn't registered by OSS, probably ALSA's */ |
1032 | if (!dev->dmasound.minor_dsp) | 1021 | if (!dev->dmasound.minor_dsp) |
1033 | continue; | 1022 | continue; |
1034 | 1023 | ||
1035 | oss_device_exit(dev); | 1024 | oss_device_exit(dev); |
1036 | |||
1037 | } | 1025 | } |
1038 | 1026 | ||
1039 | saa7134_dmasound_init = NULL; | 1027 | saa7134_dmasound_init = NULL; |