]> git.hungrycats.org Git - linux/commitdiff
I2C: change i2c_delay() to use msleep() instead.
authorGreg Kroah-Hartman <greg@kroah.com>
Tue, 18 May 2004 09:00:39 +0000 (02:00 -0700)
committerGreg Kroah-Hartman <greg@kroah.com>
Tue, 18 May 2004 09:00:39 +0000 (02:00 -0700)
13 files changed:
drivers/i2c/busses/i2c-ali1535.c
drivers/i2c/busses/i2c-ali1563.c
drivers/i2c/busses/i2c-ali15x3.c
drivers/i2c/busses/i2c-amd756.c
drivers/i2c/busses/i2c-amd8111.c
drivers/i2c/busses/i2c-i801.c
drivers/i2c/busses/i2c-piix4.c
drivers/i2c/busses/i2c-sis5595.c
drivers/i2c/busses/i2c-sis630.c
drivers/i2c/busses/i2c-sis96x.c
drivers/i2c/busses/i2c-viapro.c
drivers/i2c/chips/w83l785ts.c
include/linux/i2c.h

index e7fce45bb0614b2264be0797c898c8dd629fd885..c0a85e2b8fe486dbdfaa2241e406c3a77954c454 100644 (file)
@@ -59,6 +59,7 @@
 #include <linux/kernel.h>
 #include <linux/stddef.h>
 #include <linux/sched.h>
+#include <linux/delay.h>
 #include <linux/ioport.h>
 #include <linux/i2c.h>
 #include <linux/init.h>
@@ -276,7 +277,7 @@ static int ali1535_transaction(struct i2c_adapter *adap)
        /* We will always wait for a fraction of a second! */
        timeout = 0;
        do {
-               i2c_delay(1);
+               msleep(1);
                temp = inb_p(SMBHSTSTS);
        } while (((temp & ALI1535_STS_BUSY) && !(temp & ALI1535_STS_IDLE))
                 && (timeout++ < MAX_TIMEOUT));
