diff options
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/oxygen/oxygen.c | 16 |
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 | ||
199 | static void halo_init(struct oxygen *chip) | ||
200 | { | ||
201 | ak4396_init(chip); | ||
202 | ak5385_init(chip); | ||
203 | } | ||
204 | |||
199 | static void generic_cleanup(struct oxygen *chip) | 205 | static 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 | ||
220 | static void halo_resume(struct oxygen *chip) | ||
221 | { | ||
222 | ak4396_registers_init(chip); | ||
223 | } | ||
224 | |||
214 | static void set_ak4396_params(struct oxygen *chip, | 225 | static 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) { |