diff options
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/oxygen/oxygen_io.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/sound/pci/oxygen/oxygen_io.c b/sound/pci/oxygen/oxygen_io.c index c1eb923f2ac9..09b2b2a36df5 100644 --- a/sound/pci/oxygen/oxygen_io.c +++ b/sound/pci/oxygen/oxygen_io.c | |||
@@ -215,17 +215,8 @@ EXPORT_SYMBOL(oxygen_write_spi); | |||
215 | 215 | ||
216 | void oxygen_write_i2c(struct oxygen *chip, u8 device, u8 map, u8 data) | 216 | void oxygen_write_i2c(struct oxygen *chip, u8 device, u8 map, u8 data) |
217 | { | 217 | { |
218 | unsigned long timeout; | ||
219 | |||
220 | /* should not need more than about 300 us */ | 218 | /* should not need more than about 300 us */ |
221 | timeout = jiffies + msecs_to_jiffies(1); | 219 | msleep(1); |
222 | do { | ||
223 | if (!(oxygen_read16(chip, OXYGEN_2WIRE_BUS_STATUS) | ||
224 | & OXYGEN_2WIRE_BUSY)) | ||
225 | break; | ||
226 | udelay(1); | ||
227 | cond_resched(); | ||
228 | } while (time_after_eq(timeout, jiffies)); | ||
229 | 220 | ||
230 | oxygen_write8(chip, OXYGEN_2WIRE_MAP, map); | 221 | oxygen_write8(chip, OXYGEN_2WIRE_MAP, map); |
231 | oxygen_write8(chip, OXYGEN_2WIRE_DATA, data); | 222 | oxygen_write8(chip, OXYGEN_2WIRE_DATA, data); |