diff mbox

[1/2] ALSA: hda - Move the function "check_amp_caps" to hda_codec.c

Message ID 1411461498-11837-1-git-send-email-david.henningsson@canonical.com (mailing list archive)
State Accepted
Commit 861a04ed15a48e9af7b591cd8ae3bc46aece1733
Delegated to: Takashi Iwai
Headers show

Commit Message

David Henningsson Sept. 23, 2014, 8:38 a.m. UTC
The next patch will use it, so make it visible across modules.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
---
 sound/pci/hda/hda_codec.c   | 20 ++++++++++++++++++++
 sound/pci/hda/hda_generic.c | 17 -----------------
 sound/pci/hda/hda_local.h   |  8 ++++++++
 3 files changed, 28 insertions(+), 17 deletions(-)

Comments

Takashi Iwai Sept. 23, 2014, 1:58 p.m. UTC | #1
At Tue, 23 Sep 2014 10:38:17 +0200,
David Henningsson wrote:
> 
> The next patch will use it, so make it visible across modules.
> 
> Signed-off-by: David Henningsson <david.henningsson@canonical.com>

Applied both patches.  Thanks.


Takashi

> ---
>  sound/pci/hda/hda_codec.c   | 20 ++++++++++++++++++++
>  sound/pci/hda/hda_generic.c | 17 -----------------
>  sound/pci/hda/hda_local.h   |  8 ++++++++
>  3 files changed, 28 insertions(+), 17 deletions(-)
> 
> diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
> index 0aa2e1e..15e0089 100644
> --- a/sound/pci/hda/hda_codec.c
> +++ b/sound/pci/hda/hda_codec.c
> @@ -2002,6 +2002,26 @@ u32 query_amp_caps(struct hda_codec *codec, hda_nid_t nid, int direction)
>  EXPORT_SYMBOL_GPL(query_amp_caps);
>  
>  /**
> + * snd_hda_check_amp_caps - query AMP capabilities
> + * @codec: the HD-audio codec
> + * @nid: the NID to query
> + * @dir: either #HDA_INPUT or #HDA_OUTPUT
> + *
> + * Check whether the widget has the given amp capability for the direction.
> + */
> +bool snd_hda_check_amp_caps(struct hda_codec *codec, hda_nid_t nid,
> +			   int dir, unsigned int bits)
> +{
> +	if (!nid)
> +		return false;
> +	if (get_wcaps(codec, nid) & (1 << (dir + 1)))
> +		if (query_amp_caps(codec, nid, dir) & bits)
> +			return true;
> +	return false;
> +}
> +EXPORT_SYMBOL_GPL(snd_hda_check_amp_caps);
> +
> +/**
>   * snd_hda_override_amp_caps - Override the AMP capabilities
>   * @codec: the CODEC to clean up
>   * @nid: the NID to clean up
> diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c
> index 32a85f9..64220c0 100644
> --- a/sound/pci/hda/hda_generic.c
> +++ b/sound/pci/hda/hda_generic.c
> @@ -519,18 +519,6 @@ static unsigned int amp_val_replace_channels(unsigned int val, unsigned int chs)
>  	return val;
>  }
>  
> -/* check whether the widget has the given amp capability for the direction */
> -static bool check_amp_caps(struct hda_codec *codec, hda_nid_t nid,
> -			   int dir, unsigned int bits)
> -{
> -	if (!nid)
> -		return false;
> -	if (get_wcaps(codec, nid) & (1 << (dir + 1)))
> -		if (query_amp_caps(codec, nid, dir) & bits)
> -			return true;
> -	return false;
> -}
> -
>  static bool same_amp_caps(struct hda_codec *codec, hda_nid_t nid1,
>  			  hda_nid_t nid2, int dir)
>  {
> @@ -540,11 +528,6 @@ static bool same_amp_caps(struct hda_codec *codec, hda_nid_t nid1,
>  		query_amp_caps(codec, nid2, dir));
>  }
>  
> -#define nid_has_mute(codec, nid, dir) \
> -	check_amp_caps(codec, nid, dir, (AC_AMPCAP_MUTE | AC_AMPCAP_MIN_MUTE))
> -#define nid_has_volume(codec, nid, dir) \
> -	check_amp_caps(codec, nid, dir, AC_AMPCAP_NUM_STEPS)
> -
>  /* look for a widget suitable for assigning a mute switch in the path */
>  static hda_nid_t look_for_out_mute_nid(struct hda_codec *codec,
>  				       struct nid_path *path)
> diff --git a/sound/pci/hda/hda_local.h b/sound/pci/hda/hda_local.h
> index 8a018d4..7eb44e7 100644
> --- a/sound/pci/hda/hda_local.h
> +++ b/sound/pci/hda/hda_local.h
> @@ -603,6 +603,14 @@ int snd_hda_override_amp_caps(struct hda_codec *codec, hda_nid_t nid, int dir,
>  u32 snd_hda_query_pin_caps(struct hda_codec *codec, hda_nid_t nid);
>  int snd_hda_override_pin_caps(struct hda_codec *codec, hda_nid_t nid,
>  			      unsigned int caps);
> +bool snd_hda_check_amp_caps(struct hda_codec *codec, hda_nid_t nid,
> +			   int dir, unsigned int bits);
> +
> +#define nid_has_mute(codec, nid, dir) \
> +	snd_hda_check_amp_caps(codec, nid, dir, (AC_AMPCAP_MUTE | AC_AMPCAP_MIN_MUTE))
> +#define nid_has_volume(codec, nid, dir) \
> +	snd_hda_check_amp_caps(codec, nid, dir, AC_AMPCAP_NUM_STEPS)
> +
>  
>  /* flags for hda_nid_item */
>  #define HDA_NID_ITEM_AMP	(1<<0)
> -- 
> 1.9.1
>
diff mbox

Patch

diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 0aa2e1e..15e0089 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -2002,6 +2002,26 @@  u32 query_amp_caps(struct hda_codec *codec, hda_nid_t nid, int direction)
 EXPORT_SYMBOL_GPL(query_amp_caps);
 
 /**
+ * snd_hda_check_amp_caps - query AMP capabilities
+ * @codec: the HD-audio codec
+ * @nid: the NID to query
+ * @dir: either #HDA_INPUT or #HDA_OUTPUT
+ *
+ * Check whether the widget has the given amp capability for the direction.
+ */
+bool snd_hda_check_amp_caps(struct hda_codec *codec, hda_nid_t nid,
+			   int dir, unsigned int bits)
+{
+	if (!nid)
+		return false;
+	if (get_wcaps(codec, nid) & (1 << (dir + 1)))
+		if (query_amp_caps(codec, nid, dir) & bits)
+			return true;
+	return false;
+}
+EXPORT_SYMBOL_GPL(snd_hda_check_amp_caps);
+
+/**
  * snd_hda_override_amp_caps - Override the AMP capabilities
  * @codec: the CODEC to clean up
  * @nid: the NID to clean up
diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c
index 32a85f9..64220c0 100644
--- a/sound/pci/hda/hda_generic.c
+++ b/sound/pci/hda/hda_generic.c
@@ -519,18 +519,6 @@  static unsigned int amp_val_replace_channels(unsigned int val, unsigned int chs)
 	return val;
 }
 
-/* check whether the widget has the given amp capability for the direction */
-static bool check_amp_caps(struct hda_codec *codec, hda_nid_t nid,
-			   int dir, unsigned int bits)
-{
-	if (!nid)
-		return false;
-	if (get_wcaps(codec, nid) & (1 << (dir + 1)))
-		if (query_amp_caps(codec, nid, dir) & bits)
-			return true;
-	return false;
-}
-
 static bool same_amp_caps(struct hda_codec *codec, hda_nid_t nid1,
 			  hda_nid_t nid2, int dir)
 {
@@ -540,11 +528,6 @@  static bool same_amp_caps(struct hda_codec *codec, hda_nid_t nid1,
 		query_amp_caps(codec, nid2, dir));
 }
 
-#define nid_has_mute(codec, nid, dir) \
-	check_amp_caps(codec, nid, dir, (AC_AMPCAP_MUTE | AC_AMPCAP_MIN_MUTE))
-#define nid_has_volume(codec, nid, dir) \
-	check_amp_caps(codec, nid, dir, AC_AMPCAP_NUM_STEPS)
-
 /* look for a widget suitable for assigning a mute switch in the path */
 static hda_nid_t look_for_out_mute_nid(struct hda_codec *codec,
 				       struct nid_path *path)
diff --git a/sound/pci/hda/hda_local.h b/sound/pci/hda/hda_local.h
index 8a018d4..7eb44e7 100644
--- a/sound/pci/hda/hda_local.h
+++ b/sound/pci/hda/hda_local.h
@@ -603,6 +603,14 @@  int snd_hda_override_amp_caps(struct hda_codec *codec, hda_nid_t nid, int dir,
 u32 snd_hda_query_pin_caps(struct hda_codec *codec, hda_nid_t nid);
 int snd_hda_override_pin_caps(struct hda_codec *codec, hda_nid_t nid,
 			      unsigned int caps);
+bool snd_hda_check_amp_caps(struct hda_codec *codec, hda_nid_t nid,
+			   int dir, unsigned int bits);
+
+#define nid_has_mute(codec, nid, dir) \
+	snd_hda_check_amp_caps(codec, nid, dir, (AC_AMPCAP_MUTE | AC_AMPCAP_MIN_MUTE))
+#define nid_has_volume(codec, nid, dir) \
+	snd_hda_check_amp_caps(codec, nid, dir, AC_AMPCAP_NUM_STEPS)
+
 
 /* flags for hda_nid_item */
 #define HDA_NID_ITEM_AMP	(1<<0)