浏览代码

ALSA: oxygen: add self-documenting functions

Introduce some trivial functions to better document the relationships of
the various model callbacks.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Clemens Ladisch 16 年之前
父节点
当前提交
c2bc4ff58d
共有 3 个文件被更改,包括 32 次插入7 次删除
  1. 6 1
      sound/pci/oxygen/hifier.c
  2. 6 1
      sound/pci/oxygen/oxygen.c
  3. 20 5
      sound/pci/oxygen/virtuoso.c

+ 6 - 1
sound/pci/oxygen/hifier.c

@@ -94,6 +94,11 @@ static void hifier_cleanup(struct oxygen *chip)
 {
 }
 
+static void hifier_resume(struct oxygen *chip)
+{
+	hifier_registers_init(chip);
+}
+
 static void set_ak4396_params(struct oxygen *chip,
 			       struct snd_pcm_hw_params *params)
 {
@@ -150,7 +155,7 @@ static const struct oxygen_model model_hifier = {
 	.init = hifier_init,
 	.control_filter = hifier_control_filter,
 	.cleanup = hifier_cleanup,
-	.resume = hifier_registers_init,
+	.resume = hifier_resume,
 	.set_dac_params = set_ak4396_params,
 	.set_adc_params = set_cs5340_params,
 	.update_dac_volume = update_ak4396_volume,

+ 6 - 1
sound/pci/oxygen/oxygen.c

@@ -204,6 +204,11 @@ static void generic_resume(struct oxygen *chip)
 	wm8785_registers_init(chip);
 }
 
+static void meridian_resume(struct oxygen *chip)
+{
+	ak4396_registers_init(chip);
+}
+
 static void set_ak4396_params(struct oxygen *chip,
 			      struct snd_pcm_hw_params *params)
 {
@@ -290,7 +295,7 @@ static int generic_probe(struct oxygen *chip, unsigned long driver_data)
 {
 	if (driver_data == MODEL_MERIDIAN) {
 		chip->model.init = meridian_init;
-		chip->model.resume = ak4396_registers_init;
+		chip->model.resume = meridian_resume;
 		chip->model.set_adc_params = set_ak5385_params;
 		chip->model.device_config = PLAYBACK_0_TO_I2S |
 					    PLAYBACK_1_TO_SPDIF |

+ 20 - 5
sound/pci/oxygen/virtuoso.c

@@ -349,20 +349,35 @@ static void xonar_d1_init(struct oxygen *chip)
 	snd_component_add(chip->card, "CS5361");
 }
 
-static void xonar_cleanup(struct oxygen *chip)
+static void xonar_disable_output(struct oxygen *chip)
 {
 	struct xonar_data *data = chip->model_data;
 
 	oxygen_clear_bits16(chip, OXYGEN_GPIO_DATA, data->output_enable_bit);
 }
 
+static void xonar_d2_cleanup(struct oxygen *chip)
+{
+	xonar_disable_output(chip);
+}
+
 static void xonar_d1_cleanup(struct oxygen *chip)
 {
-	xonar_cleanup(chip);
+	xonar_disable_output(chip);
 	cs4362a_write(chip, 0x01, CS4362A_PDN | CS4362A_CPEN);
 	oxygen_clear_bits8(chip, OXYGEN_FUNCTION, OXYGEN_FUNCTION_RESET_CODEC);
 }
 
+static void xonar_d2_suspend(struct oxygen *chip)
+{
+	xonar_d2_cleanup(chip);
+}
+
+static void xonar_d1_suspend(struct oxygen *chip)
+{
+	xonar_d1_cleanup(chip);
+}
+
 static void xonar_d2_resume(struct oxygen *chip)
 {
 	pcm1796_init(chip);
@@ -557,8 +572,8 @@ static const struct oxygen_model model_xonar_d2 = {
 	.init = xonar_d2_init,
 	.control_filter = xonar_d2_control_filter,
 	.mixer_init = xonar_d2_mixer_init,
-	.cleanup = xonar_cleanup,
-	.suspend = xonar_cleanup,
+	.cleanup = xonar_d2_cleanup,
+	.suspend = xonar_d2_suspend,
 	.resume = xonar_d2_resume,
 	.set_dac_params = set_pcm1796_params,
 	.set_adc_params = set_cs53x1_params,
@@ -591,7 +606,7 @@ static const struct oxygen_model model_xonar_d1 = {
 	.control_filter = xonar_d1_control_filter,
 	.mixer_init = xonar_d1_mixer_init,
 	.cleanup = xonar_d1_cleanup,
-	.suspend = xonar_d1_cleanup,
+	.suspend = xonar_d1_suspend,
 	.resume = xonar_d1_resume,
 	.set_dac_params = set_cs43xx_params,
 	.set_adc_params = set_cs53x1_params,