mirror of
https://github.com/torvalds/linux.git
synced 2024-11-27 22:51:35 +00:00
Merge remote-tracking branch 'asoc/topic/ext' into asoc-next
This commit is contained in:
commit
e4ca49d5d8
@ -120,10 +120,8 @@
|
||||
* before DAC & PGA in DAPM power-off sequence.
|
||||
*/
|
||||
#define PM860X_DAPM_OUTPUT(wname, wevent) \
|
||||
{ .id = snd_soc_dapm_pga, .name = wname, .reg = SND_SOC_NOPM, \
|
||||
.shift = 0, .invert = 0, .kcontrol_news = NULL, \
|
||||
.num_kcontrols = 0, .event = wevent, \
|
||||
.event_flags = SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD, }
|
||||
SND_SOC_DAPM_PGA_E(wname, SND_SOC_NOPM, 0, 0, NULL, 0, wevent, \
|
||||
SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD)
|
||||
|
||||
struct pm860x_det {
|
||||
struct snd_soc_jack *hp_jack;
|
||||
|
@ -128,10 +128,8 @@ static const u8 aic3x_reg[AIC3X_CACHEREGNUM] = {
|
||||
};
|
||||
|
||||
#define SOC_DAPM_SINGLE_AIC3X(xname, reg, shift, mask, invert) \
|
||||
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \
|
||||
.info = snd_soc_info_volsw, \
|
||||
.get = snd_soc_dapm_get_volsw, .put = snd_soc_dapm_put_volsw_aic3x, \
|
||||
.private_value = SOC_SINGLE_VALUE(reg, shift, mask, invert) }
|
||||
SOC_SINGLE_EXT(xname, reg, shift, mask, invert, \
|
||||
snd_soc_dapm_get_volsw, snd_soc_dapm_put_volsw_aic3x)
|
||||
|
||||
/*
|
||||
* All input lines are connected when !0xf and disconnected with 0xf bit field,
|
||||
|
@ -143,13 +143,8 @@ static int wm8400_outpga_put_volsw_vu(struct snd_kcontrol *kcontrol,
|
||||
}
|
||||
|
||||
#define WM8400_OUTPGA_SINGLE_R_TLV(xname, reg, shift, max, invert, tlv_array) \
|
||||
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname), \
|
||||
.access = SNDRV_CTL_ELEM_ACCESS_TLV_READ |\
|
||||
SNDRV_CTL_ELEM_ACCESS_READWRITE,\
|
||||
.tlv.p = (tlv_array), \
|
||||
.info = snd_soc_info_volsw, \
|
||||
.get = snd_soc_get_volsw, .put = wm8400_outpga_put_volsw_vu, \
|
||||
.private_value = SOC_SINGLE_VALUE(reg, shift, max, invert) }
|
||||
SOC_SINGLE_EXT_TLV(xname, reg, shift, max, invert, \
|
||||
snd_soc_get_volsw, wm8400_outpga_put_volsw_vu, tlv_array)
|
||||
|
||||
|
||||
static const char *wm8400_digital_sidetone[] =
|
||||
|
@ -403,10 +403,8 @@ static int wm8903_class_w_put(struct snd_kcontrol *kcontrol,
|
||||
}
|
||||
|
||||
#define SOC_DAPM_SINGLE_W(xname, reg, shift, max, invert) \
|
||||
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \
|
||||
.info = snd_soc_info_volsw, \
|
||||
.get = snd_soc_dapm_get_volsw, .put = wm8903_class_w_put, \
|
||||
.private_value = SOC_SINGLE_VALUE(reg, shift, max, invert) }
|
||||
SOC_SINGLE_EXT(xname, reg, shift, max, invert, \
|
||||
snd_soc_dapm_get_volsw, wm8903_class_w_put)
|
||||
|
||||
|
||||
static int wm8903_deemph[] = { 0, 32000, 44100, 48000 };
|
||||
|
@ -603,13 +603,8 @@ SOC_DOUBLE_R("Capture Switch", WM8904_ANALOGUE_LEFT_INPUT_0,
|
||||
|
||||
SOC_SINGLE("High Pass Filter Switch", WM8904_ADC_DIGITAL_0, 4, 1, 0),
|
||||
SOC_ENUM("High Pass Filter Mode", hpf_mode),
|
||||
|
||||
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
||||
.name = "ADC 128x OSR Switch",
|
||||
.info = snd_soc_info_volsw, .get = snd_soc_get_volsw,
|
||||
.put = wm8904_adc_osr_put,
|
||||
.private_value = SOC_SINGLE_VALUE(WM8904_ANALOGUE_ADC_0, 0, 1, 0),
|
||||
},
|
||||
SOC_SINGLE_EXT("ADC 128x OSR Switch", WM8904_ANALOGUE_ADC_0, 0, 1, 0,
|
||||
snd_soc_get_volsw, wm8904_adc_osr_put),
|
||||
};
|
||||
|
||||
static const char *drc_path_text[] = {
|
||||
|
@ -151,14 +151,9 @@ static int wm899x_outpga_put_volsw_vu(struct snd_kcontrol *kcontrol,
|
||||
}
|
||||
|
||||
#define SOC_WM899X_OUTPGA_SINGLE_R_TLV(xname, reg, shift, max, invert,\
|
||||
tlv_array) {\
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname), \
|
||||
.access = SNDRV_CTL_ELEM_ACCESS_TLV_READ |\
|
||||
SNDRV_CTL_ELEM_ACCESS_READWRITE,\
|
||||
.tlv.p = (tlv_array), \
|
||||
.info = snd_soc_info_volsw, \
|
||||
.get = snd_soc_get_volsw, .put = wm899x_outpga_put_volsw_vu, \
|
||||
.private_value = SOC_SINGLE_VALUE(reg, shift, max, invert) }
|
||||
tlv_array) \
|
||||
SOC_SINGLE_EXT_TLV(xname, reg, shift, max, invert, \
|
||||
snd_soc_get_volsw, wm899x_outpga_put_volsw_vu, tlv_array)
|
||||
|
||||
|
||||
static const char *wm8990_digital_sidetone[] =
|
||||
|
@ -822,12 +822,7 @@
|
||||
|
||||
#define SOC_WM899X_OUTPGA_SINGLE_R_TLV(xname, reg, shift, max, invert,\
|
||||
tlv_array) \
|
||||
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname), \
|
||||
.access = SNDRV_CTL_ELEM_ACCESS_TLV_READ |\
|
||||
SNDRV_CTL_ELEM_ACCESS_READWRITE,\
|
||||
.tlv.p = (tlv_array), \
|
||||
.info = snd_soc_info_volsw, \
|
||||
.get = snd_soc_get_volsw, .put = wm899x_outpga_put_volsw_vu, \
|
||||
.private_value = SOC_SINGLE_VALUE(reg, shift, max, invert) }
|
||||
SOC_SINGLE_EXT_TLV(xname, reg, shift, max, invert, \
|
||||
snd_soc_get_volsw, wm899x_outpga_put_volsw_vu, tlv_array)
|
||||
|
||||
#endif /* _WM8991_H */
|
||||
|
@ -289,10 +289,8 @@ static const DECLARE_TLV_DB_SCALE(ng_tlv, -10200, 600, 0);
|
||||
static const DECLARE_TLV_DB_SCALE(mixin_boost_tlv, 0, 900, 0);
|
||||
|
||||
#define WM8994_DRC_SWITCH(xname, reg, shift) \
|
||||
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \
|
||||
.info = snd_soc_info_volsw, .get = snd_soc_get_volsw,\
|
||||
.put = wm8994_put_drc_sw, \
|
||||
.private_value = SOC_SINGLE_VALUE(reg, shift, 1, 0) }
|
||||
SOC_SINGLE_EXT(xname, reg, shift, 1, 0, \
|
||||
snd_soc_get_volsw, wm8994_put_drc_sw)
|
||||
|
||||
static int wm8994_put_drc_sw(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
@ -1432,10 +1430,8 @@ SOC_DAPM_SINGLE("AIF1.1 Switch", WM8994_DAC2_RIGHT_MIXER_ROUTING,
|
||||
};
|
||||
|
||||
#define WM8994_CLASS_W_SWITCH(xname, reg, shift, max, invert) \
|
||||
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \
|
||||
.info = snd_soc_info_volsw, \
|
||||
.get = snd_soc_dapm_get_volsw, .put = wm8994_put_class_w, \
|
||||
.private_value = SOC_SINGLE_VALUE(reg, shift, max, invert) }
|
||||
SOC_SINGLE_EXT(xname, reg, shift, max, invert, \
|
||||
snd_soc_get_volsw, wm8994_put_class_w)
|
||||
|
||||
static int wm8994_put_class_w(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
|
@ -4237,11 +4237,8 @@
|
||||
#define WM8995_SPK2_MUTE_SEQ1_WIDTH 8 /* SPK2_MUTE_SEQ1 - [7:0] */
|
||||
|
||||
#define WM8995_CLASS_W_SWITCH(xname, reg, shift, max, invert) \
|
||||
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \
|
||||
.info = snd_soc_info_volsw, \
|
||||
.get = snd_soc_dapm_get_volsw, .put = wm8995_put_class_w, \
|
||||
.private_value = SOC_SINGLE_VALUE(reg, shift, max, invert) \
|
||||
}
|
||||
SOC_SINGLE_EXT(xname, reg, shift, max, invert, \
|
||||
snd_soc_dapm_get_volsw, wm8995_put_class_w)
|
||||
|
||||
struct wm8995_reg_access {
|
||||
u16 read;
|
||||
|
@ -61,14 +61,12 @@ struct wm_adsp {
|
||||
};
|
||||
|
||||
#define WM_ADSP1(wname, num) \
|
||||
{ .id = snd_soc_dapm_pga, .name = wname, .reg = SND_SOC_NOPM, \
|
||||
.shift = num, .event = wm_adsp1_event, \
|
||||
.event_flags = SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD }
|
||||
SND_SOC_DAPM_PGA_E(wname, SND_SOC_NOPM, num, 0, NULL, 0, \
|
||||
wm_adsp1_event, SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD)
|
||||
|
||||
#define WM_ADSP2(wname, num) \
|
||||
{ .id = snd_soc_dapm_pga, .name = wname, .reg = SND_SOC_NOPM, \
|
||||
.shift = num, .event = wm_adsp2_event, \
|
||||
.event_flags = SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD }
|
||||
SND_SOC_DAPM_PGA_E(wname, SND_SOC_NOPM, num, 0, NULL, 0, \
|
||||
wm_adsp2_event, SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD)
|
||||
|
||||
extern const struct snd_kcontrol_new wm_adsp1_fw_controls[];
|
||||
extern const struct snd_kcontrol_new wm_adsp2_fw_controls[];
|
||||
|
@ -693,10 +693,8 @@ void wm_hubs_update_class_w(struct snd_soc_codec *codec)
|
||||
EXPORT_SYMBOL_GPL(wm_hubs_update_class_w);
|
||||
|
||||
#define WM_HUBS_SINGLE_W(xname, reg, shift, max, invert) \
|
||||
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \
|
||||
.info = snd_soc_info_volsw, \
|
||||
.get = snd_soc_dapm_get_volsw, .put = class_w_put_volsw, \
|
||||
.private_value = SOC_SINGLE_VALUE(reg, shift, max, invert) }
|
||||
SOC_SINGLE_EXT(xname, reg, shift, max, invert, \
|
||||
snd_soc_dapm_get_volsw, class_w_put_volsw)
|
||||
|
||||
static int class_w_put_volsw(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
|
Loading…
Reference in New Issue
Block a user