|
@@ -587,7 +587,7 @@ static int snd_miro_put_double(struct snd_kcontrol *kcontrol,
|
|
return change;
|
|
return change;
|
|
}
|
|
}
|
|
|
|
|
|
-static struct snd_kcontrol_new snd_miro_controls[] __devinitdata = {
|
|
|
|
|
|
+static struct snd_kcontrol_new snd_miro_controls[] = {
|
|
MIRO_DOUBLE("Master Playback Volume", 0, ACI_GET_MASTER, ACI_SET_MASTER),
|
|
MIRO_DOUBLE("Master Playback Volume", 0, ACI_GET_MASTER, ACI_SET_MASTER),
|
|
MIRO_DOUBLE("Mic Playback Volume", 1, ACI_GET_MIC, ACI_SET_MIC),
|
|
MIRO_DOUBLE("Mic Playback Volume", 1, ACI_GET_MIC, ACI_SET_MIC),
|
|
MIRO_DOUBLE("Line Playback Volume", 1, ACI_GET_LINE, ACI_SET_LINE),
|
|
MIRO_DOUBLE("Line Playback Volume", 1, ACI_GET_LINE, ACI_SET_LINE),
|
|
@@ -599,7 +599,7 @@ MIRO_DOUBLE("Aux Playback Volume", 2, ACI_GET_LINE2, ACI_SET_LINE2),
|
|
|
|
|
|
/* Equalizer with seven bands (only PCM20)
|
|
/* Equalizer with seven bands (only PCM20)
|
|
from -12dB up to +12dB on each band */
|
|
from -12dB up to +12dB on each band */
|
|
-static struct snd_kcontrol_new snd_miro_eq_controls[] __devinitdata = {
|
|
|
|
|
|
+static struct snd_kcontrol_new snd_miro_eq_controls[] = {
|
|
MIRO_DOUBLE("Tone Control - 28 Hz", 0, ACI_GET_EQ1, ACI_SET_EQ1),
|
|
MIRO_DOUBLE("Tone Control - 28 Hz", 0, ACI_GET_EQ1, ACI_SET_EQ1),
|
|
MIRO_DOUBLE("Tone Control - 160 Hz", 0, ACI_GET_EQ2, ACI_SET_EQ2),
|
|
MIRO_DOUBLE("Tone Control - 160 Hz", 0, ACI_GET_EQ2, ACI_SET_EQ2),
|
|
MIRO_DOUBLE("Tone Control - 400 Hz", 0, ACI_GET_EQ3, ACI_SET_EQ3),
|
|
MIRO_DOUBLE("Tone Control - 400 Hz", 0, ACI_GET_EQ3, ACI_SET_EQ3),
|
|
@@ -609,15 +609,15 @@ MIRO_DOUBLE("Tone Control - 6.3 kHz", 0, ACI_GET_EQ6, ACI_SET_EQ6),
|
|
MIRO_DOUBLE("Tone Control - 16 kHz", 0, ACI_GET_EQ7, ACI_SET_EQ7),
|
|
MIRO_DOUBLE("Tone Control - 16 kHz", 0, ACI_GET_EQ7, ACI_SET_EQ7),
|
|
};
|
|
};
|
|
|
|
|
|
-static struct snd_kcontrol_new snd_miro_radio_control[] __devinitdata = {
|
|
|
|
|
|
+static struct snd_kcontrol_new snd_miro_radio_control[] = {
|
|
MIRO_DOUBLE("Radio Playback Volume", 0, ACI_GET_LINE1, ACI_SET_LINE1),
|
|
MIRO_DOUBLE("Radio Playback Volume", 0, ACI_GET_LINE1, ACI_SET_LINE1),
|
|
};
|
|
};
|
|
|
|
|
|
-static struct snd_kcontrol_new snd_miro_line_control[] __devinitdata = {
|
|
|
|
|
|
+static struct snd_kcontrol_new snd_miro_line_control[] = {
|
|
MIRO_DOUBLE("Line Playback Volume", 2, ACI_GET_LINE1, ACI_SET_LINE1),
|
|
MIRO_DOUBLE("Line Playback Volume", 2, ACI_GET_LINE1, ACI_SET_LINE1),
|
|
};
|
|
};
|
|
|
|
|
|
-static struct snd_kcontrol_new snd_miro_preamp_control[] __devinitdata = {
|
|
|
|
|
|
+static struct snd_kcontrol_new snd_miro_preamp_control[] = {
|
|
{
|
|
{
|
|
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
|
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
|
.name = "Mic Boost",
|
|
.name = "Mic Boost",
|
|
@@ -627,7 +627,7 @@ static struct snd_kcontrol_new snd_miro_preamp_control[] __devinitdata = {
|
|
.put = snd_miro_put_preamp,
|
|
.put = snd_miro_put_preamp,
|
|
}};
|
|
}};
|
|
|
|
|
|
-static struct snd_kcontrol_new snd_miro_amp_control[] __devinitdata = {
|
|
|
|
|
|
+static struct snd_kcontrol_new snd_miro_amp_control[] = {
|
|
{
|
|
{
|
|
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
|
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
|
.name = "Line Boost",
|
|
.name = "Line Boost",
|
|
@@ -637,7 +637,7 @@ static struct snd_kcontrol_new snd_miro_amp_control[] __devinitdata = {
|
|
.put = snd_miro_put_amp,
|
|
.put = snd_miro_put_amp,
|
|
}};
|
|
}};
|
|
|
|
|
|
-static struct snd_kcontrol_new snd_miro_capture_control[] __devinitdata = {
|
|
|
|
|
|
+static struct snd_kcontrol_new snd_miro_capture_control[] = {
|
|
{
|
|
{
|
|
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
|
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
|
.name = "PCM Capture Switch",
|
|
.name = "PCM Capture Switch",
|
|
@@ -647,7 +647,7 @@ static struct snd_kcontrol_new snd_miro_capture_control[] __devinitdata = {
|
|
.put = snd_miro_put_capture,
|
|
.put = snd_miro_put_capture,
|
|
}};
|
|
}};
|
|
|
|
|
|
-static unsigned char aci_init_values[][2] __devinitdata = {
|
|
|
|
|
|
+static unsigned char aci_init_values[][2] = {
|
|
{ ACI_SET_MUTE, 0x00 },
|
|
{ ACI_SET_MUTE, 0x00 },
|
|
{ ACI_SET_POWERAMP, 0x00 },
|
|
{ ACI_SET_POWERAMP, 0x00 },
|
|
{ ACI_SET_PREAMP, 0x00 },
|
|
{ ACI_SET_PREAMP, 0x00 },
|
|
@@ -670,7 +670,7 @@ static unsigned char aci_init_values[][2] __devinitdata = {
|
|
{ ACI_SET_MASTER + 1, 0x20 },
|
|
{ ACI_SET_MASTER + 1, 0x20 },
|
|
};
|
|
};
|
|
|
|
|
|
-static int __devinit snd_set_aci_init_values(struct snd_miro *miro)
|
|
|
|
|
|
+static int snd_set_aci_init_values(struct snd_miro *miro)
|
|
{
|
|
{
|
|
int idx, error;
|
|
int idx, error;
|
|
struct snd_miro_aci *aci = miro->aci;
|
|
struct snd_miro_aci *aci = miro->aci;
|
|
@@ -713,8 +713,8 @@ static int __devinit snd_set_aci_init_values(struct snd_miro *miro)
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-static int __devinit snd_miro_mixer(struct snd_card *card,
|
|
|
|
- struct snd_miro *miro)
|
|
|
|
|
|
+static int snd_miro_mixer(struct snd_card *card,
|
|
|
|
+ struct snd_miro *miro)
|
|
{
|
|
{
|
|
unsigned int idx;
|
|
unsigned int idx;
|
|
int err;
|
|
int err;
|
|
@@ -771,8 +771,8 @@ static int __devinit snd_miro_mixer(struct snd_card *card,
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-static int __devinit snd_miro_init(struct snd_miro *chip,
|
|
|
|
- unsigned short hardware)
|
|
|
|
|
|
+static int snd_miro_init(struct snd_miro *chip,
|
|
|
|
+ unsigned short hardware)
|
|
{
|
|
{
|
|
static int opti9xx_mc_size[] = {7, 7, 10, 10, 2, 2, 2};
|
|
static int opti9xx_mc_size[] = {7, 7, 10, 10, 2, 2, 2};
|
|
|
|
|
|
@@ -989,8 +989,8 @@ static void snd_miro_proc_read(struct snd_info_entry * entry,
|
|
snd_iprintf(buffer, " preamp : 0x%x\n", aci->aci_preamp);
|
|
snd_iprintf(buffer, " preamp : 0x%x\n", aci->aci_preamp);
|
|
}
|
|
}
|
|
|
|
|
|
-static void __devinit snd_miro_proc_init(struct snd_card *card,
|
|
|
|
- struct snd_miro *miro)
|
|
|
|
|
|
+static void snd_miro_proc_init(struct snd_card *card,
|
|
|
|
+ struct snd_miro *miro)
|
|
{
|
|
{
|
|
struct snd_info_entry *entry;
|
|
struct snd_info_entry *entry;
|
|
|
|
|
|
@@ -1002,7 +1002,7 @@ static void __devinit snd_miro_proc_init(struct snd_card *card,
|
|
* Init
|
|
* Init
|
|
*/
|
|
*/
|
|
|
|
|
|
-static int __devinit snd_miro_configure(struct snd_miro *chip)
|
|
|
|
|
|
+static int snd_miro_configure(struct snd_miro *chip)
|
|
{
|
|
{
|
|
unsigned char wss_base_bits;
|
|
unsigned char wss_base_bits;
|
|
unsigned char irq_bits;
|
|
unsigned char irq_bits;
|
|
@@ -1162,7 +1162,7 @@ __skip_mpu:
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-static int __devinit snd_miro_opti_check(struct snd_miro *chip)
|
|
|
|
|
|
+static int snd_miro_opti_check(struct snd_miro *chip)
|
|
{
|
|
{
|
|
unsigned char value;
|
|
unsigned char value;
|
|
|
|
|
|
@@ -1182,8 +1182,8 @@ static int __devinit snd_miro_opti_check(struct snd_miro *chip)
|
|
return -ENODEV;
|
|
return -ENODEV;
|
|
}
|
|
}
|
|
|
|
|
|
-static int __devinit snd_card_miro_detect(struct snd_card *card,
|
|
|
|
- struct snd_miro *chip)
|
|
|
|
|
|
+static int snd_card_miro_detect(struct snd_card *card,
|
|
|
|
+ struct snd_miro *chip)
|
|
{
|
|
{
|
|
int i, err;
|
|
int i, err;
|
|
|
|
|
|
@@ -1200,8 +1200,8 @@ static int __devinit snd_card_miro_detect(struct snd_card *card,
|
|
return -ENODEV;
|
|
return -ENODEV;
|
|
}
|
|
}
|
|
|
|
|
|
-static int __devinit snd_card_miro_aci_detect(struct snd_card *card,
|
|
|
|
- struct snd_miro *miro)
|
|
|
|
|
|
+static int snd_card_miro_aci_detect(struct snd_card *card,
|
|
|
|
+ struct snd_miro *miro)
|
|
{
|
|
{
|
|
unsigned char regval;
|
|
unsigned char regval;
|
|
int i;
|
|
int i;
|
|
@@ -1265,7 +1265,7 @@ static void snd_card_miro_free(struct snd_card *card)
|
|
release_and_free_resource(miro->res_mc_base);
|
|
release_and_free_resource(miro->res_mc_base);
|
|
}
|
|
}
|
|
|
|
|
|
-static int __devinit snd_miro_probe(struct snd_card *card)
|
|
|
|
|
|
+static int snd_miro_probe(struct snd_card *card)
|
|
{
|
|
{
|
|
int error;
|
|
int error;
|
|
struct snd_miro *miro = card->private_data;
|
|
struct snd_miro *miro = card->private_data;
|
|
@@ -1386,7 +1386,7 @@ static int __devinit snd_miro_probe(struct snd_card *card)
|
|
return snd_card_register(card);
|
|
return snd_card_register(card);
|
|
}
|
|
}
|
|
|
|
|
|
-static int __devinit snd_miro_isa_match(struct device *devptr, unsigned int n)
|
|
|
|
|
|
+static int snd_miro_isa_match(struct device *devptr, unsigned int n)
|
|
{
|
|
{
|
|
#ifdef CONFIG_PNP
|
|
#ifdef CONFIG_PNP
|
|
if (snd_miro_pnp_is_probed)
|
|
if (snd_miro_pnp_is_probed)
|
|
@@ -1397,7 +1397,7 @@ static int __devinit snd_miro_isa_match(struct device *devptr, unsigned int n)
|
|
return 1;
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
|
|
-static int __devinit snd_miro_isa_probe(struct device *devptr, unsigned int n)
|
|
|
|
|
|
+static int snd_miro_isa_probe(struct device *devptr, unsigned int n)
|
|
{
|
|
{
|
|
static long possible_ports[] = {0x530, 0xe80, 0xf40, 0x604, -1};
|
|
static long possible_ports[] = {0x530, 0xe80, 0xf40, 0x604, -1};
|
|
static long possible_mpu_ports[] = {0x330, 0x300, 0x310, 0x320, -1};
|
|
static long possible_mpu_ports[] = {0x330, 0x300, 0x310, 0x320, -1};
|
|
@@ -1491,8 +1491,8 @@ static int __devinit snd_miro_isa_probe(struct device *devptr, unsigned int n)
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-static int __devexit snd_miro_isa_remove(struct device *devptr,
|
|
|
|
- unsigned int dev)
|
|
|
|
|
|
+static int snd_miro_isa_remove(struct device *devptr,
|
|
|
|
+ unsigned int dev)
|
|
{
|
|
{
|
|
snd_card_free(dev_get_drvdata(devptr));
|
|
snd_card_free(dev_get_drvdata(devptr));
|
|
dev_set_drvdata(devptr, NULL);
|
|
dev_set_drvdata(devptr, NULL);
|
|
@@ -1504,7 +1504,7 @@ static int __devexit snd_miro_isa_remove(struct device *devptr,
|
|
static struct isa_driver snd_miro_driver = {
|
|
static struct isa_driver snd_miro_driver = {
|
|
.match = snd_miro_isa_match,
|
|
.match = snd_miro_isa_match,
|
|
.probe = snd_miro_isa_probe,
|
|
.probe = snd_miro_isa_probe,
|
|
- .remove = __devexit_p(snd_miro_isa_remove),
|
|
|
|
|
|
+ .remove = snd_miro_isa_remove,
|
|
/* FIXME: suspend/resume */
|
|
/* FIXME: suspend/resume */
|
|
.driver = {
|
|
.driver = {
|
|
.name = DEV_NAME
|
|
.name = DEV_NAME
|
|
@@ -1513,9 +1513,9 @@ static struct isa_driver snd_miro_driver = {
|
|
|
|
|
|
#ifdef CONFIG_PNP
|
|
#ifdef CONFIG_PNP
|
|
|
|
|
|
-static int __devinit snd_card_miro_pnp(struct snd_miro *chip,
|
|
|
|
- struct pnp_card_link *card,
|
|
|
|
- const struct pnp_card_device_id *pid)
|
|
|
|
|
|
+static int snd_card_miro_pnp(struct snd_miro *chip,
|
|
|
|
+ struct pnp_card_link *card,
|
|
|
|
+ const struct pnp_card_device_id *pid)
|
|
{
|
|
{
|
|
struct pnp_dev *pdev;
|
|
struct pnp_dev *pdev;
|
|
int err;
|
|
int err;
|
|
@@ -1574,8 +1574,8 @@ static int __devinit snd_card_miro_pnp(struct snd_miro *chip,
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-static int __devinit snd_miro_pnp_probe(struct pnp_card_link *pcard,
|
|
|
|
- const struct pnp_card_device_id *pid)
|
|
|
|
|
|
+static int snd_miro_pnp_probe(struct pnp_card_link *pcard,
|
|
|
|
+ const struct pnp_card_device_id *pid)
|
|
{
|
|
{
|
|
struct snd_card *card;
|
|
struct snd_card *card;
|
|
int err;
|
|
int err;
|
|
@@ -1624,7 +1624,7 @@ static int __devinit snd_miro_pnp_probe(struct pnp_card_link *pcard,
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-static void __devexit snd_miro_pnp_remove(struct pnp_card_link * pcard)
|
|
|
|
|
|
+static void snd_miro_pnp_remove(struct pnp_card_link *pcard)
|
|
{
|
|
{
|
|
snd_card_free(pnp_get_card_drvdata(pcard));
|
|
snd_card_free(pnp_get_card_drvdata(pcard));
|
|
pnp_set_card_drvdata(pcard, NULL);
|
|
pnp_set_card_drvdata(pcard, NULL);
|
|
@@ -1636,7 +1636,7 @@ static struct pnp_card_driver miro_pnpc_driver = {
|
|
.name = "miro",
|
|
.name = "miro",
|
|
.id_table = snd_miro_pnpids,
|
|
.id_table = snd_miro_pnpids,
|
|
.probe = snd_miro_pnp_probe,
|
|
.probe = snd_miro_pnp_probe,
|
|
- .remove = __devexit_p(snd_miro_pnp_remove),
|
|
|
|
|
|
+ .remove = snd_miro_pnp_remove,
|
|
};
|
|
};
|
|
#endif
|
|
#endif
|
|
|
|
|