[alsa-devel] [PATCH 1/3] ALSA: hda - Remove dependency on bus->pci in hda_beep.c

Dylan Reid dgreid at chromium.org
Thu Feb 27 18:32:21 CET 2014


On Thu, Feb 27, 2014 at 8:57 AM, Takashi Iwai <tiwai at 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 at 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 at 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 at 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 at 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.

>
> Of course, it'd be better to move the whole hda directory out of pci,
> but we can do it later at any time once via git.

I can add that to the end of the series or it can move it whenever is
convenient, not sure how many pending patch sets it would disrupt.

Thanks!

Dylan

>
>>  I'll try to button that up and get a the whole lot
>> rebased on top of the for-next branch.
>
> Thanks!
>
>
> Takashi
>
> ---
> diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
> index 8756c8e32922..56d93bf45025 100644
> --- a/sound/pci/Kconfig
> +++ b/sound/pci/Kconfig
> @@ -578,8 +578,6 @@ config SND_FM801_TEA575X_BOOL
>           FM801 chip with a TEA5757 tuner (MediaForte SF256-PCS, SF256-PCP and
>           SF64-PCR) into the snd-fm801 driver.
>
> -source "sound/pci/hda/Kconfig"
> -
>  config SND_HDSP
>         tristate "RME Hammerfall DSP Audio"
>         select FW_LOADER
> @@ -889,3 +887,5 @@ config SND_YMFPCI
>           will be called snd-ymfpci.
>
>  endif  # SND_PCI
> +
> +source "sound/pci/hda/Kconfig"
> diff --git a/sound/pci/hda/Kconfig b/sound/pci/hda/Kconfig
> index f2032dd7e35e..6fc769da6949 100644
> --- a/sound/pci/hda/Kconfig
> +++ b/sound/pci/hda/Kconfig
> @@ -1,5 +1,6 @@
>  menuconfig SND_HDA_INTEL
>         tristate "Intel HD Audio"
> +       depends on (PCI || SOMETHING_YOU_WANT)
>         select SND_PCM
>         select SND_VMASTER
>         select SND_KCTL_JACK

---
diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
index 8756c8e..56d93bf 100644
--- a/sound/pci/Kconfig
+++ b/sound/pci/Kconfig
@@ -578,8 +578,6 @@ config SND_FM801_TEA575X_BOOL
          FM801 chip with a TEA5757 tuner (MediaForte SF256-PCS, SF256-PCP and
          SF64-PCR) into the snd-fm801 driver.

-source "sound/pci/hda/Kconfig"
-
 config SND_HDSP
        tristate "RME Hammerfall DSP Audio"
        select FW_LOADER
@@ -889,3 +887,5 @@ config SND_YMFPCI
          will be called snd-ymfpci.

 endif  # SND_PCI
+
+source "sound/pci/hda/Kconfig"
diff --git a/sound/pci/hda/Kconfig b/sound/pci/hda/Kconfig
index 0e53634..d983d24 100644
--- a/sound/pci/hda/Kconfig
+++ b/sound/pci/hda/Kconfig
@@ -1,5 +1,5 @@
-menuconfig SND_HDA_INTEL
-       tristate "Intel HD Audio"
+menuconfig SND_HDA
+       tristate "HD Audio"
        select SND_PCM
        select SND_VMASTER
        select SND_KCTL_JACK
@@ -10,9 +10,55 @@ menuconfig SND_HDA_INTEL
          This option enables the HD-audio controller.  Don't forget
          to choose the appropriate codec options below.

+config SND_HDA_INTEL
+       tristate "Intel HD Audio"
+       depends on SND_PCI
+       select SND_HDA
+       help
+         Say Y here to support standard PC HDA over PCI
+
+         This options enables support for HD Audio via PCI present on
+         most PCs.
+
          To compile this driver as a module, choose M here: the module
          will be called 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_INTEL || SND_HDA_TEGRA
+
+config SND_HDA_CODEC_HDMI
+       tristate "Build HDMI/DisplayPort HD-audio codec support"
+       help
+         Say Y or M here to include HDMI and DisplayPort HD-audio codec
+         support in snd-hda-intel or tegra driver.  This includes all
+         AMD/ATI, 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
+
+config SND_HDA_POWER_SAVE_DEFAULT
+       int "Default time-out for HD-audio power-save mode"
+       depends on PM
+       default 0
+       help
+         The default time-out value in seconds for HD-audio automatic
+         power-save mode.  0 means to disable the power-save mode.
+
+endif
+
 if SND_HDA_INTEL

 config SND_HDA_DSP_LOADER
@@ -126,16 +172,6 @@ config SND_HDA_CODEC_VIA
 comment "Set to Y if you want auto-loading the codec driver"
        depends on SND_HDA_INTEL=y && SND_HDA_CODEC_VIA=m

-config SND_HDA_CODEC_HDMI
-       tristate "Build HDMI/DisplayPort HD-audio codec support"
-       help
-         Say Y or M here to include HDMI and DisplayPort HD-audio codec
-         support in snd-hda-intel driver.  This includes all AMD/ATI,
-         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
-
 config SND_HDA_I915
        bool
        default y
@@ -220,12 +256,4 @@ config SND_HDA_GENERIC
 comment "Set to Y if you want auto-loading the codec driver"
        depends on SND_HDA_INTEL=y && SND_HDA_GENERIC=m

-config SND_HDA_POWER_SAVE_DEFAULT
-       int "Default time-out for HD-audio power-save mode"
-       depends on PM
-       default 0
-       help
-         The default time-out value in seconds for HD-audio automatic
-         power-save mode.  0 means to disable the power-save mode.
-
 endif
diff --git a/sound/pci/hda/Makefile b/sound/pci/hda/Makefile
index c5fa8e7..a964b6e 100644
--- a/sound/pci/hda/Makefile
+++ b/sound/pci/hda/Makefile
@@ -1,4 +1,6 @@
-snd-hda-intel-objs := hda_shared.o hda_intel.o
+snd-hda-intel-objs := hda_intel.o
+snd-hda-shared-objs := hda_shared.o
+snd-hda-tegra-objs := hda_tegra.o
 # for haswell power well
 snd-hda-intel-$(CONFIG_SND_HDA_I915) +=        hda_i915.o

@@ -25,7 +27,8 @@ snd-hda-codec-via-objs :=     patch_via.o
 snd-hda-codec-hdmi-objs :=     patch_hdmi.o hda_eld.o

 # common driver
-obj-$(CONFIG_SND_HDA_INTEL) := snd-hda-codec.o
+obj-$(CONFIG_SND_HDA) := snd-hda-codec.o
+obj-$(CONFIG_SND_HDA) += snd-hda-shared.o

 # codec drivers
 obj-$(CONFIG_SND_HDA_GENERIC) += snd-hda-codec-generic.o
@@ -45,3 +48,4 @@ obj-$(CONFIG_SND_HDA_CODEC_HDMI) += snd-hda-codec-hdmi.o
 # 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
+obj-$(CONFIG_SND_HDA_TEGRA) += snd-hda-tegra.o


More information about the Alsa-devel mailing list