[SPARC]: Fix up sleep_on() removal in vfc driver.
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
d95a1b4818
commit
3873658be7
@@ -79,25 +79,10 @@ int vfc_pcf8584_init(struct vfc_dev *dev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void vfc_i2c_delay_wakeup(struct vfc_dev *dev)
|
||||
{
|
||||
/* Used to profile code and eliminate too many delays */
|
||||
VFC_I2C_DEBUG_PRINTK(("vfc%d: Delaying\n", dev->instance));
|
||||
wake_up(&dev->poll_wait);
|
||||
}
|
||||
|
||||
void vfc_i2c_delay_no_busy(struct vfc_dev *dev, unsigned long usecs)
|
||||
{
|
||||
DEFINE_WAIT(wait);
|
||||
init_timer(&dev->poll_timer);
|
||||
dev->poll_timer.expires = jiffies + usecs_to_jiffies(usecs);
|
||||
dev->poll_timer.data=(unsigned long)dev;
|
||||
dev->poll_timer.function=(void *)(unsigned long)vfc_i2c_delay_wakeup;
|
||||
add_timer(&dev->poll_timer);
|
||||
prepare_to_wait(&dev->poll_wait, &wait, TASK_UNINTERRUPTIBLE);
|
||||
schedule();
|
||||
del_timer(&dev->poll_timer);
|
||||
finish_wait(&dev->poll_wait, &wait);
|
||||
set_current_state(TASK_UNINTERRUPTIBLE);
|
||||
schedule_timeout(usecs_to_jiffies(usecs));
|
||||
}
|
||||
|
||||
void inline vfc_i2c_delay(struct vfc_dev *dev)
|
||||
|
Reference in New Issue
Block a user