diff options
Diffstat (limited to 'sound/aoa/codecs')
-rw-r--r-- | sound/aoa/codecs/snd-aoa-codec-onyx.c | 11 | ||||
-rw-r--r-- | sound/aoa/codecs/snd-aoa-codec-onyx.h | 1 | ||||
-rw-r--r-- | sound/aoa/codecs/snd-aoa-codec-tas.c | 1 |
3 files changed, 10 insertions, 3 deletions
diff --git a/sound/aoa/codecs/snd-aoa-codec-onyx.c b/sound/aoa/codecs/snd-aoa-codec-onyx.c index 0b7650788f1..b00fc4842c9 100644 --- a/sound/aoa/codecs/snd-aoa-codec-onyx.c +++ b/sound/aoa/codecs/snd-aoa-codec-onyx.c @@ -825,7 +825,16 @@ static int onyx_resume(struct codec_info_item *cii) int err = -ENXIO; mutex_lock(&onyx->mutex); - /* take codec out of suspend */ + + /* reset codec */ + onyx->codec.gpio->methods->set_hw_reset(onyx->codec.gpio, 0); + msleep(1); + onyx->codec.gpio->methods->set_hw_reset(onyx->codec.gpio, 1); + msleep(1); + onyx->codec.gpio->methods->set_hw_reset(onyx->codec.gpio, 0); + msleep(1); + + /* take codec out of suspend (if it still is after reset) */ if (onyx_read_register(onyx, ONYX_REG_CONTROL, &v)) goto out_unlock; onyx_write_register(onyx, ONYX_REG_CONTROL, v & ~(ONYX_ADPSV | ONYX_DAPSV)); diff --git a/sound/aoa/codecs/snd-aoa-codec-onyx.h b/sound/aoa/codecs/snd-aoa-codec-onyx.h index aeedda77369..ffd20254ff7 100644 --- a/sound/aoa/codecs/snd-aoa-codec-onyx.h +++ b/sound/aoa/codecs/snd-aoa-codec-onyx.h @@ -9,7 +9,6 @@ #define __SND_AOA_CODEC_ONYX_H #include <stddef.h> #include <linux/i2c.h> -#include <linux/i2c-dev.h> #include <asm/pmac_low_i2c.h> #include <asm/prom.h> diff --git a/sound/aoa/codecs/snd-aoa-codec-tas.c b/sound/aoa/codecs/snd-aoa-codec-tas.c index 9de8485ba3f..2cd81fa07ce 100644 --- a/sound/aoa/codecs/snd-aoa-codec-tas.c +++ b/sound/aoa/codecs/snd-aoa-codec-tas.c @@ -61,7 +61,6 @@ */ #include <stddef.h> #include <linux/i2c.h> -#include <linux/i2c-dev.h> #include <asm/pmac_low_i2c.h> #include <asm/prom.h> #include <linux/delay.h> |