Loading sound/soc/codecs/twl6040.c +23 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ #include <sound/pcm.h> #include <sound/pcm_params.h> #include <sound/soc.h> #include <sound/soc-dapm.h> #include <sound/initval.h> #include <sound/tlv.h> Loading Loading @@ -1012,6 +1013,28 @@ static int twl6040_pll_put_enum(struct snd_kcontrol *kcontrol, return 0; } int twl6040_get_dl1_gain(struct snd_soc_codec *codec) { struct snd_soc_dapm_context *dapm = &codec->dapm; if (snd_soc_dapm_get_pin_status(dapm, "EP")) return -1; /* -1dB */ if (snd_soc_dapm_get_pin_status(dapm, "HSOR") || snd_soc_dapm_get_pin_status(dapm, "HSOL")) { u8 val = snd_soc_read(codec, TWL6040_REG_HSLCTL); if (val & TWL6040_HSDACMODE) /* HSDACL in LP mode */ return -8; /* -8dB */ else /* HSDACL in HP mode */ return -1; /* -1dB */ } return 0; /* 0dB */ } EXPORT_SYMBOL_GPL(twl6040_get_dl1_gain); int twl6040_get_clk_id(struct snd_soc_codec *codec) { struct twl6040_data *priv = snd_soc_codec_get_drvdata(codec); Loading sound/soc/codecs/twl6040.h +1 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ enum twl6040_trim { #define TWL6040_HSF_TRIM_LEFT(x) (x & 0x0f) #define TWL6040_HSF_TRIM_RIGHT(x) ((x >> 4) & 0x0f) int twl6040_get_dl1_gain(struct snd_soc_codec *codec); void twl6040_hs_jack_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack, int report); int twl6040_get_clk_id(struct snd_soc_codec *codec); Loading Loading
sound/soc/codecs/twl6040.c +23 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ #include <sound/pcm.h> #include <sound/pcm_params.h> #include <sound/soc.h> #include <sound/soc-dapm.h> #include <sound/initval.h> #include <sound/tlv.h> Loading Loading @@ -1012,6 +1013,28 @@ static int twl6040_pll_put_enum(struct snd_kcontrol *kcontrol, return 0; } int twl6040_get_dl1_gain(struct snd_soc_codec *codec) { struct snd_soc_dapm_context *dapm = &codec->dapm; if (snd_soc_dapm_get_pin_status(dapm, "EP")) return -1; /* -1dB */ if (snd_soc_dapm_get_pin_status(dapm, "HSOR") || snd_soc_dapm_get_pin_status(dapm, "HSOL")) { u8 val = snd_soc_read(codec, TWL6040_REG_HSLCTL); if (val & TWL6040_HSDACMODE) /* HSDACL in LP mode */ return -8; /* -8dB */ else /* HSDACL in HP mode */ return -1; /* -1dB */ } return 0; /* 0dB */ } EXPORT_SYMBOL_GPL(twl6040_get_dl1_gain); int twl6040_get_clk_id(struct snd_soc_codec *codec) { struct twl6040_data *priv = snd_soc_codec_get_drvdata(codec); Loading
sound/soc/codecs/twl6040.h +1 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ enum twl6040_trim { #define TWL6040_HSF_TRIM_LEFT(x) (x & 0x0f) #define TWL6040_HSF_TRIM_RIGHT(x) ((x >> 4) & 0x0f) int twl6040_get_dl1_gain(struct snd_soc_codec *codec); void twl6040_hs_jack_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack, int report); int twl6040_get_clk_id(struct snd_soc_codec *codec); Loading