[PATCH] 2.5.21 i2c updates 3/4

From: Albert Cranford (ac9410@bellsouth.net)
Date: Sun Jun 09 2002 - 14:21:12 EST


Patch 3/4 updates I2C for 2.5.21
--- linux/drivers/i2c/i2c-algo-bit.c.orig 2002-05-09 18:21:26.000000000 -0400
+++ linux/drivers/i2c/i2c-algo-bit.c 2002-05-23 17:20:18.000000000 -0400
@@ -21,7 +21,7 @@
 /* With some changes from Kyösti Mälkki <kmalkki@cc.hut.fi> and even
    Frodo Looijaard <frodol@dds.nl> */
 
-/* $Id: i2c-algo-bit.c,v 1.30 2001/07/29 02:44:25 mds Exp $ */
+/* $Id: i2c-algo-bit.c,v 1.34 2001/11/19 18:45:02 mds Exp $ */
 
 #include <linux/kernel.h>
 #include <linux/module.h>
@@ -32,7 +32,6 @@
 #include <asm/uaccess.h>
 #include <linux/ioport.h>
 #include <linux/errno.h>
-#include <linux/sched.h>
 
 #include <linux/i2c.h>
 #include <linux/i2c-algo-bit.h>
@@ -122,7 +121,7 @@
                 }
                 cond_resched();
         }
- DEBSTAT(printk("needed %ld jiffies\n", jiffies-start));
+ DEBSTAT(printk(KERN_DEBUG "needed %ld jiffies\n", jiffies-start));
 #ifdef SLO_IO
         SLO_IO
 #endif
@@ -178,12 +177,12 @@
         struct i2c_algo_bit_data *adap = i2c_adap->algo_data;
 
         /* assert: scl is low */
- DEB2(printk(" i2c_outb:%2.2X\n",c&0xff));
+ DEB2(printk(KERN_DEBUG " i2c_outb:%2.2X\n",c&0xff));
         for ( i=7 ; i>=0 ; i-- ) {
                 sb = c & ( 1 << i );
                 setsda(adap,sb);
                 udelay(adap->udelay);
- DEBPROTO(printk("%d",sb!=0));
+ DEBPROTO(printk(KERN_DEBUG "%d",sb!=0));
                 if (sclhi(adap)<0) { /* timed out */
                         sdahi(adap); /* we don't want to block the net */
                         return -ETIMEDOUT;
@@ -200,10 +199,10 @@
         };
         /* read ack: SDA should be pulled down by slave */
         ack=getsda(adap); /* ack: sda is pulled low ->success. */
- DEB2(printk(" i2c_outb: getsda() = 0x%2.2x\n", ~ack ));
+ DEB2(printk(KERN_DEBUG " i2c_outb: getsda() = 0x%2.2x\n", ~ack ));
 
- DEBPROTO( printk("[%2.2x]",c&0xff) );
- DEBPROTO(if (0==ack){ printk(" A ");} else printk(" NA ") );
+ DEBPROTO( printk(KERN_DEBUG "[%2.2x]",c&0xff) );
+ DEBPROTO(if (0==ack){ printk(KERN_DEBUG " A ");} else printk(KERN_DEBUG " NA ") );
         scllo(adap);
         return 0==ack; /* return 1 if device acked */
         /* assert: scl is low (sda undef) */
@@ -219,7 +218,7 @@
         struct i2c_algo_bit_data *adap = i2c_adap->algo_data;
 
         /* assert: scl is low */
- DEB2(printk("i2c_inb.\n"));
+ DEB2(printk(KERN_DEBUG "i2c_inb.\n"));
 
         sdahi(adap);
         for (i=0;i<8;i++) {
@@ -232,7 +231,7 @@
                 scllo(adap);
         }
         /* assert: scl is low */
- DEBPROTO(printk(" %2.2x", indata & 0xff));
+ DEBPROTO(printk(KERN_DEBUG " %2.2x", indata & 0xff));
         return (int) (indata & 0xff);
 }
 
@@ -244,69 +243,69 @@
         int scl,sda;
         sda=getsda(adap);
         if (adap->getscl==NULL) {
- printk("i2c-algo-bit.o: Warning: Adapter can't read from clock line - skipping test.\n");
+ printk(KERN_WARNING "i2c-algo-bit.o: Warning: Adapter can't read from clock line - skipping test.\n");
                 return 0;
         }
         scl=getscl(adap);
