[1/3] ALSA: hda - Remove dependency on bus->pci in hda_beep.c
diff mbox

Message ID s5heh2omi58.wl%tiwai@suse.de
State Accepted
Headers show

Commit Message

Takashi Iwai Feb. 27, 2014, 8:10 p.m. UTC
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.


Takashi

--

Comments

Dylan Reid Feb. 27, 2014, 8:41 p.m. UTC | #1
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

Patch
diff mbox

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