Message ID | s5heh2omi58.wl%tiwai@suse.de (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On Thu, Feb 27, 2014 at 12:10 PM, Takashi Iwai <tiwai@suse.de> wrote: > At Thu, 27 Feb 2014 09:32:21 -0800, > Dylan Reid wrote: >> >> On Thu, Feb 27, 2014 at 8:57 AM, Takashi Iwai <tiwai@suse.de> wrote: >> > At Thu, 27 Feb 2014 08:44:48 -0800, >> > Dylan Reid wrote: >> >> >> >> On Thu, Feb 27, 2014 at 4:03 AM, Takashi Iwai <tiwai@suse.de> wrote: >> >> > At Wed, 19 Feb 2014 07:16:38 -0800, >> >> > Dylan Reid wrote: >> >> >> >> >> >> On Wed, Feb 19, 2014 at 12:33 AM, Takashi Iwai <tiwai@suse.de> wrote: >> >> >> > At Tue, 18 Feb 2014 11:04:19 -0700, >> >> >> > Stephen Warren wrote: >> >> >> >> >> >> >> >> On 02/15/2014 02:22 AM, Takashi Iwai wrote: >> >> >> >> > At Sat, 15 Feb 2014 10:17:33 +0100, >> >> >> >> > Takashi Iwai wrote: >> >> >> >> >> >> >> >> >> >> The default parent device can be obtained directly via card object, so >> >> >> >> >> we don't need to rely on pci->dev.parent. Since there is no access to >> >> >> >> >> pci_dev, we can reduce the inclusion of linux/pci.h, too. >> >> >> >> >> >> >> >> >> >> Signed-off-by: Takashi Iwai <tiwai@suse.de> >> >> >> >> > >> >> >> >> > I forgot the cover page: these tree patches are trivial cleanups of >> >> >> >> > hda-codec drivers (not the controller) to work without PCI device >> >> >> >> > assignment. The idea was triggered by Dylan's question. >> >> >> >> >> >> >> >> The series seems fine to me, so briefly, >> >> >> >> Reviewed-by: Stephen Warren <swarren@nvidia.com> >> >> >> > >> >> >> > Thanks. Any chance to work on / submit other changes for Tegra >> >> >> > HD-audio support? >> >> >> >> >> >> That's the plan, hopefully I'll be able to find time to throw together >> >> >> an RFC by the end of the week. >> >> > >> >> > Since there was no patch appearing yet, I merged my latest development >> >> > branch to for-next branch, which includes lots of changes in >> >> > hda_intel.c and hda_codec.c. If any, please rebase your patches to >> >> > it. >> >> >> >> Thanks for the heads up. I've got a series that is almost ready, I'm >> >> still trying to tease part of the build out from under CONFIG_PCI in >> >> the hda makefile. >> > >> > I don't think we have a dependency on CONFIG_PCI in Makefile. Kconfig >> > has a dependency, but it can be easily reduced by a patch like below. >> >> Sounds good. I was looking at re-using some of the config options >> (HDMI codec and power save) for the platform driver as well. Maybe >> something like the following. SND_HDA would build the helper module >> and hda-codec that are used by both hda_intel and a platform driver. > > I think we can simply allow building all HD-audio codec drivers when > CONFIG_SND_HDA is set. They are basically independent from the > controller type. There are also other selectable items like hwdep > support. The diff in sound/pci/hda would be like below. Thanks I'll work off of that. It will need a change include/sound/core.h to define snd_pci_quirk without CONFIG_PCI since the codecs use that, and maybe stub out a couple of the pci specific functions. That seems reasonable to me. Dylan > > > Takashi > > -- > diff --git a/sound/pci/hda/Kconfig b/sound/pci/hda/Kconfig > index f2032dd7e35e..4cbf46e59d1c 100644 > --- a/sound/pci/hda/Kconfig > +++ b/sound/pci/hda/Kconfig > @@ -1,8 +1,15 @@ > -menuconfig SND_HDA_INTEL > - tristate "Intel HD Audio" > +menu "HD-Audio" > + > +config SND_HDA > + tristate > select SND_PCM > select SND_VMASTER > select SND_KCTL_JACK > + > +config SND_HDA_INTEL > + tristate "HD Audio PCI" > + depends on SND_PCI > + select SND_HDA > help > Say Y here to include support for Intel "High Definition > Audio" (Azalia) and its compatible devices. > @@ -13,7 +20,21 @@ menuconfig SND_HDA_INTEL > To compile this driver as a module, choose M here: the module > will be called snd-hda-intel. > > -if SND_HDA_INTEL > +config SND_HDA_TEGRA > + tristate "Tegra HD Audio" > + select SND_HDA > + help > + Say Y here to support the HDA controller present in Nvidia > + Tegra SoCs > + > + This options enables support for the HD Audio controller > + present in some Nvidia Tegra SoCs, used to communicate audio > + to the HDMI output. > + > + To compile this driver as a module, choose M here: the module > + will be called snd-hda-tegra. > + > +if SND_HDA > > config SND_HDA_DSP_LOADER > bool > @@ -49,7 +70,7 @@ config SND_HDA_RECONFIG > > config SND_HDA_INPUT_BEEP > bool "Support digital beep via input layer" > - depends on INPUT=y || INPUT=SND_HDA_INTEL > + depends on INPUT=y || INPUT=SND_HDA > help > Say Y here to build a digital beep interface for HD-audio > driver. This interface is used to generate digital beeps. > @@ -90,7 +111,7 @@ config SND_HDA_CODEC_REALTEK > snd-hda-intel driver, such as ALC880. > > comment "Set to Y if you want auto-loading the codec driver" > - depends on SND_HDA_INTEL=y && SND_HDA_CODEC_REALTEK=m > + depends on SND_HDA=y && SND_HDA_CODEC_REALTEK=m > > config SND_HDA_CODEC_ANALOG > tristate "Build Analog Device HD-audio codec support" > @@ -100,7 +121,7 @@ config SND_HDA_CODEC_ANALOG > snd-hda-intel driver, such as AD1986A. > > comment "Set to Y if you want auto-loading the codec driver" > - depends on SND_HDA_INTEL=y && SND_HDA_CODEC_ANALOG=m > + depends on SND_HDA=y && SND_HDA_CODEC_ANALOG=m > > config SND_HDA_CODEC_SIGMATEL > tristate "Build IDT/Sigmatel HD-audio codec support" > @@ -110,7 +131,7 @@ config SND_HDA_CODEC_SIGMATEL > snd-hda-intel driver, such as STAC9200. > > comment "Set to Y if you want auto-loading the codec driver" > - depends on SND_HDA_INTEL=y && SND_HDA_CODEC_SIGMATEL=m > + depends on SND_HDA=y && SND_HDA_CODEC_SIGMATEL=m > > config SND_HDA_CODEC_VIA > tristate "Build VIA HD-audio codec support" > @@ -120,7 +141,7 @@ config SND_HDA_CODEC_VIA > snd-hda-intel driver, such as VT1708. > > comment "Set to Y if you want auto-loading the codec driver" > - depends on SND_HDA_INTEL=y && SND_HDA_CODEC_VIA=m > + depends on SND_HDA=y && SND_HDA_CODEC_VIA=m > > config SND_HDA_CODEC_HDMI > tristate "Build HDMI/DisplayPort HD-audio codec support" > @@ -130,7 +151,7 @@ config SND_HDA_CODEC_HDMI > Intel and Nvidia HDMI/DisplayPort codecs. > > comment "Set to Y if you want auto-loading the codec driver" > - depends on SND_HDA_INTEL=y && SND_HDA_CODEC_HDMI=m > + depends on SND_HDA=y && SND_HDA_CODEC_HDMI=m > > config SND_HDA_I915 > bool > @@ -145,7 +166,7 @@ config SND_HDA_CODEC_CIRRUS > snd-hda-intel driver, such as CS4206. > > comment "Set to Y if you want auto-loading the codec driver" > - depends on SND_HDA_INTEL=y && SND_HDA_CODEC_CIRRUS=m > + depends on SND_HDA=y && SND_HDA_CODEC_CIRRUS=m > > config SND_HDA_CODEC_CONEXANT > tristate "Build Conexant HD-audio codec support" > @@ -155,7 +176,7 @@ config SND_HDA_CODEC_CONEXANT > snd-hda-intel driver, such as CX20549. > > comment "Set to Y if you want auto-loading the codec driver" > - depends on SND_HDA_INTEL=y && SND_HDA_CODEC_CONEXANT=m > + depends on SND_HDA=y && SND_HDA_CODEC_CONEXANT=m > > config SND_HDA_CODEC_CA0110 > tristate "Build Creative CA0110-IBG codec support" > @@ -165,7 +186,7 @@ config SND_HDA_CODEC_CA0110 > snd-hda-intel driver, found on some Creative X-Fi cards. > > comment "Set to Y if you want auto-loading the codec driver" > - depends on SND_HDA_INTEL=y && SND_HDA_CODEC_CA0110=m > + depends on SND_HDA=y && SND_HDA_CODEC_CA0110=m > > config SND_HDA_CODEC_CA0132 > tristate "Build Creative CA0132 codec support" > @@ -174,7 +195,7 @@ config SND_HDA_CODEC_CA0132 > snd-hda-intel driver. > > comment "Set to Y if you want auto-loading the codec driver" > - depends on SND_HDA_INTEL=y && SND_HDA_CODEC_CA0132=m > + depends on SND_HDA=y && SND_HDA_CODEC_CA0132=m > > config SND_HDA_CODEC_CA0132_DSP > bool "Support new DSP code for CA0132 codec" > @@ -196,7 +217,7 @@ config SND_HDA_CODEC_CMEDIA > snd-hda-intel driver, such as CMI9880. > > comment "Set to Y if you want auto-loading the codec driver" > - depends on SND_HDA_INTEL=y && SND_HDA_CODEC_CMEDIA=m > + depends on SND_HDA=y && SND_HDA_CODEC_CMEDIA=m > > config SND_HDA_CODEC_SI3054 > tristate "Build Silicon Labs 3054 HD-modem codec support" > @@ -205,7 +226,7 @@ config SND_HDA_CODEC_SI3054 > (and compatibles) support in snd-hda-intel driver. > > comment "Set to Y if you want auto-loading the codec driver" > - depends on SND_HDA_INTEL=y && SND_HDA_CODEC_SI3054=m > + depends on SND_HDA=y && SND_HDA_CODEC_SI3054=m > > config SND_HDA_GENERIC > tristate "Enable generic HD-audio codec parser" > @@ -214,7 +235,7 @@ config SND_HDA_GENERIC > in snd-hda-intel driver. > > comment "Set to Y if you want auto-loading the codec driver" > - depends on SND_HDA_INTEL=y && SND_HDA_GENERIC=m > + depends on SND_HDA=y && SND_HDA_GENERIC=m > > config SND_HDA_POWER_SAVE_DEFAULT > int "Default time-out for HD-audio power-save mode" > @@ -225,3 +246,5 @@ config SND_HDA_POWER_SAVE_DEFAULT > power-save mode. 0 means to disable the power-save mode. > > endif > + > +endmenu
diff --git a/sound/pci/hda/Kconfig b/sound/pci/hda/Kconfig index f2032dd7e35e..4cbf46e59d1c 100644 --- a/sound/pci/hda/Kconfig +++ b/sound/pci/hda/Kconfig @@ -1,8 +1,15 @@ -menuconfig SND_HDA_INTEL - tristate "Intel HD Audio" +menu "HD-Audio" + +config SND_HDA + tristate select SND_PCM select SND_VMASTER select SND_KCTL_JACK + +config SND_HDA_INTEL + tristate "HD Audio PCI" + depends on SND_PCI + select SND_HDA help Say Y here to include support for Intel "High Definition Audio" (Azalia) and its compatible devices. @@ -13,7 +20,21 @@ menuconfig SND_HDA_INTEL To compile this driver as a module, choose M here: the module will be called snd-hda-intel. -if SND_HDA_INTEL +config SND_HDA_TEGRA + tristate "Tegra HD Audio" + select SND_HDA + help + Say Y here to support the HDA controller present in Nvidia + Tegra SoCs + + This options enables support for the HD Audio controller + present in some Nvidia Tegra SoCs, used to communicate audio + to the HDMI output. + + To compile this driver as a module, choose M here: the module + will be called snd-hda-tegra. + +if SND_HDA config SND_HDA_DSP_LOADER bool @@ -49,7 +70,7 @@ config SND_HDA_RECONFIG config SND_HDA_INPUT_BEEP bool "Support digital beep via input layer" - depends on INPUT=y || INPUT=SND_HDA_INTEL + depends on INPUT=y || INPUT=SND_HDA help Say Y here to build a digital beep interface for HD-audio driver. This interface is used to generate digital beeps. @@ -90,7 +111,7 @@ config SND_HDA_CODEC_REALTEK snd-hda-intel driver, such as ALC880. comment "Set to Y if you want auto-loading the codec driver" - depends on SND_HDA_INTEL=y && SND_HDA_CODEC_REALTEK=m + depends on SND_HDA=y && SND_HDA_CODEC_REALTEK=m config SND_HDA_CODEC_ANALOG tristate "Build Analog Device HD-audio codec support" @@ -100,7 +121,7 @@ config SND_HDA_CODEC_ANALOG snd-hda-intel driver, such as AD1986A. comment "Set to Y if you want auto-loading the codec driver" - depends on SND_HDA_INTEL=y && SND_HDA_CODEC_ANALOG=m + depends on SND_HDA=y && SND_HDA_CODEC_ANALOG=m config SND_HDA_CODEC_SIGMATEL tristate "Build IDT/Sigmatel HD-audio codec support" @@ -110,7 +131,7 @@ config SND_HDA_CODEC_SIGMATEL snd-hda-intel driver, such as STAC9200. comment "Set to Y if you want auto-loading the codec driver" - depends on SND_HDA_INTEL=y && SND_HDA_CODEC_SIGMATEL=m + depends on SND_HDA=y && SND_HDA_CODEC_SIGMATEL=m config SND_HDA_CODEC_VIA tristate "Build VIA HD-audio codec support" @@ -120,7 +141,7 @@ config SND_HDA_CODEC_VIA snd-hda-intel driver, such as VT1708. comment "Set to Y if you want auto-loading the codec driver" - depends on SND_HDA_INTEL=y && SND_HDA_CODEC_VIA=m + depends on SND_HDA=y && SND_HDA_CODEC_VIA=m config SND_HDA_CODEC_HDMI tristate "Build HDMI/DisplayPort HD-audio codec support" @@ -130,7 +151,7 @@ config SND_HDA_CODEC_HDMI Intel and Nvidia HDMI/DisplayPort codecs. comment "Set to Y if you want auto-loading the codec driver" - depends on SND_HDA_INTEL=y && SND_HDA_CODEC_HDMI=m + depends on SND_HDA=y && SND_HDA_CODEC_HDMI=m config SND_HDA_I915 bool @@ -145,7 +166,7 @@ config SND_HDA_CODEC_CIRRUS snd-hda-intel driver, such as CS4206. comment "Set to Y if you want auto-loading the codec driver" - depends on SND_HDA_INTEL=y && SND_HDA_CODEC_CIRRUS=m + depends on SND_HDA=y && SND_HDA_CODEC_CIRRUS=m config SND_HDA_CODEC_CONEXANT tristate "Build Conexant HD-audio codec support" @@ -155,7 +176,7 @@ config SND_HDA_CODEC_CONEXANT snd-hda-intel driver, such as CX20549. comment "Set to Y if you want auto-loading the codec driver" - depends on SND_HDA_INTEL=y && SND_HDA_CODEC_CONEXANT=m + depends on SND_HDA=y && SND_HDA_CODEC_CONEXANT=m config SND_HDA_CODEC_CA0110 tristate "Build Creative CA0110-IBG codec support" @@ -165,7 +186,7 @@ config SND_HDA_CODEC_CA0110 snd-hda-intel driver, found on some Creative X-Fi cards. comment "Set to Y if you want auto-loading the codec driver" - depends on SND_HDA_INTEL=y && SND_HDA_CODEC_CA0110=m + depends on SND_HDA=y && SND_HDA_CODEC_CA0110=m config SND_HDA_CODEC_CA0132 tristate "Build Creative CA0132 codec support" @@ -174,7 +195,7 @@ config SND_HDA_CODEC_CA0132 snd-hda-intel driver. comment "Set to Y if you want auto-loading the codec driver" - depends on SND_HDA_INTEL=y && SND_HDA_CODEC_CA0132=m + depends on SND_HDA=y && SND_HDA_CODEC_CA0132=m config SND_HDA_CODEC_CA0132_DSP bool "Support new DSP code for CA0132 codec" @@ -196,7 +217,7 @@ config SND_HDA_CODEC_CMEDIA snd-hda-intel driver, such as CMI9880. comment "Set to Y if you want auto-loading the codec driver" - depends on SND_HDA_INTEL=y && SND_HDA_CODEC_CMEDIA=m + depends on SND_HDA=y && SND_HDA_CODEC_CMEDIA=m config SND_HDA_CODEC_SI3054 tristate "Build Silicon Labs 3054 HD-modem codec support" @@ -205,7 +226,7 @@ config SND_HDA_CODEC_SI3054 (and compatibles) support in snd-hda-intel driver. comment "Set to Y if you want auto-loading the codec driver" - depends on SND_HDA_INTEL=y && SND_HDA_CODEC_SI3054=m + depends on SND_HDA=y && SND_HDA_CODEC_SI3054=m config SND_HDA_GENERIC tristate "Enable generic HD-audio codec parser" @@ -214,7 +235,7 @@ config SND_HDA_GENERIC in snd-hda-intel driver. comment "Set to Y if you want auto-loading the codec driver" - depends on SND_HDA_INTEL=y && SND_HDA_GENERIC=m + depends on SND_HDA=y && SND_HDA_GENERIC=m config SND_HDA_POWER_SAVE_DEFAULT int "Default time-out for HD-audio power-save mode" @@ -225,3 +246,5 @@ config SND_HDA_POWER_SAVE_DEFAULT power-save mode. 0 means to disable the power-save mode. endif + +endmenu