@@ -350,7 +351,7 @@ static s32 ali1535_access(struct i2c_adapter *adap, u16 addr,
        for (timeout = 0;
             (timeout < MAX_TIMEOUT) && !(temp & ALI1535_STS_IDLE);
             timeout++) {
-               i2c_delay(1);
+               msleep(1);
                temp = inb_p(SMBHSTSTS);
        }
        if (timeout >= MAX_TIMEOUT)
index 9b55cbbf293e408c3121dfabab92e5bd91124be1..f77ae846efc4f132857c6d5d22d704615125bd75 100644 (file)
@@ -16,6 +16,7 @@
  */
 
 #include <linux/module.h>
+#include <linux/delay.h>
 #include <linux/i2c.h>
 #include <linux/pci.h>
 #include <linux/init.h>
@@ -82,7 +83,7 @@ static int ali1563_transaction(struct i2c_adapter * a)
 
        timeout = ALI1563_MAX_TIMEOUT;
        do
-               i2c_delay(1);
+               msleep(1);
        while (((data = inb_p(SMB_HST_STS)) & HST_STS_BUSY) && --timeout);
 
        dev_dbg(&a->dev, "Transaction (post): STS=%02x, CNTL1=%02x, "
@@ -137,7 +138,7 @@ static int ali1563_block_start(struct i2c_adapter * a)
 
        timeout = ALI1563_MAX_TIMEOUT;
        do
-               i2c_delay(1);
+               msleep(1);
        while (!((data = inb_p(SMB_HST_STS)) & HST_STS_DONE) && --timeout);
 
        dev_dbg(&a->dev, "Block (post): STS=%02x, CNTL1=%02x, "
index 673baa5be9d6f35214e27ce3caf008d87da5295a..ef4a6252442e58ad027061aa71e2d2361f1baa1a 100644 (file)
@@ -67,6 +67,7 @@
 #include <linux/stddef.h>
 #include <linux/sched.h>
 #include <linux/ioport.h>
+#include <linux/delay.h>
 #include <linux/i2c.h>
 #include <linux/init.h>
 #include <asm/io.h>
@@ -296,7 +297,7 @@ static int ali15x3_transaction(struct i2c_adapter *adap)
        /* We will always wait for a fraction of a second! */
        timeout = 0;
        do {
-               i2c_delay(1);
+               msleep(1);
                temp = inb_p(SMBHSTSTS);
        } while ((!(temp & (ALI15X3_STS_ERR | ALI15X3_STS_DONE)))
                 && (timeout++ < MAX_TIMEOUT));
@@ -353,7 +354,7 @@ static s32 ali15x3_access(struct i2c_adapter * adap, u16 addr,
        for (timeout = 0;
             (timeout < MAX_TIMEOUT) && !(temp & ALI15X3_STS_IDLE);
             timeout++) {
-               i2c_delay(1);
+               msleep(1);
                temp = inb_p(SMBHSTSTS);
        }
        if (timeout >= MAX_TIMEOUT) {
index 2a273e472948a3cb246bdf4bfa496960640d28af..4b1151373f454612044557652257ce644e8ad859 100644 (file)
@@ -41,6 +41,7 @@
 #include <linux/module.h>
 #include <linux/pci.h>
 #include <linux/kernel.h>
+#include <linux/delay.h>
 #include <linux/stddef.h>
 #include <linux/sched.h>
 #include <linux/ioport.h>
@@ -124,7 +125,7 @@ static int amd756_transaction(struct i2c_adapter *adap)
        if ((temp = inw_p(SMB_GLOBAL_STATUS)) & (GS_HST_STS | GS_SMB_STS)) {
                dev_dbg(&adap->dev, ": SMBus busy (%04x). Waiting... \n", temp);
                do {
-                       i2c_delay(1);
+                       msleep(1);
                        temp = inw_p(SMB_GLOBAL_STATUS);
                } while ((temp & (GS_HST_STS | GS_SMB_STS)) &&
                         (timeout++ < MAX_TIMEOUT));
@@ -141,7 +142,7 @@ static int amd756_transaction(struct i2c_adapter *adap)
 
        /* We will always wait for a fraction of a second! */
        do {
-               i2c_delay(1);
+               msleep(1);
                temp = inw_p(SMB_GLOBAL_STATUS);
        } while ((temp & GS_HST_STS) && (timeout++ < MAX_TIMEOUT));
 
@@ -188,7 +189,7 @@ static int amd756_transaction(struct i2c_adapter *adap)
  abort:
        dev_warn(&adap->dev, ": Sending abort.\n");
        outw_p(inw(SMB_GLOBAL_ENABLE) | GE_ABORT, SMB_GLOBAL_ENABLE);
-       i2c_delay(100);
+       msleep(100);
        outw_p(GS_CLEAR_STS, SMB_GLOBAL_STATUS);
        return -1;
 }
index 54704be104045d94ea5eb079d77fafa161a8d1ef..b0e597049bf033bf3e601a02caf7ceab948a7263 100644 (file)
@@ -276,7 +276,7 @@ s32 amd8111_access(struct i2c_adapter * adap, u16 addr, unsigned short flags,
        }
 
        if (~temp[0] & AMD_SMB_STS_DONE) {
-               i2c_delay(HZ/100);
+               msleep(1);
                amd_ec_read(smbus, AMD_SMB_STS, temp + 0);
        }
 
index 22c71d7939ab304e36aa840a39001a1ad14bb474..4689bd01d1c348340cd45abe5090bf8deed417d0 100644 (file)
@@ -44,6 +44,7 @@
 #include <linux/pci.h>
 #include <linux/kernel.h>
 #include <linux/stddef.h>
+#include <linux/delay.h>
 #include <linux/sched.h>
 #include <linux/ioport.h>
 #include <linux/init.h>
@@ -207,7 +208,7 @@ static int i801_transaction(void)
 
        /* We will always wait for a fraction of a second! */
        do {
-               i2c_delay(1);
+               msleep(1);
                temp = inb_p(SMBHSTSTS);
        } while ((temp & 0x01) && (timeout++ < MAX_TIMEOUT));
 
@@ -335,7 +336,7 @@ static int i801_block_transaction(union i2c_smbus_data *data, char read_write,
                timeout = 0;
                do {
                        temp = inb_p(SMBHSTSTS);
-                       i2c_delay(1);
+                       msleep(1);
                }
                    while ((!(temp & 0x80))
                           && (timeout++ < MAX_TIMEOUT));
@@ -395,7 +396,7 @@ static int i801_block_transaction(union i2c_smbus_data *data, char read_write,
                timeout = 0;
                do {
                        temp = inb_p(SMBHSTSTS);
-                       i2c_delay(1);
+                       msleep(1);
                } while ((!(temp & 0x02))
                           && (timeout++ < MAX_TIMEOUT));
 
index 0beca9e9b23d1d8cf1df379c869e87569a80abaf..31ee543419522d4c7979c4183191d7810907a4d6 100644 (file)
@@ -33,6 +33,7 @@
 #include <linux/moduleparam.h>
 #include <linux/pci.h>
 #include <linux/kernel.h>
+#include <linux/delay.h>
 #include <linux/stddef.h>
 #include <linux/sched.h>
 #include <linux/ioport.h>
@@ -260,7 +261,7 @@ static int piix4_transaction(void)
 
        /* We will always wait for a fraction of a second! (See PIIX4 docs errata) */
        do {
-               i2c_delay(1);
+               msleep(1);
                temp = inb_p(SMBHSTSTS);
        } while ((temp & 0x01) && (timeout++ < MAX_TIMEOUT));
 
index ec615af7be04c533497381990806a64e40393ccb..a5040cca3776d1a1399d09e3b70d89926bd438e7 100644 (file)
@@ -58,6 +58,7 @@
 #include <linux/config.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
+#include <linux/delay.h>
 #include <linux/pci.h>
 #include <linux/ioport.h>
 #include <linux/init.h>
@@ -239,7 +240,7 @@ static int sis5595_transaction(struct i2c_adapter *adap)
 
        /* We will always wait for a fraction of a second! */
        do {
-               i2c_delay(1);
+               msleep(1);
                temp = sis5595_read(SMB_STS_LO);
        } while (!(temp & 0x40) && (timeout++ < MAX_TIMEOUT));
 
index b7823c2603646063532bfa61accde66b02d50351..437ee28d366996df9cff0d806d272f4205677e09 100644 (file)
@@ -51,6 +51,7 @@
 #include <linux/config.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
+#include <linux/delay.h>
 #include <linux/pci.h>
 #include <linux/ioport.h>
 #include <linux/init.h>
@@ -165,7 +166,7 @@ static int sis630_transaction_wait(struct i2c_adapter *adap, int size)
 
        /* We will always wait for a fraction of a second! */
        do {
-               i2c_delay(1);
+               msleep(1);
                temp = sis630_read(SMB_STS);
                /* check if block transmitted */
                if (size == SIS630_BLOCK_DATA && (temp & 0x10))
index 7c053abcea7a2d25588acadfe7dae5b397e89a58..c71daa3470080be8e205d8a6602ae402d6b3f3a9 100644 (file)
@@ -36,6 +36,7 @@
 #include <linux/module.h>
 #include <linux/pci.h>
 #include <linux/kernel.h>
+#include <linux/delay.h>
 #include <linux/stddef.h>
 #include <linux/sched.h>
 #include <linux/ioport.h>
@@ -139,7 +140,7 @@ static int sis96x_transaction(int size)
 
        /* We will always wait for a fraction of a second! */
        do {
-               i2c_delay(1);
+               msleep(1);
                temp = sis96x_read(SMB_STS);
        } while (!(temp & 0x0e) && (timeout++ < MAX_TIMEOUT));
 
index fc207253d2039d52ff015038c53c20d7fd12b755..fbd4a15d881ce0298448eed7d4b157ee49dfeaae 100644 (file)
@@ -35,6 +35,7 @@
 
 #include <linux/config.h>
 #include <linux/module.h>
+#include <linux/delay.h>
 #include <linux/pci.h>
 #include <linux/kernel.h>
 #include <linux/stddef.h>
@@ -138,7 +139,7 @@ static int vt596_transaction(void)
        /* We will always wait for a fraction of a second! 
           I don't know if VIA needs this, Intel did  */
        do {
-               i2c_delay(1);
+               msleep(1);
                temp = inb_p(SMBHSTSTS);
        } while ((temp & 0x01) && (timeout++ < MAX_TIMEOUT));
 
index bb7abd315c72973b047e18750395c733f33024c2..52118f9bf11fb3cc6f94181efca4f078c6cbcdc2 100644 (file)
@@ -32,6 +32,7 @@
 
 #include <linux/config.h>
 #include <linux/module.h>
+#include <linux/delay.h>
 #include <linux/init.h>
 #include <linux/slab.h>
 #include <linux/i2c.h>
@@ -284,7 +285,7 @@ static u8 w83l785ts_read_value(struct i2c_client *client, u8 reg, u8 defval)
                if (value >= 0)
                        return value;
                dev_dbg(&client->dev, "Read failed, will retry in %d.\n", i);
-               i2c_delay(i);
+               msleep(i);
        }
 
        dev_err(&client->dev, "Couldn't read value from register. "
index 969044dd3f7f07779362b6a11b92f5128c386783..0c3cf0e2fbca9d206fb9414c88d74ec04bc570af 100644 (file)
@@ -601,11 +601,4 @@ union i2c_smbus_data {
 #define i2c_is_isa_adapter(adapptr) \
         ((adapptr)->algo->id == I2C_ALGO_ISA)
 
-/* Tiny delay function used by the i2c bus drivers */
-static inline void i2c_delay(signed long timeout)
-{
-       set_current_state(TASK_INTERRUPTIBLE);
-       schedule_timeout(timeout);
-}
-
 #endif /* _LINUX_I2C_H */