aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/pci/oxygen/oxygen.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/sound/pci/oxygen/oxygen.c b/sound/pci/oxygen/oxygen.c
index f2c37f379d39..1d8e2b29745d 100644
--- a/sound/pci/oxygen/oxygen.c
+++ b/sound/pci/oxygen/oxygen.c
@@ -196,6 +196,12 @@ static void meridian_init(struct oxygen *chip)
196 ak5385_init(chip); 196 ak5385_init(chip);
197} 197}
198 198
199static void halo_init(struct oxygen *chip)
200{
201 ak4396_init(chip);
202 ak5385_init(chip);
203}
204
199static void generic_cleanup(struct oxygen *chip) 205static void generic_cleanup(struct oxygen *chip)
200{ 206{
201} 207}
@@ -211,6 +217,11 @@ static void meridian_resume(struct oxygen *chip)
211 ak4396_registers_init(chip); 217 ak4396_registers_init(chip);
212} 218}
213 219
220static void halo_resume(struct oxygen *chip)
221{
222 ak4396_registers_init(chip);
223}
224
214static void set_ak4396_params(struct oxygen *chip, 225static void set_ak4396_params(struct oxygen *chip,
215 struct snd_pcm_hw_params *params) 226 struct snd_pcm_hw_params *params)
216{ 227{
@@ -335,6 +346,11 @@ static int __devinit get_oxygen_model(struct oxygen *chip,
335 CAPTURE_0_FROM_I2S_2 | 346 CAPTURE_0_FROM_I2S_2 |
336 CAPTURE_1_FROM_SPDIF; 347 CAPTURE_1_FROM_SPDIF;
337 break; 348 break;
349 case MODEL_HALO:
350 chip->model.init = halo_init;
351 chip->model.resume = halo_resume;
352 chip->model.set_adc_params = set_ak5385_params;
353 break;
338 } 354 }
339 if (id->driver_data == MODEL_MERIDIAN || 355 if (id->driver_data == MODEL_MERIDIAN ||
340 id->driver_data == MODEL_HALO) { 356 id->driver_data == MODEL_HALO) {