- printk("i2c-algo-bit.o: Adapter: %s scl: %d sda: %d -- testing...\n",
+ printk(KERN_INFO "i2c-algo-bit.o: Adapter: %s scl: %d sda: %d -- testing...\n",
                name,getscl(adap),getsda(adap));
         if (!scl || !sda ) {
- printk("i2c-algo-bit.o: %s seems to be busy.\n",name);
+ printk(KERN_INFO " i2c-algo-bit.o: %s seems to be busy.\n",name);
                 goto bailout;
         }
         sdalo(adap);
- printk("i2c-algo-bit.o:1 scl: %d sda: %d \n",getscl(adap),
+ printk(KERN_DEBUG "i2c-algo-bit.o:1 scl: %d sda: %d \n",getscl(adap),
                getsda(adap));
         if ( 0 != getsda(adap) ) {
- printk("i2c-algo-bit.o: %s SDA stuck high!\n",name);
+ printk(KERN_WARNING "i2c-algo-bit.o: %s SDA stuck high!\n",name);
                 sdahi(adap);
                 goto bailout;
         }
         if ( 0 == getscl(adap) ) {
- printk("i2c-algo-bit.o: %s SCL unexpected low while pulling SDA low!\n",
+ printk(KERN_WARNING "i2c-algo-bit.o: %s SCL unexpected low while pulling SDA low!\n",
                         name);
                 goto bailout;
         }
         sdahi(adap);
- printk("i2c-algo-bit.o:2 scl: %d sda: %d \n",getscl(adap),
+ printk(KERN_DEBUG "i2c-algo-bit.o:2 scl: %d sda: %d \n",getscl(adap),
                getsda(adap));
         if ( 0 == getsda(adap) ) {
- printk("i2c-algo-bit.o: %s SDA stuck low!\n",name);
+ printk(KERN_WARNING "i2c-algo-bit.o: %s SDA stuck low!\n",name);
                 sdahi(adap);
                 goto bailout;
         }
         if ( 0 == getscl(adap) ) {
- printk("i2c-algo-bit.o: %s SCL unexpected low while SDA high!\n",
+ printk(KERN_WARNING "i2c-algo-bit.o: %s SCL unexpected low while SDA high!\n",
                        name);
         goto bailout;
         }
         scllo(adap);
- printk("i2c-algo-bit.o:3 scl: %d sda: %d \n",getscl(adap),
+ printk(KERN_DEBUG "i2c-algo-bit.o:3 scl: %d sda: %d \n",getscl(adap),
                getsda(adap));
         if ( 0 != getscl(adap) ) {
- printk("i2c-algo-bit.o: %s SCL stuck high!\n",name);
+ printk(KERN_WARNING "i2c-algo-bit.o: %s SCL stuck high!\n",name);
                 sclhi(adap);
                 goto bailout;
         }
         if ( 0 == getsda(adap) ) {
- printk("i2c-algo-bit.o: %s SDA unexpected low while pulling SCL low!\n",
+ printk(KERN_WARNING "i2c-algo-bit.o: %s SDA unexpected low while pulling SCL low!\n",
                         name);
                 goto bailout;
         }
         sclhi(adap);
- printk("i2c-algo-bit.o:4 scl: %d sda: %d \n",getscl(adap),
+ printk(KERN_DEBUG "i2c-algo-bit.o:4 scl: %d sda: %d \n",getscl(adap),
                getsda(adap));
         if ( 0 == getscl(adap) ) {
- printk("i2c-algo-bit.o: %s SCL stuck low!\n",name);
+ printk(KERN_WARNING "i2c-algo-bit.o: %s SCL stuck low!\n",name);
                 sclhi(adap);
                 goto bailout;
         }
         if ( 0 == getsda(adap) ) {
- printk("i2c-algo-bit.o: %s SDA unexpected low while SCL high!\n",
+ printk(KERN_WARNING "i2c-algo-bit.o: %s SDA unexpected low while SCL high!\n",
                         name);
                 goto bailout;
         }
- printk("i2c-algo-bit.o: %s passed test.\n",name);
+ printk(KERN_INFO "i2c-algo-bit.o: %s passed test.\n",name);
         return 0;
 bailout:
         sdahi(adap);
@@ -340,7 +339,7 @@
                 i2c_start(adap);
                 udelay(adap->udelay);
         }
- DEB2(if (i) printk("i2c-algo-bit.o: needed %d retries for %d\n",
+ DEB2(if (i) printk(KERN_DEBUG "i2c-algo-bit.o: needed %d retries for %d\n",
                            i,addr));
         return ret;
 }
@@ -355,7 +354,7 @@
 
         while (count > 0) {
                 c = *temp;
- DEB2(printk("i2c-algo-bit.o: %s i2c_write: writing %2.2X\n",
+ DEB2(printk(KERN_DEBUG "i2c-algo-bit.o: %s i2c_write: writing %2.2X\n",
                             i2c_adap->name, c&0xff));
                 retval = i2c_outb(i2c_adap,c);
                 if (retval>0) {
@@ -363,7 +362,7 @@
                         temp++;
                         wrcount++;
                 } else { /* arbitration or no acknowledge */
- printk("i2c-algo-bit.o: %s i2c_write: error - bailout.\n",
+ printk(KERN_ERR "i2c-algo-bit.o: %s i2c_write: error - bailout.\n",
                                i2c_adap->name);
                         i2c_stop(adap);
                         return (retval<0)? retval : -EFAULT;
@@ -391,7 +390,7 @@
                         *temp = inval;
                         rdcount++;
                 } else { /* read timed out */
- printk("i2c-algo-bit.o: i2c_read: i2c_inb timed out.\n");
+ printk(KERN_ERR "i2c-algo-bit.o: i2c_read: i2c_inb timed out.\n");
                         break;
                 }
 
@@ -404,7 +403,7 @@
                 }
                 if (sclhi(adap)<0) { /* timeout */
                         sdahi(adap);
- printk("i2c-algo-bit.o: i2c_read: Timeout at ack\n");
+ printk(KERN_ERR "i2c-algo-bit.o: i2c_read: Timeout at ack\n");
                         return -ETIMEDOUT;
                 };
                 scllo(adap);
@@ -434,18 +433,18 @@
         if ( (flags & I2C_M_TEN) ) {
                 /* a ten bit address */
                 addr = 0xf0 | (( msg->addr >> 7) & 0x03);
- DEB2(printk("addr0: %d\n",addr));
+ DEB2(printk(KERN_DEBUG "addr0: %d\n",addr));
                 /* try extended address code...*/
                 ret = try_address(i2c_adap, addr, retries);
                 if (ret!=1) {
- printk("died at extended address code.\n");
+ printk(KERN_ERR "died at extended address code.\n");
                         return -EREMOTEIO;
                 }
                 /* the remaining 8 bit address */
                 ret = i2c_outb(i2c_adap,msg->addr & 0x7f);
                 if (ret != 1) {
                         /* the chip did not ack / xmission error occurred */
- printk("died at 2nd address code.\n");
+ printk(KERN_ERR "died at 2nd address code.\n");
                         return -EREMOTEIO;
                 }
                 if ( flags & I2C_M_RD ) {
@@ -454,7 +453,7 @@
                         addr |= 0x01;
                         ret = try_address(i2c_adap, addr, retries);
                         if (ret!=1) {
- printk("died at extended address code.\n");
+ printk(KERN_ERR "died at extended address code.\n");
                                 return -EREMOTEIO;
                         }
                 }
@@ -489,7 +488,7 @@
                         }
                         ret = bit_doAddress(i2c_adap,pmsg,i2c_adap->retries);
                         if (ret != 0) {
- DEB2(printk("i2c-algo-bit.o: NAK from device adr %#2x msg #%d\n"
+ DEB2(printk(KERN_DEBUG "i2c-algo-bit.o: NAK from device adr %#2x msg #%d\n"
                                        ,msgs[i].addr,i));
                                 return (ret<0) ? ret : -EREMOTEIO;
                         }
@@ -497,14 +496,14 @@
                 if (pmsg->flags & I2C_M_RD ) {
                         /* read bytes into buffer*/
                         ret = readbytes(i2c_adap,pmsg->buf,pmsg->len);
- DEB2(printk("i2c-algo-bit.o: read %d bytes.\n",ret));
+ DEB2(printk(KERN_DEBUG "i2c-algo-bit.o: read %d bytes.\n",ret));
                         if (ret < pmsg->len ) {
                                 return (ret<0)? ret : -EREMOTEIO;
                         }
                 } else {
                         /* write bytes from buffer */
                         ret = sendbytes(i2c_adap,pmsg->buf,pmsg->len);
- DEB2(printk("i2c-algo-bit.o: wrote %d bytes.\n",ret));
+ DEB2(printk(KERN_DEBUG "i2c-algo-bit.o: wrote %d bytes.\n",ret));
                         if (ret < pmsg->len ) {
                                 return (ret<0) ? ret : -EREMOTEIO;
                         }
@@ -554,7 +553,7 @@
                         return -ENODEV;
         }
 
- DEB2(printk("i2c-algo-bit.o: hw routines for %s registered.\n",
+ DEB2(printk(KERN_DEBUG "i2c-algo-bit.o: hw routines for %s registered.\n",
                     adap->name));
 
         /* register new adapter to i2c module... */
@@ -598,7 +597,7 @@
         if ((res = i2c_del_adapter(adap)) < 0)
                 return res;
 
- DEB2(printk("i2c-algo-bit.o: adapter unregistered: %s\n",adap->name));
+ DEB2(printk(KERN_DEBUG "i2c-algo-bit.o: adapter unregistered: %s\n",adap->name));
 
 #ifdef MODULE
         MOD_DEC_USE_COUNT;
@@ -608,7 +607,7 @@
 
 int __init i2c_algo_bit_init (void)
 {
- printk("i2c-algo-bit.o: i2c bit algorithm module\n");
+ printk(KERN_INFO "i2c-algo-bit.o: i2c bit algorithm module version %s (%s)\n", I2C_VERSION, I2C_DATE);
         return 0;
 }
 
--- linux/drivers/i2c/i2c-algo-pcf.c.orig 2002-05-09 18:25:27.000000000 -0400
+++ linux/drivers/i2c/i2c-algo-pcf.c 2002-05-23 17:21:11.000000000 -0400
@@ -36,7 +36,6 @@
 #include <asm/uaccess.h>
 #include <linux/ioport.h>
 #include <linux/errno.h>
-#include <linux/sched.h>
 
 #include <linux/i2c.h>
 #include <linux/i2c-algo-pcf.h>
@@ -99,7 +98,7 @@
         }
 #endif
         if (timeout <= 0) {
- printk("Timeout waiting for Bus Busy\n");
+ printk(KERN_ERR "Timeout waiting for Bus Busy\n");
         }
         
         return (timeout<=0);
@@ -144,15 +143,14 @@
 {
         unsigned char temp;
 
- DEB3(printk("i2c-algo-pcf.o: PCF state 0x%02x\n", get_pcf(adap, 1)));
+ DEB3(printk(KERN_DEBUG "i2c-algo-pcf.o: PCF state 0x%02x\n", get_pcf(adap, 1)));
 
         /* S1=0x80: S0 selected, serial interface off */
         set_pcf(adap, 1, I2C_PCF_PIN);
         /* check to see S1 now used as R/W ctrl -
            PCF8584 does that when ESO is zero */
- /* PCF also resets PIN bit */
- if ((temp = get_pcf(adap, 1)) != (0)) {
- DEB2(printk("i2c-algo-pcf.o: PCF detection failed -- can't select S0 (0x%02x).\n", temp));
+ if (((temp = get_pcf(adap, 1)) & 0x7f) != (0)) {
+ DEB2(printk(KERN_ERR "i2c-algo-pcf.o: PCF detection failed -- can't select S0 (0x%02x).\n", temp));
                 return -ENXIO; /* definetly not PCF8584 */
         }
 
@@ -160,15 +158,15 @@
         i2c_outb(adap, get_own(adap));
         /* check it's realy writen */
         if ((temp = i2c_inb(adap)) != get_own(adap)) {
- DEB2(printk("i2c-algo-pcf.o: PCF detection failed -- can't set S0 (0x%02x).\n", temp));
+ DEB2(printk(KERN_ERR "i2c-algo-pcf.o: PCF detection failed -- can't set S0 (0x%02x).\n", temp));
                 return -ENXIO;
         }
 
         /* S1=0xA0, next byte in S2 */
         set_pcf(adap, 1, I2C_PCF_PIN | I2C_PCF_ES1);
         /* check to see S2 now selected */
- if ((temp = get_pcf(adap, 1)) != I2C_PCF_ES1) {
- DEB2(printk("i2c-algo-pcf.o: PCF detection failed -- can't select S2 (0x%02x).\n", temp));
+ if (((temp = get_pcf(adap, 1)) & 0x7f) != I2C_PCF_ES1) {
+ DEB2(printk(KERN_ERR "i2c-algo-pcf.o: PCF detection failed -- can't select S2 (0x%02x).\n", temp));
                 return -ENXIO;
         }
 
@@ -176,7 +174,7 @@
         i2c_outb(adap, get_clock(adap));
         /* check it's realy writen, the only 5 lowest bits does matter */
         if (((temp = i2c_inb(adap)) & 0x1f) != get_clock(adap)) {
- DEB2(printk("i2c-algo-pcf.o: PCF detection failed -- can't set S2 (0x%02x).\n", temp));
+ DEB2(printk(KERN_ERR "i2c-algo-pcf.o: PCF detection failed -- can't set S2 (0x%02x).\n", temp));
                 return -ENXIO;
         }
 
@@ -185,11 +183,11 @@
 
         /* check to see PCF is realy idled and we can access status register */
         if ((temp = get_pcf(adap, 1)) != (I2C_PCF_PIN | I2C_PCF_BB)) {
- DEB2(printk("i2c-algo-pcf.o: PCF detection failed -- can't select S1` (0x%02x).\n", temp));
+ DEB2(printk(KERN_ERR "i2c-algo-pcf.o: PCF detection failed -- can't select S1` (0x%02x).\n", temp));
                 return -ENXIO;
         }
         
- printk("i2c-algo-pcf.o: deteted and initialized PCF8584.\n");
+ printk(KERN_DEBUG "i2c-algo-pcf.o: deteted and initialized PCF8584.\n");
 
         return 0;
 }
@@ -215,7 +213,7 @@
                 i2c_stop(adap);
                 udelay(adap->udelay);
         }
- DEB2(if (i) printk("i2c-algo-pcf.o: needed %d retries for %d\n",i,
+ DEB2(if (i) printk(KERN_DEBUG "i2c-algo-pcf.o: needed %d retries for %d\n",i,
                            addr));
         return ret;
 }
@@ -228,20 +226,20 @@
         int wrcount, status, timeout;
     
         for (wrcount=0; wrcount<count; ++wrcount) {
- DEB2(printk("i2c-algo-pcf.o: %s i2c_write: writing %2.2X\n",
+ DEB2(printk(KERN_DEBUG "i2c-algo-pcf.o: %s i2c_write: writing %2.2X\n",
                       i2c_adap->name, buf[wrcount]&0xff));
                 i2c_outb(adap, buf[wrcount]);
                 timeout = wait_for_pin(adap, &status);
                 if (timeout) {
                         i2c_stop(adap);
- printk("i2c-algo-pcf.o: %s i2c_write: "
+ printk(KERN_ERR "i2c-algo-pcf.o: %s i2c_write: "
                                "error - timeout.\n", i2c_adap->name);
                         return -EREMOTEIO; /* got a better one ?? */
                 }
 #ifndef STUB_I2C
                 if (status & I2C_PCF_LRB) {
                         i2c_stop(adap);
- printk("i2c-algo-pcf.o: %s i2c_write: "
+ printk(KERN_ERR "i2c-algo-pcf.o: %s i2c_write: "
                                "error - no ack.\n", i2c_adap->name);
                         return -EREMOTEIO; /* got a better one ?? */
                 }
@@ -269,14 +267,14 @@
 
                 if (wait_for_pin(adap, &status)) {
                         i2c_stop(adap);
- printk("i2c-algo-pcf.o: pcf_readbytes timed out.\n");
+ printk(KERN_ERR "i2c-algo-pcf.o: pcf_readbytes timed out.\n");
                         return (-1);
                 }
 
 #ifndef STUB_I2C
                 if ((status & I2C_PCF_LRB) && (i != count)) {
                         i2c_stop(adap);
- printk("i2c-algo-pcf.o: i2c_read: i2c_inb, No ack.\n");
+ printk(KERN_ERR "i2c-algo-pcf.o: i2c_read: i2c_inb, No ack.\n");
                         return (-1);
                 }
 #endif
@@ -312,18 +310,18 @@
         if ( (flags & I2C_M_TEN) ) {
                 /* a ten bit address */
                 addr = 0xf0 | (( msg->addr >> 7) & 0x03);
- DEB2(printk("addr0: %d\n",addr));
+ DEB2(printk(KERN_DEBUG "addr0: %d\n",addr));
                 /* try extended address code...*/
                 ret = try_address(adap, addr, retries);
                 if (ret!=1) {
- printk("died at extended address code.\n");
+ printk(KERN_ERR "died at extended address code.\n");
                         return -EREMOTEIO;
                 }
                 /* the remaining 8 bit address */
                 i2c_outb(adap,msg->addr & 0x7f);
 /* Status check comes here */
                 if (ret != 1) {
- printk("died at 2nd address code.\n");
+ printk(KERN_ERR "died at 2nd address code.\n");
                         return -EREMOTEIO;
                 }
                 if ( flags & I2C_M_RD ) {
@@ -332,7 +330,7 @@
                         addr |= 0x01;
                         ret = try_address(adap, addr, retries);
                         if (ret!=1) {
- printk("died at extended address code.\n");
+ printk(KERN_ERR "died at extended address code.\n");
                                 return -EREMOTEIO;
                         }
                 }
@@ -360,7 +358,7 @@
         /* Check for bus busy */
         timeout = wait_for_bb(adap);
         if (timeout) {
- DEB2(printk("i2c-algo-pcf.o: "
+ DEB2(printk(KERN_ERR "i2c-algo-pcf.o: "
                             "Timeout waiting for BB in pcf_xfer\n");)
                 return -EIO;
         }
@@ -368,7 +366,7 @@
         for (i = 0;ret >= 0 && i < num; i++) {
                 pmsg = &msgs[i];
 
- DEB2(printk("i2c-algo-pcf.o: Doing %s %d bytes to 0x%02x - %d of %d messages\n",
+ DEB2(printk(KERN_DEBUG "i2c-algo-pcf.o: Doing %s %d bytes to 0x%02x - %d of %d messages\n",
                      pmsg->flags & I2C_M_RD ? "read" : "write",
                      pmsg->len, pmsg->addr, i + 1, num);)
     
@@ -383,7 +381,7 @@
                 timeout = wait_for_pin(adap, &status);
                 if (timeout) {
                         i2c_stop(adap);
- DEB2(printk("i2c-algo-pcf.o: Timeout waiting "
+ DEB2(printk(KERN_ERR "i2c-algo-pcf.o: Timeout waiting "
                                     "for PIN(1) in pcf_xfer\n");)
                         return (-EREMOTEIO);
                 }
@@ -392,12 +390,12 @@
                 /* Check LRB (last rcvd bit - slave ack) */
                 if (status & I2C_PCF_LRB) {
                         i2c_stop(adap);
- DEB2(printk("i2c-algo-pcf.o: No LRB(1) in pcf_xfer\n");)
+ DEB2(printk(KERN_ERR "i2c-algo-pcf.o: No LRB(1) in pcf_xfer\n");)
                         return (-EREMOTEIO);
                 }
 #endif
     
- DEB3(printk("i2c-algo-pcf.o: Msg %d, addr=0x%x, flags=0x%x, len=%d\n",
+ DEB3(printk(KERN_DEBUG "i2c-algo-pcf.o: Msg %d, addr=0x%x, flags=0x%x, len=%d\n",
                             i, msgs[i].addr, msgs[i].flags, msgs[i].len);)
     
                 /* Read */
@@ -407,20 +405,20 @@
                                             (i + 1 == num));
         
                         if (ret != pmsg->len) {
- DEB2(printk("i2c-algo-pcf.o: fail: "
+ DEB2(printk(KERN_DEBUG "i2c-algo-pcf.o: fail: "
                                             "only read %d bytes.\n",ret));
                         } else {
- DEB2(printk("i2c-algo-pcf.o: read %d bytes.\n",ret));
+ DEB2(printk(KERN_DEBUG "i2c-algo-pcf.o: read %d bytes.\n",ret));
                         }
                 } else { /* Write */
                         ret = pcf_sendbytes(i2c_adap, pmsg->buf, pmsg->len,
                                             (i + 1 == num));
         
                         if (ret != pmsg->len) {
- DEB2(printk("i2c-algo-pcf.o: fail: "
+ DEB2(printk(KERN_DEBUG "i2c-algo-pcf.o: fail: "
                                             "only wrote %d bytes.\n",ret));
                         } else {
- DEB2(printk("i2c-algo-pcf.o: wrote %d bytes.\n",ret));
+ DEB2(printk(KERN_DEBUG "i2c-algo-pcf.o: wrote %d bytes.\n",ret));
                         }
                 }
         }
@@ -461,7 +459,7 @@
         int i, status;
         struct i2c_algo_pcf_data *pcf_adap = adap->algo_data;
 
- DEB2(printk("i2c-algo-pcf.o: hw routines for %s registered.\n",
+ DEB2(printk(KERN_DEBUG "i2c-algo-pcf.o: hw routines for %s registered.\n",
                     adap->name));
 
         /* register new adapter to i2c module... */
@@ -514,7 +512,7 @@
         int res;
         if ((res = i2c_del_adapter(adap)) < 0)
                 return res;
- DEB2(printk("i2c-algo-pcf.o: adapter unregistered: %s\n",adap->name));
+ DEB2(printk(KERN_DEBUG "i2c-algo-pcf.o: adapter unregistered: %s\n",adap->name));
 
 #ifdef MODULE
         MOD_DEC_USE_COUNT;
@@ -524,7 +522,7 @@
 
 int __init i2c_algo_pcf_init (void)
 {
- printk("i2c-algo-pcf.o: i2c pcf8584 algorithm module\n");
+ printk(KERN_INFO "i2c-algo-pcf.o: i2c pcf8584 algorithm module version %s (%s)\n", I2C_VERSION, I2C_DATE);
         return 0;
 }
 
--- linux/drivers/i2c/i2c-elektor.c.orig 2002-05-09 18:21:40.000000000 -0400
+++ linux/drivers/i2c/i2c-elektor.c 2002-05-24 20:34:34.000000000 -0400
@@ -74,11 +74,12 @@
 {
         int address = ctl ? (base + 1) : base;
 
- if (ctl && irq) {
+ /* enable irq if any specified for serial operation */
+ if (ctl && irq && (val & I2C_PCF_ESO)) {
                 val |= I2C_PCF_ENI;
         }
 
- DEB3(printk("i2c-elektor.o: Write 0x%X 0x%02X\n", address, val & 255));
+ DEB3(printk(KERN_DEBUG "i2c-elektor.o: Write 0x%X 0x%02X\n", address, val & 255));
 
         switch (mmapped) {
         case 0: /* regular I/O */
@@ -99,7 +100,7 @@
         int address = ctl ? (base + 1) : base;
         int val = mmapped ? readb(address) : inb(address);
 
- DEB3(printk("i2c-elektor.o: Read 0x%X 0x%02X\n", address, val));
+ DEB3(printk(KERN_DEBUG "i2c-elektor.o: Read 0x%X 0x%02X\n", address, val));
 
         return (val);
 }
@@ -142,7 +143,7 @@
 {
         if (!mmapped) {
                 if (check_region(base, 2) < 0 ) {
- printk("i2c-elektor.o: requested I/O region (0x%X:2) is in use.\n", base);
+ printk(KERN_ERR "i2c-elektor.o: requested I/O region (0x%X:2) is in use.\n", base);
                         return -ENODEV;
                 } else {
                         request_region(base, 2, "i2c (isa bus adapter)");
@@ -150,7 +151,7 @@
         }
         if (irq > 0) {
                 if (request_irq(irq, pcf_isa_handler, 0, "PCF8584", 0) < 0) {
- printk("i2c-elektor.o: Request irq%d failed\n", irq);
+ printk(KERN_ERR "i2c-elektor.o: Request irq%d failed\n", irq);
                         irq = 0;
                 } else
                         enable_irq(irq);
@@ -238,7 +239,7 @@
                         /* yeap, we've found cypress, let's check config */
                         if (!pci_read_config_byte(cy693_dev, 0x47, &config)) {
                                 
- DEB3(printk("i2c-elektor.o: found cy82c693, config register 0x47 = 0x%02x.\n", config));
+ DEB3(printk(KERN_DEBUG "i2c-elektor.o: found cy82c693, config register 0x47 = 0x%02x.\n", config));
 
                                 /* UP2000 board has this register set to 0xe1,
                                    but the most significant bit as seems can be
@@ -260,7 +261,7 @@
                                            8.25 MHz (PCI/4) clock
                                            (this can be read from cypress) */
                                         clock = I2C_PCF_CLK | I2C_PCF_TRNS90;
- printk("i2c-elektor.o: found API UP2000 like board, will probe PCF8584 later.\n");
+ printk(KERN_INFO "i2c-elektor.o: found API UP2000 like board, will probe PCF8584 later.\n");
                                 }
                         }
                 }
@@ -269,11 +270,11 @@
 
         /* sanity checks for mmapped I/O */
         if (mmapped && base < 0xc8000) {
- printk("i2c-elektor.o: incorrect base address (0x%0X) specified for mmapped I/O.\n", base);
+ printk(KERN_ERR "i2c-elektor.o: incorrect base address (0x%0X) specified for mmapped I/O.\n", base);
                 return -ENODEV;
         }
 
- printk("i2c-elektor.o: i2c pcf8584-isa adapter module\n");
+ printk(KERN_INFO "i2c-elektor.o: i2c pcf8584-isa adapter module version %s (%s)\n", I2C_VERSION, I2C_DATE);
 
         if (base == 0) {
                 base = DEFAULT_BASE;
@@ -283,13 +284,15 @@
         init_waitqueue_head(&pcf_wait);
 #endif
         if (pcf_isa_init() == 0) {
- if (i2c_pcf_add_bus(&pcf_isa_ops) < 0)
+ if (i2c_pcf_add_bus(&pcf_isa_ops) < 0) {
+ pcf_isa_exit();
                         return -ENODEV;
+ }
         } else {
                 return -ENODEV;
         }
         
- printk("i2c-elektor.o: found device at %#x.\n", base);
+ printk(KERN_ERR "i2c-elektor.o: found device at %#x.\n", base);
 
         return 0;
 }
--- linux/drivers/i2c/i2c-elv.c.orig 2002-05-09 18:25:30.000000000 -0400
+++ linux/drivers/i2c/i2c-elv.c 2002-05-14 18:01:25.000000000 -0400
@@ -21,7 +21,7 @@
 /* With some changes from Kyösti Mälkki <kmalkki@cc.hut.fi> and even
    Frodo Looijaard <frodol@dds.nl> */
 
-/* $Id: i2c-elv.c,v 1.17 2001/07/29 02:44:25 mds Exp $ */
+/* $Id: i2c-elv.c,v 1.21 2001/11/19 18:45:02 mds Exp $ */
 
 #include <linux/kernel.h>
 #include <linux/module.h>
@@ -29,9 +29,7 @@
 #include <linux/slab.h>
 #include <linux/version.h>
 #include <linux/init.h>
-
 #include <asm/uaccess.h>
-
 #include <linux/ioport.h>
 #include <asm/io.h>
 #include <linux/errno.h>
@@ -95,14 +93,14 @@
         } else {
                                                 /* test for ELV adap. */
                 if (inb(base+1) & 0x80) { /* BUSY should be high */
- DEBINIT(printk("i2c-elv.o: Busy was low.\n"));
+ DEBINIT(printk(KERN_DEBUG "i2c-elv.o: Busy was low.\n"));
                         return -ENODEV;
                 } else {
                         outb(0x0c,base+2); /* SLCT auf low */
                         udelay(400);
                         if ( !(inb(base+1) && 0x10) ) {
                                 outb(0x04,base+2);
- DEBINIT(printk("i2c-elv.o: Select was high.\n"));
+ DEBINIT(printk(KERN_DEBUG "i2c-elv.o: Select was high.\n"));
                                 return -ENODEV;
                         }
                 }
@@ -170,7 +168,7 @@
 
 int __init i2c_bitelv_init(void)
 {
- printk("i2c-elv.o: i2c ELV parallel port adapter module\n");
+ printk(KERN_INFO "i2c-elv.o: i2c ELV parallel port adapter module version %s (%s)\n", I2C_VERSION, I2C_DATE);
         if (base==0) {
                 /* probe some values */
                 base=DEFAULT_BASE;
@@ -190,7 +188,7 @@
                         return -ENODEV;
                 }
         }
- printk("i2c-elv.o: found device at %#x.\n",base);
+ printk(KERN_DEBUG "i2c-elv.o: found device at %#x.\n",base);
         return 0;
 }
 
--- linux/drivers/i2c/i2c-philips-par.c.orig 2002-05-09 18:21:56.000000000 -0400
+++ linux/drivers/i2c/i2c-philips-par.c 2002-05-14 18:02:15.000000000 -0400
@@ -21,7 +21,7 @@
 /* With some changes from Kyösti Mälkki <kmalkki@cc.hut.fi> and even
    Frodo Looijaard <frodol@dds.nl> */
 
-/* $Id: i2c-philips-par.c,v 1.18 2000/07/06 19:21:49 frodo Exp $ */
+/* $Id: i2c-philips-par.c,v 1.23 2002/02/06 08:50:58 simon Exp $ */
 
 #include <linux/kernel.h>
 #include <linux/ioport.h>
@@ -29,7 +29,6 @@
 #include <linux/init.h>
 #include <linux/stddef.h>
 #include <linux/parport.h>
-
 #include <linux/i2c.h>
 #include <linux/i2c-algo-bit.h>
 
@@ -190,18 +189,18 @@
         struct i2c_par *adapter = kmalloc(sizeof(struct i2c_par),
                                           GFP_KERNEL);
         if (!adapter) {
- printk("i2c-philips-par: Unable to malloc.\n");
+ printk(KERN_ERR "i2c-philips-par: Unable to malloc.\n");
                 return;
         }
 
- printk("i2c-philips-par.o: attaching to %s\n", port->name);
+ printk(KERN_DEBUG "i2c-philips-par.o: attaching to %s\n", port->name);
 
         adapter->pdev = parport_register_device(port, "i2c-philips-par",
                                                 NULL, NULL, NULL,
                                                 PARPORT_FLAG_EXCL,
                                                 NULL);
         if (!adapter->pdev) {
- printk("i2c-philips-par: Unable to register with parport.\n");
+ printk(KERN_ERR "i2c-philips-par: Unable to register with parport.\n");
                 return;
         }
 
@@ -210,15 +209,18 @@
         adapter->bit_lp_data = type ? bit_lp_data2 : bit_lp_data;
         adapter->bit_lp_data.data = port;
 
+ if (parport_claim_or_block(adapter->pdev) < 0 ) {
+ printk(KERN_ERR "i2c-philips-par: Could not claim parallel port.\n");
+ return;
+ }
         /* reset hardware to sane state */
- parport_claim_or_block(adapter->pdev);
         bit_lp_setsda(port, 1);
         bit_lp_setscl(port, 1);
         parport_release(adapter->pdev);
 
         if (i2c_bit_add_bus(&adapter->adapter) < 0)
         {
- printk("i2c-philips-par: Unable to register with I2C.\n");
+ printk(KERN_ERR "i2c-philips-par: Unable to register with I2C.\n");
                 parport_unregister_device(adapter->pdev);
                 kfree(adapter);
                 return; /* No good */
@@ -264,7 +266,7 @@
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,3,4)
         struct parport *port;
 #endif
- printk("i2c-philips-par.o: i2c Philips parallel port adapter module\n");
+ printk(KERN_INFO "i2c-philips-par.o: i2c Philips parallel port adapter module version %s (%s)\n", I2C_VERSION, I2C_DATE);
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,4)
         parport_register_driver(&i2c_driver);
--- linux/drivers/i2c/i2c-velleman.c.orig 2002-05-09 18:23:06.000000000 -0400
+++ linux/drivers/i2c/i2c-velleman.c 2002-05-14 18:04:11.000000000 -0400
@@ -18,7 +18,7 @@
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
 /* ------------------------------------------------------------------------- */
 
-/* $Id: i2c-velleman.c,v 1.19 2000/01/24 02:06:33 mds Exp $ */
+/* $Id: i2c-velleman.c,v 1.23 2001/11/19 18:45:02 mds Exp $ */
 
 #include <linux/kernel.h>
 #include <linux/ioport.h>
@@ -27,7 +27,6 @@
 #include <linux/string.h> /* for 2.0 kernels to get NULL */
 #include <asm/errno.h> /* for 2.0 kernels to get ENODEV */
 #include <asm/io.h>
-
 #include <linux/i2c.h>
 #include <linux/i2c-algo-bit.h>
 
@@ -91,7 +90,7 @@
 static int bit_velle_init(void)
 {
         if (check_region(base,(base == 0x3bc)? 3 : 8) < 0 ) {
- DEBE(printk("i2c-velleman.o: Port %#x already in use.\n",
+ DEBE(printk(KERN_DEBUG "i2c-velleman.o: Port %#x already in use.\n",
                      base));
                 return -ENODEV;
         } else {
@@ -160,7 +159,7 @@
 
 int __init i2c_bitvelle_init(void)
 {
- printk("i2c-velleman.o: i2c Velleman K8000 adapter module\n");
+ printk(KERN_INFO "i2c-velleman.o: i2c Velleman K8000 adapter module version %s (%s)\n", I2C_VERSION, I2C_DATE);
         if (base==0) {
                 /* probe some values */
                 base=DEFAULT_BASE;
@@ -180,7 +179,7 @@
                         return -ENODEV;
                 }
         }
- printk("i2c-velleman.o: found device at %#x.\n",base);
+ printk(KERN_DEBUG "i2c-velleman.o: found device at %#x.\n",base);
         return 0;
 }
 

-- 
Albert Cranford Deerfield Beach FL USA
ac9410@bellsouth.net
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Jun 15 2002 - 22:00:14 EST