On Monday, March 01, 2010 6:14 AM Mark Brown wrote:
On Fri, Feb 26, 2010 at 06:22:34PM -0600, Olaya, Margarita wrote:
Do you mean something like this? time_left = wait_for_completion_timeout(&priv->ready, msecs_to_jiffies(48)); if(!time_left) { twl_i2c_read_u8(TWL4030_MODULE_AUDIO_VOICE, &intid, TWL6040_REG_INTID); if (!(intid & TWL6040_READYINT)) goto error; }
return 0;
error: dev_err(codec->dev, "timeout waiting for READYINT\n"); return -ETIMEDOUT;
Yes, or wrapped in a for loop with shorter timeouts on the individual waits.
but in this case will it not take unnecessarily 48ms when the interruption line is not valid?
You're always going to get some additional delay when polling unless you busy wait for completion, which obviously has its own problems.
Ok, thanks for the comment I'll re-write the loop for next version of patches