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