diff -rud linux-2.6.20-old/sound/pci/hda/Makefile linux-2.6.20/sound/pci/hda/Makefile --- linux-2.6.20-old/sound/pci/hda/Makefile 2007-07-12 02:21:58.000000000 -0300 +++ linux-2.6.20/sound/pci/hda/Makefile 2007-07-12 02:28:46.000000000 -0300 @@ -1,8 +1,5 @@ snd-hda-intel-objs := hda_intel.o -# since snd-hda-intel is the only driver using hda-codec, -# merge it into a single module although it was originally -# designed to be individual modules -snd-hda-intel-objs += hda_codec.o \ +snd-hda-codec-objs := hda_codec.o \ hda_generic.o \ patch_realtek.o \ patch_cmedia.o \ @@ -13,7 +10,7 @@ patch_conexant.o \ patch_via.o ifdef CONFIG_PROC_FS -snd-hda-intel-objs += hda_proc.o +snd-hda-codec-objs += hda_proc.o endif -obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-intel.o +obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-intel.o snd-hda-codec.o diff -rud linux-2.6.20-old/sound/pci/hda/hda_codec.c linux-2.6.20/sound/pci/hda/hda_codec.c --- linux-2.6.20-old/sound/pci/hda/hda_codec.c 2007-07-12 02:21:58.000000000 -0300 +++ linux-2.6.20/sound/pci/hda/hda_codec.c 2007-07-12 02:32:32.000000000 -0300 @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include "hda_codec.h" @@ -33,6 +34,11 @@ #include "hda_local.h" +MODULE_AUTHOR("Takashi Iwai "); +MODULE_DESCRIPTION("Universal interface for High Definition Audio Codec"); +MODULE_LICENSE("GPL"); + + /* * vendor / preset table */ @@ -85,6 +91,8 @@ return res; } +EXPORT_SYMBOL(snd_hda_codec_read); + /** * snd_hda_codec_write - send a single command without waiting for response * @codec: the HDA codec @@ -107,6 +115,8 @@ return err; } +EXPORT_SYMBOL(snd_hda_codec_write); + /** * snd_hda_sequence_write - sequence writes * @codec: the HDA codec @@ -121,6 +131,8 @@ snd_hda_codec_write(codec, seq->nid, 0, seq->verb, seq->param); } +EXPORT_SYMBOL(snd_hda_sequence_write); + /** * snd_hda_get_sub_nodes - get the range of sub nodes * @codec: the HDA codec @@ -140,6 +152,8 @@ return (int)(parm & 0x7fff); } +EXPORT_SYMBOL(snd_hda_get_sub_nodes); + /** * snd_hda_get_connections - get connection list * @codec: the HDA codec @@ -261,6 +275,8 @@ return 0; } +EXPORT_SYMBOL(snd_hda_queue_unsol_event); + /* * process queueud unsolicited events */ @@ -387,6 +403,8 @@ return 0; } +EXPORT_SYMBOL(snd_hda_bus_new); + /* * find a matching codec preset */ @@ -603,6 +621,8 @@ return 0; } +EXPORT_SYMBOL(snd_hda_codec_new); + /** * snd_hda_codec_setup_stream - set up the codec for streaming * @codec: the CODEC to set up @@ -627,6 +647,8 @@ snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_STREAM_FORMAT, format); } +EXPORT_SYMBOL(snd_hda_codec_setup_stream); + /* * amp access functions */ @@ -1401,6 +1423,8 @@ return 0; } +EXPORT_SYMBOL(snd_hda_build_controls); + /* * stream formats */ @@ -1486,6 +1510,8 @@ return val; } +EXPORT_SYMBOL(snd_hda_calc_stream_format); + /** * snd_hda_query_supported_pcm - query the supported PCM rates and formats * @codec: the HDA codec @@ -1771,6 +1797,8 @@ return 0; } +EXPORT_SYMBOL(snd_hda_build_pcms); + /** * snd_hda_check_board_config - compare the current codec with the config table * @codec: the HDA codec @@ -2377,6 +2405,8 @@ return 0; } +EXPORT_SYMBOL(snd_hda_suspend); + /** * snd_hda_resume - resume the codecs * @bus: the HDA bus @@ -2398,6 +2428,8 @@ return 0; } +EXPORT_SYMBOL(snd_hda_resume); + /** * snd_hda_resume_ctls - resume controls in the new control list * @codec: the HDA codec @@ -2456,3 +2488,19 @@ return snd_hda_resume_ctls(codec, dig_in_ctls); } #endif + +/* + * INIT part + */ + +static int __init alsa_hda_init(void) +{ + return 0; +} + +static void __exit alsa_hda_exit(void) +{ +} + +module_init(alsa_hda_init) +module_exit(alsa_hda_exit)