Commit e4ca49d5 authored by Mark Brown's avatar Mark Brown

Merge remote-tracking branch 'asoc/topic/ext' into asoc-next

parents fbc6c4ee f0ddb219
...@@ -120,10 +120,8 @@ ...@@ -120,10 +120,8 @@
* before DAC & PGA in DAPM power-off sequence. * before DAC & PGA in DAPM power-off sequence.
*/ */
#define PM860X_DAPM_OUTPUT(wname, wevent) \ #define PM860X_DAPM_OUTPUT(wname, wevent) \
{ .id = snd_soc_dapm_pga, .name = wname, .reg = SND_SOC_NOPM, \ SND_SOC_DAPM_PGA_E(wname, SND_SOC_NOPM, 0, 0, NULL, 0, wevent, \
.shift = 0, .invert = 0, .kcontrol_news = NULL, \ SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD)
.num_kcontrols = 0, .event = wevent, \
.event_flags = SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD, }
struct pm860x_det { struct pm860x_det {
struct snd_soc_jack *hp_jack; struct snd_soc_jack *hp_jack;
......
...@@ -128,10 +128,8 @@ static const u8 aic3x_reg[AIC3X_CACHEREGNUM] = { ...@@ -128,10 +128,8 @@ static const u8 aic3x_reg[AIC3X_CACHEREGNUM] = {
}; };
#define SOC_DAPM_SINGLE_AIC3X(xname, reg, shift, mask, invert) \ #define SOC_DAPM_SINGLE_AIC3X(xname, reg, shift, mask, invert) \
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \ SOC_SINGLE_EXT(xname, reg, shift, mask, invert, \
.info = snd_soc_info_volsw, \ snd_soc_dapm_get_volsw, snd_soc_dapm_put_volsw_aic3x)
.get = snd_soc_dapm_get_volsw, .put = snd_soc_dapm_put_volsw_aic3x, \
.private_value = SOC_SINGLE_VALUE(reg, shift, mask, invert) }
/* /*
* All input lines are connected when !0xf and disconnected with 0xf bit field, * 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, ...@@ -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) \ #define WM8400_OUTPGA_SINGLE_R_TLV(xname, reg, shift, max, invert, tlv_array) \
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname), \ SOC_SINGLE_EXT_TLV(xname, reg, shift, max, invert, \
.access = SNDRV_CTL_ELEM_ACCESS_TLV_READ |\ snd_soc_get_volsw, wm8400_outpga_put_volsw_vu, tlv_array)
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) }
static const char *wm8400_digital_sidetone[] = static const char *wm8400_digital_sidetone[] =
......
...@@ -403,10 +403,8 @@ static int wm8903_class_w_put(struct snd_kcontrol *kcontrol, ...@@ -403,10 +403,8 @@ static int wm8903_class_w_put(struct snd_kcontrol *kcontrol,
} }
#define SOC_DAPM_SINGLE_W(xname, reg, shift, max, invert) \ #define SOC_DAPM_SINGLE_W(xname, reg, shift, max, invert) \
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \ SOC_SINGLE_EXT(xname, reg, shift, max, invert, \
.info = snd_soc_info_volsw, \ snd_soc_dapm_get_volsw, wm8903_class_w_put)
.get = snd_soc_dapm_get_volsw, .put = wm8903_class_w_put, \
.private_value = SOC_SINGLE_VALUE(reg, shift, max, invert) }
static int wm8903_deemph[] = { 0, 32000, 44100, 48000 }; static int wm8903_deemph[] = { 0, 32000, 44100, 48000 };
......
...@@ -603,13 +603,8 @@ SOC_DOUBLE_R("Capture Switch", WM8904_ANALOGUE_LEFT_INPUT_0, ...@@ -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_SINGLE("High Pass Filter Switch", WM8904_ADC_DIGITAL_0, 4, 1, 0),
SOC_ENUM("High Pass Filter Mode", hpf_mode), SOC_ENUM("High Pass Filter Mode", hpf_mode),
SOC_SINGLE_EXT("ADC 128x OSR Switch", WM8904_ANALOGUE_ADC_0, 0, 1, 0,
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, snd_soc_get_volsw, wm8904_adc_osr_put),
.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),
},
}; };
static const char *drc_path_text[] = { static const char *drc_path_text[] = {
......
...@@ -151,14 +151,9 @@ static int wm899x_outpga_put_volsw_vu(struct snd_kcontrol *kcontrol, ...@@ -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,\ #define SOC_WM899X_OUTPGA_SINGLE_R_TLV(xname, reg, shift, max, invert,\
tlv_array) {\ tlv_array) \
.iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname), \ SOC_SINGLE_EXT_TLV(xname, reg, shift, max, invert, \
.access = SNDRV_CTL_ELEM_ACCESS_TLV_READ |\ snd_soc_get_volsw, wm899x_outpga_put_volsw_vu, tlv_array)
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) }
static const char *wm8990_digital_sidetone[] = static const char *wm8990_digital_sidetone[] =
......
...@@ -822,12 +822,7 @@ ...@@ -822,12 +822,7 @@
#define SOC_WM899X_OUTPGA_SINGLE_R_TLV(xname, reg, shift, max, invert,\ #define SOC_WM899X_OUTPGA_SINGLE_R_TLV(xname, reg, shift, max, invert,\
tlv_array) \ tlv_array) \
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname), \ SOC_SINGLE_EXT_TLV(xname, reg, shift, max, invert, \
.access = SNDRV_CTL_ELEM_ACCESS_TLV_READ |\ snd_soc_get_volsw, wm899x_outpga_put_volsw_vu, tlv_array)
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) }
#endif /* _WM8991_H */ #endif /* _WM8991_H */
...@@ -289,10 +289,8 @@ static const DECLARE_TLV_DB_SCALE(ng_tlv, -10200, 600, 0); ...@@ -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); static const DECLARE_TLV_DB_SCALE(mixin_boost_tlv, 0, 900, 0);
#define WM8994_DRC_SWITCH(xname, reg, shift) \ #define WM8994_DRC_SWITCH(xname, reg, shift) \
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \ SOC_SINGLE_EXT(xname, reg, shift, 1, 0, \
.info = snd_soc_info_volsw, .get = snd_soc_get_volsw,\ snd_soc_get_volsw, wm8994_put_drc_sw)
.put = wm8994_put_drc_sw, \
.private_value = SOC_SINGLE_VALUE(reg, shift, 1, 0) }
static int wm8994_put_drc_sw(struct snd_kcontrol *kcontrol, static int wm8994_put_drc_sw(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol) struct snd_ctl_elem_value *ucontrol)
...@@ -1432,10 +1430,8 @@ SOC_DAPM_SINGLE("AIF1.1 Switch", WM8994_DAC2_RIGHT_MIXER_ROUTING, ...@@ -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) \ #define WM8994_CLASS_W_SWITCH(xname, reg, shift, max, invert) \
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \ SOC_SINGLE_EXT(xname, reg, shift, max, invert, \
.info = snd_soc_info_volsw, \ snd_soc_get_volsw, wm8994_put_class_w)
.get = snd_soc_dapm_get_volsw, .put = wm8994_put_class_w, \
.private_value = SOC_SINGLE_VALUE(reg, shift, max, invert) }
static int wm8994_put_class_w(struct snd_kcontrol *kcontrol, static int wm8994_put_class_w(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol) struct snd_ctl_elem_value *ucontrol)
......
...@@ -4237,11 +4237,8 @@ ...@@ -4237,11 +4237,8 @@
#define WM8995_SPK2_MUTE_SEQ1_WIDTH 8 /* SPK2_MUTE_SEQ1 - [7:0] */ #define WM8995_SPK2_MUTE_SEQ1_WIDTH 8 /* SPK2_MUTE_SEQ1 - [7:0] */
#define WM8995_CLASS_W_SWITCH(xname, reg, shift, max, invert) \ #define WM8995_CLASS_W_SWITCH(xname, reg, shift, max, invert) \
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \ SOC_SINGLE_EXT(xname, reg, shift, max, invert, \
.info = snd_soc_info_volsw, \ snd_soc_dapm_get_volsw, wm8995_put_class_w)
.get = snd_soc_dapm_get_volsw, .put = wm8995_put_class_w, \
.private_value = SOC_SINGLE_VALUE(reg, shift, max, invert) \
}
struct wm8995_reg_access { struct wm8995_reg_access {
u16 read; u16 read;
......
...@@ -61,14 +61,12 @@ struct wm_adsp { ...@@ -61,14 +61,12 @@ struct wm_adsp {
}; };
#define WM_ADSP1(wname, num) \ #define WM_ADSP1(wname, num) \
{ .id = snd_soc_dapm_pga, .name = wname, .reg = SND_SOC_NOPM, \ SND_SOC_DAPM_PGA_E(wname, SND_SOC_NOPM, num, 0, NULL, 0, \
.shift = num, .event = wm_adsp1_event, \ wm_adsp1_event, SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD)
.event_flags = SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD }
#define WM_ADSP2(wname, num) \ #define WM_ADSP2(wname, num) \
{ .id = snd_soc_dapm_pga, .name = wname, .reg = SND_SOC_NOPM, \ SND_SOC_DAPM_PGA_E(wname, SND_SOC_NOPM, num, 0, NULL, 0, \
.shift = num, .event = wm_adsp2_event, \ wm_adsp2_event, SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD)
.event_flags = 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_adsp1_fw_controls[];
extern const struct snd_kcontrol_new wm_adsp2_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) ...@@ -693,10 +693,8 @@ void wm_hubs_update_class_w(struct snd_soc_codec *codec)
EXPORT_SYMBOL_GPL(wm_hubs_update_class_w); EXPORT_SYMBOL_GPL(wm_hubs_update_class_w);
#define WM_HUBS_SINGLE_W(xname, reg, shift, max, invert) \ #define WM_HUBS_SINGLE_W(xname, reg, shift, max, invert) \
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \ SOC_SINGLE_EXT(xname, reg, shift, max, invert, \
.info = snd_soc_info_volsw, \ snd_soc_dapm_get_volsw, class_w_put_volsw)
.get = snd_soc_dapm_get_volsw, .put = class_w_put_volsw, \
.private_value = SOC_SINGLE_VALUE(reg, shift, max, invert) }
static int class_w_put_volsw(struct snd_kcontrol *kcontrol, static int class_w_put_volsw(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol) struct snd_ctl_elem_value *ucontrol)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment