[PATCH v2 5/6] ALSA: hda - allow codecs to access the i915 pin/ELD callback
Luis Henriques
luis.henriques at canonical.com
Tue Sep 8 14:58:35 UTC 2015
On Thu, Sep 03, 2015 at 01:55:05PM +0200, David Henningsson wrote:
...
> diff --git a/sound/pci/hda/hda_intel.h b/sound/pci/hda/hda_intel.h
> index 51cd664..51b940c 100644
> --- a/sound/pci/hda/hda_intel.h
> +++ b/sound/pci/hda/hda_intel.h
> @@ -54,6 +54,7 @@ void haswell_set_bclk(struct hda_intel *hda);
> int hda_i915_init(struct hda_intel *hda);
> int hda_i915_init_bpo(struct hda_intel *hda);
> int hda_i915_exit(struct hda_intel *hda);
> +int snd_hdac_i915_register_notifier(const struct i915_audio_component_audio_ops *);
> #else
> static inline int hda_set_codec_wakeup(struct hda_intel *hda, bool enable)
> {
> @@ -80,6 +81,10 @@ static inline int hda_i915_exit_bpo(void)
> {
> return 0;
> }
> +static inline int snd_hdac_i915_register_notifier(const struct i915_audio_component_audio_ops *)
The above like fails to build in architectures that don't define
CONFIG_SND_HDA_I915 (for example ppc64el):
/tmp/kernel-henrix-wHmaOcAl/build/sound/pci/hda/hda_intel.h:84:64: error: parameter name omitted
Would it be OK for you if I slightly modify your patch to add the
parameter name? (Full patch below).
Cheers,
--
Luís
>From 36a85cb7921ede2ff65e25824a899b6ad0ce3638 Mon Sep 17 00:00:00 2001
From: David Henningsson <david.henningsson at canonical.com>
Date: Thu, 3 Sep 2015 13:55:05 +0200
Subject: [PATCH] UBUNTU: SAUCE: ALSA: hda - allow codecs to access the i915
pin/ELD callback
BugLink: http://bugs.launchpad.net/bugs/1490895
This lets the interested codec be notified when an i915 pin/ELD
event happens.
Signed-off-by: David Henningsson <david.henningsson at canonical.com>
Signed-off-by: Brad Figg <brad.figg at canonical.com>
[ luis: fix build failure due to parameter name omission in function ]
Signed-off-by: Luis Henriques <luis.henriques at canonical.com>
---
sound/pci/hda/hda_i915.c | 10 ++++++++++
sound/pci/hda/hda_intel.h | 5 +++++
2 files changed, 15 insertions(+)
diff --git a/sound/pci/hda/hda_i915.c b/sound/pci/hda/hda_i915.c
index 27a21b2f013b..e999279e6007 100644
--- a/sound/pci/hda/hda_i915.c
+++ b/sound/pci/hda/hda_i915.c
@@ -110,6 +110,16 @@ void haswell_set_bclk(struct hda_intel *hda)
azx_writew(&hda->chip, EM5, bclk_n);
}
+int snd_hdac_i915_register_notifier(const struct i915_audio_component_audio_ops *aops)
+{
+ if (WARN_ON(!hdac_acomp))
+ return -ENODEV;
+
+ hdac_acomp->audio_ops = aops;
+ return 0;
+}
+EXPORT_SYMBOL_GPL(snd_hdac_i915_register_notifier);
+
static int hda_component_master_bind(struct device *dev)
{
struct snd_card *card = dev_get_drvdata(dev);
diff --git a/sound/pci/hda/hda_intel.h b/sound/pci/hda/hda_intel.h
index 51cd6647bf33..98a5c6c5b883 100644
--- a/sound/pci/hda/hda_intel.h
+++ b/sound/pci/hda/hda_intel.h
@@ -54,6 +54,7 @@ void haswell_set_bclk(struct hda_intel *hda);
int hda_i915_init(struct hda_intel *hda);
int hda_i915_init_bpo(struct hda_intel *hda);
int hda_i915_exit(struct hda_intel *hda);
+int snd_hdac_i915_register_notifier(const struct i915_audio_component_audio_ops *);
#else
static inline int hda_set_codec_wakeup(struct hda_intel *hda, bool enable)
{
@@ -80,6 +81,10 @@ static inline int hda_i915_exit_bpo(void)
{
return 0;
}
+static inline int snd_hdac_i915_register_notifier(const struct i915_audio_component_audio_ops *aops)
+{
+ return -ENODEV;
+}
#endif
#endif
More information about the kernel-team
mailing list