Use wait_event_interruptible() instead of the deprecated interruptible_sleep_on(). The replacements were both straight-forward as the sleeps were conditionally-looped. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Domen Puncer --- kj-domen/arch/cris/arch-v10/drivers/eeprom.c | 24 ++++++++---------------- 1 files changed, 8 insertions(+), 16 deletions(-) diff -puN arch/cris/arch-v10/drivers/eeprom.c~int_sleep_on-arch_cris_arch-v10_drivers_eeprom arch/cris/arch-v10/drivers/eeprom.c --- kj/arch/cris/arch-v10/drivers/eeprom.c~int_sleep_on-arch_cris_arch-v10_drivers_eeprom 2005-03-02 10:43:52.000000000 +0100 +++ kj-domen/arch/cris/arch-v10/drivers/eeprom.c 2005-03-02 10:43:52.000000000 +0100 @@ -94,6 +94,7 @@ #include #include #include +#include #include #include "i2c.h" @@ -526,15 +527,9 @@ static ssize_t eeprom_read(struct file * return -EFAULT; } - while(eeprom.busy) - { - interruptible_sleep_on(&eeprom.wait_q); - - /* bail out if we get interrupted */ - if (signal_pending(current)) - return -EINTR; - - } + wait_event_interruptible(eeprom.wait_q, !eeprom.busy); + if (signal_pending(current)) + return -EINTR; eeprom.busy++; page = (unsigned char) (p >> 8); @@ -604,13 +599,10 @@ static ssize_t eeprom_write(struct file return -EFAULT; } - while(eeprom.busy) - { - interruptible_sleep_on(&eeprom.wait_q); - /* bail out if we get interrupted */ - if (signal_pending(current)) - return -EINTR; - } + wait_event_interruptible(eeprom.wait_q, !eeprom.busy); + /* bail out if we get interrupted */ + if (signal_pending(current)) + return -EINTR; eeprom.busy++; for(i = 0; (i < EEPROM_RETRIES) && (restart > 0); i++) { _