#include <linux/version.h>
#include <media/saa7146_vv.h>
-/* helper function */
-static void my_wait(struct saa7146_dev *dev, long ms)
-{
- set_current_state(TASK_INTERRUPTIBLE);
- schedule_timeout((((ms+10)/10)*HZ)/1000);
-}
-
u32 saa7146_i2c_func(struct i2c_adapter *adapter)
{
//fm DEB_I2C(("'%s'.\n", adapter->name));
/* set "ABORT-OPERATION"-bit (bit 7)*/
saa7146_write(dev, I2C_STATUS, (dev->i2c_bitrate | MASK_07));
saa7146_write(dev, MC2, (MASK_00 | MASK_16));
- my_wait(dev,SAA7146_I2C_DELAY);
+ msleep(SAA7146_I2C_DELAY);
/* clear all error-bits pending; this is needed because p.123, note 1 */
saa7146_write(dev, I2C_STATUS, dev->i2c_bitrate);
saa7146_write(dev, MC2, (MASK_00 | MASK_16));
- my_wait(dev,SAA7146_I2C_DELAY);
+ msleep(SAA7146_I2C_DELAY);
}
/* check if any error is (still) present. (this can be necessary because p.123, note 1) */
after serious protocol errors caused by e.g. the SAA7740 */
saa7146_write(dev, I2C_STATUS, (dev->i2c_bitrate | MASK_07));
saa7146_write(dev, MC2, (MASK_00 | MASK_16));
- my_wait(dev,SAA7146_I2C_DELAY);
+ msleep(SAA7146_I2C_DELAY);
/* clear all error-bits pending */
saa7146_write(dev, I2C_STATUS, dev->i2c_bitrate);
saa7146_write(dev, MC2, (MASK_00 | MASK_16));
- my_wait(dev,SAA7146_I2C_DELAY);
+ msleep(SAA7146_I2C_DELAY);
/* the data sheet says it might be necessary to clear the status
twice after an abort */
saa7146_write(dev, I2C_STATUS, dev->i2c_bitrate);
saa7146_write(dev, MC2, (MASK_00 | MASK_16));
- my_wait(dev,SAA7146_I2C_DELAY);
+ msleep(SAA7146_I2C_DELAY);
}
/* if any error is still present, a fatal error has occured ... */
if ((++trial < 20) && short_delay)
udelay(10);
else
- my_wait(dev,1);
+ msleep(1);
}
}
}
/* delay a bit before retrying */
- my_wait(dev, 10);
+ msleep(10);
} while (err != num && retries--);