Re: [PATCH] i2c driver fixes for 2.6.0

From: Greg KH (greg_at_kroah.com)
Date: 12/30/03

  • Next message: Greg KH: "Re: [PATCH] i2c driver fixes for 2.6.0"
    Date:	Tue, 30 Dec 2003 14:06:11 -0800
    To: linux-kernel@vger.kernel.org, sensors@stimpy.netroedge.com
    
    

    ChangeSet 1.1496.8.37, 2003/12/30 12:09:49-08:00, khali@linux-fr.org

    [PATCH] I2C: remove bus scan logic from i2c chip drivers

    This patch drops bus scan from i2c-algo-ite and i2c-ibm_iic. It also
    removes the incomplete and broken SLO_IO stuff from i2c-algo-ite.

     drivers/i2c/algos/i2c-algo-ite.c | 36 ------------------------------------
     drivers/i2c/busses/i2c-ibm_iic.c | 34 ----------------------------------
     2 files changed, 70 deletions(-)

    diff -Nru a/drivers/i2c/algos/i2c-algo-ite.c b/drivers/i2c/algos/i2c-algo-ite.c
    --- a/drivers/i2c/algos/i2c-algo-ite.c Tue Dec 30 12:28:59 2003
    +++ b/drivers/i2c/algos/i2c-algo-ite.c Tue Dec 30 12:28:59 2003
    @@ -60,27 +60,13 @@
              /* debug the protocol by showing transferred bits */
     #define DEF_TIMEOUT 16
     
    -/* debugging - slow down transfer to have a look at the data .. */
    -/* I use this with two leds&resistors, each one connected to sda,scl */
    -/* respectively. This makes sure that the algorithm works. Some chips */
    -/* might not like this, as they have an internal timeout of some mils */
    -/*
    -#define SLO_IO jif=jiffies;while(jiffies<=jif+i2c_table[minor].veryslow)\
    - cond_resched();
    -*/
    -
     
     /* ----- global variables --------------------------------------------- */
     
    -#ifdef SLO_IO
    - int jif;
    -#endif
    -
     /* module parameters:
      */
     static int i2c_debug=1;
     static int iic_test=0; /* see if the line-setting functions work */
    -static int iic_scan=0; /* have a look at what's hanging 'round */
     
     /* --- setting states on the bus with the right timing: --------------- */
     
    @@ -757,8 +743,6 @@
      */
     int i2c_iic_add_bus(struct i2c_adapter *adap)
     {
    - int i;
    - short status;
             struct i2c_algo_iic_data *iic_adap = adap->algo_data;
     
             if (iic_test) {
    @@ -782,24 +766,6 @@
             i2c_add_adapter(adap);
             iic_init(iic_adap);
     
    - /* scan bus */
    - /* By default scanning the bus is turned off. */
    - if (iic_scan) {
    - printk(KERN_INFO " i2c-algo-ite: scanning bus %s.\n",
    - adap->name);
    - for (i = 0x00; i < 0xff; i+=2) {
    - iic_outw(iic_adap, ITE_I2CSAR, i);
    - iic_start(iic_adap);
    - if ( (wait_for_pin(iic_adap, &status) == 0) &&
    - ((status & ITE_I2CHSR_DNE) == 0) ) {
    - printk(KERN_INFO "\n(%02x)\n",i>>1);
    - } else {
    - printk(KERN_INFO ".");
    - iic_reset(iic_adap);
    - }
    - udelay(iic_adap->udelay);
    - }
    - }
             return 0;
     }
     
    @@ -839,11 +805,9 @@
     MODULE_LICENSE("GPL");
     
     MODULE_PARM(iic_test, "i");
    -MODULE_PARM(iic_scan, "i");
     MODULE_PARM(i2c_debug,"i");
     
     MODULE_PARM_DESC(iic_test, "Test if the I2C bus is available");
    -MODULE_PARM_DESC(iic_scan, "Scan for active chips on the bus");
     MODULE_PARM_DESC(i2c_debug,
             "debug level - 0 off; 1 normal; 2,3 more verbose; 9 iic-protocol");
     
    diff -Nru a/drivers/i2c/busses/i2c-ibm_iic.c b/drivers/i2c/busses/i2c-ibm_iic.c
    --- a/drivers/i2c/busses/i2c-ibm_iic.c Tue Dec 30 12:28:59 2003
    +++ b/drivers/i2c/busses/i2c-ibm_iic.c Tue Dec 30 12:28:59 2003
    @@ -48,10 +48,6 @@
     MODULE_DESCRIPTION("IBM IIC driver v" DRIVER_VERSION);
     MODULE_LICENSE("GPL");
     
    -static int iic_scan = 0;
    -MODULE_PARM(iic_scan, "i");
    -MODULE_PARM_DESC(iic_scan, "Scan for active chips on the bus");
    -
     static int iic_force_poll = 0;
     MODULE_PARM(iic_force_poll, "i");
     MODULE_PARM_DESC(iic_force_poll, "Force polling mode");
    @@ -518,32 +514,6 @@
     };
     
     /*
    - * Scan bus for valid 7-bit addresses (ie things that ACK on 1 byte read)
    - * We only scan range [0x08 - 0x77], all other addresses are reserved anyway
    - */
    -static void __devinit iic_scan_bus(struct ibm_iic_private* dev)
    -{
    - int found = 0;
    - char dummy;
    - struct i2c_msg msg = {
    - .buf = &dummy,
    - .len = sizeof(dummy),
    - .flags = I2C_M_RD
    - };
    -
    - printk(KERN_INFO "ibm-iic%d: scanning bus...\n" KERN_INFO, dev->idx);
    -
    - for (msg.addr = 8; msg.addr < 0x78; ++msg.addr)
    - if (iic_xfer(&dev->adap, &msg, 1) == 1){
    - ++found;
    - printk(" 0x%02x", msg.addr);
    - }
    -
    - printk("%sibm-iic%d: %d device(s) detected\n",
    - found ? "\n" KERN_INFO : "", dev->idx, found);
    -}
    -
    -/*
      * Calculates IICx_CLCKDIV value for a specific OPB clock frequency
      */
     static inline u8 iic_clckdiv(unsigned int opb)
    @@ -648,10 +618,6 @@
             
             printk(KERN_INFO "ibm-iic%d: using %s mode\n", dev->idx,
                     dev->fast_mode ? "fast (400 kHz)" : "standard (100 kHz)");
    -
    - /* Scan bus if requested by user */
    - if (iic_scan)
    - iic_scan_bus(dev);
     
             return 0;
     

    -
    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/


  • Next message: Greg KH: "Re: [PATCH] i2c driver fixes for 2.6.0"

    Relevant Pages

    • Re: dev->release = (void (*)(struct device *))kfree;
      ... will still be unregistered (removed from the various lists) but the ... releasecallback won't be called until the last user. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: [RFC] rwsem removal from kobj_map
      ... static int __init genhd_device_init ... static void cdev_default_release ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: [PATCH 9/8] lib/sort: turn off self-test
      ... +int cmpint(const void *a, const void *b) ... +static int sort_test ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • [PATCH] w1: Added DS2433 driver.
      ... * it under the smems of the GNU General Public License as published by ... * the Free Software Foundation; ... +static int __init w1_f23_init ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: modprobe + request_module() deadlock
      ... calls request_moduleonce the depending module went to LIVE state. ... +static int pending_call(struct notifier_block *self, unsigned long state, ... +static struct notifier_block pending_notifier = { ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)