Commit ae6a0c46 authored by Linus Torvalds's avatar Linus Torvalds

Merge http://linux-sound.bkbits.net/linux-sound

into home.transmeta.com:/home/torvalds/v2.5/linux
parents a54047f1 26bfac10
...@@ -1028,6 +1028,7 @@ int isapnp_cfg_end(void) ...@@ -1028,6 +1028,7 @@ int isapnp_cfg_end(void)
*/ */
EXPORT_SYMBOL(isapnp_protocol);
EXPORT_SYMBOL(isapnp_present); EXPORT_SYMBOL(isapnp_present);
EXPORT_SYMBOL(isapnp_cfg_begin); EXPORT_SYMBOL(isapnp_cfg_begin);
EXPORT_SYMBOL(isapnp_cfg_end); EXPORT_SYMBOL(isapnp_cfg_end);
......
...@@ -1168,3 +1168,5 @@ module_init(pnpbios_init_all); ...@@ -1168,3 +1168,5 @@ module_init(pnpbios_init_all);
module_exit(pnpbios_exit); module_exit(pnpbios_exit);
#endif #endif
EXPORT_SYMBOL(pnpbios_protocol);
...@@ -115,8 +115,8 @@ void *isapnp_alloc(long size); ...@@ -115,8 +115,8 @@ void *isapnp_alloc(long size);
int isapnp_proc_init(void); int isapnp_proc_init(void);
int isapnp_proc_done(void); int isapnp_proc_done(void);
#else #else
static inline isapnp_proc_init(void) { return 0; } static inline int isapnp_proc_init(void) { return 0; }
static inline isapnp_proc_done(void) { return 0; } static inline int isapnp_proc_done(void) { return 0; }
#endif #endif
/* init/main.c */ /* init/main.c */
......
...@@ -155,6 +155,7 @@ static inline int _snd_magic_bad(void *obj, unsigned long magic) ...@@ -155,6 +155,7 @@ static inline int _snd_magic_bad(void *obj, unsigned long magic)
#define snd_card_dummy_t_magic 0xa15a2501 #define snd_card_dummy_t_magic 0xa15a2501
#define snd_card_dummy_pcm_t_magic 0xa15a2502 #define snd_card_dummy_pcm_t_magic 0xa15a2502
#define opl3_t_magic 0xa15a2601 #define opl3_t_magic 0xa15a2601
#define opl4_t_magic 0xa15a2602
#define snd_seq_dummy_port_t_magic 0xa15a2701 #define snd_seq_dummy_port_t_magic 0xa15a2701
#define ice1712_t_magic 0xa15a2801 #define ice1712_t_magic 0xa15a2801
#define ad1816a_t_magic 0xa15a2901 #define ad1816a_t_magic 0xa15a2901
...@@ -193,10 +194,9 @@ static inline int _snd_magic_bad(void *obj, unsigned long magic) ...@@ -193,10 +194,9 @@ static inline int _snd_magic_bad(void *obj, unsigned long magic)
#define snd_usb_midi_in_endpoint_t_magic 0xa15a3f03 #define snd_usb_midi_in_endpoint_t_magic 0xa15a3f03
#define ak4117_t_magic 0xa15a4000 #define ak4117_t_magic 0xa15a4000
#define psic_t_magic 0xa15a4100 #define psic_t_magic 0xa15a4100
#define opl4_t_magic 0xa15a2602
#define vx_core_t_magic 0xa15a4110 #define vx_core_t_magic 0xa15a4110
#define vx_pipe_t_magic 0xa15a4112 #define vx_pipe_t_magic 0xa15a4112
#define azf3328_t_magic 0xa15a4200
#else #else
......
/* include/version.h. Generated by configure. */ /* include/version.h. Generated by configure. */
#define CONFIG_SND_VERSION "0.9.4" #define CONFIG_SND_VERSION "0.9.4"
#define CONFIG_SND_DATE " (Fri Jun 06 09:23:03 2003 UTC)" #define CONFIG_SND_DATE " (Mon Jun 09 12:01:18 2003 UTC)"
...@@ -41,7 +41,7 @@ config SND_SEQUENCER_OSS ...@@ -41,7 +41,7 @@ config SND_SEQUENCER_OSS
bool "OSS Sequencer API" bool "OSS Sequencer API"
depends on SND_OSSEMUL && SND_SEQUENCER depends on SND_OSSEMUL && SND_SEQUENCER
help help
Say 'Y' or 'M' to enable OSS sequencer emulation (both /dev/sequencer and Say 'Y' to enable OSS sequencer emulation (both /dev/sequencer and
/dev/music interfaces). /dev/music interfaces).
config SND_RTCTIMER config SND_RTCTIMER
......
...@@ -284,7 +284,7 @@ int snd_cs4236_create(snd_card_t * card, ...@@ -284,7 +284,7 @@ int snd_cs4236_create(snd_card_t * card,
return err; return err;
if (!(chip->hardware & CS4231_HW_CS4236B_MASK)) { if (!(chip->hardware & CS4231_HW_CS4236B_MASK)) {
snd_printk("CS4236+: MODE3 and extended registers not available, hardware=0x%lx\n",chip->hardware); snd_printk("CS4236+: MODE3 and extended registers not available, hardware=0x%x\n",chip->hardware);
snd_device_free(card, chip); snd_device_free(card, chip);
return -ENODEV; return -ENODEV;
} }
......
...@@ -757,7 +757,7 @@ static int __devinit snd_interwave_probe(int dev, struct pnp_card_link *pcard, ...@@ -757,7 +757,7 @@ static int __devinit snd_interwave_probe(int dev, struct pnp_card_link *pcard,
if (request_irq(xirq, snd_interwave_interrupt, SA_INTERRUPT, "InterWave", (void *)iwcard)) { if (request_irq(xirq, snd_interwave_interrupt, SA_INTERRUPT, "InterWave", (void *)iwcard)) {
snd_card_free(card); snd_card_free(card);
snd_printk("unable to grab IRQ %d\n", irq); snd_printk("unable to grab IRQ %d\n", xirq);
return -EBUSY; return -EBUSY;
} }
iwcard->irq = xirq; iwcard->irq = xirq;
......
...@@ -370,18 +370,17 @@ int patch_alc650(ac97_t * ac97) ...@@ -370,18 +370,17 @@ int patch_alc650(ac97_t * ac97)
unsigned short val; unsigned short val;
int spdif = 0; int spdif = 0;
/* FIXME: set the above 1 if we can detect the chip rev.E correctly. /* FIXME: set the below 1 if we can detect the chip rev.E correctly.
* this is used for switching mic and center/lfe, which needs * this is used for switching mic and center/lfe, which needs
* resetting GPIO0 level on the older revision. * resetting GPIO0 level on the older revision.
*/ */
ac97->spec.dev_flags = 0; ac97->spec.dev_flags = 0;
/* check spdif */ /* check spdif (should be only on rev.E) */
if (ac97->spec.dev_flags) {
val = snd_ac97_read(ac97, AC97_EXTENDED_STATUS); val = snd_ac97_read(ac97, AC97_EXTENDED_STATUS);
if (val & AC97_EA_SPCV) if (val & AC97_EA_SPCV)
spdif = 1; spdif = 1;
}
if (spdif) { if (spdif) {
/* enable spdif in */ /* enable spdif in */
snd_ac97_write_cache(ac97, AC97_ALC650_CLOCK, snd_ac97_write_cache(ac97, AC97_ALC650_CLOCK,
......
...@@ -1012,7 +1012,6 @@ static void snd_emu10k1_del_controls(emu10k1_t *emu, emu10k1_fx8010_code_t *icod ...@@ -1012,7 +1012,6 @@ static void snd_emu10k1_del_controls(emu10k1_t *emu, emu10k1_fx8010_code_t *icod
ctl = snd_emu10k1_look_for_ctl(emu, &id); ctl = snd_emu10k1_look_for_ctl(emu, &id);
snd_runtime_check(ctl == NULL, continue); snd_runtime_check(ctl == NULL, continue);
snd_ctl_remove(emu->card, ctl->kcontrol); snd_ctl_remove(emu->card, ctl->kcontrol);
list_del(&ctl->list);
} }
} }
......
...@@ -3,9 +3,10 @@ ...@@ -3,9 +3,10 @@
# Copyright (c) 2001 by Jaroslav Kysela <perex@suse.cz> # Copyright (c) 2001 by Jaroslav Kysela <perex@suse.cz>
# #
snd-ice1712-objs := ice1712.o delta.o hoontech.o ews.o ak4xxx.o snd-ice17xx-ak4xxx-objs := ak4xxx.o
snd-ice1724-objs := ice1724.o amp.o revo.o aureon.o ak4xxx.o snd-ice1712-objs := ice1712.o delta.o hoontech.o ews.o
snd-ice1724-objs := ice1724.o amp.o revo.o aureon.o
# Toplevel Module Dependency # Toplevel Module Dependency
obj-$(CONFIG_SND_ICE1712) += snd-ice1712.o obj-$(CONFIG_SND_ICE1712) += snd-ice1712.o snd-ice17xx-ak4xxx.o
obj-$(CONFIG_SND_ICE1724) += snd-ice1724.o obj-$(CONFIG_SND_ICE1724) += snd-ice1724.o snd-ice17xx-ak4xxx.o
...@@ -168,3 +168,7 @@ int __devinit snd_ice1712_akm4xxx_build_controls(ice1712_t *ice) ...@@ -168,3 +168,7 @@ int __devinit snd_ice1712_akm4xxx_build_controls(ice1712_t *ice)
} }
return 0; return 0;
} }
EXPORT_SYMBOL(snd_ice1712_akm4xxx_init);
EXPORT_SYMBOL(snd_ice1712_akm4xxx_free);
EXPORT_SYMBOL(snd_ice1712_akm4xxx_build_controls);
...@@ -3,8 +3,9 @@ ...@@ -3,8 +3,9 @@
# Copyright (c) 2001 by Jaroslav Kysela <perex@suse.cz> # Copyright (c) 2001 by Jaroslav Kysela <perex@suse.cz>
# #
snd-vxpocket-objs := vxpocket.o vx_entry.o vxp_ops.o vxp_mixer.o snd-vx-cs-objs := vx_entry.o vxp_ops.o vxp_mixer.o
snd-vxp440-objs := vxpocket.o vx_entry.o vxp_ops.o vxp_mixer.o snd-vxpocket-objs := vxpocket.o
snd-vxp440-objs := vxp440.o
obj-$(CONFIG_SND_VXPOCKET) += snd-vxpocket.o obj-$(CONFIG_SND_VXPOCKET) += snd-vxpocket.o snd-vx-cs.o
obj-$(CONFIG_SND_VXP440) += snd-vxp440.o obj-$(CONFIG_SND_VXP440) += snd-vxp440.o snd-vx-cs.o
...@@ -371,10 +371,6 @@ static int vxpocket_event(event_t event, int priority, event_callback_args_t *ar ...@@ -371,10 +371,6 @@ static int vxpocket_event(event_t event, int priority, event_callback_args_t *ar
return 0; return 0;
} }
/* we link this module statically with the card modules
* due to the pcmcia symbol problems...
*/
#if 0
/* /*
* exported stuffs * exported stuffs
*/ */
...@@ -382,4 +378,3 @@ EXPORT_SYMBOL(snd_vxpocket_ops); ...@@ -382,4 +378,3 @@ EXPORT_SYMBOL(snd_vxpocket_ops);
EXPORT_SYMBOL(snd_vxpocket_attach); EXPORT_SYMBOL(snd_vxpocket_attach);
EXPORT_SYMBOL(snd_vxpocket_detach); EXPORT_SYMBOL(snd_vxpocket_detach);
EXPORT_SYMBOL(snd_vxpocket_detach_all); EXPORT_SYMBOL(snd_vxpocket_detach_all);
#endif
...@@ -34,7 +34,6 @@ ...@@ -34,7 +34,6 @@
#include <sound/core.h> #include <sound/core.h>
#include <pcmcia/version.h> #include <pcmcia/version.h>
#include "vxpocket.h" #include "vxpocket.h"
#define SNDRV_GET_ID
#include <sound/initval.h> #include <sound/initval.h>
/* /*
...@@ -81,7 +80,6 @@ MODULE_PARM_SYNTAX(ibl, SNDRV_ENABLED); ...@@ -81,7 +80,6 @@ MODULE_PARM_SYNTAX(ibl, SNDRV_ENABLED);
*/ */
#ifdef COMPILE_VXP440 #ifdef COMPILE_VXP440
static dev_info_t dev_info = "snd-vxp440";
/* 1 DSP, 1 sync UER, 1 sync World Clock (NIY) */ /* 1 DSP, 1 sync UER, 1 sync World Clock (NIY) */
/* SMPTE (NIY) */ /* SMPTE (NIY) */
...@@ -92,9 +90,9 @@ static dev_info_t dev_info = "snd-vxp440"; ...@@ -92,9 +90,9 @@ static dev_info_t dev_info = "snd-vxp440";
#define NUM_CODECS 2 #define NUM_CODECS 2
#define CARD_TYPE VX_TYPE_VXP440 #define CARD_TYPE VX_TYPE_VXP440
#define DEV_INFO "snd-vxp440"
#else #else
static dev_info_t dev_info = "snd-vxpocket";
/* 1 DSP, 1 sync UER */ /* 1 DSP, 1 sync UER */
/* 1 programmable clock (NIY) */ /* 1 programmable clock (NIY) */
...@@ -104,8 +102,11 @@ static dev_info_t dev_info = "snd-vxpocket"; ...@@ -104,8 +102,11 @@ static dev_info_t dev_info = "snd-vxpocket";
#define NUM_CODECS 1 #define NUM_CODECS 1
#define CARD_TYPE VX_TYPE_VXPOCKET #define CARD_TYPE VX_TYPE_VXPOCKET
#define DEV_INFO "snd-vxpocket"
#endif #endif
static dev_info_t dev_info = DEV_INFO;
static struct snd_vx_hardware vxp_hw = { static struct snd_vx_hardware vxp_hw = {
.name = CARD_NAME, .name = CARD_NAME,
...@@ -146,27 +147,27 @@ static void vxp_detach(dev_link_t *link) ...@@ -146,27 +147,27 @@ static void vxp_detach(dev_link_t *link)
snd_vxpocket_detach(&hw_entry, link); snd_vxpocket_detach(&hw_entry, link);
} }
/* /*
* Module entry points * Module entry points
*/ */
static struct pcmcia_driver vxp_cs_driver = {
.owner = THIS_MODULE,
.drv = {
.name = DEV_INFO,
},
.attach = vxp_attach,
.detach = vxp_detach
};
static int __init init_vxpocket(void) static int __init init_vxpocket(void)
{ {
servinfo_t serv; return pcmcia_register_driver(&vxp_cs_driver);
CardServices(GetCardServicesInfo, &serv);
if (serv.Revision != CS_RELEASE_CODE) {
printk(KERN_WARNING "init_vxpocket: Card Services release does not match (%x != %x)!\n", serv.Revision, CS_RELEASE_CODE);
return -1;
}
register_pccard_driver(&dev_info, vxp_attach, vxp_detach);
return 0;
} }
static void __exit exit_vxpocket(void) static void __exit exit_vxpocket(void)
{ {
unregister_pccard_driver(&dev_info); pcmcia_unregister_driver(&vxp_cs_driver);
snd_vxpocket_detach_all(&hw_entry); snd_vxpocket_detach_all(&hw_entry);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment