Patch: linux-2.5.2-pre8/drivers/sound compilation fixes: MINOR-->minor
Doing a global replace of "MINOR(" with "minor(" in all
.c files in linux/drivers/sound allows all of the sound drivers to compile (at least as modules on x86). This reflect the changes in kdev_t introduced in linux-2.5.2-pre6. You can do this by applying the following patch *or* by the following shell command (which is how I did it in the first place):
for file in $(find linux/drivers/sound -name '*.c' | xargs egrep -l 'MINOR\(' ) ; do ed $file << DONE ; done
%s/MINOR(/minor(/g
DONE
One note about this: this resulted in some drivers that
made the following rather obscure looking declarations:
{
int minor = minor(dev);
...
}
Apparently, the variable being declared is not in the scopeof its initialization value. So, the code works, but it's not as clear as could be. I could rename the effected variables if need be, although I that is something that individual device driver maintainers could deal with at "leisure" just as well.
I have not tested these changes. I only know that they
make the sound drivers compile.
Signature · 4 lines
Adam J. Richter __ ______________ 4880 Stevens Creek Blvd, Suite 104 [email protected] \ / San Jose, California 95129-1034 +1 408 261-6630 | g g d r a s i l United States of America fax +1 408 261-6631 "Free Software For The Rest Of Us."
drivers/sound/btaudio.c +3 -3
@@ -300,7 +300,7 @@static int btaudio_mixer_open (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);struct btaudio *bta;for (bta = btaudios; bta !=NULL ; bta = bta->next)
@@ -459,7 +459,7 @@static int btaudio_dsp_open_digital (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);struct btaudio *bta;for (bta = btaudios; bta !=NULL ; bta = bta->next)
@@ -475,7 +475,7 @@static int btaudio_dsp_open_analog (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);struct btaudio *bta;for (bta = btaudios; bta !=NULL ; bta = bta->next)
drivers/sound/cmpci.c +4 -4
@@ -1440,7 +1440,7 @@static int cm_open_mixdev (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);struct cm_state *s = devs;while (s && s->dev_mixer != minor)
@@ -2190,7 +2190,7 @@static int cm_open (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);struct cm_state *s = devs;unsigned char fmtm = ~0 , fmts =0 ;
@@ -2445,7 +2445,7 @@static int cm_midi_open (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);struct cm_state *s = devs;unsigned long flags;
@@ -2662,7 +2662,7 @@static int cm_dmfm_open (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);struct cm_state *s = devs;while (s && s->dev_dmfm != minor)
drivers/sound/dmasound/dmasound_core.c +2 -2
@@ -845,11 +845,11 @@if (dmasound.mach.sq_open) dmasound.mach.sq_open (); - dmasound.minDev =MINOR (inode->i_rdev) &0x0f ; + dmasound.minDev =minor (inode->i_rdev) &0x0f ; dmasound.soft = dmasound.dsp; dmasound.hard = dmasound.dsp;sound_init (); -if ((MINOR (inode->i_rdev) &0x0f ) ==SND_DEV_AUDIO ) { +if ((minor (inode->i_rdev) &0x0f ) ==SND_DEV_AUDIO ) {sound_set_speed (8000 );sound_set_stereo (0 );sound_set_format (AFMT_MU_LAW );
Only in linux/drivers/sound/emu10k1: CVS
drivers/sound/emu10k1/audio.c +1 -1
@@ -1098,7 +1098,7 @@static int emu10k1_audio_open (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);struct emu10k1_card *card =NULL ;struct list_head *entry;struct emu10k1_wavedevice *wave_dev;
drivers/sound/emu10k1/midi.c +1 -1
@@ -87,7 +87,7 @@static int emu10k1_midi_open (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);struct emu10k1_card *card =NULL ;struct emu10k1_mididevice *midi_dev;struct list_head *entry;
drivers/sound/emu10k1/mixer.c +1 -1
@@ -640,7 +640,7 @@static int emu10k1_mixer_open (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);struct emu10k1_card *card =NULL ;struct list_head *entry;
drivers/sound/gus_midi.c +2 -0
@@ -21,6 +21,8 @@#include "gus.h" #include "gus_hw.h" +#include <linux/init.h> +static int midi_busy =0 , input_opened =0 ;static int my_dev;static int output_used =0 ;
drivers/sound/ite8172.c +2 -2
@@ -832,7 +832,7 @@static int it8172_open_mixdev (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);struct list_head *list;struct it8172_state *s;
@@ -1543,7 +1543,7 @@static int it8172_open (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);DECLARE_WAITQUEUE (wait, current);unsigned long flags;struct list_head *list;
Only in linux/drivers/sound/: lowlevel
drivers/sound/msnd_pinnacle.c +5 -5
@@ -639,9 +639,9 @@return -EINVAL ; }static int dev_ioctl (struct inode *inode,struct file *file,unsigned int cmd,unsigned long arg) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);if (cmd ==OSS_GETVERSION ) {int sound_version =SOUND_VERSION ;
@@ -751,9 +751,9 @@set_default_rec_audio_parameters (); }static int dev_open (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);int err =0 ;if (minor == dev.dsp_minor) {
@@ -786,9 +786,9 @@return err; }static int dev_release (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);int err =0 ;lock_kernel ();
@@ -976,18 +976,18 @@return len - count; }static ssize_t dev_read (struct file *file,char *buf,size_t count,loff_t *off) { -int minor =MINOR (file->f_dentry->d_inode->i_rdev); +int minor =minor (file->f_dentry->d_inode->i_rdev);if (minor == dev.dsp_minor)return dsp_read (buf, count);else return -EINVAL ; }static ssize_t dev_write (struct file *file,const char *buf,size_t count,loff_t *off) { -int minor =MINOR (file->f_dentry->d_inode->i_rdev); +int minor =minor (file->f_dentry->d_inode->i_rdev);if (minor == dev.dsp_minor)return dsp_write (buf, count);else
drivers/sound/nec_vrc5477.c +2 -2
@@ -813,7 +813,7 @@static int vrc5477_ac97_open_mixdev (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);struct list_head *list;struct vrc5477_ac97_state *s;
@@ -1529,7 +1529,7 @@static int vrc5477_ac97_open (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);DECLARE_WAITQUEUE (wait, current);unsigned long flags;struct list_head *list;
drivers/sound/rme96xx.c +2 -2
@@ -1162,7 +1162,7 @@static int rme96xx_open (struct inode *in,struct file *f) { -int minor =MINOR (in->i_rdev); +int minor =minor (in->i_rdev);struct list_head *list;int devnum = ((minor-3 )/16 ) % devices;/* default = 0 */ rme96xx_info *s;
@@ -1490,7 +1490,7 @@static int rme96xx_mixer_open (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);struct list_head *list;rme96xx_info *s;
drivers/sound/sonicvibes.c +4 -4
@@ -1235,7 +1235,7 @@static int sv_open_mixdev (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);struct list_head *list;struct sv_state *s;
@@ -1893,7 +1893,7 @@static int sv_open (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);DECLARE_WAITQUEUE (wait, current);unsigned char fmtm = ~0 , fmts =0 ;struct list_head *list;
@@ -2142,7 +2142,7 @@static int sv_midi_open (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);DECLARE_WAITQUEUE (wait, current);unsigned long flags;struct list_head *list;
@@ -2364,7 +2364,7 @@static int sv_dmfm_open (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);DECLARE_WAITQUEUE (wait, current);struct list_head *list;struct sv_state *s;
drivers/sound/trident.c +2 -2
@@ -2555,7 +2555,7 @@static int trident_open (struct inode *inode,struct file *file) {int i =0 ; -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);struct trident_card *card = devs;struct trident_state *state =NULL ;struct dmabuf *dmabuf =NULL ;
@@ -3750,7 +3750,7 @@static int trident_open_mixdev (struct inode *inode,struct file *file) {int i =0 ; -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);struct trident_card *card = devs;for (card = devs; card !=NULL ; card = card->next)
drivers/sound/via82cxxx_audio.c +2 -2
@@ -1358,7 +1358,7 @@static int via_mixer_open (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);struct via_info *card;struct pci_dev *pdev;struct pci_driver *drvr;
@@ -2974,7 +2974,7 @@static int via_dsp_open (struct inode *inode,struct file *file) { -int minor =MINOR (inode->i_rdev); +int minor =minor (inode->i_rdev);struct via_info *card;struct pci_dev *pdev;struct via_channel *chan;
drivers/sound/vwsnd.c +2 -2
@@ -2907,7 +2907,7 @@static int vwsnd_audio_open (struct inode *inode,struct file *file) {vwsnd_dev_t *devc; -dev_t minor =MINOR (inode->i_rdev); +dev_t minor =minor (inode->i_rdev);int sw_samplefmt;DBGE ("(inode=0x%p, file=0x%p)\n" , inode, file);
@@ -3054,7 +3054,7 @@INC_USE_COUNT ;for (devc = vwsnd_dev_list; devc; devc = devc->next_dev) -if (devc->mixer_minor ==MINOR (inode->i_rdev)) +if (devc->mixer_minor ==minor (inode->i_rdev))break ;if (devc ==NULL ) {
Quoted 3 lines
Doing a global replace of "MINOR(" with "minor(" in all
.c files in linux/drivers/sound allows all of the sound drivers to compile (at least as modules on x86). [...]
You did not change ymfpci, why? Linus fixed it already?
-- Pete
Quoted 7 lines
From: Pete Zaitcev <[email protected]>
Quoted 3 lines
Doing a global replace of "MINOR(" with "minor(" in all
.c files in linux/drivers/sound allows all of the sound drivers to compile (at least as modules on x86). [...]You did not change ymfpci, why? Linus fixed it already?
linux-2.5.2-pre8/drivers/sound/ymfpci.c compiles without
errors or warnings, unmodified.
Adam J. Richter __ ______________ 4880 Stevens Creek Blvd, Suite 104 [email protected] \ / San Jose, California 95129-1034 +1 408 261-6630 | g g d r a s i l United States of America
fax +1 408 261-6631 "Free Software For The Rest Of Us."