git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 2.0 rc7
[linux-2.6.git]
/
sound
/
isa
/
es18xx.c
diff --git
a/sound/isa/es18xx.c
b/sound/isa/es18xx.c
index
202eab4
..
1d832b2
100644
(file)
--- a/
sound/isa/es18xx.c
+++ b/
sound/isa/es18xx.c
@@
-157,8
+157,6
@@
struct _snd_es18xx {
typedef struct _snd_es18xx es18xx_t;
typedef struct _snd_es18xx es18xx_t;
-#define chip_t es18xx_t
-
/* Lowlevel */
#define DAC1 0x01
/* Lowlevel */
#define DAC1 0x01
@@
-270,7
+268,7
@@
static int snd_es18xx_bits(es18xx_t *chip, unsigned char reg,
return ret;
}
return ret;
}
-inline void snd_es18xx_mixer_write(es18xx_t *chip,
+
static
inline void snd_es18xx_mixer_write(es18xx_t *chip,
unsigned char reg, unsigned char data)
{
unsigned long flags;
unsigned char reg, unsigned char data)
{
unsigned long flags;
@@
-283,7
+281,7
@@
inline void snd_es18xx_mixer_write(es18xx_t *chip,
#endif
}
#endif
}
-inline int snd_es18xx_mixer_read(es18xx_t *chip, unsigned char reg)
+
static
inline int snd_es18xx_mixer_read(es18xx_t *chip, unsigned char reg)
{
unsigned long flags;
int data;
{
unsigned long flags;
int data;
@@
-421,6
+419,11
@@
static void snd_es18xx_rate_set(es18xx_t *chip,
if ((chip->caps & ES18XX_PCM2) && mode == DAC2) {
snd_es18xx_mixer_write(chip, 0x70, bits);
if ((chip->caps & ES18XX_PCM2) && mode == DAC2) {
snd_es18xx_mixer_write(chip, 0x70, bits);
+ /*
+ * Comment from kernel oss driver:
+ * FKS: fascinating: 0x72 doesn't seem to work.
+ */
+ snd_es18xx_write(chip, 0xA2, div0);
snd_es18xx_mixer_write(chip, 0x72, div0);
} else {
snd_es18xx_write(chip, 0xA1, bits);
snd_es18xx_mixer_write(chip, 0x72, div0);
} else {
snd_es18xx_write(chip, 0xA1, bits);
@@
-728,7
+731,7
@@
static int snd_es18xx_playback_trigger(snd_pcm_substream_t *substream,
static irqreturn_t snd_es18xx_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
static irqreturn_t snd_es18xx_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
- es18xx_t *chip =
snd_magic_cast(es18xx_t, dev_id, return IRQ_NONE)
;
+ es18xx_t *chip =
dev_id
;
unsigned char status;
if (chip->caps & ES18XX_CONTROL) {
unsigned char status;
if (chip->caps & ES18XX_CONTROL) {
@@
-1027,7
+1030,7
@@
static int snd_es18xx_get_hw_switch(snd_kcontrol_t * kcontrol, snd_ctl_elem_valu
static void snd_es18xx_hwv_free(snd_kcontrol_t *kcontrol)
{
static void snd_es18xx_hwv_free(snd_kcontrol_t *kcontrol)
{
- es18xx_t *chip = snd_
magic_cast(es18xx_t, _snd_kcontrol_chip(kcontrol), return
);
+ es18xx_t *chip = snd_
kcontrol_chip(kcontrol
);
chip->master_volume = NULL;
chip->master_switch = NULL;
chip->hw_volume = NULL;
chip->master_volume = NULL;
chip->master_switch = NULL;
chip->hw_volume = NULL;
@@
-1561,12
+1564,12
@@
static snd_pcm_ops_t snd_es18xx_capture_ops = {
static void snd_es18xx_pcm_free(snd_pcm_t *pcm)
{
static void snd_es18xx_pcm_free(snd_pcm_t *pcm)
{
- es18xx_t *codec =
snd_magic_cast(es18xx_t, pcm->private_data, return)
;
+ es18xx_t *codec =
pcm->private_data
;
codec->pcm = NULL;
snd_pcm_lib_preallocate_free_for_all(pcm);
}
codec->pcm = NULL;
snd_pcm_lib_preallocate_free_for_all(pcm);
}
-int __devinit snd_es18xx_pcm(es18xx_t *chip, int device, snd_pcm_t ** rpcm)
+
static
int __devinit snd_es18xx_pcm(es18xx_t *chip, int device, snd_pcm_t ** rpcm)
{
snd_pcm_t *pcm;
char str[16];
{
snd_pcm_t *pcm;
char str[16];
@@
-1609,9
+1612,9
@@
int __devinit snd_es18xx_pcm(es18xx_t *chip, int device, snd_pcm_t ** rpcm)
/* Power Management support functions */
#ifdef CONFIG_PM
/* Power Management support functions */
#ifdef CONFIG_PM
-static int snd_es18xx_suspend(snd_card_t *card,
unsigned in
t state)
+static int snd_es18xx_suspend(snd_card_t *card,
pm_message_
t state)
{
{
- es18xx_t *chip =
snd_magic_cast(es18xx_t, card->pm_private_data, return -EINVAL)
;
+ es18xx_t *chip =
card->pm_private_data
;
snd_pcm_suspend_all(chip->pcm);
snd_pcm_suspend_all(chip->pcm);
@@
-1621,18
+1624,16
@@
static int snd_es18xx_suspend(snd_card_t *card, unsigned int state)
snd_es18xx_write(chip, ES18XX_PM, chip->pm_reg);
snd_es18xx_write(chip, ES18XX_PM, chip->pm_reg ^= ES18XX_PM_SUS);
snd_es18xx_write(chip, ES18XX_PM, chip->pm_reg);
snd_es18xx_write(chip, ES18XX_PM, chip->pm_reg ^= ES18XX_PM_SUS);
- snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
return 0;
}
return 0;
}
-static int snd_es18xx_resume(snd_card_t *card
, unsigned int state
)
+static int snd_es18xx_resume(snd_card_t *card)
{
{
- es18xx_t *chip =
snd_magic_cast(es18xx_t, card->pm_private_data, return -EINVAL)
;
+ es18xx_t *chip =
card->pm_private_data
;
/* restore PM register, we won't wake till (not 0x07) i/o activity though */
snd_es18xx_write(chip, ES18XX_PM, chip->pm_reg ^= ES18XX_PM_FM);
/* restore PM register, we won't wake till (not 0x07) i/o activity though */
snd_es18xx_write(chip, ES18XX_PM, chip->pm_reg ^= ES18XX_PM_FM);
- snd_power_change_state(card, SNDRV_CTL_POWER_D0);
return 0;
}
#endif /* CONFIG_PM */
return 0;
}
#endif /* CONFIG_PM */
@@
-1661,13
+1662,13
@@
static int snd_es18xx_free(es18xx_t *chip)
disable_dma(chip->dma2);
free_dma(chip->dma2);
}
disable_dma(chip->dma2);
free_dma(chip->dma2);
}
-
snd_magic_
kfree(chip);
+ kfree(chip);
return 0;
}
static int snd_es18xx_dev_free(snd_device_t *device)
{
return 0;
}
static int snd_es18xx_dev_free(snd_device_t *device)
{
- es18xx_t *chip =
snd_magic_cast(es18xx_t, device->device_data, return -ENXIO)
;
+ es18xx_t *chip =
device->device_data
;
return snd_es18xx_free(chip);
}
return snd_es18xx_free(chip);
}
@@
-1685,7
+1686,7
@@
static int __devinit snd_es18xx_new_device(snd_card_t * card,
int err;
*rchip = NULL;
int err;
*rchip = NULL;
- chip =
snd_magic_kcalloc(es18xx_t, 0
, GFP_KERNEL);
+ chip =
kcalloc(1, sizeof(*chip)
, GFP_KERNEL);
if (chip == NULL)
return -ENOMEM;
spin_lock_init(&chip->reg_lock);
if (chip == NULL)
return -ENOMEM;
spin_lock_init(&chip->reg_lock);
@@
-1830,8
+1831,7
@@
static int __devinit snd_es18xx_mixer(es18xx_t *chip)
MODULE_AUTHOR("Christian Fischbach <fishbach@pool.informatik.rwth-aachen.de>, Abramo Bagnara <abramo@alsa-project.org>");
MODULE_DESCRIPTION("ESS ES18xx AudioDrive");
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Christian Fischbach <fishbach@pool.informatik.rwth-aachen.de>, Abramo Bagnara <abramo@alsa-project.org>");
MODULE_DESCRIPTION("ESS ES18xx AudioDrive");
MODULE_LICENSE("GPL");
-MODULE_CLASSES("{sound}");
-MODULE_DEVICES("{{ESS,ES1868 PnP AudioDrive},"
+MODULE_SUPPORTED_DEVICE("{{ESS,ES1868 PnP AudioDrive},"
"{ESS,ES1869 PnP AudioDrive},"
"{ESS,ES1878 PnP AudioDrive},"
"{ESS,ES1879 PnP AudioDrive},"
"{ESS,ES1869 PnP AudioDrive},"
"{ESS,ES1878 PnP AudioDrive},"
"{ESS,ES1879 PnP AudioDrive},"
@@
-1847,7
+1847,7
@@
static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_ISAPNP; /* Enable this car
static int isapnp[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 1};
#endif
static long port[SNDRV_CARDS] = SNDRV_DEFAULT_PORT; /* 0x220,0x240,0x260,0x280 */
static int isapnp[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 1};
#endif
static long port[SNDRV_CARDS] = SNDRV_DEFAULT_PORT; /* 0x220,0x240,0x260,0x280 */
-#ifndef CONFIG_PNP
_
+#ifndef CONFIG_PNP
static long mpu_port[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = -1};
#else
static long mpu_port[SNDRV_CARDS] = SNDRV_DEFAULT_PORT;
static long mpu_port[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = -1};
#else
static long mpu_port[SNDRV_CARDS] = SNDRV_DEFAULT_PORT;
@@
-1856,40
+1856,29
@@
static long fm_port[SNDRV_CARDS] = SNDRV_DEFAULT_PORT;
static int irq[SNDRV_CARDS] = SNDRV_DEFAULT_IRQ; /* 5,7,9,10 */
static int dma1[SNDRV_CARDS] = SNDRV_DEFAULT_DMA; /* 0,1,3 */
static int dma2[SNDRV_CARDS] = SNDRV_DEFAULT_DMA; /* 0,1,3 */
static int irq[SNDRV_CARDS] = SNDRV_DEFAULT_IRQ; /* 5,7,9,10 */
static int dma1[SNDRV_CARDS] = SNDRV_DEFAULT_DMA; /* 0,1,3 */
static int dma2[SNDRV_CARDS] = SNDRV_DEFAULT_DMA; /* 0,1,3 */
-static int boot_devs;
-module_param_array(index, int,
boot_devs
, 0444);
+module_param_array(index, int,
NULL
, 0444);
MODULE_PARM_DESC(index, "Index value for ES18xx soundcard.");
MODULE_PARM_DESC(index, "Index value for ES18xx soundcard.");
-MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC);
-module_param_array(id, charp, boot_devs, 0444);
+module_param_array(id, charp, NULL, 0444);
MODULE_PARM_DESC(id, "ID string for ES18xx soundcard.");
MODULE_PARM_DESC(id, "ID string for ES18xx soundcard.");
-MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC);
-module_param_array(enable, bool, boot_devs, 0444);
+module_param_array(enable, bool, NULL, 0444);
MODULE_PARM_DESC(enable, "Enable ES18xx soundcard.");
MODULE_PARM_DESC(enable, "Enable ES18xx soundcard.");
-MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC);
#ifdef CONFIG_PNP
#ifdef CONFIG_PNP
-module_param_array(isapnp, bool,
boot_devs
, 0444);
+module_param_array(isapnp, bool,
NULL
, 0444);
MODULE_PARM_DESC(isapnp, "PnP detection for specified soundcard.");
MODULE_PARM_DESC(isapnp, "PnP detection for specified soundcard.");
-MODULE_PARM_SYNTAX(isapnp, SNDRV_ISAPNP_DESC);
#endif
#endif
-module_param_array(port, long,
boot_devs
, 0444);
+module_param_array(port, long,
NULL
, 0444);
MODULE_PARM_DESC(port, "Port # for ES18xx driver.");
MODULE_PARM_DESC(port, "Port # for ES18xx driver.");
-MODULE_PARM_SYNTAX(port, SNDRV_ENABLED ",allows:{{0x220,0x280,0x20}},prefers:{0x220},base:16,dialog:list");
-module_param_array(mpu_port, long, boot_devs, 0444);
+module_param_array(mpu_port, long, NULL, 0444);
MODULE_PARM_DESC(mpu_port, "MPU-401 port # for ES18xx driver.");
MODULE_PARM_DESC(mpu_port, "MPU-401 port # for ES18xx driver.");
-MODULE_PARM_SYNTAX(mpu_port, SNDRV_ENABLED ",allows:{{0x300,0x330,0x30},{0x800,0xffe,0x2}},prefers:{0x330,0x300},base:16,dialog:combo");
-module_param_array(fm_port, long, boot_devs, 0444);
+module_param_array(fm_port, long, NULL, 0444);
MODULE_PARM_DESC(fm_port, "FM port # for ES18xx driver.");
MODULE_PARM_DESC(fm_port, "FM port # for ES18xx driver.");
-MODULE_PARM_SYNTAX(fm_port, SNDRV_ENABLED ",allows:{{0x388},{0x800,0xffc,0x4}},prefers:{0x388},base:16,dialog:combo");
-module_param_array(irq, int, boot_devs, 0444);
+module_param_array(irq, int, NULL, 0444);
MODULE_PARM_DESC(irq, "IRQ # for ES18xx driver.");
MODULE_PARM_DESC(irq, "IRQ # for ES18xx driver.");
-MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC ",prefers:{5}");
-module_param_array(dma1, int, boot_devs, 0444);
+module_param_array(dma1, int, NULL, 0444);
MODULE_PARM_DESC(dma1, "DMA 1 # for ES18xx driver.");
MODULE_PARM_DESC(dma1, "DMA 1 # for ES18xx driver.");
-MODULE_PARM_SYNTAX(dma1, SNDRV_DMA8_DESC ",prefers:{1}");
-module_param_array(dma2, int, boot_devs, 0444);
+module_param_array(dma2, int, NULL, 0444);
MODULE_PARM_DESC(dma2, "DMA 2 # for ES18xx driver.");
MODULE_PARM_DESC(dma2, "DMA 2 # for ES18xx driver.");
-MODULE_PARM_SYNTAX(dma2, SNDRV_ENABLED ",allows:{{0},{1},{3},{5}},dialog:list,prefers:{0}");
struct snd_audiodrive {
#ifdef CONFIG_PNP
struct snd_audiodrive {
#ifdef CONFIG_PNP
@@
-1997,7
+1986,7
@@
static int __devinit snd_audiodrive_pnp(int dev, struct snd_audiodrive *acard,
kfree(cfg);
return 0;
}
kfree(cfg);
return 0;
}
-#endif /* CONFIG_PNP
_
*/
+#endif /* CONFIG_PNP */
static int __devinit snd_audiodrive_probe(int dev, struct pnp_card_link *pcard,
const struct pnp_card_device_id *pid)
static int __devinit snd_audiodrive_probe(int dev, struct pnp_card_link *pcard,
const struct pnp_card_device_id *pid)