Skip to contentSkip to conversation

i2c/i2c-ite: remove interruptible_sleep_on_timeout()

PATCH New [email protected] 2 participants 2 messages May 19, 2005 I2C subsystem host drivers

lore
Share & tools
lore
#0 lore raw

PATCH 2/2 i2c/i2c-ite: remove interruptible_sleep_on_timeout()

Replace deprecated interruptible_sleep_on_timeout() with direct wait-queue usage. Patch is compile-tested, sort of; the driver does not build in vanilla kernel either, but I don't seem to add any warnings..

---

 kj-domen/drivers/i2c/busses/i2c-ite.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)
drivers/i2c/busses/i2c-ite.c renamed from drivers/i2c/busses/i2c-ite.c~int_sleep_on-drivers_i2c_busses_i2c-ite +5 -2
diff -puN drivers/i2c/busses/i2c-ite.c~int_sleep_on-drivers_i2c_busses_i2c-ite drivers/i2c/busses/i2c-ite.c
@@ -40,6 +40,7 @@
 #include <linux/delay.h>
 #include <linux/slab.h>
 #include <linux/init.h>
+#include <linux/wait.h>
 #include <asm/irq.h>
 #include <asm/io.h>
 
@@ -107,7 +108,7 @@ static int iic_ite_getclock(void *data)
  * IIC controller interrupts.
  */
 static void iic_ite_waitforpin(void) {
-
+   DEFINE_WAIT(wait);
    int timeout = 2;
    long flags;
 
@@ -121,13 +122,15 @@ static void iic_ite_waitforpin(void) {
 	spin_lock_irqsave(&lock, flags);
 	if (iic_pending = 0) {
 		spin_unlock_irqrestore(&lock, flags);
-		if (interruptible_sleep_on_timeout(&iic_wait, timeout*HZ)) {
+		prepare_to_wait(&iic_wait, &wait, TASK_INTERRUPTIBLE);
+		if (schedule_timeout(timeout*HZ)) {
 			spin_lock_irqsave(&lock, flags);
 			if (iic_pending = 1) {
 				iic_pending = 0;
 			}
 			spin_unlock_irqrestore(&lock, flags);
 		}
+		finish_wait(&iic_wait, &wait);
 	} else {
 		iic_pending = 0;
 		spin_unlock_irqrestore(&lock, flags);

_

Applied
#1 lore raw

PATCH 2/2 i2c/i2c-ite: remove interruptible_sleep_on_timeout()

Quoted 8 lines · On Sun, Mar 06, 2005 at 11:41:50AM +0100, [email protected] wrote:

Replace deprecated interruptible_sleep_on_timeout() with direct wait-queue usage. Patch is compile-tested, sort of; the driver does not build in vanilla kernel either, but I don't seem to add any warnings..

Applied, thanks.

greg k-h