24 Feb
2010
24 Feb
'10
3:59 p.m.
On Tue, Feb 23, 2010 at 06:10:54PM -0600, Olaya, Margarita wrote:
- if (naudint) {
/* wait for ready interrupt with 48 ms timeout */
time_left = wait_for_completion_timeout(&priv->ready,
msecs_to_jiffies(48));
- } else {
/* retry 3 times only */
for (time_left = 3; time_left > 0; time_left--) {
mdelay(16);
twl_i2c_read_u8(TWL4030_MODULE_AUDIO_VOICE, &intid,
TWL6030_REG_INTID);
if (intid & TWL6030_READYINT)
break;
}
- }
It strikes me that you could combine these two cases - the wait_for_completion_timeout() will function just as well as a delay. I'd also expect to see an error reported if the device doesn't report as ready one way or another.