-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ALSA: hda - Modularize HD-audio driver
Split the monolithc HD-audio driver into several pieces: - snd-hda-intel HD-audio PCI controller driver; loaded via udev - snd-hda-codec HD-audio codec bus driver - snd-hda-codec-* Specific HD-audio codec drivers When built as modules, snd-hda-codec (that is invoked by snd-hda-intel) looks up the codec vendor ID and loads the corresponding codec module automatically via request_module(). When built in a kernel, each codec drivers are statically hooked up before probing the PCI. This patch adds appropriate EXPORT_SYMBOL_GPL()'s and the module information for each driver, and driver-linking codes between codec-bus and codec drivers. TODO: - Avoid EXPORT_SYMBOL*() when built-in kernel - Restore __devinit appropriately depending on the condition Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Loading branch information
Takashi Iwai
committed
Nov 27, 2008
1 parent
30d72e9
commit 1289e9e
Showing
18 changed files
with
528 additions
and
109 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,59 @@ | ||
snd-hda-intel-y := 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-y += hda_codec.o | ||
snd-hda-intel-$(CONFIG_PROC_FS) += hda_proc.o | ||
snd-hda-intel-$(CONFIG_SND_HDA_ELD) += hda_eld.o | ||
snd-hda-intel-$(CONFIG_SND_HDA_HWDEP) += hda_hwdep.o | ||
snd-hda-intel-$(CONFIG_SND_HDA_INPUT_BEEP) += hda_beep.o | ||
snd-hda-intel-$(CONFIG_SND_HDA_GENERIC) += hda_generic.o | ||
snd-hda-intel-$(CONFIG_SND_HDA_CODEC_REALTEK) += patch_realtek.o | ||
snd-hda-intel-$(CONFIG_SND_HDA_CODEC_CMEDIA) += patch_cmedia.o | ||
snd-hda-intel-$(CONFIG_SND_HDA_CODEC_ANALOG) += patch_analog.o | ||
snd-hda-intel-$(CONFIG_SND_HDA_CODEC_SIGMATEL) += patch_sigmatel.o | ||
snd-hda-intel-$(CONFIG_SND_HDA_CODEC_SI3054) += patch_si3054.o | ||
snd-hda-intel-$(CONFIG_SND_HDA_CODEC_ATIHDMI) += patch_atihdmi.o | ||
snd-hda-intel-$(CONFIG_SND_HDA_CODEC_CONEXANT) += patch_conexant.o | ||
snd-hda-intel-$(CONFIG_SND_HDA_CODEC_VIA) += patch_via.o | ||
snd-hda-intel-$(CONFIG_SND_HDA_CODEC_NVHDMI) += patch_nvhdmi.o | ||
snd-hda-intel-$(CONFIG_SND_HDA_CODEC_INTELHDMI) += patch_intelhdmi.o | ||
snd-hda-intel-objs := hda_intel.o | ||
|
||
snd-hda-codec-y := hda_codec.o | ||
snd-hda-codec-$(CONFIG_SND_HDA_GENERIC) += hda_generic.o | ||
snd-hda-codec-$(CONFIG_PROC_FS) += hda_proc.o | ||
# snd-hda-codec-$(CONFIG_SND_HDA_ELD) += hda_eld.o | ||
snd-hda-codec-$(CONFIG_SND_HDA_HWDEP) += hda_hwdep.o | ||
snd-hda-codec-$(CONFIG_SND_HDA_INPUT_BEEP) += hda_beep.o | ||
|
||
snd-hda-codec-realtek-objs := patch_realtek.o | ||
snd-hda-codec-cmedia-objs := patch_cmedia.o | ||
snd-hda-codec-analog-objs := patch_analog.o | ||
snd-hda-codec-idt-objs := patch_sigmatel.o | ||
snd-hda-codec-si3054-objs := patch_si3054.o | ||
snd-hda-codec-atihdmi-objs := patch_atihdmi.o | ||
snd-hda-codec-conexant-objs := patch_conexant.o | ||
snd-hda-codec-via-objs := patch_via.o | ||
snd-hda-codec-nvhdmi-objs := patch_nvhdmi.o | ||
snd-hda-codec-intelhdmi-objs := patch_intelhdmi.o hda_eld.o | ||
|
||
# common driver | ||
obj-$(CONFIG_SND_HDA_INTEL) := snd-hda-codec.o | ||
|
||
# codec drivers (note: CONFIG_SND_HDA_CODEC_XXX are booleans) | ||
ifdef CONFIG_SND_HDA_CODEC_REALTEK | ||
obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-realtek.o | ||
endif | ||
ifdef CONFIG_SND_HDA_CODEC_CMEDIA | ||
obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-cmedia.o | ||
endif | ||
ifdef CONFIG_SND_HDA_CODEC_ANALOG | ||
obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-analog.o | ||
endif | ||
ifdef CONFIG_SND_HDA_CODEC_SIGMATEL | ||
obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-idt.o | ||
endif | ||
ifdef CONFIG_SND_HDA_CODEC_SI3054 | ||
obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-si3054.o | ||
endif | ||
ifdef CONFIG_SND_HDA_CODEC_ATIHDMI | ||
obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-atihdmi.o | ||
endif | ||
ifdef CONFIG_SND_HDA_CODEC_CONEXANT | ||
obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-conexant.o | ||
endif | ||
ifdef CONFIG_SND_HDA_CODEC_VIA | ||
obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-via.o | ||
endif | ||
ifdef CONFIG_SND_HDA_CODEC_NVHDMI | ||
obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-nvhdmi.o | ||
endif | ||
ifdef CONFIG_SND_HDA_CODEC_INTELHDMI | ||
obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-intelhdmi.o | ||
endif | ||
|
||
# this must be the last entry after codec drivers; | ||
# otherwise the codec patches won't be hooked before the PCI probe | ||
# when built in kernel | ||
obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-intel.o |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.