X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sound%2Fpci%2Fsonicvibes.c;h=af77bd8035ffede5bb529cae958c36636114bc1a;hb=9bf4aaab3e101692164d49b7ca357651eb691cb6;hp=20118df84672ae6225017e04d3177afefd1022eb;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/sound/pci/sonicvibes.c b/sound/pci/sonicvibes.c index 20118df84..af77bd803 100644 --- a/sound/pci/sonicvibes.c +++ b/sound/pci/sonicvibes.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -36,7 +37,6 @@ #include #include #include -#define SNDRV_GET_ID #include #include @@ -60,23 +60,24 @@ static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP; /* Enable this card * static int reverb[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 0}; static int mge[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 0}; static unsigned int dmaio = 0x7a00; /* DDMA i/o address */ +static int boot_devs; -MODULE_PARM(index, "1-" __MODULE_STRING(SNDRV_CARDS) "i"); +module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for S3 SonicVibes soundcard."); MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); -MODULE_PARM(id, "1-" __MODULE_STRING(SNDRV_CARDS) "s"); +module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for S3 SonicVibes soundcard."); MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); -MODULE_PARM(enable, "1-" __MODULE_STRING(SNDRV_CARDS) "i"); +module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable S3 SonicVibes soundcard."); MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); -MODULE_PARM(reverb, "1-" __MODULE_STRING(SNDRV_CARDS) "i"); +module_param_array(reverb, bool, boot_devs, 0444); MODULE_PARM_DESC(reverb, "Enable reverb (SRAM is present) for S3 SonicVibes soundcard."); MODULE_PARM_SYNTAX(reverb, SNDRV_ENABLED "," SNDRV_ENABLE_DESC); -MODULE_PARM(mge, "1-" __MODULE_STRING(SNDRV_CARDS) "i"); +module_param_array(mge, bool, boot_devs, 0444); MODULE_PARM_DESC(mge, "MIC Gain Enable for S3 SonicVibes soundcard."); MODULE_PARM_SYNTAX(mge, SNDRV_ENABLED "," SNDRV_ENABLE_DESC); -MODULE_PARM(dmaio, "i"); +module_param(dmaio, uint, 0444); MODULE_PARM_DESC(dmaio, "DDMA i/o base address for S3 SonicVibes soundcard."); MODULE_PARM_SYNTAX(dmaio, "global," SNDRV_PORT_DESC); @@ -804,7 +805,7 @@ static int snd_sonicvibes_playback_open(snd_pcm_substream_t * substream) sonic->mode |= SV_MODE_PLAY; sonic->playback_substream = substream; runtime->hw = snd_sonicvibes_playback; - snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, snd_sonicvibes_hw_constraint_dac_rate, 0, SNDRV_PCM_HW_PARAM_RATE, -1); + snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, snd_sonicvibes_hw_constraint_dac_rate, NULL, SNDRV_PCM_HW_PARAM_RATE, -1); return 0; } @@ -1535,15 +1536,7 @@ static struct pci_driver driver = { static int __init alsa_card_sonicvibes_init(void) { - int err; - - if ((err = pci_module_init(&driver)) < 0) { -#ifdef MODULE - printk(KERN_ERR "S3 SonicVibes soundcard not found or device busy\n"); -#endif - return err; - } - return 0; + return pci_module_init(&driver); } static void __exit alsa_card_sonicvibes_exit(void) @@ -1553,28 +1546,3 @@ static void __exit alsa_card_sonicvibes_exit(void) module_init(alsa_card_sonicvibes_init) module_exit(alsa_card_sonicvibes_exit) - -#ifndef MODULE - -/* format is: snd-sonicvibes=enable,index,id, - reverb,mge,dmaio */ - -static int __init alsa_card_sonicvibes_setup(char *str) -{ - static unsigned __initdata nr_dev = 0; - - if (nr_dev >= SNDRV_CARDS) - return 0; - (void)(get_option(&str,&enable[nr_dev]) == 2 && - get_option(&str,&index[nr_dev]) == 2 && - get_id(&str,&id[nr_dev]) == 2 && - get_option(&str,&reverb[nr_dev]) == 2 && - get_option(&str,&mge[nr_dev]) == 2 && - get_option(&str,(int *)&dmaio) == 2); - nr_dev++; - return 1; -} - -__setup("snd-sonicvibes=", alsa_card_sonicvibes_setup); - -#endif /* ifndef MODULE */