diff options
Diffstat (limited to 'sound')
59 files changed, 118 insertions, 971 deletions
diff --git a/sound/aoa/codecs/snd-aoa-codec-onyx.c b/sound/aoa/codecs/snd-aoa-codec-onyx.c index 028852374f21..71e3f9360658 100644 --- a/sound/aoa/codecs/snd-aoa-codec-onyx.c +++ b/sound/aoa/codecs/snd-aoa-codec-onyx.c | |||
@@ -297,15 +297,7 @@ static struct snd_kcontrol_new capture_source_control = { | |||
297 | .put = onyx_snd_capture_source_put, | 297 | .put = onyx_snd_capture_source_put, |
298 | }; | 298 | }; |
299 | 299 | ||
300 | static int onyx_snd_mute_info(struct snd_kcontrol *kcontrol, | 300 | #define onyx_snd_mute_info snd_ctl_boolean_stereo_info |
301 | struct snd_ctl_elem_info *uinfo) | ||
302 | { | ||
303 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
304 | uinfo->count = 2; | ||
305 | uinfo->value.integer.min = 0; | ||
306 | uinfo->value.integer.max = 1; | ||
307 | return 0; | ||
308 | } | ||
309 | 301 | ||
310 | static int onyx_snd_mute_get(struct snd_kcontrol *kcontrol, | 302 | static int onyx_snd_mute_get(struct snd_kcontrol *kcontrol, |
311 | struct snd_ctl_elem_value *ucontrol) | 303 | struct snd_ctl_elem_value *ucontrol) |
@@ -359,15 +351,7 @@ static struct snd_kcontrol_new mute_control = { | |||
359 | }; | 351 | }; |
360 | 352 | ||
361 | 353 | ||
362 | static int onyx_snd_single_bit_info(struct snd_kcontrol *kcontrol, | 354 | #define onyx_snd_single_bit_info snd_ctl_boolean_mono_info |
363 | struct snd_ctl_elem_info *uinfo) | ||
364 | { | ||
365 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
366 | uinfo->count = 1; | ||
367 | uinfo->value.integer.min = 0; | ||
368 | uinfo->value.integer.max = 1; | ||
369 | return 0; | ||
370 | } | ||
371 | 355 | ||
372 | #define FLAG_POLARITY_INVERT 1 | 356 | #define FLAG_POLARITY_INVERT 1 |
373 | #define FLAG_SPDIFLOCK 2 | 357 | #define FLAG_SPDIFLOCK 2 |
diff --git a/sound/aoa/codecs/snd-aoa-codec-tas.c b/sound/aoa/codecs/snd-aoa-codec-tas.c index 3cbfe4619aa8..70c341684794 100644 --- a/sound/aoa/codecs/snd-aoa-codec-tas.c +++ b/sound/aoa/codecs/snd-aoa-codec-tas.c | |||
@@ -272,15 +272,7 @@ static struct snd_kcontrol_new volume_control = { | |||
272 | .put = tas_snd_vol_put, | 272 | .put = tas_snd_vol_put, |
273 | }; | 273 | }; |
274 | 274 | ||
275 | static int tas_snd_mute_info(struct snd_kcontrol *kcontrol, | 275 | #define tas_snd_mute_info snd_ctl_boolean_stereo_info |
276 | struct snd_ctl_elem_info *uinfo) | ||
277 | { | ||
278 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
279 | uinfo->count = 2; | ||
280 | uinfo->value.integer.min = 0; | ||
281 | uinfo->value.integer.max = 1; | ||
282 | return 0; | ||
283 | } | ||
284 | 276 | ||
285 | static int tas_snd_mute_get(struct snd_kcontrol *kcontrol, | 277 | static int tas_snd_mute_get(struct snd_kcontrol *kcontrol, |
286 | struct snd_ctl_elem_value *ucontrol) | 278 | struct snd_ctl_elem_value *ucontrol) |
@@ -431,15 +423,7 @@ static struct snd_kcontrol_new drc_range_control = { | |||
431 | .put = tas_snd_drc_range_put, | 423 | .put = tas_snd_drc_range_put, |
432 | }; | 424 | }; |
433 | 425 | ||
434 | static int tas_snd_drc_switch_info(struct snd_kcontrol *kcontrol, | 426 | #define tas_snd_drc_switch_info snd_ctl_boolean_mono_info |
435 | struct snd_ctl_elem_info *uinfo) | ||
436 | { | ||
437 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
438 | uinfo->count = 1; | ||
439 | uinfo->value.integer.min = 0; | ||
440 | uinfo->value.integer.max = 1; | ||
441 | return 0; | ||
442 | } | ||
443 | 427 | ||
444 | static int tas_snd_drc_switch_get(struct snd_kcontrol *kcontrol, | 428 | static int tas_snd_drc_switch_get(struct snd_kcontrol *kcontrol, |
445 | struct snd_ctl_elem_value *ucontrol) | 429 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/aoa/fabrics/snd-aoa-fabric-layout.c b/sound/aoa/fabrics/snd-aoa-fabric-layout.c index 98806283d1b2..8b2ba99d7f8a 100644 --- a/sound/aoa/fabrics/snd-aoa-fabric-layout.c +++ b/sound/aoa/fabrics/snd-aoa-fabric-layout.c | |||
@@ -582,15 +582,7 @@ static int layouts_list_items; | |||
582 | * make the fabric handle all the card stuff, etc... */ | 582 | * make the fabric handle all the card stuff, etc... */ |
583 | static struct layout_dev *layout_device; | 583 | static struct layout_dev *layout_device; |
584 | 584 | ||
585 | static int control_info(struct snd_kcontrol *kcontrol, | 585 | #define control_info snd_ctl_boolean_mono_info |
586 | struct snd_ctl_elem_info *uinfo) | ||
587 | { | ||
588 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
589 | uinfo->count = 1; | ||
590 | uinfo->value.integer.min = 0; | ||
591 | uinfo->value.integer.max = 1; | ||
592 | return 0; | ||
593 | } | ||
594 | 586 | ||
595 | #define AMP_CONTROL(n, description) \ | 587 | #define AMP_CONTROL(n, description) \ |
596 | static int n##_control_get(struct snd_kcontrol *kcontrol, \ | 588 | static int n##_control_get(struct snd_kcontrol *kcontrol, \ |
diff --git a/sound/drivers/dummy.c b/sound/drivers/dummy.c index 4360ae9de19c..77bca5fdda50 100644 --- a/sound/drivers/dummy.c +++ b/sound/drivers/dummy.c | |||
@@ -510,15 +510,7 @@ static const DECLARE_TLV_DB_SCALE(db_scale_dummy, -4500, 30, 0); | |||
510 | .get = snd_dummy_capsrc_get, .put = snd_dummy_capsrc_put, \ | 510 | .get = snd_dummy_capsrc_get, .put = snd_dummy_capsrc_put, \ |
511 | .private_value = addr } | 511 | .private_value = addr } |
512 | 512 | ||
513 | static int snd_dummy_capsrc_info(struct snd_kcontrol *kcontrol, | 513 | #define snd_dummy_capsrc_info snd_ctl_boolean_stereo_info |
514 | struct snd_ctl_elem_info *uinfo) | ||
515 | { | ||
516 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
517 | uinfo->count = 2; | ||
518 | uinfo->value.integer.min = 0; | ||
519 | uinfo->value.integer.max = 1; | ||
520 | return 0; | ||
521 | } | ||
522 | 514 | ||
523 | static int snd_dummy_capsrc_get(struct snd_kcontrol *kcontrol, | 515 | static int snd_dummy_capsrc_get(struct snd_kcontrol *kcontrol, |
524 | struct snd_ctl_elem_value *ucontrol) | 516 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/drivers/mts64.c b/sound/drivers/mts64.c index 2025db5947ae..911c159bb3d3 100644 --- a/sound/drivers/mts64.c +++ b/sound/drivers/mts64.c | |||
@@ -440,15 +440,7 @@ static void mts64_write_midi(struct mts64 *mts, u8 c, | |||
440 | *********************************************************************/ | 440 | *********************************************************************/ |
441 | 441 | ||
442 | /* SMPTE Switch */ | 442 | /* SMPTE Switch */ |
443 | static int snd_mts64_ctl_smpte_switch_info(struct snd_kcontrol *kctl, | 443 | #define snd_mts64_ctl_smpte_switch_info snd_ctl_boolean_mono_info |
444 | struct snd_ctl_elem_info *uinfo) | ||
445 | { | ||
446 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
447 | uinfo->count = 1; | ||
448 | uinfo->value.integer.min = 0; | ||
449 | uinfo->value.integer.max = 1; | ||
450 | return 0; | ||
451 | } | ||
452 | 444 | ||
453 | static int snd_mts64_ctl_smpte_switch_get(struct snd_kcontrol* kctl, | 445 | static int snd_mts64_ctl_smpte_switch_get(struct snd_kcontrol* kctl, |
454 | struct snd_ctl_elem_value *uctl) | 446 | struct snd_ctl_elem_value *uctl) |
diff --git a/sound/drivers/vx/vx_mixer.c b/sound/drivers/vx/vx_mixer.c index f63152a6a223..b8fcd79a7e11 100644 --- a/sound/drivers/vx/vx_mixer.c +++ b/sound/drivers/vx/vx_mixer.c | |||
@@ -647,14 +647,7 @@ static int vx_audio_monitor_put(struct snd_kcontrol *kcontrol, struct snd_ctl_el | |||
647 | return 0; | 647 | return 0; |
648 | } | 648 | } |
649 | 649 | ||
650 | static int vx_audio_sw_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 650 | #define vx_audio_sw_info snd_ctl_boolean_stereo_info |
651 | { | ||
652 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
653 | uinfo->count = 2; | ||
654 | uinfo->value.integer.min = 0; | ||
655 | uinfo->value.integer.max = 1; | ||
656 | return 0; | ||
657 | } | ||
658 | 651 | ||
659 | static int vx_audio_sw_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 652 | static int vx_audio_sw_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
660 | { | 653 | { |
@@ -865,14 +858,7 @@ static int vx_peak_meter_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_ | |||
865 | return 0; | 858 | return 0; |
866 | } | 859 | } |
867 | 860 | ||
868 | static int vx_saturation_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 861 | #define vx_saturation_info snd_ctl_boolean_stereo_info |
869 | { | ||
870 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
871 | uinfo->count = 2; | ||
872 | uinfo->value.integer.min = 0; | ||
873 | uinfo->value.integer.max = 1; | ||
874 | return 0; | ||
875 | } | ||
876 | 862 | ||
877 | static int vx_saturation_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 863 | static int vx_saturation_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
878 | { | 864 | { |
diff --git a/sound/i2c/other/ak4114.c b/sound/i2c/other/ak4114.c index 1efb973137a6..f2b81e39b8cf 100644 --- a/sound/i2c/other/ak4114.c +++ b/sound/i2c/other/ak4114.c | |||
@@ -200,15 +200,7 @@ static int snd_ak4114_in_error_get(struct snd_kcontrol *kcontrol, | |||
200 | return 0; | 200 | return 0; |
201 | } | 201 | } |
202 | 202 | ||
203 | static int snd_ak4114_in_bit_info(struct snd_kcontrol *kcontrol, | 203 | #define snd_ak4114_in_bit_info snd_ctl_boolean_mono_info |
204 | struct snd_ctl_elem_info *uinfo) | ||
205 | { | ||
206 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
207 | uinfo->count = 1; | ||
208 | uinfo->value.integer.min = 0; | ||
209 | uinfo->value.integer.max = 1; | ||
210 | return 0; | ||
211 | } | ||
212 | 204 | ||
213 | static int snd_ak4114_in_bit_get(struct snd_kcontrol *kcontrol, | 205 | static int snd_ak4114_in_bit_get(struct snd_kcontrol *kcontrol, |
214 | struct snd_ctl_elem_value *ucontrol) | 206 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/i2c/other/ak4117.c b/sound/i2c/other/ak4117.c index c022f29da2f7..1614973e4899 100644 --- a/sound/i2c/other/ak4117.c +++ b/sound/i2c/other/ak4117.c | |||
@@ -181,15 +181,7 @@ static int snd_ak4117_in_error_get(struct snd_kcontrol *kcontrol, | |||
181 | return 0; | 181 | return 0; |
182 | } | 182 | } |
183 | 183 | ||
184 | static int snd_ak4117_in_bit_info(struct snd_kcontrol *kcontrol, | 184 | #define snd_ak4117_in_bit_info snd_ctl_boolean_mono_info |
185 | struct snd_ctl_elem_info *uinfo) | ||
186 | { | ||
187 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
188 | uinfo->count = 1; | ||
189 | uinfo->value.integer.min = 0; | ||
190 | uinfo->value.integer.max = 1; | ||
191 | return 0; | ||
192 | } | ||
193 | 185 | ||
194 | static int snd_ak4117_in_bit_get(struct snd_kcontrol *kcontrol, | 186 | static int snd_ak4117_in_bit_get(struct snd_kcontrol *kcontrol, |
195 | struct snd_ctl_elem_value *ucontrol) | 187 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/i2c/other/ak4xxx-adda.c b/sound/i2c/other/ak4xxx-adda.c index fd335159f849..0fa107289527 100644 --- a/sound/i2c/other/ak4xxx-adda.c +++ b/sound/i2c/other/ak4xxx-adda.c | |||
@@ -463,15 +463,7 @@ static int snd_akm4xxx_deemphasis_put(struct snd_kcontrol *kcontrol, | |||
463 | return change; | 463 | return change; |
464 | } | 464 | } |
465 | 465 | ||
466 | static int ak4xxx_switch_info(struct snd_kcontrol *kcontrol, | 466 | #define ak4xxx_switch_info snd_ctl_boolean_mono_info |
467 | struct snd_ctl_elem_info *uinfo) | ||
468 | { | ||
469 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
470 | uinfo->count = 1; | ||
471 | uinfo->value.integer.min = 0; | ||
472 | uinfo->value.integer.max = 1; | ||
473 | return 0; | ||
474 | } | ||
475 | 467 | ||
476 | static int ak4xxx_switch_get(struct snd_kcontrol *kcontrol, | 468 | static int ak4xxx_switch_get(struct snd_kcontrol *kcontrol, |
477 | struct snd_ctl_elem_value *ucontrol) | 469 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/i2c/other/pt2258.c b/sound/i2c/other/pt2258.c index e91cc3b44de5..00c83d8b32b1 100644 --- a/sound/i2c/other/pt2258.c +++ b/sound/i2c/other/pt2258.c | |||
@@ -140,15 +140,7 @@ static int pt2258_stereo_volume_put(struct snd_kcontrol *kcontrol, | |||
140 | return -EIO; | 140 | return -EIO; |
141 | } | 141 | } |
142 | 142 | ||
143 | static int pt2258_switch_info(struct snd_kcontrol *kcontrol, | 143 | #define pt2258_switch_info snd_ctl_boolean_mono_info |
144 | struct snd_ctl_elem_info *uinfo) | ||
145 | { | ||
146 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
147 | uinfo->count = 1; | ||
148 | uinfo->value.integer.min = 0; | ||
149 | uinfo->value.integer.max = 1; | ||
150 | return 0; | ||
151 | } | ||
152 | 144 | ||
153 | static int pt2258_switch_get(struct snd_kcontrol *kcontrol, | 145 | static int pt2258_switch_get(struct snd_kcontrol *kcontrol, |
154 | struct snd_ctl_elem_value *ucontrol) | 146 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/i2c/tea6330t.c b/sound/i2c/tea6330t.c index ae5b1e3a68ce..21ff97405c41 100644 --- a/sound/i2c/tea6330t.c +++ b/sound/i2c/tea6330t.c | |||
@@ -142,15 +142,7 @@ static int snd_tea6330t_put_master_volume(struct snd_kcontrol *kcontrol, | |||
142 | .info = snd_tea6330t_info_master_switch, \ | 142 | .info = snd_tea6330t_info_master_switch, \ |
143 | .get = snd_tea6330t_get_master_switch, .put = snd_tea6330t_put_master_switch } | 143 | .get = snd_tea6330t_get_master_switch, .put = snd_tea6330t_put_master_switch } |
144 | 144 | ||
145 | static int snd_tea6330t_info_master_switch(struct snd_kcontrol *kcontrol, | 145 | #define snd_tea6330t_info_master_switch snd_ctl_boolean_stereo_info |
146 | struct snd_ctl_elem_info *uinfo) | ||
147 | { | ||
148 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
149 | uinfo->count = 2; | ||
150 | uinfo->value.integer.min = 0; | ||
151 | uinfo->value.integer.max = 1; | ||
152 | return 0; | ||
153 | } | ||
154 | 146 | ||
155 | static int snd_tea6330t_get_master_switch(struct snd_kcontrol *kcontrol, | 147 | static int snd_tea6330t_get_master_switch(struct snd_kcontrol *kcontrol, |
156 | struct snd_ctl_elem_value *ucontrol) | 148 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c index f7732bf90be3..816550c2afdc 100644 --- a/sound/isa/es18xx.c +++ b/sound/isa/es18xx.c | |||
@@ -1071,14 +1071,7 @@ static int snd_es18xx_put_mux(struct snd_kcontrol *kcontrol, struct snd_ctl_elem | |||
1071 | return (snd_es18xx_mixer_bits(chip, 0x1c, 0x07, val) != val) || retVal; | 1071 | return (snd_es18xx_mixer_bits(chip, 0x1c, 0x07, val) != val) || retVal; |
1072 | } | 1072 | } |
1073 | 1073 | ||
1074 | static int snd_es18xx_info_spatializer_enable(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 1074 | #define snd_es18xx_info_spatializer_enable snd_ctl_boolean_mono_info |
1075 | { | ||
1076 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1077 | uinfo->count = 1; | ||
1078 | uinfo->value.integer.min = 0; | ||
1079 | uinfo->value.integer.max = 1; | ||
1080 | return 0; | ||
1081 | } | ||
1082 | 1075 | ||
1083 | static int snd_es18xx_get_spatializer_enable(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 1076 | static int snd_es18xx_get_spatializer_enable(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
1084 | { | 1077 | { |
@@ -1120,14 +1113,7 @@ static int snd_es18xx_get_hw_volume(struct snd_kcontrol *kcontrol, struct snd_ct | |||
1120 | return 0; | 1113 | return 0; |
1121 | } | 1114 | } |
1122 | 1115 | ||
1123 | static int snd_es18xx_info_hw_switch(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 1116 | #define snd_es18xx_info_hw_switch snd_ctl_boolean_stereo_info |
1124 | { | ||
1125 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1126 | uinfo->count = 2; | ||
1127 | uinfo->value.integer.min = 0; | ||
1128 | uinfo->value.integer.max = 1; | ||
1129 | return 0; | ||
1130 | } | ||
1131 | 1117 | ||
1132 | static int snd_es18xx_get_hw_switch(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 1118 | static int snd_es18xx_get_hw_switch(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
1133 | { | 1119 | { |
diff --git a/sound/isa/gus/gus_mixer.c b/sound/isa/gus/gus_mixer.c index acc25a297200..7f6aefd4b074 100644 --- a/sound/isa/gus/gus_mixer.c +++ b/sound/isa/gus/gus_mixer.c | |||
@@ -36,14 +36,7 @@ | |||
36 | .get = snd_gf1_get_single, .put = snd_gf1_put_single, \ | 36 | .get = snd_gf1_get_single, .put = snd_gf1_put_single, \ |
37 | .private_value = shift | (invert << 8) } | 37 | .private_value = shift | (invert << 8) } |
38 | 38 | ||
39 | static int snd_gf1_info_single(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 39 | #define snd_gf1_info_single snd_ctl_boolean_mono_info |
40 | { | ||
41 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
42 | uinfo->count = 1; | ||
43 | uinfo->value.integer.min = 0; | ||
44 | uinfo->value.integer.max = 1; | ||
45 | return 0; | ||
46 | } | ||
47 | 40 | ||
48 | static int snd_gf1_get_single(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 41 | static int snd_gf1_get_single(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
49 | { | 42 | { |
diff --git a/sound/isa/opti9xx/miro.c b/sound/isa/opti9xx/miro.c index cd29b30b362e..d295936611f8 100644 --- a/sound/isa/opti9xx/miro.c +++ b/sound/isa/opti9xx/miro.c | |||
@@ -242,14 +242,7 @@ static int aci_setvalue(struct snd_miro * miro, unsigned char index, int value) | |||
242 | * MIXER part | 242 | * MIXER part |
243 | */ | 243 | */ |
244 | 244 | ||
245 | static int snd_miro_info_capture(struct snd_kcontrol *kcontrol, | 245 | #define snd_miro_info_capture snd_ctl_boolean_mono_info |
246 | struct snd_ctl_elem_info *uinfo) | ||
247 | { | ||
248 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
249 | uinfo->count = 1; | ||
250 | |||
251 | return 0; | ||
252 | } | ||
253 | 246 | ||
254 | static int snd_miro_get_capture(struct snd_kcontrol *kcontrol, | 247 | static int snd_miro_get_capture(struct snd_kcontrol *kcontrol, |
255 | struct snd_ctl_elem_value *ucontrol) | 248 | struct snd_ctl_elem_value *ucontrol) |
@@ -344,14 +337,7 @@ static int snd_miro_put_preamp(struct snd_kcontrol *kcontrol, | |||
344 | return change; | 337 | return change; |
345 | } | 338 | } |
346 | 339 | ||
347 | static int snd_miro_info_amp(struct snd_kcontrol *kcontrol, | 340 | #define snd_miro_info_amp snd_ctl_boolean_mono_info |
348 | struct snd_ctl_elem_info *uinfo) | ||
349 | { | ||
350 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
351 | uinfo->count = 1; | ||
352 | |||
353 | return 0; | ||
354 | } | ||
355 | 341 | ||
356 | static int snd_miro_get_amp(struct snd_kcontrol *kcontrol, | 342 | static int snd_miro_get_amp(struct snd_kcontrol *kcontrol, |
357 | struct snd_ctl_elem_value *ucontrol) | 343 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/isa/sb/sb16_csp.c b/sound/isa/sb/sb16_csp.c index b279f2308aef..3682059787ab 100644 --- a/sound/isa/sb/sb16_csp.c +++ b/sound/isa/sb/sb16_csp.c | |||
@@ -979,14 +979,7 @@ static int snd_sb_csp_restart(struct snd_sb_csp * p) | |||
979 | * QSound mixer control for PCM | 979 | * QSound mixer control for PCM |
980 | */ | 980 | */ |
981 | 981 | ||
982 | static int snd_sb_qsound_switch_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 982 | #define snd_sb_qsound_switch_info snd_ctl_boolean_mono_info |
983 | { | ||
984 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
985 | uinfo->count = 1; | ||
986 | uinfo->value.integer.min = 0; | ||
987 | uinfo->value.integer.max = 1; | ||
988 | return 0; | ||
989 | } | ||
990 | 983 | ||
991 | static int snd_sb_qsound_switch_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 984 | static int snd_sb_qsound_switch_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
992 | { | 985 | { |
diff --git a/sound/pci/ac97/ac97_patch.c b/sound/pci/ac97/ac97_patch.c index 581ebba4d1a7..630c961895dc 100644 --- a/sound/pci/ac97/ac97_patch.c +++ b/sound/pci/ac97/ac97_patch.c | |||
@@ -1880,14 +1880,7 @@ static int patch_ad1981b(struct snd_ac97 *ac97) | |||
1880 | return 0; | 1880 | return 0; |
1881 | } | 1881 | } |
1882 | 1882 | ||
1883 | static int snd_ac97_ad1888_lohpsel_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 1883 | #define snd_ac97_ad1888_lohpsel_info snd_ctl_boolean_mono_info |
1884 | { | ||
1885 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1886 | uinfo->count = 1; | ||
1887 | uinfo->value.integer.min = 0; | ||
1888 | uinfo->value.integer.max = 1; | ||
1889 | return 0; | ||
1890 | } | ||
1891 | 1884 | ||
1892 | static int snd_ac97_ad1888_lohpsel_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 1885 | static int snd_ac97_ad1888_lohpsel_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
1893 | { | 1886 | { |
@@ -2186,15 +2179,7 @@ static int patch_ad1985(struct snd_ac97 * ac97) | |||
2186 | return 0; | 2179 | return 0; |
2187 | } | 2180 | } |
2188 | 2181 | ||
2189 | static int snd_ac97_ad1986_bool_info(struct snd_kcontrol *kcontrol, | 2182 | #define snd_ac97_ad1986_bool_info snd_ctl_boolean_mono_info |
2190 | struct snd_ctl_elem_info *uinfo) | ||
2191 | { | ||
2192 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
2193 | uinfo->count = 1; | ||
2194 | uinfo->value.integer.min = 0; | ||
2195 | uinfo->value.integer.max = 1; | ||
2196 | return 0; | ||
2197 | } | ||
2198 | 2183 | ||
2199 | static int snd_ac97_ad1986_lososel_get(struct snd_kcontrol *kcontrol, | 2184 | static int snd_ac97_ad1986_lososel_get(struct snd_kcontrol *kcontrol, |
2200 | struct snd_ctl_elem_value *ucontrol) | 2185 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/pci/ali5451/ali5451.c b/sound/pci/ali5451/ali5451.c index 05b4c8696941..4c2bd7adf674 100644 --- a/sound/pci/ali5451/ali5451.c +++ b/sound/pci/ali5451/ali5451.c | |||
@@ -1804,15 +1804,7 @@ static int __devinit snd_ali_build_pcms(struct snd_ali *codec) | |||
1804 | .info = snd_ali5451_spdif_info, .get = snd_ali5451_spdif_get, \ | 1804 | .info = snd_ali5451_spdif_info, .get = snd_ali5451_spdif_get, \ |
1805 | .put = snd_ali5451_spdif_put, .private_value = value} | 1805 | .put = snd_ali5451_spdif_put, .private_value = value} |
1806 | 1806 | ||
1807 | static int snd_ali5451_spdif_info(struct snd_kcontrol *kcontrol, | 1807 | #define snd_ali5451_spdif_info snd_ctl_boolean_mono_info |
1808 | struct snd_ctl_elem_info *uinfo) | ||
1809 | { | ||
1810 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1811 | uinfo->count = 1; | ||
1812 | uinfo->value.integer.min = 0; | ||
1813 | uinfo->value.integer.max = 1; | ||
1814 | return 0; | ||
1815 | } | ||
1816 | 1808 | ||
1817 | static int snd_ali5451_spdif_get(struct snd_kcontrol *kcontrol, | 1809 | static int snd_ali5451_spdif_get(struct snd_kcontrol *kcontrol, |
1818 | struct snd_ctl_elem_value *ucontrol) | 1810 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/pci/au88x0/au88x0_eq.c b/sound/pci/au88x0/au88x0_eq.c index 0c86a31c4336..38602b85874d 100644 --- a/sound/pci/au88x0/au88x0_eq.c +++ b/sound/pci/au88x0/au88x0_eq.c | |||
@@ -728,15 +728,7 @@ static void vortex_Eqlzr_shutdown(vortex_t * vortex) | |||
728 | /* ALSA interface */ | 728 | /* ALSA interface */ |
729 | 729 | ||
730 | /* Control interface */ | 730 | /* Control interface */ |
731 | static int | 731 | #define snd_vortex_eqtoggle_info snd_ctl_boolean_mono_info |
732 | snd_vortex_eqtoggle_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | ||
733 | { | ||
734 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
735 | uinfo->count = 1; | ||
736 | uinfo->value.integer.min = 0; | ||
737 | uinfo->value.integer.max = 1; | ||
738 | return 0; | ||
739 | } | ||
740 | 732 | ||
741 | static int | 733 | static int |
742 | snd_vortex_eqtoggle_get(struct snd_kcontrol *kcontrol, | 734 | snd_vortex_eqtoggle_get(struct snd_kcontrol *kcontrol, |
diff --git a/sound/pci/bt87x.c b/sound/pci/bt87x.c index 131952f55857..f0e12985dc29 100644 --- a/sound/pci/bt87x.c +++ b/sound/pci/bt87x.c | |||
@@ -569,15 +569,7 @@ static struct snd_kcontrol_new snd_bt87x_capture_volume = { | |||
569 | .put = snd_bt87x_capture_volume_put, | 569 | .put = snd_bt87x_capture_volume_put, |
570 | }; | 570 | }; |
571 | 571 | ||
572 | static int snd_bt87x_capture_boost_info(struct snd_kcontrol *kcontrol, | 572 | #define snd_bt87x_capture_boost_info snd_ctl_boolean_mono_info |
573 | struct snd_ctl_elem_info *info) | ||
574 | { | ||
575 | info->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
576 | info->count = 1; | ||
577 | info->value.integer.min = 0; | ||
578 | info->value.integer.max = 1; | ||
579 | return 0; | ||
580 | } | ||
581 | 573 | ||
582 | static int snd_bt87x_capture_boost_get(struct snd_kcontrol *kcontrol, | 574 | static int snd_bt87x_capture_boost_get(struct snd_kcontrol *kcontrol, |
583 | struct snd_ctl_elem_value *value) | 575 | struct snd_ctl_elem_value *value) |
diff --git a/sound/pci/ca0106/ca0106_mixer.c b/sound/pci/ca0106/ca0106_mixer.c index 9c3a9c8d1dc2..a135b9c4c3c8 100644 --- a/sound/pci/ca0106/ca0106_mixer.c +++ b/sound/pci/ca0106/ca0106_mixer.c | |||
@@ -77,15 +77,7 @@ | |||
77 | static const DECLARE_TLV_DB_SCALE(snd_ca0106_db_scale1, -5175, 25, 1); | 77 | static const DECLARE_TLV_DB_SCALE(snd_ca0106_db_scale1, -5175, 25, 1); |
78 | static const DECLARE_TLV_DB_SCALE(snd_ca0106_db_scale2, -10350, 50, 1); | 78 | static const DECLARE_TLV_DB_SCALE(snd_ca0106_db_scale2, -10350, 50, 1); |
79 | 79 | ||
80 | static int snd_ca0106_shared_spdif_info(struct snd_kcontrol *kcontrol, | 80 | #define snd_ca0106_shared_spdif_info snd_ctl_boolean_mono_info |
81 | struct snd_ctl_elem_info *uinfo) | ||
82 | { | ||
83 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
84 | uinfo->count = 1; | ||
85 | uinfo->value.integer.min = 0; | ||
86 | uinfo->value.integer.max = 1; | ||
87 | return 0; | ||
88 | } | ||
89 | 81 | ||
90 | static int snd_ca0106_shared_spdif_get(struct snd_kcontrol *kcontrol, | 82 | static int snd_ca0106_shared_spdif_get(struct snd_kcontrol *kcontrol, |
91 | struct snd_ctl_elem_value *ucontrol) | 83 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/pci/cmipci.c b/sound/pci/cmipci.c index 7d3c5ee0005c..f38054ead176 100644 --- a/sound/pci/cmipci.c +++ b/sound/pci/cmipci.c | |||
@@ -2139,15 +2139,7 @@ struct cmipci_switch_args { | |||
2139 | */ | 2139 | */ |
2140 | }; | 2140 | }; |
2141 | 2141 | ||
2142 | static int snd_cmipci_uswitch_info(struct snd_kcontrol *kcontrol, | 2142 | #define snd_cmipci_uswitch_info snd_ctl_boolean_mono_info |
2143 | struct snd_ctl_elem_info *uinfo) | ||
2144 | { | ||
2145 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
2146 | uinfo->count = 1; | ||
2147 | uinfo->value.integer.min = 0; | ||
2148 | uinfo->value.integer.max = 1; | ||
2149 | return 0; | ||
2150 | } | ||
2151 | 2143 | ||
2152 | static int _snd_cmipci_uswitch_get(struct snd_kcontrol *kcontrol, | 2144 | static int _snd_cmipci_uswitch_get(struct snd_kcontrol *kcontrol, |
2153 | struct snd_ctl_elem_value *ucontrol, | 2145 | struct snd_ctl_elem_value *ucontrol, |
diff --git a/sound/pci/cs46xx/cs46xx_lib.c b/sound/pci/cs46xx/cs46xx_lib.c index 71d7aab9d869..0dc69d071406 100644 --- a/sound/pci/cs46xx/cs46xx_lib.c +++ b/sound/pci/cs46xx/cs46xx_lib.c | |||
@@ -1818,15 +1818,7 @@ static int snd_cs46xx_vol_iec958_put(struct snd_kcontrol *kcontrol, struct snd_c | |||
1818 | } | 1818 | } |
1819 | #endif | 1819 | #endif |
1820 | 1820 | ||
1821 | static int snd_mixer_boolean_info(struct snd_kcontrol *kcontrol, | 1821 | #define snd_mixer_boolean_info snd_ctl_boolean_mono_info |
1822 | struct snd_ctl_elem_info *uinfo) | ||
1823 | { | ||
1824 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1825 | uinfo->count = 1; | ||
1826 | uinfo->value.integer.min = 0; | ||
1827 | uinfo->value.integer.max = 1; | ||
1828 | return 0; | ||
1829 | } | ||
1830 | 1822 | ||
1831 | static int snd_cs46xx_iec958_get(struct snd_kcontrol *kcontrol, | 1823 | static int snd_cs46xx_iec958_get(struct snd_kcontrol *kcontrol, |
1832 | struct snd_ctl_elem_value *ucontrol) | 1824 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/pci/echoaudio/echoaudio.c b/sound/pci/echoaudio/echoaudio.c index f27b6a733b96..499ee1a5319d 100644 --- a/sound/pci/echoaudio/echoaudio.c +++ b/sound/pci/echoaudio/echoaudio.c | |||
@@ -1595,15 +1595,7 @@ static struct snd_kcontrol_new snd_echo_clock_source_switch __devinitdata = { | |||
1595 | #ifdef ECHOCARD_HAS_PHANTOM_POWER | 1595 | #ifdef ECHOCARD_HAS_PHANTOM_POWER |
1596 | 1596 | ||
1597 | /******************* Phantom power switch *******************/ | 1597 | /******************* Phantom power switch *******************/ |
1598 | static int snd_echo_phantom_power_info(struct snd_kcontrol *kcontrol, | 1598 | #define snd_echo_phantom_power_info snd_ctl_boolean_mono_info |
1599 | struct snd_ctl_elem_info *uinfo) | ||
1600 | { | ||
1601 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1602 | uinfo->count = 1; | ||
1603 | uinfo->value.integer.min = 0; | ||
1604 | uinfo->value.integer.max = 1; | ||
1605 | return 0; | ||
1606 | } | ||
1607 | 1599 | ||
1608 | static int snd_echo_phantom_power_get(struct snd_kcontrol *kcontrol, | 1600 | static int snd_echo_phantom_power_get(struct snd_kcontrol *kcontrol, |
1609 | struct snd_ctl_elem_value *ucontrol) | 1601 | struct snd_ctl_elem_value *ucontrol) |
@@ -1646,15 +1638,7 @@ static struct snd_kcontrol_new snd_echo_phantom_power_switch __devinitdata = { | |||
1646 | #ifdef ECHOCARD_HAS_DIGITAL_IN_AUTOMUTE | 1638 | #ifdef ECHOCARD_HAS_DIGITAL_IN_AUTOMUTE |
1647 | 1639 | ||
1648 | /******************* Digital input automute switch *******************/ | 1640 | /******************* Digital input automute switch *******************/ |
1649 | static int snd_echo_automute_info(struct snd_kcontrol *kcontrol, | 1641 | #define snd_echo_automute_info snd_ctl_boolean_mono_info |
1650 | struct snd_ctl_elem_info *uinfo) | ||
1651 | { | ||
1652 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1653 | uinfo->count = 1; | ||
1654 | uinfo->value.integer.min = 0; | ||
1655 | uinfo->value.integer.max = 1; | ||
1656 | return 0; | ||
1657 | } | ||
1658 | 1642 | ||
1659 | static int snd_echo_automute_get(struct snd_kcontrol *kcontrol, | 1643 | static int snd_echo_automute_get(struct snd_kcontrol *kcontrol, |
1660 | struct snd_ctl_elem_value *ucontrol) | 1644 | struct snd_ctl_elem_value *ucontrol) |
@@ -1695,18 +1679,7 @@ static struct snd_kcontrol_new snd_echo_automute_switch __devinitdata = { | |||
1695 | 1679 | ||
1696 | 1680 | ||
1697 | /******************* VU-meters switch *******************/ | 1681 | /******************* VU-meters switch *******************/ |
1698 | static int snd_echo_vumeters_switch_info(struct snd_kcontrol *kcontrol, | 1682 | #define snd_echo_vumeters_switch_info snd_ctl_boolean_mono_info |
1699 | struct snd_ctl_elem_info *uinfo) | ||
1700 | { | ||
1701 | struct echoaudio *chip; | ||
1702 | |||
1703 | chip = snd_kcontrol_chip(kcontrol); | ||
1704 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1705 | uinfo->count = 1; | ||
1706 | uinfo->value.integer.min = 0; | ||
1707 | uinfo->value.integer.max = 1; | ||
1708 | return 0; | ||
1709 | } | ||
1710 | 1683 | ||
1711 | static int snd_echo_vumeters_switch_put(struct snd_kcontrol *kcontrol, | 1684 | static int snd_echo_vumeters_switch_put(struct snd_kcontrol *kcontrol, |
1712 | struct snd_ctl_elem_value *ucontrol) | 1685 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/pci/emu10k1/emu10k1x.c b/sound/pci/emu10k1/emu10k1x.c index e4af7a9b808c..1ec7ebaff9e9 100644 --- a/sound/pci/emu10k1/emu10k1x.c +++ b/sound/pci/emu10k1/emu10k1x.c | |||
@@ -1062,14 +1062,7 @@ static int __devinit snd_emu10k1x_proc_init(struct emu10k1x * emu) | |||
1062 | return 0; | 1062 | return 0; |
1063 | } | 1063 | } |
1064 | 1064 | ||
1065 | static int snd_emu10k1x_shared_spdif_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 1065 | #define snd_emu10k1x_shared_spdif_info snd_ctl_boolean_mono_info |
1066 | { | ||
1067 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1068 | uinfo->count = 1; | ||
1069 | uinfo->value.integer.min = 0; | ||
1070 | uinfo->value.integer.max = 1; | ||
1071 | return 0; | ||
1072 | } | ||
1073 | 1066 | ||
1074 | static int snd_emu10k1x_shared_spdif_get(struct snd_kcontrol *kcontrol, | 1067 | static int snd_emu10k1x_shared_spdif_get(struct snd_kcontrol *kcontrol, |
1075 | struct snd_ctl_elem_value *ucontrol) | 1068 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/pci/emu10k1/emumixer.c b/sound/pci/emu10k1/emumixer.c index 7b2c1dcc5337..6c26319430d7 100644 --- a/sound/pci/emu10k1/emumixer.c +++ b/sound/pci/emu10k1/emumixer.c | |||
@@ -400,15 +400,7 @@ static struct snd_kcontrol_new snd_emu1010_input_enum_ctls[] __devinitdata = { | |||
400 | 400 | ||
401 | 401 | ||
402 | 402 | ||
403 | 403 | #define snd_emu1010_adc_pads_info snd_ctl_boolean_mono_info | |
404 | static int snd_emu1010_adc_pads_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | ||
405 | { | ||
406 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
407 | uinfo->count = 1; | ||
408 | uinfo->value.integer.min = 0; | ||
409 | uinfo->value.integer.max = 1; | ||
410 | return 0; | ||
411 | } | ||
412 | 404 | ||
413 | static int snd_emu1010_adc_pads_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 405 | static int snd_emu1010_adc_pads_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
414 | { | 406 | { |
@@ -456,14 +448,7 @@ static struct snd_kcontrol_new snd_emu1010_adc_pads[] __devinitdata = { | |||
456 | EMU1010_ADC_PADS("ADC1 14dB PAD 0202 Capture Switch", EMU_HANA_0202_ADC_PAD1), | 448 | EMU1010_ADC_PADS("ADC1 14dB PAD 0202 Capture Switch", EMU_HANA_0202_ADC_PAD1), |
457 | }; | 449 | }; |
458 | 450 | ||
459 | static int snd_emu1010_dac_pads_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 451 | #define snd_emu1010_dac_pads_info snd_ctl_boolean_mono_info |
460 | { | ||
461 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
462 | uinfo->count = 1; | ||
463 | uinfo->value.integer.min = 0; | ||
464 | uinfo->value.integer.max = 1; | ||
465 | return 0; | ||
466 | } | ||
467 | 452 | ||
468 | static int snd_emu1010_dac_pads_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 453 | static int snd_emu1010_dac_pads_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
469 | { | 454 | { |
@@ -1326,14 +1311,7 @@ static struct snd_kcontrol_new snd_emu10k1_efx_attn_control = | |||
1326 | .put = snd_emu10k1_efx_attn_put | 1311 | .put = snd_emu10k1_efx_attn_put |
1327 | }; | 1312 | }; |
1328 | 1313 | ||
1329 | static int snd_emu10k1_shared_spdif_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 1314 | #define snd_emu10k1_shared_spdif_info snd_ctl_boolean_mono_info |
1330 | { | ||
1331 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1332 | uinfo->count = 1; | ||
1333 | uinfo->value.integer.min = 0; | ||
1334 | uinfo->value.integer.max = 1; | ||
1335 | return 0; | ||
1336 | } | ||
1337 | 1315 | ||
1338 | static int snd_emu10k1_shared_spdif_get(struct snd_kcontrol *kcontrol, | 1316 | static int snd_emu10k1_shared_spdif_get(struct snd_kcontrol *kcontrol, |
1339 | struct snd_ctl_elem_value *ucontrol) | 1317 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/pci/ens1370.c b/sound/pci/ens1370.c index 21cb4268a59b..9017bdb513a1 100644 --- a/sound/pci/ens1370.c +++ b/sound/pci/ens1370.c | |||
@@ -1419,15 +1419,7 @@ static int snd_ens1373_spdif_stream_put(struct snd_kcontrol *kcontrol, | |||
1419 | { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .info = snd_es1371_spdif_info, \ | 1419 | { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .info = snd_es1371_spdif_info, \ |
1420 | .get = snd_es1371_spdif_get, .put = snd_es1371_spdif_put } | 1420 | .get = snd_es1371_spdif_get, .put = snd_es1371_spdif_put } |
1421 | 1421 | ||
1422 | static int snd_es1371_spdif_info(struct snd_kcontrol *kcontrol, | 1422 | #define snd_es1371_spdif_info snd_ctl_boolean_mono_info |
1423 | struct snd_ctl_elem_info *uinfo) | ||
1424 | { | ||
1425 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1426 | uinfo->count = 1; | ||
1427 | uinfo->value.integer.min = 0; | ||
1428 | uinfo->value.integer.max = 1; | ||
1429 | return 0; | ||
1430 | } | ||
1431 | 1423 | ||
1432 | static int snd_es1371_spdif_get(struct snd_kcontrol *kcontrol, | 1424 | static int snd_es1371_spdif_get(struct snd_kcontrol *kcontrol, |
1433 | struct snd_ctl_elem_value *ucontrol) | 1425 | struct snd_ctl_elem_value *ucontrol) |
@@ -1489,15 +1481,7 @@ static struct snd_kcontrol_new snd_es1371_mixer_spdif[] __devinitdata = { | |||
1489 | }; | 1481 | }; |
1490 | 1482 | ||
1491 | 1483 | ||
1492 | static int snd_es1373_rear_info(struct snd_kcontrol *kcontrol, | 1484 | #define snd_es1373_rear_info snd_ctl_boolean_mono_info |
1493 | struct snd_ctl_elem_info *uinfo) | ||
1494 | { | ||
1495 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1496 | uinfo->count = 1; | ||
1497 | uinfo->value.integer.min = 0; | ||
1498 | uinfo->value.integer.max = 1; | ||
1499 | return 0; | ||
1500 | } | ||
1501 | 1485 | ||
1502 | static int snd_es1373_rear_get(struct snd_kcontrol *kcontrol, | 1486 | static int snd_es1373_rear_get(struct snd_kcontrol *kcontrol, |
1503 | struct snd_ctl_elem_value *ucontrol) | 1487 | struct snd_ctl_elem_value *ucontrol) |
@@ -1542,15 +1526,7 @@ static struct snd_kcontrol_new snd_ens1373_rear __devinitdata = | |||
1542 | .put = snd_es1373_rear_put, | 1526 | .put = snd_es1373_rear_put, |
1543 | }; | 1527 | }; |
1544 | 1528 | ||
1545 | static int snd_es1373_line_info(struct snd_kcontrol *kcontrol, | 1529 | #define snd_es1373_line_info snd_ctl_boolean_mono_info |
1546 | struct snd_ctl_elem_info *uinfo) | ||
1547 | { | ||
1548 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1549 | uinfo->count = 1; | ||
1550 | uinfo->value.integer.min = 0; | ||
1551 | uinfo->value.integer.max = 1; | ||
1552 | return 0; | ||
1553 | } | ||
1554 | 1530 | ||
1555 | static int snd_es1373_line_get(struct snd_kcontrol *kcontrol, | 1531 | static int snd_es1373_line_get(struct snd_kcontrol *kcontrol, |
1556 | struct snd_ctl_elem_value *ucontrol) | 1532 | struct snd_ctl_elem_value *ucontrol) |
@@ -1707,15 +1683,7 @@ static int __devinit snd_ensoniq_1371_mixer(struct ensoniq *ensoniq, | |||
1707 | .get = snd_ensoniq_control_get, .put = snd_ensoniq_control_put, \ | 1683 | .get = snd_ensoniq_control_get, .put = snd_ensoniq_control_put, \ |
1708 | .private_value = mask } | 1684 | .private_value = mask } |
1709 | 1685 | ||
1710 | static int snd_ensoniq_control_info(struct snd_kcontrol *kcontrol, | 1686 | #define snd_ensoniq_control_info snd_ctl_boolean_mono_info |
1711 | struct snd_ctl_elem_info *uinfo) | ||
1712 | { | ||
1713 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1714 | uinfo->count = 1; | ||
1715 | uinfo->value.integer.min = 0; | ||
1716 | uinfo->value.integer.max = 1; | ||
1717 | return 0; | ||
1718 | } | ||
1719 | 1687 | ||
1720 | static int snd_ensoniq_control_get(struct snd_kcontrol *kcontrol, | 1688 | static int snd_ensoniq_control_get(struct snd_kcontrol *kcontrol, |
1721 | struct snd_ctl_elem_value *ucontrol) | 1689 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/pci/es1938.c b/sound/pci/es1938.c index fec29a108945..fc686db59ce8 100644 --- a/sound/pci/es1938.c +++ b/sound/pci/es1938.c | |||
@@ -1066,15 +1066,7 @@ static int snd_es1938_put_mux(struct snd_kcontrol *kcontrol, | |||
1066 | return snd_es1938_mixer_bits(chip, 0x1c, 0x07, val) != val; | 1066 | return snd_es1938_mixer_bits(chip, 0x1c, 0x07, val) != val; |
1067 | } | 1067 | } |
1068 | 1068 | ||
1069 | static int snd_es1938_info_spatializer_enable(struct snd_kcontrol *kcontrol, | 1069 | #define snd_es1938_info_spatializer_enable snd_ctl_boolean_mono_info |
1070 | struct snd_ctl_elem_info *uinfo) | ||
1071 | { | ||
1072 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1073 | uinfo->count = 1; | ||
1074 | uinfo->value.integer.min = 0; | ||
1075 | uinfo->value.integer.max = 1; | ||
1076 | return 0; | ||
1077 | } | ||
1078 | 1070 | ||
1079 | static int snd_es1938_get_spatializer_enable(struct snd_kcontrol *kcontrol, | 1071 | static int snd_es1938_get_spatializer_enable(struct snd_kcontrol *kcontrol, |
1080 | struct snd_ctl_elem_value *ucontrol) | 1072 | struct snd_ctl_elem_value *ucontrol) |
@@ -1120,15 +1112,7 @@ static int snd_es1938_get_hw_volume(struct snd_kcontrol *kcontrol, | |||
1120 | return 0; | 1112 | return 0; |
1121 | } | 1113 | } |
1122 | 1114 | ||
1123 | static int snd_es1938_info_hw_switch(struct snd_kcontrol *kcontrol, | 1115 | #define snd_es1938_info_hw_switch snd_ctl_boolean_stereo_info |
1124 | struct snd_ctl_elem_info *uinfo) | ||
1125 | { | ||
1126 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1127 | uinfo->count = 2; | ||
1128 | uinfo->value.integer.min = 0; | ||
1129 | uinfo->value.integer.max = 1; | ||
1130 | return 0; | ||
1131 | } | ||
1132 | 1116 | ||
1133 | static int snd_es1938_get_hw_switch(struct snd_kcontrol *kcontrol, | 1117 | static int snd_es1938_get_hw_switch(struct snd_kcontrol *kcontrol, |
1134 | struct snd_ctl_elem_value *ucontrol) | 1118 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index f87f8f088956..a05db2f214bd 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c | |||
@@ -1129,15 +1129,7 @@ static int snd_hda_spdif_default_put(struct snd_kcontrol *kcontrol, | |||
1129 | return change; | 1129 | return change; |
1130 | } | 1130 | } |
1131 | 1131 | ||
1132 | static int snd_hda_spdif_out_switch_info(struct snd_kcontrol *kcontrol, | 1132 | #define snd_hda_spdif_out_switch_info snd_ctl_boolean_mono_info |
1133 | struct snd_ctl_elem_info *uinfo) | ||
1134 | { | ||
1135 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1136 | uinfo->count = 1; | ||
1137 | uinfo->value.integer.min = 0; | ||
1138 | uinfo->value.integer.max = 1; | ||
1139 | return 0; | ||
1140 | } | ||
1141 | 1133 | ||
1142 | static int snd_hda_spdif_out_switch_get(struct snd_kcontrol *kcontrol, | 1134 | static int snd_hda_spdif_out_switch_get(struct snd_kcontrol *kcontrol, |
1143 | struct snd_ctl_elem_value *ucontrol) | 1135 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c index 4d7f8d11ad75..fafadf9fab8e 100644 --- a/sound/pci/hda/patch_analog.c +++ b/sound/pci/hda/patch_analog.c | |||
@@ -350,15 +350,7 @@ static struct hda_codec_ops ad198x_patch_ops = { | |||
350 | * EAPD control | 350 | * EAPD control |
351 | * the private value = nid | (invert << 8) | 351 | * the private value = nid | (invert << 8) |
352 | */ | 352 | */ |
353 | static int ad198x_eapd_info(struct snd_kcontrol *kcontrol, | 353 | #define ad198x_eapd_info snd_ctl_boolean_mono_info |
354 | struct snd_ctl_elem_info *uinfo) | ||
355 | { | ||
356 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
357 | uinfo->count = 1; | ||
358 | uinfo->value.integer.min = 0; | ||
359 | uinfo->value.integer.max = 1; | ||
360 | return 0; | ||
361 | } | ||
362 | 354 | ||
363 | static int ad198x_eapd_get(struct snd_kcontrol *kcontrol, | 355 | static int ad198x_eapd_get(struct snd_kcontrol *kcontrol, |
364 | struct snd_ctl_elem_value *ucontrol) | 356 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c index 4d8e8af5c819..26034315197f 100644 --- a/sound/pci/hda/patch_conexant.c +++ b/sound/pci/hda/patch_conexant.c | |||
@@ -368,15 +368,7 @@ static struct hda_codec_ops conexant_patch_ops = { | |||
368 | * the private value = nid | (invert << 8) | 368 | * the private value = nid | (invert << 8) |
369 | */ | 369 | */ |
370 | 370 | ||
371 | static int cxt_eapd_info(struct snd_kcontrol *kcontrol, | 371 | #define cxt_eapd_info snd_ctl_boolean_mono_info |
372 | struct snd_ctl_elem_info *uinfo) | ||
373 | { | ||
374 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
375 | uinfo->count = 1; | ||
376 | uinfo->value.integer.min = 0; | ||
377 | uinfo->value.integer.max = 1; | ||
378 | return 0; | ||
379 | } | ||
380 | 372 | ||
381 | static int cxt_eapd_get(struct snd_kcontrol *kcontrol, | 373 | static int cxt_eapd_get(struct snd_kcontrol *kcontrol, |
382 | struct snd_ctl_elem_value *ucontrol) | 374 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 9a47eec5a27b..7e6cc01b521a 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -486,15 +486,7 @@ static int alc_pin_mode_put(struct snd_kcontrol *kcontrol, | |||
486 | * needed for any "production" models. | 486 | * needed for any "production" models. |
487 | */ | 487 | */ |
488 | #ifdef CONFIG_SND_DEBUG | 488 | #ifdef CONFIG_SND_DEBUG |
489 | static int alc_gpio_data_info(struct snd_kcontrol *kcontrol, | 489 | #define alc_gpio_data_info snd_ctl_boolean_mono_info |
490 | struct snd_ctl_elem_info *uinfo) | ||
491 | { | ||
492 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
493 | uinfo->count = 1; | ||
494 | uinfo->value.integer.min = 0; | ||
495 | uinfo->value.integer.max = 1; | ||
496 | return 0; | ||
497 | } | ||
498 | 490 | ||
499 | static int alc_gpio_data_get(struct snd_kcontrol *kcontrol, | 491 | static int alc_gpio_data_get(struct snd_kcontrol *kcontrol, |
500 | struct snd_ctl_elem_value *ucontrol) | 492 | struct snd_ctl_elem_value *ucontrol) |
@@ -547,15 +539,7 @@ static int alc_gpio_data_put(struct snd_kcontrol *kcontrol, | |||
547 | * necessary. | 539 | * necessary. |
548 | */ | 540 | */ |
549 | #ifdef CONFIG_SND_DEBUG | 541 | #ifdef CONFIG_SND_DEBUG |
550 | static int alc_spdif_ctrl_info(struct snd_kcontrol *kcontrol, | 542 | #define alc_spdif_ctrl_info snd_ctl_boolean_mono_info |
551 | struct snd_ctl_elem_info *uinfo) | ||
552 | { | ||
553 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
554 | uinfo->count = 1; | ||
555 | uinfo->value.integer.min = 0; | ||
556 | uinfo->value.integer.max = 1; | ||
557 | return 0; | ||
558 | } | ||
559 | 543 | ||
560 | static int alc_spdif_ctrl_get(struct snd_kcontrol *kcontrol, | 544 | static int alc_spdif_ctrl_get(struct snd_kcontrol *kcontrol, |
561 | struct snd_ctl_elem_value *ucontrol) | 545 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/pci/hda/patch_si3054.c b/sound/pci/hda/patch_si3054.c index 6d2ecc38905c..9838eac9ab59 100644 --- a/sound/pci/hda/patch_si3054.c +++ b/sound/pci/hda/patch_si3054.c | |||
@@ -94,15 +94,7 @@ struct si3054_spec { | |||
94 | #define PRIVATE_REG(val) ((val>>16)&0xffff) | 94 | #define PRIVATE_REG(val) ((val>>16)&0xffff) |
95 | #define PRIVATE_MASK(val) (val&0xffff) | 95 | #define PRIVATE_MASK(val) (val&0xffff) |
96 | 96 | ||
97 | static int si3054_switch_info(struct snd_kcontrol *kcontrol, | 97 | #define si3054_switch_info snd_ctl_boolean_mono_info |
98 | struct snd_ctl_elem_info *uinfo) | ||
99 | { | ||
100 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
101 | uinfo->count = 1; | ||
102 | uinfo->value.integer.min = 0; | ||
103 | uinfo->value.integer.max = 1; | ||
104 | return 0; | ||
105 | } | ||
106 | 98 | ||
107 | static int si3054_switch_get(struct snd_kcontrol *kcontrol, | 99 | static int si3054_switch_get(struct snd_kcontrol *kcontrol, |
108 | struct snd_ctl_elem_value *uvalue) | 100 | struct snd_ctl_elem_value *uvalue) |
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 3f25de72966b..d2c340e45f9e 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
@@ -1069,14 +1069,7 @@ static void stac92xx_auto_set_pinctl(struct hda_codec *codec, hda_nid_t nid, int | |||
1069 | snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, pin_type); | 1069 | snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, pin_type); |
1070 | } | 1070 | } |
1071 | 1071 | ||
1072 | static int stac92xx_io_switch_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 1072 | #define stac92xx_io_switch_info snd_ctl_boolean_mono_info |
1073 | { | ||
1074 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1075 | uinfo->count = 1; | ||
1076 | uinfo->value.integer.min = 0; | ||
1077 | uinfo->value.integer.max = 1; | ||
1078 | return 0; | ||
1079 | } | ||
1080 | 1073 | ||
1081 | static int stac92xx_io_switch_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 1074 | static int stac92xx_io_switch_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
1082 | { | 1075 | { |
diff --git a/sound/pci/ice1712/aureon.c b/sound/pci/ice1712/aureon.c index 66bacde1ead3..ec0699c89952 100644 --- a/sound/pci/ice1712/aureon.c +++ b/sound/pci/ice1712/aureon.c | |||
@@ -394,7 +394,7 @@ static int aureon_ac97_vol_put(struct snd_kcontrol *kcontrol, struct snd_ctl_ele | |||
394 | /* | 394 | /* |
395 | * AC'97 mute controls | 395 | * AC'97 mute controls |
396 | */ | 396 | */ |
397 | #define aureon_ac97_mute_info aureon_mono_bool_info | 397 | #define aureon_ac97_mute_info snd_ctl_boolean_mono_info |
398 | 398 | ||
399 | static int aureon_ac97_mute_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 399 | static int aureon_ac97_mute_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
400 | { | 400 | { |
@@ -430,7 +430,7 @@ static int aureon_ac97_mute_put(struct snd_kcontrol *kcontrol, struct snd_ctl_el | |||
430 | /* | 430 | /* |
431 | * AC'97 mute controls | 431 | * AC'97 mute controls |
432 | */ | 432 | */ |
433 | #define aureon_ac97_micboost_info aureon_mono_bool_info | 433 | #define aureon_ac97_micboost_info snd_ctl_boolean_mono_info |
434 | 434 | ||
435 | static int aureon_ac97_micboost_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 435 | static int aureon_ac97_micboost_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
436 | { | 436 | { |
@@ -621,19 +621,12 @@ static void wm_put(struct snd_ice1712 *ice, int reg, unsigned short val) | |||
621 | 621 | ||
622 | /* | 622 | /* |
623 | */ | 623 | */ |
624 | static int aureon_mono_bool_info(struct snd_kcontrol *k, struct snd_ctl_elem_info *uinfo) | 624 | #define aureon_mono_bool_info snd_ctl_boolean_mono_info |
625 | { | ||
626 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
627 | uinfo->count = 1; | ||
628 | uinfo->value.integer.min = 0; | ||
629 | uinfo->value.integer.max = 1; | ||
630 | return 0; | ||
631 | } | ||
632 | 625 | ||
633 | /* | 626 | /* |
634 | * AC'97 master playback mute controls (Mute on WM8770 chip) | 627 | * AC'97 master playback mute controls (Mute on WM8770 chip) |
635 | */ | 628 | */ |
636 | #define aureon_ac97_mmute_info aureon_mono_bool_info | 629 | #define aureon_ac97_mmute_info snd_ctl_boolean_mono_info |
637 | 630 | ||
638 | static int aureon_ac97_mmute_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 631 | static int aureon_ac97_mmute_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
639 | { | 632 | { |
@@ -708,7 +701,7 @@ static void wm_set_vol(struct snd_ice1712 *ice, unsigned int index, unsigned sho | |||
708 | /* | 701 | /* |
709 | * DAC mute control | 702 | * DAC mute control |
710 | */ | 703 | */ |
711 | #define wm_pcm_mute_info aureon_mono_bool_info | 704 | #define wm_pcm_mute_info snd_ctl_boolean_mono_info |
712 | 705 | ||
713 | static int wm_pcm_mute_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 706 | static int wm_pcm_mute_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
714 | { | 707 | { |
@@ -879,13 +872,7 @@ static int wm_mute_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value | |||
879 | /* | 872 | /* |
880 | * WM8770 master mute control | 873 | * WM8770 master mute control |
881 | */ | 874 | */ |
882 | static int wm_master_mute_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) { | 875 | #define wm_master_mute_info snd_ctl_boolean_stereo_info |
883 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
884 | uinfo->count = 2; | ||
885 | uinfo->value.integer.min = 0; | ||
886 | uinfo->value.integer.max = 1; | ||
887 | return 0; | ||
888 | } | ||
889 | 876 | ||
890 | static int wm_master_mute_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 877 | static int wm_master_mute_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
891 | { | 878 | { |
@@ -969,14 +956,7 @@ static int wm_pcm_vol_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_val | |||
969 | /* | 956 | /* |
970 | * ADC mute control | 957 | * ADC mute control |
971 | */ | 958 | */ |
972 | static int wm_adc_mute_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 959 | #define wm_adc_mute_info snd_ctl_boolean_stereo_info |
973 | { | ||
974 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
975 | uinfo->count = 2; | ||
976 | uinfo->value.integer.min = 0; | ||
977 | uinfo->value.integer.max = 1; | ||
978 | return 0; | ||
979 | } | ||
980 | 960 | ||
981 | static int wm_adc_mute_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 961 | static int wm_adc_mute_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
982 | { | 962 | { |
@@ -1210,12 +1190,7 @@ static int aureon_cs8415_rate_get (struct snd_kcontrol *kcontrol, struct snd_ctl | |||
1210 | /* | 1190 | /* |
1211 | * CS8415A Mute | 1191 | * CS8415A Mute |
1212 | */ | 1192 | */ |
1213 | static int aureon_cs8415_mute_info (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 1193 | #define aureon_cs8415_mute_info snd_ctl_boolean_mono_info |
1214 | { | ||
1215 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1216 | uinfo->count = 1; | ||
1217 | return 0; | ||
1218 | } | ||
1219 | 1194 | ||
1220 | static int aureon_cs8415_mute_get (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 1195 | static int aureon_cs8415_mute_get (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
1221 | { | 1196 | { |
@@ -1316,7 +1291,7 @@ static int aureon_get_headphone_amp(struct snd_ice1712 *ice) | |||
1316 | return ( tmp & AUREON_HP_SEL )!= 0; | 1291 | return ( tmp & AUREON_HP_SEL )!= 0; |
1317 | } | 1292 | } |
1318 | 1293 | ||
1319 | #define aureon_hpamp_info aureon_mono_bool_info | 1294 | #define aureon_hpamp_info snd_ctl_boolean_mono_info |
1320 | 1295 | ||
1321 | static int aureon_hpamp_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 1296 | static int aureon_hpamp_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
1322 | { | 1297 | { |
@@ -1338,7 +1313,7 @@ static int aureon_hpamp_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_v | |||
1338 | * Deemphasis | 1313 | * Deemphasis |
1339 | */ | 1314 | */ |
1340 | 1315 | ||
1341 | #define aureon_deemp_info aureon_mono_bool_info | 1316 | #define aureon_deemp_info snd_ctl_boolean_mono_info |
1342 | 1317 | ||
1343 | static int aureon_deemp_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 1318 | static int aureon_deemp_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
1344 | { | 1319 | { |
diff --git a/sound/pci/ice1712/delta.c b/sound/pci/ice1712/delta.c index af659800c9b0..66886dff4845 100644 --- a/sound/pci/ice1712/delta.c +++ b/sound/pci/ice1712/delta.c | |||
@@ -393,15 +393,8 @@ static void delta_setup_spdif(struct snd_ice1712 *ice, int rate) | |||
393 | snd_ice1712_delta_cs8403_spdif_write(ice, tmp); | 393 | snd_ice1712_delta_cs8403_spdif_write(ice, tmp); |
394 | } | 394 | } |
395 | 395 | ||
396 | static int snd_ice1712_delta1010lt_wordclock_status_info(struct snd_kcontrol *kcontrol, | 396 | #define snd_ice1712_delta1010lt_wordclock_status_info \ |
397 | struct snd_ctl_elem_info *uinfo) | 397 | snd_ctl_boolean_mono_info |
398 | { | ||
399 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
400 | uinfo->count = 1; | ||
401 | uinfo->value.integer.min = 0; | ||
402 | uinfo->value.integer.max = 1; | ||
403 | return 0; | ||
404 | } | ||
405 | 398 | ||
406 | static int snd_ice1712_delta1010lt_wordclock_status_get(struct snd_kcontrol *kcontrol, | 399 | static int snd_ice1712_delta1010lt_wordclock_status_get(struct snd_kcontrol *kcontrol, |
407 | struct snd_ctl_elem_value *ucontrol) | 400 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/pci/ice1712/ews.c b/sound/pci/ice1712/ews.c index b135389fec6c..b2b4eff1ac6c 100644 --- a/sound/pci/ice1712/ews.c +++ b/sound/pci/ice1712/ews.c | |||
@@ -700,14 +700,7 @@ static struct snd_kcontrol_new snd_ice1712_ews88mt_output_sense __devinitdata = | |||
700 | * EWS88D specific controls | 700 | * EWS88D specific controls |
701 | */ | 701 | */ |
702 | 702 | ||
703 | static int snd_ice1712_ews88d_control_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 703 | #define snd_ice1712_ews88d_control_info snd_ctl_boolean_mono_info |
704 | { | ||
705 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
706 | uinfo->count = 1; | ||
707 | uinfo->value.integer.min = 0; | ||
708 | uinfo->value.integer.max = 1; | ||
709 | return 0; | ||
710 | } | ||
711 | 704 | ||
712 | static int snd_ice1712_ews88d_control_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 705 | static int snd_ice1712_ews88d_control_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
713 | { | 706 | { |
@@ -812,14 +805,7 @@ static int snd_ice1712_6fire_write_pca(struct snd_ice1712 *ice, unsigned char re | |||
812 | return 0; | 805 | return 0; |
813 | } | 806 | } |
814 | 807 | ||
815 | static int snd_ice1712_6fire_control_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 808 | #define snd_ice1712_6fire_control_info snd_ctl_boolean_mono_info |
816 | { | ||
817 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
818 | uinfo->count = 1; | ||
819 | uinfo->value.integer.min = 0; | ||
820 | uinfo->value.integer.max = 1; | ||
821 | return 0; | ||
822 | } | ||
823 | 809 | ||
824 | static int snd_ice1712_6fire_control_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 810 | static int snd_ice1712_6fire_control_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
825 | { | 811 | { |
diff --git a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c index 6630a0ae9527..cd41c7eb6c6b 100644 --- a/sound/pci/ice1712/ice1712.c +++ b/sound/pci/ice1712/ice1712.c | |||
@@ -256,14 +256,7 @@ static unsigned short snd_ice1712_pro_ac97_read(struct snd_ac97 *ac97, | |||
256 | /* | 256 | /* |
257 | * consumer ac97 digital mix | 257 | * consumer ac97 digital mix |
258 | */ | 258 | */ |
259 | static int snd_ice1712_digmix_route_ac97_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 259 | #define snd_ice1712_digmix_route_ac97_info snd_ctl_boolean_mono_info |
260 | { | ||
261 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
262 | uinfo->count = 1; | ||
263 | uinfo->value.integer.min = 0; | ||
264 | uinfo->value.integer.max = 1; | ||
265 | return 0; | ||
266 | } | ||
267 | 260 | ||
268 | static int snd_ice1712_digmix_route_ac97_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 261 | static int snd_ice1712_digmix_route_ac97_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
269 | { | 262 | { |
@@ -1300,14 +1293,7 @@ static void snd_ice1712_update_volume(struct snd_ice1712 *ice, int index) | |||
1300 | outw(val, ICEMT(ice, MONITOR_VOLUME)); | 1293 | outw(val, ICEMT(ice, MONITOR_VOLUME)); |
1301 | } | 1294 | } |
1302 | 1295 | ||
1303 | static int snd_ice1712_pro_mixer_switch_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 1296 | #define snd_ice1712_pro_mixer_switch_info snd_ctl_boolean_stereo_info |
1304 | { | ||
1305 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1306 | uinfo->count = 2; | ||
1307 | uinfo->value.integer.min = 0; | ||
1308 | uinfo->value.integer.max = 1; | ||
1309 | return 0; | ||
1310 | } | ||
1311 | 1297 | ||
1312 | static int snd_ice1712_pro_mixer_switch_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 1298 | static int snd_ice1712_pro_mixer_switch_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
1313 | { | 1299 | { |
@@ -1759,15 +1745,7 @@ static struct snd_kcontrol_new snd_ice1712_spdif_stream __devinitdata = | |||
1759 | .put = snd_ice1712_spdif_stream_put | 1745 | .put = snd_ice1712_spdif_stream_put |
1760 | }; | 1746 | }; |
1761 | 1747 | ||
1762 | int snd_ice1712_gpio_info(struct snd_kcontrol *kcontrol, | 1748 | #define snd_ice1712_gpio_info snd_ctl_boolean_mono_info |
1763 | struct snd_ctl_elem_info *uinfo) | ||
1764 | { | ||
1765 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1766 | uinfo->count = 1; | ||
1767 | uinfo->value.integer.min = 0; | ||
1768 | uinfo->value.integer.max = 1; | ||
1769 | return 0; | ||
1770 | } | ||
1771 | 1749 | ||
1772 | int snd_ice1712_gpio_get(struct snd_kcontrol *kcontrol, | 1750 | int snd_ice1712_gpio_get(struct snd_kcontrol *kcontrol, |
1773 | struct snd_ctl_elem_value *ucontrol) | 1751 | struct snd_ctl_elem_value *ucontrol) |
@@ -1968,15 +1946,7 @@ static struct snd_kcontrol_new snd_ice1712_pro_internal_clock_default __devinitd | |||
1968 | .put = snd_ice1712_pro_internal_clock_default_put | 1946 | .put = snd_ice1712_pro_internal_clock_default_put |
1969 | }; | 1947 | }; |
1970 | 1948 | ||
1971 | static int snd_ice1712_pro_rate_locking_info(struct snd_kcontrol *kcontrol, | 1949 | #define snd_ice1712_pro_rate_locking_info snd_ctl_boolean_mono_info |
1972 | struct snd_ctl_elem_info *uinfo) | ||
1973 | { | ||
1974 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1975 | uinfo->count = 1; | ||
1976 | uinfo->value.integer.min = 0; | ||
1977 | uinfo->value.integer.max = 1; | ||
1978 | return 0; | ||
1979 | } | ||
1980 | 1950 | ||
1981 | static int snd_ice1712_pro_rate_locking_get(struct snd_kcontrol *kcontrol, | 1951 | static int snd_ice1712_pro_rate_locking_get(struct snd_kcontrol *kcontrol, |
1982 | struct snd_ctl_elem_value *ucontrol) | 1952 | struct snd_ctl_elem_value *ucontrol) |
@@ -2007,15 +1977,7 @@ static struct snd_kcontrol_new snd_ice1712_pro_rate_locking __devinitdata = { | |||
2007 | .put = snd_ice1712_pro_rate_locking_put | 1977 | .put = snd_ice1712_pro_rate_locking_put |
2008 | }; | 1978 | }; |
2009 | 1979 | ||
2010 | static int snd_ice1712_pro_rate_reset_info(struct snd_kcontrol *kcontrol, | 1980 | #define snd_ice1712_pro_rate_reset_info snd_ctl_boolean_mono_info |
2011 | struct snd_ctl_elem_info *uinfo) | ||
2012 | { | ||
2013 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
2014 | uinfo->count = 1; | ||
2015 | uinfo->value.integer.min = 0; | ||
2016 | uinfo->value.integer.max = 1; | ||
2017 | return 0; | ||
2018 | } | ||
2019 | 1981 | ||
2020 | static int snd_ice1712_pro_rate_reset_get(struct snd_kcontrol *kcontrol, | 1982 | static int snd_ice1712_pro_rate_reset_get(struct snd_kcontrol *kcontrol, |
2021 | struct snd_ctl_elem_value *ucontrol) | 1983 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/pci/ice1712/ice1724.c b/sound/pci/ice1712/ice1724.c index ee620dea7ef3..32560cfb6c3f 100644 --- a/sound/pci/ice1712/ice1724.c +++ b/sound/pci/ice1712/ice1724.c | |||
@@ -1479,15 +1479,7 @@ static struct snd_kcontrol_new snd_vt1724_spdif_maskp __devinitdata = | |||
1479 | .get = snd_vt1724_spdif_maskp_get, | 1479 | .get = snd_vt1724_spdif_maskp_get, |
1480 | }; | 1480 | }; |
1481 | 1481 | ||
1482 | static int snd_vt1724_spdif_sw_info(struct snd_kcontrol *kcontrol, | 1482 | #define snd_vt1724_spdif_sw_info snd_ctl_boolean_mono_info |
1483 | struct snd_ctl_elem_info *uinfo) | ||
1484 | { | ||
1485 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1486 | uinfo->count = 1; | ||
1487 | uinfo->value.integer.min = 0; | ||
1488 | uinfo->value.integer.max = 1; | ||
1489 | return 0; | ||
1490 | } | ||
1491 | 1483 | ||
1492 | static int snd_vt1724_spdif_sw_get(struct snd_kcontrol *kcontrol, | 1484 | static int snd_vt1724_spdif_sw_get(struct snd_kcontrol *kcontrol, |
1493 | struct snd_ctl_elem_value *ucontrol) | 1485 | struct snd_ctl_elem_value *ucontrol) |
@@ -1532,15 +1524,7 @@ static struct snd_kcontrol_new snd_vt1724_spdif_switch __devinitdata = | |||
1532 | * GPIO access from extern | 1524 | * GPIO access from extern |
1533 | */ | 1525 | */ |
1534 | 1526 | ||
1535 | int snd_vt1724_gpio_info(struct snd_kcontrol *kcontrol, | 1527 | #define snd_vt1724_gpio_info snd_ctl_boolean_mono_info |
1536 | struct snd_ctl_elem_info *uinfo) | ||
1537 | { | ||
1538 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1539 | uinfo->count = 1; | ||
1540 | uinfo->value.integer.min = 0; | ||
1541 | uinfo->value.integer.max = 1; | ||
1542 | return 0; | ||
1543 | } | ||
1544 | 1528 | ||
1545 | int snd_vt1724_gpio_get(struct snd_kcontrol *kcontrol, | 1529 | int snd_vt1724_gpio_get(struct snd_kcontrol *kcontrol, |
1546 | struct snd_ctl_elem_value *ucontrol) | 1530 | struct snd_ctl_elem_value *ucontrol) |
@@ -1706,15 +1690,7 @@ static struct snd_kcontrol_new snd_vt1724_pro_internal_clock __devinitdata = { | |||
1706 | .put = snd_vt1724_pro_internal_clock_put | 1690 | .put = snd_vt1724_pro_internal_clock_put |
1707 | }; | 1691 | }; |
1708 | 1692 | ||
1709 | static int snd_vt1724_pro_rate_locking_info(struct snd_kcontrol *kcontrol, | 1693 | #define snd_vt1724_pro_rate_locking_info snd_ctl_boolean_mono_info |
1710 | struct snd_ctl_elem_info *uinfo) | ||
1711 | { | ||
1712 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1713 | uinfo->count = 1; | ||
1714 | uinfo->value.integer.min = 0; | ||
1715 | uinfo->value.integer.max = 1; | ||
1716 | return 0; | ||
1717 | } | ||
1718 | 1694 | ||
1719 | static int snd_vt1724_pro_rate_locking_get(struct snd_kcontrol *kcontrol, | 1695 | static int snd_vt1724_pro_rate_locking_get(struct snd_kcontrol *kcontrol, |
1720 | struct snd_ctl_elem_value *ucontrol) | 1696 | struct snd_ctl_elem_value *ucontrol) |
@@ -1745,15 +1721,7 @@ static struct snd_kcontrol_new snd_vt1724_pro_rate_locking __devinitdata = { | |||
1745 | .put = snd_vt1724_pro_rate_locking_put | 1721 | .put = snd_vt1724_pro_rate_locking_put |
1746 | }; | 1722 | }; |
1747 | 1723 | ||
1748 | static int snd_vt1724_pro_rate_reset_info(struct snd_kcontrol *kcontrol, | 1724 | #define snd_vt1724_pro_rate_reset_info snd_ctl_boolean_mono_info |
1749 | struct snd_ctl_elem_info *uinfo) | ||
1750 | { | ||
1751 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1752 | uinfo->count = 1; | ||
1753 | uinfo->value.integer.min = 0; | ||
1754 | uinfo->value.integer.max = 1; | ||
1755 | return 0; | ||
1756 | } | ||
1757 | 1725 | ||
1758 | static int snd_vt1724_pro_rate_reset_get(struct snd_kcontrol *kcontrol, | 1726 | static int snd_vt1724_pro_rate_reset_get(struct snd_kcontrol *kcontrol, |
1759 | struct snd_ctl_elem_value *ucontrol) | 1727 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/pci/ice1712/phase.c b/sound/pci/ice1712/phase.c index 40a9098af777..3ac25058bb58 100644 --- a/sound/pci/ice1712/phase.c +++ b/sound/pci/ice1712/phase.c | |||
@@ -270,7 +270,7 @@ static void wm_set_vol(struct snd_ice1712 *ice, unsigned int index, unsigned sho | |||
270 | /* | 270 | /* |
271 | * DAC mute control | 271 | * DAC mute control |
272 | */ | 272 | */ |
273 | #define wm_pcm_mute_info phase28_mono_bool_info | 273 | #define wm_pcm_mute_info snd_ctl_boolean_mono_info |
274 | 274 | ||
275 | static int wm_pcm_mute_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 275 | static int wm_pcm_mute_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
276 | { | 276 | { |
@@ -527,13 +527,7 @@ static int wm_mute_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value | |||
527 | /* | 527 | /* |
528 | * WM8770 master mute control | 528 | * WM8770 master mute control |
529 | */ | 529 | */ |
530 | static int wm_master_mute_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) { | 530 | #define wm_master_mute_info snd_ctl_boolean_stereo_info |
531 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
532 | uinfo->count = 2; | ||
533 | uinfo->value.integer.min = 0; | ||
534 | uinfo->value.integer.max = 1; | ||
535 | return 0; | ||
536 | } | ||
537 | 531 | ||
538 | static int wm_master_mute_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 532 | static int wm_master_mute_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
539 | { | 533 | { |
@@ -615,20 +609,9 @@ static int wm_pcm_vol_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_val | |||
615 | } | 609 | } |
616 | 610 | ||
617 | /* | 611 | /* |
618 | */ | ||
619 | static int phase28_mono_bool_info(struct snd_kcontrol *k, struct snd_ctl_elem_info *uinfo) | ||
620 | { | ||
621 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
622 | uinfo->count = 1; | ||
623 | uinfo->value.integer.min = 0; | ||
624 | uinfo->value.integer.max = 1; | ||
625 | return 0; | ||
626 | } | ||
627 | |||
628 | /* | ||
629 | * Deemphasis | 612 | * Deemphasis |
630 | */ | 613 | */ |
631 | #define phase28_deemp_info phase28_mono_bool_info | 614 | #define phase28_deemp_info snd_ctl_boolean_mono_info |
632 | 615 | ||
633 | static int phase28_deemp_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 616 | static int phase28_deemp_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
634 | { | 617 | { |
diff --git a/sound/pci/ice1712/pontis.c b/sound/pci/ice1712/pontis.c index 01c69453ddeb..faefd52c1b80 100644 --- a/sound/pci/ice1712/pontis.c +++ b/sound/pci/ice1712/pontis.c | |||
@@ -216,14 +216,7 @@ static int wm_adc_vol_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_val | |||
216 | /* | 216 | /* |
217 | * ADC input mux mixer control | 217 | * ADC input mux mixer control |
218 | */ | 218 | */ |
219 | static int wm_adc_mux_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 219 | #define wm_adc_mux_info snd_ctl_boolean_mono_info |
220 | { | ||
221 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
222 | uinfo->count = 1; | ||
223 | uinfo->value.integer.min = 0; | ||
224 | uinfo->value.integer.max = 1; | ||
225 | return 0; | ||
226 | } | ||
227 | 220 | ||
228 | static int wm_adc_mux_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 221 | static int wm_adc_mux_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
229 | { | 222 | { |
@@ -260,14 +253,7 @@ static int wm_adc_mux_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_val | |||
260 | /* | 253 | /* |
261 | * Analog bypass (In -> Out) | 254 | * Analog bypass (In -> Out) |
262 | */ | 255 | */ |
263 | static int wm_bypass_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 256 | #define wm_bypass_info snd_ctl_boolean_mono_info |
264 | { | ||
265 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
266 | uinfo->count = 1; | ||
267 | uinfo->value.integer.min = 0; | ||
268 | uinfo->value.integer.max = 1; | ||
269 | return 0; | ||
270 | } | ||
271 | 257 | ||
272 | static int wm_bypass_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 258 | static int wm_bypass_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
273 | { | 259 | { |
@@ -302,14 +288,7 @@ static int wm_bypass_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_valu | |||
302 | /* | 288 | /* |
303 | * Left/Right swap | 289 | * Left/Right swap |
304 | */ | 290 | */ |
305 | static int wm_chswap_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 291 | #define wm_chswap_info snd_ctl_boolean_mono_info |
306 | { | ||
307 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
308 | uinfo->count = 1; | ||
309 | uinfo->value.integer.min = 0; | ||
310 | uinfo->value.integer.max = 1; | ||
311 | return 0; | ||
312 | } | ||
313 | 292 | ||
314 | static int wm_chswap_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 293 | static int wm_chswap_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
315 | { | 294 | { |
diff --git a/sound/pci/ice1712/prodigy192.c b/sound/pci/ice1712/prodigy192.c index 4bae7305a79b..4180f9739ecb 100644 --- a/sound/pci/ice1712/prodigy192.c +++ b/sound/pci/ice1712/prodigy192.c | |||
@@ -81,14 +81,7 @@ static inline unsigned char stac9460_get(struct snd_ice1712 *ice, int reg) | |||
81 | /* | 81 | /* |
82 | * DAC mute control | 82 | * DAC mute control |
83 | */ | 83 | */ |
84 | static int stac9460_dac_mute_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 84 | #define stac9460_dac_mute_info snd_ctl_boolean_mono_info |
85 | { | ||
86 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
87 | uinfo->count = 1; | ||
88 | uinfo->value.integer.min = 0; | ||
89 | uinfo->value.integer.max = 1; | ||
90 | return 0; | ||
91 | } | ||
92 | 85 | ||
93 | static int stac9460_dac_mute_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 86 | static int stac9460_dac_mute_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
94 | { | 87 | { |
@@ -177,14 +170,7 @@ static int stac9460_dac_vol_put(struct snd_kcontrol *kcontrol, struct snd_ctl_el | |||
177 | /* | 170 | /* |
178 | * ADC mute control | 171 | * ADC mute control |
179 | */ | 172 | */ |
180 | static int stac9460_adc_mute_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 173 | #define stac9460_adc_mute_info snd_ctl_boolean_stereo_info |
181 | { | ||
182 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
183 | uinfo->count = 2; | ||
184 | uinfo->value.integer.min = 0; | ||
185 | uinfo->value.integer.max = 1; | ||
186 | return 0; | ||
187 | } | ||
188 | 174 | ||
189 | static int stac9460_adc_mute_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 175 | static int stac9460_adc_mute_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
190 | { | 176 | { |
@@ -292,14 +278,7 @@ static int aureon_get_headphone_amp(struct snd_ice1712 *ice) | |||
292 | return ( tmp & AUREON_HP_SEL )!= 0; | 278 | return ( tmp & AUREON_HP_SEL )!= 0; |
293 | } | 279 | } |
294 | 280 | ||
295 | static int aureon_bool_info(struct snd_kcontrol *k, struct snd_ctl_elem_info *uinfo) | 281 | #define aureon_bool_info snd_ctl_boolean_mono_info |
296 | { | ||
297 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
298 | uinfo->count = 1; | ||
299 | uinfo->value.integer.min = 0; | ||
300 | uinfo->value.integer.max = 1; | ||
301 | return 0; | ||
302 | } | ||
303 | 282 | ||
304 | static int aureon_hpamp_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 283 | static int aureon_hpamp_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
305 | { | 284 | { |
diff --git a/sound/pci/ice1712/wtm.c b/sound/pci/ice1712/wtm.c index 04e535c8542b..7fcce0a506d6 100644 --- a/sound/pci/ice1712/wtm.c +++ b/sound/pci/ice1712/wtm.c | |||
@@ -71,14 +71,7 @@ static inline unsigned char stac9460_2_get(struct snd_ice1712 *ice, int reg) | |||
71 | /* | 71 | /* |
72 | * DAC mute control | 72 | * DAC mute control |
73 | */ | 73 | */ |
74 | static int stac9460_dac_mute_info(struct snd_kcontrol *kcontrol, | 74 | #define stac9460_dac_mute_info snd_ctl_boolean_mono_info |
75 | struct snd_ctl_elem_info *uinfo) | ||
76 | { | ||
77 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
78 | uinfo->count = 1; | ||
79 | uinfo->value.integer.min = 0; | ||
80 | return 0; | ||
81 | } | ||
82 | 75 | ||
83 | static int stac9460_dac_mute_get(struct snd_kcontrol *kcontrol, | 76 | static int stac9460_dac_mute_get(struct snd_kcontrol *kcontrol, |
84 | struct snd_ctl_elem_value *ucontrol) | 77 | struct snd_ctl_elem_value *ucontrol) |
@@ -218,15 +211,7 @@ static int stac9460_dac_vol_put(struct snd_kcontrol *kcontrol, | |||
218 | /* | 211 | /* |
219 | * ADC mute control | 212 | * ADC mute control |
220 | */ | 213 | */ |
221 | static int stac9460_adc_mute_info(struct snd_kcontrol *kcontrol, | 214 | #define stac9460_adc_mute_info snd_ctl_boolean_stereo_info |
222 | struct snd_ctl_elem_info *uinfo) | ||
223 | { | ||
224 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
225 | uinfo->count = 2; | ||
226 | uinfo->value.integer.min = 0; | ||
227 | uinfo->value.integer.max = 1; | ||
228 | return 0; | ||
229 | } | ||
230 | 215 | ||
231 | static int stac9460_adc_mute_get(struct snd_kcontrol *kcontrol, | 216 | static int stac9460_adc_mute_get(struct snd_kcontrol *kcontrol, |
232 | struct snd_ctl_elem_value *ucontrol) | 217 | struct snd_ctl_elem_value *ucontrol) |
@@ -357,15 +342,7 @@ static int stac9460_adc_vol_put(struct snd_kcontrol *kcontrol, | |||
357 | * MIC / LINE switch fonction | 342 | * MIC / LINE switch fonction |
358 | */ | 343 | */ |
359 | 344 | ||
360 | static int stac9460_mic_sw_info(struct snd_kcontrol *kcontrol, | 345 | #define stac9460_mic_sw_info snd_ctl_boolean_mono_info |
361 | struct snd_ctl_elem_info *uinfo) | ||
362 | { | ||
363 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
364 | uinfo->count = 1; | ||
365 | uinfo->value.integer.min = 0; | ||
366 | uinfo->value.integer.max = 1; | ||
367 | return 0; | ||
368 | } | ||
369 | 346 | ||
370 | static int stac9460_mic_sw_get(struct snd_kcontrol *kcontrol, | 347 | static int stac9460_mic_sw_get(struct snd_kcontrol *kcontrol, |
371 | struct snd_ctl_elem_value *ucontrol) | 348 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/pci/mixart/mixart_mixer.c b/sound/pci/mixart/mixart_mixer.c index d7d15c036e02..0e16512d25f7 100644 --- a/sound/pci/mixart/mixart_mixer.c +++ b/sound/pci/mixart/mixart_mixer.c | |||
@@ -403,14 +403,7 @@ static struct snd_kcontrol_new mixart_control_analog_level = { | |||
403 | }; | 403 | }; |
404 | 404 | ||
405 | /* shared */ | 405 | /* shared */ |
406 | static int mixart_sw_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 406 | #define mixart_sw_info snd_ctl_boolean_stereo_info |
407 | { | ||
408 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
409 | uinfo->count = 2; | ||
410 | uinfo->value.integer.min = 0; | ||
411 | uinfo->value.integer.max = 1; | ||
412 | return 0; | ||
413 | } | ||
414 | 407 | ||
415 | static int mixart_audio_sw_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 408 | static int mixart_audio_sw_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
416 | { | 409 | { |
diff --git a/sound/pci/pcxhr/pcxhr_mixer.c b/sound/pci/pcxhr/pcxhr_mixer.c index d9cc8d2beb6d..b913453063f8 100644 --- a/sound/pci/pcxhr/pcxhr_mixer.c +++ b/sound/pci/pcxhr/pcxhr_mixer.c | |||
@@ -144,14 +144,7 @@ static struct snd_kcontrol_new pcxhr_control_analog_level = { | |||
144 | }; | 144 | }; |
145 | 145 | ||
146 | /* shared */ | 146 | /* shared */ |
147 | static int pcxhr_sw_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 147 | #define pcxhr_sw_info snd_ctl_boolean_stereo_info |
148 | { | ||
149 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
150 | uinfo->count = 2; | ||
151 | uinfo->value.integer.min = 0; | ||
152 | uinfo->value.integer.max = 1; | ||
153 | return 0; | ||
154 | } | ||
155 | 148 | ||
156 | static int pcxhr_audio_sw_get(struct snd_kcontrol *kcontrol, | 149 | static int pcxhr_audio_sw_get(struct snd_kcontrol *kcontrol, |
157 | struct snd_ctl_elem_value *ucontrol) | 150 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/pci/rme32.c b/sound/pci/rme32.c index 618653e22561..ee0189b756d1 100644 --- a/sound/pci/rme32.c +++ b/sound/pci/rme32.c | |||
@@ -1582,16 +1582,8 @@ static void __devinit snd_rme32_proc_init(struct rme32 * rme32) | |||
1582 | * control interface | 1582 | * control interface |
1583 | */ | 1583 | */ |
1584 | 1584 | ||
1585 | static int | 1585 | #define snd_rme32_info_loopback_control snd_ctl_boolean_mono_info |
1586 | snd_rme32_info_loopback_control(struct snd_kcontrol *kcontrol, | 1586 | |
1587 | struct snd_ctl_elem_info *uinfo) | ||
1588 | { | ||
1589 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1590 | uinfo->count = 1; | ||
1591 | uinfo->value.integer.min = 0; | ||
1592 | uinfo->value.integer.max = 1; | ||
1593 | return 0; | ||
1594 | } | ||
1595 | static int | 1587 | static int |
1596 | snd_rme32_get_loopback_control(struct snd_kcontrol *kcontrol, | 1588 | snd_rme32_get_loopback_control(struct snd_kcontrol *kcontrol, |
1597 | struct snd_ctl_elem_value *ucontrol) | 1589 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/pci/rme96.c b/sound/pci/rme96.c index e3304b7ccbcb..9a4596f879e8 100644 --- a/sound/pci/rme96.c +++ b/sound/pci/rme96.c | |||
@@ -1826,15 +1826,8 @@ snd_rme96_proc_init(struct rme96 *rme96) | |||
1826 | * control interface | 1826 | * control interface |
1827 | */ | 1827 | */ |
1828 | 1828 | ||
1829 | static int | 1829 | #define snd_rme96_info_loopback_control snd_ctl_boolean_mono_info |
1830 | snd_rme96_info_loopback_control(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 1830 | |
1831 | { | ||
1832 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1833 | uinfo->count = 1; | ||
1834 | uinfo->value.integer.min = 0; | ||
1835 | uinfo->value.integer.max = 1; | ||
1836 | return 0; | ||
1837 | } | ||
1838 | static int | 1831 | static int |
1839 | snd_rme96_get_loopback_control(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 1832 | snd_rme96_get_loopback_control(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
1840 | { | 1833 | { |
diff --git a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c index 3b3ef657f73e..8f798f2fc040 100644 --- a/sound/pci/rme9652/hdsp.c +++ b/sound/pci/rme9652/hdsp.c | |||
@@ -1623,14 +1623,7 @@ static int hdsp_set_spdif_output(struct hdsp *hdsp, int out) | |||
1623 | return 0; | 1623 | return 0; |
1624 | } | 1624 | } |
1625 | 1625 | ||
1626 | static int snd_hdsp_info_spdif_bits(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 1626 | #define snd_hdsp_info_spdif_bits snd_ctl_boolean_mono_info |
1627 | { | ||
1628 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1629 | uinfo->count = 1; | ||
1630 | uinfo->value.integer.min = 0; | ||
1631 | uinfo->value.integer.max = 1; | ||
1632 | return 0; | ||
1633 | } | ||
1634 | 1627 | ||
1635 | static int snd_hdsp_get_spdif_out(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 1628 | static int snd_hdsp_get_spdif_out(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
1636 | { | 1629 | { |
@@ -2111,14 +2104,7 @@ static int snd_hdsp_put_clock_source(struct snd_kcontrol *kcontrol, struct snd_c | |||
2111 | return change; | 2104 | return change; |
2112 | } | 2105 | } |
2113 | 2106 | ||
2114 | static int snd_hdsp_info_clock_source_lock(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 2107 | #define snd_hdsp_info_clock_source_lock snd_ctl_boolean_mono_info |
2115 | { | ||
2116 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
2117 | uinfo->count = 1; | ||
2118 | uinfo->value.integer.min = 0; | ||
2119 | uinfo->value.integer.max = 1; | ||
2120 | return 0; | ||
2121 | } | ||
2122 | 2108 | ||
2123 | static int snd_hdsp_get_clock_source_lock(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 2109 | static int snd_hdsp_get_clock_source_lock(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
2124 | { | 2110 | { |
@@ -2420,14 +2406,7 @@ static int hdsp_set_xlr_breakout_cable(struct hdsp *hdsp, int mode) | |||
2420 | return 0; | 2406 | return 0; |
2421 | } | 2407 | } |
2422 | 2408 | ||
2423 | static int snd_hdsp_info_xlr_breakout_cable(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 2409 | #define snd_hdsp_info_xlr_breakout_cable snd_ctl_boolean_mono_info |
2424 | { | ||
2425 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
2426 | uinfo->count = 1; | ||
2427 | uinfo->value.integer.min = 0; | ||
2428 | uinfo->value.integer.max = 1; | ||
2429 | return 0; | ||
2430 | } | ||
2431 | 2410 | ||
2432 | static int snd_hdsp_get_xlr_breakout_cable(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 2411 | static int snd_hdsp_get_xlr_breakout_cable(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
2433 | { | 2412 | { |
@@ -2483,14 +2462,7 @@ static int hdsp_set_aeb(struct hdsp *hdsp, int mode) | |||
2483 | return 0; | 2462 | return 0; |
2484 | } | 2463 | } |
2485 | 2464 | ||
2486 | static int snd_hdsp_info_aeb(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 2465 | #define snd_hdsp_info_aeb snd_ctl_boolean_mono_info |
2487 | { | ||
2488 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
2489 | uinfo->count = 1; | ||
2490 | uinfo->value.integer.min = 0; | ||
2491 | uinfo->value.integer.max = 1; | ||
2492 | return 0; | ||
2493 | } | ||
2494 | 2466 | ||
2495 | static int snd_hdsp_get_aeb(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 2467 | static int snd_hdsp_get_aeb(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
2496 | { | 2468 | { |
@@ -2729,14 +2701,7 @@ static int hdsp_set_line_output(struct hdsp *hdsp, int out) | |||
2729 | return 0; | 2701 | return 0; |
2730 | } | 2702 | } |
2731 | 2703 | ||
2732 | static int snd_hdsp_info_line_out(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 2704 | #define snd_hdsp_info_line_out snd_ctl_boolean_mono_info |
2733 | { | ||
2734 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
2735 | uinfo->count = 1; | ||
2736 | uinfo->value.integer.min = 0; | ||
2737 | uinfo->value.integer.max = 1; | ||
2738 | return 0; | ||
2739 | } | ||
2740 | 2705 | ||
2741 | static int snd_hdsp_get_line_out(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 2706 | static int snd_hdsp_get_line_out(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
2742 | { | 2707 | { |
@@ -2782,14 +2747,7 @@ static int hdsp_set_precise_pointer(struct hdsp *hdsp, int precise) | |||
2782 | return 0; | 2747 | return 0; |
2783 | } | 2748 | } |
2784 | 2749 | ||
2785 | static int snd_hdsp_info_precise_pointer(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 2750 | #define snd_hdsp_info_precise_pointer snd_ctl_boolean_mono_info |
2786 | { | ||
2787 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
2788 | uinfo->count = 1; | ||
2789 | uinfo->value.integer.min = 0; | ||
2790 | uinfo->value.integer.max = 1; | ||
2791 | return 0; | ||
2792 | } | ||
2793 | 2751 | ||
2794 | static int snd_hdsp_get_precise_pointer(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 2752 | static int snd_hdsp_get_precise_pointer(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
2795 | { | 2753 | { |
@@ -2835,14 +2793,7 @@ static int hdsp_set_use_midi_tasklet(struct hdsp *hdsp, int use_tasklet) | |||
2835 | return 0; | 2793 | return 0; |
2836 | } | 2794 | } |
2837 | 2795 | ||
2838 | static int snd_hdsp_info_use_midi_tasklet(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 2796 | #define snd_hdsp_info_use_midi_tasklet snd_ctl_boolean_mono_info |
2839 | { | ||
2840 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
2841 | uinfo->count = 1; | ||
2842 | uinfo->value.integer.min = 0; | ||
2843 | uinfo->value.integer.max = 1; | ||
2844 | return 0; | ||
2845 | } | ||
2846 | 2797 | ||
2847 | static int snd_hdsp_get_use_midi_tasklet(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 2798 | static int snd_hdsp_get_use_midi_tasklet(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
2848 | { | 2799 | { |
diff --git a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c index 143185e7e4dc..83ea4623e77c 100644 --- a/sound/pci/rme9652/hdspm.c +++ b/sound/pci/rme9652/hdspm.c | |||
@@ -1834,15 +1834,7 @@ static int hdspm_set_line_output(struct hdspm * hdspm, int out) | |||
1834 | return 0; | 1834 | return 0; |
1835 | } | 1835 | } |
1836 | 1836 | ||
1837 | static int snd_hdspm_info_line_out(struct snd_kcontrol *kcontrol, | 1837 | #define snd_hdspm_info_line_out snd_ctl_boolean_mono_info |
1838 | struct snd_ctl_elem_info *uinfo) | ||
1839 | { | ||
1840 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1841 | uinfo->count = 1; | ||
1842 | uinfo->value.integer.min = 0; | ||
1843 | uinfo->value.integer.max = 1; | ||
1844 | return 0; | ||
1845 | } | ||
1846 | 1838 | ||
1847 | static int snd_hdspm_get_line_out(struct snd_kcontrol *kcontrol, | 1839 | static int snd_hdspm_get_line_out(struct snd_kcontrol *kcontrol, |
1848 | struct snd_ctl_elem_value *ucontrol) | 1840 | struct snd_ctl_elem_value *ucontrol) |
@@ -1897,15 +1889,7 @@ static int hdspm_set_tx_64(struct hdspm * hdspm, int out) | |||
1897 | return 0; | 1889 | return 0; |
1898 | } | 1890 | } |
1899 | 1891 | ||
1900 | static int snd_hdspm_info_tx_64(struct snd_kcontrol *kcontrol, | 1892 | #define snd_hdspm_info_tx_64 snd_ctl_boolean_mono_info |
1901 | struct snd_ctl_elem_info *uinfo) | ||
1902 | { | ||
1903 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1904 | uinfo->count = 1; | ||
1905 | uinfo->value.integer.min = 0; | ||
1906 | uinfo->value.integer.max = 1; | ||
1907 | return 0; | ||
1908 | } | ||
1909 | 1893 | ||
1910 | static int snd_hdspm_get_tx_64(struct snd_kcontrol *kcontrol, | 1894 | static int snd_hdspm_get_tx_64(struct snd_kcontrol *kcontrol, |
1911 | struct snd_ctl_elem_value *ucontrol) | 1895 | struct snd_ctl_elem_value *ucontrol) |
@@ -1960,15 +1944,7 @@ static int hdspm_set_c_tms(struct hdspm * hdspm, int out) | |||
1960 | return 0; | 1944 | return 0; |
1961 | } | 1945 | } |
1962 | 1946 | ||
1963 | static int snd_hdspm_info_c_tms(struct snd_kcontrol *kcontrol, | 1947 | #define snd_hdspm_info_c_tms snd_ctl_boolean_mono_info |
1964 | struct snd_ctl_elem_info *uinfo) | ||
1965 | { | ||
1966 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1967 | uinfo->count = 1; | ||
1968 | uinfo->value.integer.min = 0; | ||
1969 | uinfo->value.integer.max = 1; | ||
1970 | return 0; | ||
1971 | } | ||
1972 | 1948 | ||
1973 | static int snd_hdspm_get_c_tms(struct snd_kcontrol *kcontrol, | 1949 | static int snd_hdspm_get_c_tms(struct snd_kcontrol *kcontrol, |
1974 | struct snd_ctl_elem_value *ucontrol) | 1950 | struct snd_ctl_elem_value *ucontrol) |
@@ -2023,15 +1999,7 @@ static int hdspm_set_safe_mode(struct hdspm * hdspm, int out) | |||
2023 | return 0; | 1999 | return 0; |
2024 | } | 2000 | } |
2025 | 2001 | ||
2026 | static int snd_hdspm_info_safe_mode(struct snd_kcontrol *kcontrol, | 2002 | #define snd_hdspm_info_safe_mode snd_ctl_boolean_mono_info |
2027 | struct snd_ctl_elem_info *uinfo) | ||
2028 | { | ||
2029 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
2030 | uinfo->count = 1; | ||
2031 | uinfo->value.integer.min = 0; | ||
2032 | uinfo->value.integer.max = 1; | ||
2033 | return 0; | ||
2034 | } | ||
2035 | 2003 | ||
2036 | static int snd_hdspm_get_safe_mode(struct snd_kcontrol *kcontrol, | 2004 | static int snd_hdspm_get_safe_mode(struct snd_kcontrol *kcontrol, |
2037 | struct snd_ctl_elem_value *ucontrol) | 2005 | struct snd_ctl_elem_value *ucontrol) |
@@ -2086,15 +2054,7 @@ static int hdspm_set_emphasis(struct hdspm * hdspm, int emp) | |||
2086 | return 0; | 2054 | return 0; |
2087 | } | 2055 | } |
2088 | 2056 | ||
2089 | static int snd_hdspm_info_emphasis(struct snd_kcontrol *kcontrol, | 2057 | #define snd_hdspm_info_emphasis snd_ctl_boolean_mono_info |
2090 | struct snd_ctl_elem_info *uinfo) | ||
2091 | { | ||
2092 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
2093 | uinfo->count = 1; | ||
2094 | uinfo->value.integer.min = 0; | ||
2095 | uinfo->value.integer.max = 1; | ||
2096 | return 0; | ||
2097 | } | ||
2098 | 2058 | ||
2099 | static int snd_hdspm_get_emphasis(struct snd_kcontrol *kcontrol, | 2059 | static int snd_hdspm_get_emphasis(struct snd_kcontrol *kcontrol, |
2100 | struct snd_ctl_elem_value *ucontrol) | 2060 | struct snd_ctl_elem_value *ucontrol) |
@@ -2149,15 +2109,7 @@ static int hdspm_set_dolby(struct hdspm * hdspm, int dol) | |||
2149 | return 0; | 2109 | return 0; |
2150 | } | 2110 | } |
2151 | 2111 | ||
2152 | static int snd_hdspm_info_dolby(struct snd_kcontrol *kcontrol, | 2112 | #define snd_hdspm_info_dolby snd_ctl_boolean_mono_info |
2153 | struct snd_ctl_elem_info *uinfo) | ||
2154 | { | ||
2155 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
2156 | uinfo->count = 1; | ||
2157 | uinfo->value.integer.min = 0; | ||
2158 | uinfo->value.integer.max = 1; | ||
2159 | return 0; | ||
2160 | } | ||
2161 | 2113 | ||
2162 | static int snd_hdspm_get_dolby(struct snd_kcontrol *kcontrol, | 2114 | static int snd_hdspm_get_dolby(struct snd_kcontrol *kcontrol, |
2163 | struct snd_ctl_elem_value *ucontrol) | 2115 | struct snd_ctl_elem_value *ucontrol) |
@@ -2212,15 +2164,7 @@ static int hdspm_set_professional(struct hdspm * hdspm, int dol) | |||
2212 | return 0; | 2164 | return 0; |
2213 | } | 2165 | } |
2214 | 2166 | ||
2215 | static int snd_hdspm_info_professional(struct snd_kcontrol *kcontrol, | 2167 | #define snd_hdspm_info_professional snd_ctl_boolean_mono_info |
2216 | struct snd_ctl_elem_info *uinfo) | ||
2217 | { | ||
2218 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
2219 | uinfo->count = 1; | ||
2220 | uinfo->value.integer.min = 0; | ||
2221 | uinfo->value.integer.max = 1; | ||
2222 | return 0; | ||
2223 | } | ||
2224 | 2168 | ||
2225 | static int snd_hdspm_get_professional(struct snd_kcontrol *kcontrol, | 2169 | static int snd_hdspm_get_professional(struct snd_kcontrol *kcontrol, |
2226 | struct snd_ctl_elem_value *ucontrol) | 2170 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/pci/rme9652/rme9652.c b/sound/pci/rme9652/rme9652.c index 2de27405a0bd..34f96f12e5bf 100644 --- a/sound/pci/rme9652/rme9652.c +++ b/sound/pci/rme9652/rme9652.c | |||
@@ -1067,14 +1067,7 @@ static int rme9652_set_spdif_output(struct snd_rme9652 *rme9652, int out) | |||
1067 | return 0; | 1067 | return 0; |
1068 | } | 1068 | } |
1069 | 1069 | ||
1070 | static int snd_rme9652_info_spdif_out(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 1070 | #define snd_rme9652_info_spdif_out snd_ctl_boolean_mono_info |
1071 | { | ||
1072 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1073 | uinfo->count = 1; | ||
1074 | uinfo->value.integer.min = 0; | ||
1075 | uinfo->value.integer.max = 1; | ||
1076 | return 0; | ||
1077 | } | ||
1078 | 1071 | ||
1079 | static int snd_rme9652_get_spdif_out(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 1072 | static int snd_rme9652_get_spdif_out(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
1080 | { | 1073 | { |
@@ -1338,14 +1331,7 @@ static int snd_rme9652_put_thru(struct snd_kcontrol *kcontrol, struct snd_ctl_el | |||
1338 | .put = snd_rme9652_put_passthru, \ | 1331 | .put = snd_rme9652_put_passthru, \ |
1339 | .get = snd_rme9652_get_passthru } | 1332 | .get = snd_rme9652_get_passthru } |
1340 | 1333 | ||
1341 | static int snd_rme9652_info_passthru(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 1334 | #define snd_rme9652_info_passthru snd_ctl_boolean_mono_info |
1342 | { | ||
1343 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1344 | uinfo->count = 1; | ||
1345 | uinfo->value.integer.min = 0; | ||
1346 | uinfo->value.integer.max = 1; | ||
1347 | return 0; | ||
1348 | } | ||
1349 | 1335 | ||
1350 | static int snd_rme9652_get_passthru(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 1336 | static int snd_rme9652_get_passthru(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
1351 | { | 1337 | { |
@@ -1445,14 +1431,7 @@ static int snd_rme9652_get_adat_sync(struct snd_kcontrol *kcontrol, struct snd_c | |||
1445 | .info = snd_rme9652_info_tc_valid, \ | 1431 | .info = snd_rme9652_info_tc_valid, \ |
1446 | .get = snd_rme9652_get_tc_valid } | 1432 | .get = snd_rme9652_get_tc_valid } |
1447 | 1433 | ||
1448 | static int snd_rme9652_info_tc_valid(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 1434 | #define snd_rme9652_info_tc_valid snd_ctl_boolean_mono_info |
1449 | { | ||
1450 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1451 | uinfo->count = 1; | ||
1452 | uinfo->value.integer.min = 0; | ||
1453 | uinfo->value.integer.max = 1; | ||
1454 | return 0; | ||
1455 | } | ||
1456 | 1435 | ||
1457 | static int snd_rme9652_get_tc_valid(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 1436 | static int snd_rme9652_get_tc_valid(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
1458 | { | 1437 | { |
diff --git a/sound/pci/trident/trident_main.c b/sound/pci/trident/trident_main.c index 7ca606272460..00e4004d5638 100644 --- a/sound/pci/trident/trident_main.c +++ b/sound/pci/trident/trident_main.c | |||
@@ -2317,15 +2317,7 @@ int __devinit snd_trident_spdif_pcm(struct snd_trident * trident, | |||
2317 | Description: enable/disable S/PDIF out from ac97 mixer | 2317 | Description: enable/disable S/PDIF out from ac97 mixer |
2318 | ---------------------------------------------------------------------------*/ | 2318 | ---------------------------------------------------------------------------*/ |
2319 | 2319 | ||
2320 | static int snd_trident_spdif_control_info(struct snd_kcontrol *kcontrol, | 2320 | #define snd_trident_spdif_control_info snd_ctl_boolean_mono_info |
2321 | struct snd_ctl_elem_info *uinfo) | ||
2322 | { | ||
2323 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
2324 | uinfo->count = 1; | ||
2325 | uinfo->value.integer.min = 0; | ||
2326 | uinfo->value.integer.max = 1; | ||
2327 | return 0; | ||
2328 | } | ||
2329 | 2321 | ||
2330 | static int snd_trident_spdif_control_get(struct snd_kcontrol *kcontrol, | 2322 | static int snd_trident_spdif_control_get(struct snd_kcontrol *kcontrol, |
2331 | struct snd_ctl_elem_value *ucontrol) | 2323 | struct snd_ctl_elem_value *ucontrol) |
@@ -2545,15 +2537,7 @@ static struct snd_kcontrol_new snd_trident_spdif_stream __devinitdata = | |||
2545 | Description: enable/disable rear path for ac97 | 2537 | Description: enable/disable rear path for ac97 |
2546 | ---------------------------------------------------------------------------*/ | 2538 | ---------------------------------------------------------------------------*/ |
2547 | 2539 | ||
2548 | static int snd_trident_ac97_control_info(struct snd_kcontrol *kcontrol, | 2540 | #define snd_trident_ac97_control_info snd_ctl_boolean_mono_info |
2549 | struct snd_ctl_elem_info *uinfo) | ||
2550 | { | ||
2551 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
2552 | uinfo->count = 1; | ||
2553 | uinfo->value.integer.min = 0; | ||
2554 | uinfo->value.integer.max = 1; | ||
2555 | return 0; | ||
2556 | } | ||
2557 | 2541 | ||
2558 | static int snd_trident_ac97_control_get(struct snd_kcontrol *kcontrol, | 2542 | static int snd_trident_ac97_control_get(struct snd_kcontrol *kcontrol, |
2559 | struct snd_ctl_elem_value *ucontrol) | 2543 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/pci/via82xx.c b/sound/pci/via82xx.c index 6ea09df0c73a..5faa57956ca9 100644 --- a/sound/pci/via82xx.c +++ b/sound/pci/via82xx.c | |||
@@ -1572,15 +1572,7 @@ static struct snd_kcontrol_new snd_via8233_capture_source __devinitdata = { | |||
1572 | .put = snd_via8233_capture_source_put, | 1572 | .put = snd_via8233_capture_source_put, |
1573 | }; | 1573 | }; |
1574 | 1574 | ||
1575 | static int snd_via8233_dxs3_spdif_info(struct snd_kcontrol *kcontrol, | 1575 | #define snd_via8233_dxs3_spdif_info snd_ctl_boolean_mono_info |
1576 | struct snd_ctl_elem_info *uinfo) | ||
1577 | { | ||
1578 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1579 | uinfo->count = 1; | ||
1580 | uinfo->value.integer.min = 0; | ||
1581 | uinfo->value.integer.max = 1; | ||
1582 | return 0; | ||
1583 | } | ||
1584 | 1576 | ||
1585 | static int snd_via8233_dxs3_spdif_get(struct snd_kcontrol *kcontrol, | 1577 | static int snd_via8233_dxs3_spdif_get(struct snd_kcontrol *kcontrol, |
1586 | struct snd_ctl_elem_value *ucontrol) | 1578 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/pci/ymfpci/ymfpci_main.c b/sound/pci/ymfpci/ymfpci_main.c index ab7a81c35705..7fa57c9ecc5f 100644 --- a/sound/pci/ymfpci/ymfpci_main.c +++ b/sound/pci/ymfpci/ymfpci_main.c | |||
@@ -1443,22 +1443,7 @@ static struct snd_kcontrol_new snd_ymfpci_drec_source __devinitdata = { | |||
1443 | .get = snd_ymfpci_get_single, .put = snd_ymfpci_put_single, \ | 1443 | .get = snd_ymfpci_get_single, .put = snd_ymfpci_put_single, \ |
1444 | .private_value = ((reg) | ((shift) << 16)) } | 1444 | .private_value = ((reg) | ((shift) << 16)) } |
1445 | 1445 | ||
1446 | static int snd_ymfpci_info_single(struct snd_kcontrol *kcontrol, | 1446 | #define snd_ymfpci_info_single snd_ctl_boolean_mono_info |
1447 | struct snd_ctl_elem_info *uinfo) | ||
1448 | { | ||
1449 | int reg = kcontrol->private_value & 0xffff; | ||
1450 | |||
1451 | switch (reg) { | ||
1452 | case YDSXGR_SPDIFOUTCTRL: break; | ||
1453 | case YDSXGR_SPDIFINCTRL: break; | ||
1454 | default: return -EINVAL; | ||
1455 | } | ||
1456 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1457 | uinfo->count = 1; | ||
1458 | uinfo->value.integer.min = 0; | ||
1459 | uinfo->value.integer.max = 1; | ||
1460 | return 0; | ||
1461 | } | ||
1462 | 1447 | ||
1463 | static int snd_ymfpci_get_single(struct snd_kcontrol *kcontrol, | 1448 | static int snd_ymfpci_get_single(struct snd_kcontrol *kcontrol, |
1464 | struct snd_ctl_elem_value *ucontrol) | 1449 | struct snd_ctl_elem_value *ucontrol) |
@@ -1570,14 +1555,7 @@ static int snd_ymfpci_put_double(struct snd_kcontrol *kcontrol, struct snd_ctl_e | |||
1570 | /* | 1555 | /* |
1571 | * 4ch duplication | 1556 | * 4ch duplication |
1572 | */ | 1557 | */ |
1573 | static int snd_ymfpci_info_dup4ch(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 1558 | #define snd_ymfpci_info_dup4ch snd_ctl_boolean_mono_info |
1574 | { | ||
1575 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1576 | uinfo->count = 1; | ||
1577 | uinfo->value.integer.min = 0; | ||
1578 | uinfo->value.integer.max = 1; | ||
1579 | return 0; | ||
1580 | } | ||
1581 | 1559 | ||
1582 | static int snd_ymfpci_get_dup4ch(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 1560 | static int snd_ymfpci_get_dup4ch(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
1583 | { | 1561 | { |
@@ -1665,14 +1643,7 @@ static int snd_ymfpci_set_gpio_out(struct snd_ymfpci *chip, int pin, int enable) | |||
1665 | return 0; | 1643 | return 0; |
1666 | } | 1644 | } |
1667 | 1645 | ||
1668 | static int snd_ymfpci_gpio_sw_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 1646 | #define snd_ymfpci_gpio_sw_info snd_ctl_boolean_mono_info |
1669 | { | ||
1670 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1671 | uinfo->count = 1; | ||
1672 | uinfo->value.integer.min = 0; | ||
1673 | uinfo->value.integer.max = 1; | ||
1674 | return 0; | ||
1675 | } | ||
1676 | 1647 | ||
1677 | static int snd_ymfpci_gpio_sw_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 1648 | static int snd_ymfpci_gpio_sw_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
1678 | { | 1649 | { |
diff --git a/sound/pcmcia/vx/vxp_mixer.c b/sound/pcmcia/vx/vxp_mixer.c index 2b1f996c898d..1eff158b8687 100644 --- a/sound/pcmcia/vx/vxp_mixer.c +++ b/sound/pcmcia/vx/vxp_mixer.c | |||
@@ -80,14 +80,7 @@ static struct snd_kcontrol_new vx_control_mic_level = { | |||
80 | /* | 80 | /* |
81 | * mic boost level control (for VXP440) | 81 | * mic boost level control (for VXP440) |
82 | */ | 82 | */ |
83 | static int vx_mic_boost_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 83 | #define vx_mic_boost_info snd_ctl_boolean_mono_info |
84 | { | ||
85 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
86 | uinfo->count = 1; | ||
87 | uinfo->value.integer.min = 0; | ||
88 | uinfo->value.integer.max = 1; | ||
89 | return 0; | ||
90 | } | ||
91 | 84 | ||
92 | static int vx_mic_boost_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 85 | static int vx_mic_boost_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
93 | { | 86 | { |
diff --git a/sound/ppc/daca.c b/sound/ppc/daca.c index 57202b0f033e..c5a1f0be6a4d 100644 --- a/sound/ppc/daca.c +++ b/sound/ppc/daca.c | |||
@@ -91,15 +91,7 @@ static int daca_set_volume(struct pmac_daca *mix) | |||
91 | 91 | ||
92 | 92 | ||
93 | /* deemphasis switch */ | 93 | /* deemphasis switch */ |
94 | static int daca_info_deemphasis(struct snd_kcontrol *kcontrol, | 94 | #define daca_info_deemphasis snd_ctl_boolean_mono_info |
95 | struct snd_ctl_elem_info *uinfo) | ||
96 | { | ||
97 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
98 | uinfo->count = 1; | ||
99 | uinfo->value.integer.min = 0; | ||
100 | uinfo->value.integer.max = 1; | ||
101 | return 0; | ||
102 | } | ||
103 | 95 | ||
104 | static int daca_get_deemphasis(struct snd_kcontrol *kcontrol, | 96 | static int daca_get_deemphasis(struct snd_kcontrol *kcontrol, |
105 | struct snd_ctl_elem_value *ucontrol) | 97 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/ppc/pmac.c b/sound/ppc/pmac.c index 7a22f0f3784a..adbc86855b09 100644 --- a/sound/ppc/pmac.c +++ b/sound/ppc/pmac.c | |||
@@ -1035,29 +1035,6 @@ static int __init snd_pmac_detect(struct snd_pmac *chip) | |||
1035 | return 0; | 1035 | return 0; |
1036 | } | 1036 | } |
1037 | 1037 | ||
1038 | /* | ||
1039 | * exported - boolean info callbacks for ease of programming | ||
1040 | */ | ||
1041 | int snd_pmac_boolean_stereo_info(struct snd_kcontrol *kcontrol, | ||
1042 | struct snd_ctl_elem_info *uinfo) | ||
1043 | { | ||
1044 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1045 | uinfo->count = 2; | ||
1046 | uinfo->value.integer.min = 0; | ||
1047 | uinfo->value.integer.max = 1; | ||
1048 | return 0; | ||
1049 | } | ||
1050 | |||
1051 | int snd_pmac_boolean_mono_info(struct snd_kcontrol *kcontrol, | ||
1052 | struct snd_ctl_elem_info *uinfo) | ||
1053 | { | ||
1054 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1055 | uinfo->count = 1; | ||
1056 | uinfo->value.integer.min = 0; | ||
1057 | uinfo->value.integer.max = 1; | ||
1058 | return 0; | ||
1059 | } | ||
1060 | |||
1061 | #ifdef PMAC_SUPPORT_AUTOMUTE | 1038 | #ifdef PMAC_SUPPORT_AUTOMUTE |
1062 | /* | 1039 | /* |
1063 | * auto-mute | 1040 | * auto-mute |
diff --git a/sound/ppc/pmac.h b/sound/ppc/pmac.h index 8394e66ceb00..25c512c2d74d 100644 --- a/sound/ppc/pmac.h +++ b/sound/ppc/pmac.h | |||
@@ -202,8 +202,8 @@ int snd_pmac_keywest_init(struct pmac_keywest *i2c); | |||
202 | void snd_pmac_keywest_cleanup(struct pmac_keywest *i2c); | 202 | void snd_pmac_keywest_cleanup(struct pmac_keywest *i2c); |
203 | 203 | ||
204 | /* misc */ | 204 | /* misc */ |
205 | int snd_pmac_boolean_stereo_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo); | 205 | #define snd_pmac_boolean_stereo_info snd_ctl_boolean_stereo_info |
206 | int snd_pmac_boolean_mono_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo); | 206 | #define snd_pmac_boolean_mono_info snd_ctl_boolean_mono_info |
207 | 207 | ||
208 | int snd_pmac_add_automute(struct snd_pmac *chip); | 208 | int snd_pmac_add_automute(struct snd_pmac *chip); |
209 | 209 | ||
diff --git a/sound/sh/aica.c b/sound/sh/aica.c index 739786529ca5..131ec4812288 100644 --- a/sound/sh/aica.c +++ b/sound/sh/aica.c | |||
@@ -451,15 +451,7 @@ static int __init snd_aicapcmchip(struct snd_card_aica | |||
451 | } | 451 | } |
452 | 452 | ||
453 | /* Mixer controls */ | 453 | /* Mixer controls */ |
454 | static int aica_pcmswitch_info(struct snd_kcontrol *kcontrol, | 454 | #define aica_pcmswitch_info snd_ctl_boolean_mono_info |
455 | struct snd_ctl_elem_info *uinfo) | ||
456 | { | ||
457 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
458 | uinfo->count = 1; | ||
459 | uinfo->value.integer.min = 0; | ||
460 | uinfo->value.integer.max = 1; | ||
461 | return 0; | ||
462 | } | ||
463 | 455 | ||
464 | static int aica_pcmswitch_get(struct snd_kcontrol *kcontrol, | 456 | static int aica_pcmswitch_get(struct snd_kcontrol *kcontrol, |
465 | struct snd_ctl_elem_value *ucontrol) | 457 | struct snd_ctl_elem_value *ucontrol) |
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 92d5d917b73b..91651bdfa761 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c | |||
@@ -1362,26 +1362,6 @@ int snd_soc_info_volsw_ext(struct snd_kcontrol *kcontrol, | |||
1362 | EXPORT_SYMBOL_GPL(snd_soc_info_volsw_ext); | 1362 | EXPORT_SYMBOL_GPL(snd_soc_info_volsw_ext); |
1363 | 1363 | ||
1364 | /** | 1364 | /** |
1365 | * snd_soc_info_bool_ext - external single boolean mixer info callback | ||
1366 | * @kcontrol: mixer control | ||
1367 | * @uinfo: control element information | ||
1368 | * | ||
1369 | * Callback to provide information about a single boolean external mixer control. | ||
1370 | * | ||
1371 | * Returns 0 for success. | ||
1372 | */ | ||
1373 | int snd_soc_info_bool_ext(struct snd_kcontrol *kcontrol, | ||
1374 | struct snd_ctl_elem_info *uinfo) | ||
1375 | { | ||
1376 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1377 | uinfo->count = 1; | ||
1378 | uinfo->value.integer.min = 0; | ||
1379 | uinfo->value.integer.max = 1; | ||
1380 | return 0; | ||
1381 | } | ||
1382 | EXPORT_SYMBOL_GPL(snd_soc_info_bool_ext); | ||
1383 | |||
1384 | /** | ||
1385 | * snd_soc_info_volsw - single mixer info callback | 1365 | * snd_soc_info_volsw - single mixer info callback |
1386 | * @kcontrol: mixer control | 1366 | * @kcontrol: mixer control |
1387 | * @uinfo: control element information | 1367 | * @uinfo: control element information |
diff --git a/sound/usb/usbmixer.c b/sound/usb/usbmixer.c index 325d4b6b54aa..98d54483fec7 100644 --- a/sound/usb/usbmixer.c +++ b/sound/usb/usbmixer.c | |||
@@ -1888,14 +1888,7 @@ static int snd_usb_soundblaster_remote_init(struct usb_mixer_interface *mixer) | |||
1888 | return 0; | 1888 | return 0; |
1889 | } | 1889 | } |
1890 | 1890 | ||
1891 | static int snd_audigy2nx_led_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 1891 | #define snd_audigy2nx_led_info snd_ctl_boolean_mono_info |
1892 | { | ||
1893 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | ||
1894 | uinfo->count = 1; | ||
1895 | uinfo->value.integer.min = 0; | ||
1896 | uinfo->value.integer.max = 1; | ||
1897 | return 0; | ||
1898 | } | ||
1899 | 1892 | ||
1900 | static int snd_audigy2nx_led_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 1893 | static int snd_audigy2nx_led_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
1901 | { | 1894 | { |