[SPARC]: sbus/vfc_i2c: remove sleep_on() usage
Use wait-queue directly instead of the deprecated sleep_on() function. This required adding a local wait-queue. Also use new (added in separate patch to K-J) usecs to jiffies function to convert value. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
cb39d263e7
commit
2d1aea8dd0
@@ -88,14 +88,16 @@ void vfc_i2c_delay_wakeup(struct vfc_dev *dev)
|
|||||||
|
|
||||||
void vfc_i2c_delay_no_busy(struct vfc_dev *dev, unsigned long usecs)
|
void vfc_i2c_delay_no_busy(struct vfc_dev *dev, unsigned long usecs)
|
||||||
{
|
{
|
||||||
|
DEFINE_WAIT(wait);
|
||||||
init_timer(&dev->poll_timer);
|
init_timer(&dev->poll_timer);
|
||||||
dev->poll_timer.expires = jiffies +
|
dev->poll_timer.expires = jiffies + usecs_to_jiffies(usecs);
|
||||||
((unsigned long)usecs*(HZ))/1000000;
|
|
||||||
dev->poll_timer.data=(unsigned long)dev;
|
dev->poll_timer.data=(unsigned long)dev;
|
||||||
dev->poll_timer.function=(void *)(unsigned long)vfc_i2c_delay_wakeup;
|
dev->poll_timer.function=(void *)(unsigned long)vfc_i2c_delay_wakeup;
|
||||||
add_timer(&dev->poll_timer);
|
add_timer(&dev->poll_timer);
|
||||||
sleep_on(&dev->poll_wait);
|
prepare_to_wait(&dev->poll_wait, &wait, TASK_UNINTERRUPTIBLE);
|
||||||
|
schedule();
|
||||||
del_timer(&dev->poll_timer);
|
del_timer(&dev->poll_timer);
|
||||||
|
finish_wait(&dev->poll_wait, &wait);
|
||||||
}
|
}
|
||||||
|
|
||||||
void inline vfc_i2c_delay(struct vfc_dev *dev)
|
void inline vfc_i2c_delay(struct vfc_dev *dev)
|
||||||
|
Reference in New Issue
Block a user