patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / sound / pcmcia / pdaudiocf / pdaudiocf.c
index 91736b1..7b3db54 100644 (file)
@@ -21,6 +21,7 @@
 #include <sound/driver.h>
 #include <sound/core.h>
 #include <linux/slab.h>
+#include <linux/moduleparam.h>
 #include <pcmcia/version.h>
 #include <pcmcia/ciscode.h>
 #include <pcmcia/cisreg.h>
@@ -44,19 +45,20 @@ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR;   /* ID for this card */
 static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP;     /* Enable switches */
 static unsigned int irq_mask = 0xffff;
 static int irq_list[4] = { -1 };
+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 " CARD_NAME " 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 " CARD_NAME " 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 " CARD_NAME " soundcard.");
 MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC);
-MODULE_PARM(irq_mask, "i");
+module_param(irq_mask, int, 0444);
 MODULE_PARM_DESC(irq_mask, "IRQ bitmask for " CARD_NAME " soundcard.");
-MODULE_PARM(irq_list, "1-4i");
+module_param_array(irq_list, int, boot_devs, 0444);
 MODULE_PARM_DESC(irq_list, "List of Available interrupts for " CARD_NAME " soundcard.");
  
 
@@ -242,10 +244,7 @@ static int snd_pdacf_assign_resources(pdacf_t *pdacf, int port, int irq)
        if (err < 0)
                return err;
 
-#ifdef CONFIG_PM
-       card->power_state_private_data = pdacf;
-       card->set_power_state = snd_pdacf_set_power_state;
-#endif
+       snd_card_set_pm_callback(card, snd_pdacf_suspend, snd_pdacf_resume, pdacf);
 
        if ((err = snd_card_register(card)) < 0)
                return err;
@@ -370,7 +369,7 @@ static int pdacf_event(event_t event, int priority, event_callback_args_t *args)
                link->state |= DEV_SUSPEND;
                if (chip) {
                        snd_printdd(KERN_DEBUG "snd_pdacf_suspend calling\n");
-                       snd_pdacf_suspend(chip);
+                       snd_pdacf_suspend(chip->card, 0);
                }
                /* Fall through... */
        case CS_EVENT_RESET_PHYSICAL:
@@ -389,7 +388,7 @@ static int pdacf_event(event_t event, int priority, event_callback_args_t *args)
                        pcmcia_request_configuration(link->handle, &link->conf);
                        if (chip) {
                                snd_printdd(KERN_DEBUG "calling snd_pdacf_resume\n");
-                               snd_pdacf_resume(chip);
+                               snd_pdacf_resume(chip->card, 0);
                        }
                }
                snd_printdd(KERN_DEBUG "resume done!\n");