ALSA: ctxfi: Implement a combined capabilities query method to replace multiple have_x query methods.

Signed-off-by: Harry Butterworth <heb1001@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff --git a/sound/pci/ctxfi/ctatc.c b/sound/pci/ctxfi/ctatc.c
index 952fd94..d8a4423 100644
--- a/sound/pci/ctxfi/ctatc.c
+++ b/sound/pci/ctxfi/ctatc.c
@@ -18,7 +18,6 @@
 #include "ctatc.h"
 #include "ctpcm.h"
 #include "ctmixer.h"
-#include "cthardware.h"
 #include "ctsrc.h"
 #include "ctamixer.h"
 #include "ctdaio.h"
@@ -972,25 +971,11 @@
 	return 0;
 }
 
-static int atc_have_digit_io_switch(struct ct_atc *atc)
+static struct capabilities atc_capabilities(struct ct_atc *atc)
 {
 	struct hw *hw = atc->hw;
 
-	return hw->have_digit_io_switch(hw);
-}
-
-static int atc_have_dedicated_mic(struct ct_atc *atc)
-{
-	struct hw *hw = atc->hw;
-
-	return hw->have_dedicated_mic(hw);
-}
-
-static int atc_have_output_switch(struct ct_atc *atc)
-{
-	struct hw *hw = atc->hw;
-
-	return hw->have_output_switch(hw);
+	return hw->capabilities(hw);
 }
 
 static int atc_output_switch_get(struct ct_atc *atc)
@@ -1007,13 +992,6 @@
 	return hw->output_switch_put(hw, position);
 }
 
-static int atc_have_mic_source_switch(struct ct_atc *atc)
-{
-	struct hw *hw = atc->hw;
-
-	return hw->have_mic_source_switch(hw);
-}
-
 static int atc_mic_source_switch_get(struct ct_atc *atc)
 {
 	struct hw *hw = atc->hw;
@@ -1664,12 +1642,9 @@
 	.spdif_out_get_status = atc_spdif_out_get_status,
 	.spdif_out_set_status = atc_spdif_out_set_status,
 	.spdif_out_passthru = atc_spdif_out_passthru,
-	.have_digit_io_switch = atc_have_digit_io_switch,
-	.have_dedicated_mic = atc_have_dedicated_mic,
-	.have_output_switch = atc_have_output_switch,
+	.capabilities = atc_capabilities,
 	.output_switch_get = atc_output_switch_get,
 	.output_switch_put = atc_output_switch_put,
-	.have_mic_source_switch = atc_have_mic_source_switch,
 	.mic_source_switch_get = atc_mic_source_switch_get,
 	.mic_source_switch_put = atc_mic_source_switch_put,
 #ifdef CONFIG_PM