13 static int pcsp_enable_info(
struct snd_kcontrol *kcontrol,
23 static int pcsp_enable_get(
struct snd_kcontrol *kcontrol,
31 static int pcsp_enable_put(
struct snd_kcontrol *kcontrol,
36 int enab = ucontrol->
value.integer.value[0];
37 if (enab != chip->
enable) {
44 static int pcsp_treble_info(
struct snd_kcontrol *kcontrol,
58 static int pcsp_treble_get(
struct snd_kcontrol *kcontrol,
66 static int pcsp_treble_put(
struct snd_kcontrol *kcontrol,
72 if (treble != chip->
treble) {
82 static int pcsp_pcspkr_info(
struct snd_kcontrol *kcontrol,
92 static int pcsp_pcspkr_get(
struct snd_kcontrol *kcontrol,
100 static int pcsp_pcspkr_put(
struct snd_kcontrol *kcontrol,
105 int spkr = ucontrol->
value.integer.value[0];
106 if (spkr != chip->
pcspkr) {
113 #define PCSP_MIXER_CONTROL(ctl_type, ctl_name) \
115 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \
117 .info = pcsp_##ctl_type##_info, \
118 .get = pcsp_##ctl_type##_get, \
119 .put = pcsp_##ctl_type##_put, \
136 for (i = 0; i < num; i++) {
150 err = snd_pcsp_ctls_add(chip, snd_pcsp_controls_pcm,
155 err = snd_pcsp_ctls_add(chip, snd_pcsp_controls_spkr,