|
@@ -196,6 +196,12 @@ static void meridian_init(struct oxygen *chip)
|
|
|
ak5385_init(chip);
|
|
|
}
|
|
|
|
|
|
+static void halo_init(struct oxygen *chip)
|
|
|
+{
|
|
|
+ ak4396_init(chip);
|
|
|
+ ak5385_init(chip);
|
|
|
+}
|
|
|
+
|
|
|
static void generic_cleanup(struct oxygen *chip)
|
|
|
{
|
|
|
}
|
|
@@ -211,6 +217,11 @@ static void meridian_resume(struct oxygen *chip)
|
|
|
ak4396_registers_init(chip);
|
|
|
}
|
|
|
|
|
|
+static void halo_resume(struct oxygen *chip)
|
|
|
+{
|
|
|
+ ak4396_registers_init(chip);
|
|
|
+}
|
|
|
+
|
|
|
static void set_ak4396_params(struct oxygen *chip,
|
|
|
struct snd_pcm_hw_params *params)
|
|
|
{
|
|
@@ -335,6 +346,11 @@ static int __devinit get_oxygen_model(struct oxygen *chip,
|
|
|
CAPTURE_0_FROM_I2S_2 |
|
|
|
CAPTURE_1_FROM_SPDIF;
|
|
|
break;
|
|
|
+ case MODEL_HALO:
|
|
|
+ chip->model.init = halo_init;
|
|
|
+ chip->model.resume = halo_resume;
|
|
|
+ chip->model.set_adc_params = set_ak5385_params;
|
|
|
+ break;
|
|
|
}
|
|
|
if (id->driver_data == MODEL_MERIDIAN ||
|
|
|
id->driver_data == MODEL_HALO) {
|