static struct i2c_client max7310_template = {
        name:   "akita-max7310",
-       flags:  I2C_CLIENT_ALLOW_USE,
        driver: &max7310_i2c_driver,
 };
 
 
 
        strlcpy(new_client->name, "RTC8564", I2C_NAME_SIZE);
        i2c_set_clientdata(new_client, d);
-       new_client->flags = I2C_CLIENT_ALLOW_USE;
        new_client->addr = addr;
        new_client->adapter = adap;
        new_client->driver = &rtc8564_driver;
 
                }
        }
 
-       if (client->flags & I2C_CLIENT_ALLOW_USE)
-               client->usage_count = 0;
+       client->usage_count = 0;
 
        client->dev.parent = &client->adapter->dev;
        client->dev.driver = &client->driver->driver;
        struct i2c_adapter *adapter = client->adapter;
        int res = 0;
        
-       if ((client->flags & I2C_CLIENT_ALLOW_USE)
-        && (client->usage_count > 0)) {
+       if (client->usage_count > 0) {
                dev_warn(&client->dev, "Client [%s] still busy, "
                         "can't detach\n", client->name);
                return -EBUSY;
        if (ret)
                return ret;
 
-       if (client->flags & I2C_CLIENT_ALLOW_USE) {
-               if (client->usage_count > 0)
-                       goto busy;
-               else 
-                       client->usage_count++;
-       }
+       if (client->usage_count > 0)
+               goto busy;
+       client->usage_count++;
 
        return 0;
  busy:
 
 int i2c_release_client(struct i2c_client *client)
 {
-       if(client->flags & I2C_CLIENT_ALLOW_USE) {
-               if(client->usage_count>0)
-                       client->usage_count--;
-               else {
-                       pr_debug("i2c-core: %s used one too many times\n",
-                               __FUNCTION__);
-                       return -EPERM;
-               }
+       if (!client->usage_count) {
+               pr_debug("i2c-core: %s used one too many times\n",
+                        __FUNCTION__);
+               return -EPERM;
        }
        
+       client->usage_count--;
        i2c_dec_use_client(client);
        
        return 0;
 
        client->addr = address;
        client->adapter = adapter;
        client->driver = &i2c_driver_adv7170;
-       client->flags = I2C_CLIENT_ALLOW_USE;
        if ((client->addr == I2C_ADV7170 >> 1) ||
            (client->addr == (I2C_ADV7170 >> 1) + 1)) {
                dname = adv7170_name;
 
        client->addr = address;
        client->adapter = adapter;
        client->driver = &i2c_driver_adv7175;
-       client->flags = I2C_CLIENT_ALLOW_USE;
        if ((client->addr == I2C_ADV7175 >> 1) ||
            (client->addr == (I2C_ADV7175 >> 1) + 1)) {
                dname = adv7175_name;
 
        client->addr = address;
        client->adapter = adapter;
        client->driver = &i2c_driver_bt819;
-       client->flags = I2C_CLIENT_ALLOW_USE;
 
        decoder = kmalloc(sizeof(struct bt819), GFP_KERNEL);
        if (decoder == NULL) {
 
 static struct i2c_client client_template =
 {
        .name       = "bt832",
-       .flags      = I2C_CLIENT_ALLOW_USE,
        .driver     = &driver,
 };
 
 
        client->addr = address;
        client->adapter = adapter;
        client->driver = &i2c_driver_bt856;
-       client->flags = I2C_CLIENT_ALLOW_USE;
        strlcpy(I2C_NAME(client), "bt856", sizeof(I2C_NAME(client)));
 
        encoder = kmalloc(sizeof(struct bt856), GFP_KERNEL);
 
        client->addr = address;
        client->adapter = adapter;
        client->driver = &i2c_driver;
-       client->flags = I2C_CLIENT_ALLOW_USE;
        snprintf(client->name, sizeof(client->name) - 1, "cs53l32a");
 
        cs53l32a_info("chip found @ 0x%x (%s)\n", address << 1, adapter->name);
 
        client->addr = address;
        client->adapter = adapter;
        client->driver = &i2c_driver_cx25840;
-       client->flags = I2C_CLIENT_ALLOW_USE;
        snprintf(client->name, sizeof(client->name) - 1, "cx25840");
 
        cx25840_dbg("detecting cx25840 client on address 0x%x\n", address << 1);
 
 
 static struct i2c_client em28xx_client_template = {
        .name = "em28xx internal",
-       .flags = I2C_CLIENT_ALLOW_USE,
 };
 
 /* ----------------------------------------------------------- */
 
 static struct i2c_client client_template =
 {
        .name      = "(unset)",
-       .flags     = I2C_CLIENT_ALLOW_USE,
        .driver    = &driver,
 };
 
 
 
 static struct i2c_client client_template = {
        .name = "saa6588",
-       .flags = I2C_CLIENT_ALLOW_USE,
        .driver = &driver,
 };
 
 
        client->addr = address;
        client->adapter = adapter;
        client->driver = &i2c_driver_saa7110;
-       client->flags = I2C_CLIENT_ALLOW_USE;
        strlcpy(I2C_NAME(client), "saa7110", sizeof(I2C_NAME(client)));
 
        decoder = kmalloc(sizeof(struct saa7110), GFP_KERNEL);
 
        client->addr = address;
        client->adapter = adapter;
        client->driver = &i2c_driver_saa7111;
-       client->flags = I2C_CLIENT_ALLOW_USE;
        strlcpy(I2C_NAME(client), "saa7111", sizeof(I2C_NAME(client)));
 
        decoder = kmalloc(sizeof(struct saa7111), GFP_KERNEL);
 
        client->addr = address;
        client->adapter = adapter;
        client->driver = &i2c_driver_saa7114;
-       client->flags = I2C_CLIENT_ALLOW_USE;
        strlcpy(I2C_NAME(client), "saa7114", sizeof(I2C_NAME(client)));
 
        decoder = kmalloc(sizeof(struct saa7114), GFP_KERNEL);
 
        client->addr = address;
        client->adapter = adapter;
        client->driver = &i2c_driver_saa7115;
-       client->flags = I2C_CLIENT_ALLOW_USE;
        snprintf(client->name, sizeof(client->name) - 1, "saa7115");
 
        saa7115_dbg("detecting saa7115 client on address 0x%x\n", address << 1);
 
        client->addr = address;
        client->adapter = adapter;
        client->driver = &i2c_driver_saa711x;
-       client->flags = I2C_CLIENT_ALLOW_USE;
        strlcpy(I2C_NAME(client), "saa711x", sizeof(I2C_NAME(client)));
        decoder = kmalloc(sizeof(struct saa711x), GFP_KERNEL);
        if (decoder == NULL) {
 
        client->addr = address;
        client->adapter = adapter;
        client->driver = &i2c_driver_saa7127;
-       client->flags = I2C_CLIENT_ALLOW_USE;
        snprintf(client->name, sizeof(client->name) - 1, "saa7127");
 
        saa7127_dbg("detecting saa7127 client on address 0x%x\n", address << 1);
 
 static struct i2c_client client_template =
 {
        .name       = "saa6752hs",
-       .flags      = I2C_CLIENT_ALLOW_USE,
        .driver     = &driver,
 };
 
 
        client->addr = address;
        client->adapter = adapter;
        client->driver = &i2c_driver_saa7185;
-       client->flags = I2C_CLIENT_ALLOW_USE;
        strlcpy(I2C_NAME(client), "saa7185", sizeof(I2C_NAME(client)));
 
        encoder = kmalloc(sizeof(struct saa7185), GFP_KERNEL);
 
 static struct i2c_client client_template =
 {
        .name      = "tda9887",
-       .flags     = I2C_CLIENT_ALLOW_USE,
        .driver    = &driver,
 };
 
 
 };
 static struct i2c_client client_template = {
        .name = "(tuner unset)",
-       .flags = I2C_CLIENT_ALLOW_USE,
        .driver = &driver,
 };
 
 
 static struct i2c_client client_template =
 {
        .name       = "(unset)",
-       .flags      = I2C_CLIENT_ALLOW_USE,
        .driver     = &driver,
 };
 
 
        client->addr = address;
        client->adapter = adapter;
        client->driver = &i2c_driver_tveeprom;
-       client->flags = I2C_CLIENT_ALLOW_USE;
        snprintf(client->name, sizeof(client->name), "tveeprom");
        i2c_attach_client(client);
 
 
 
 static struct i2c_client client_template = {
        .name = "(unset)",
-       .flags = I2C_CLIENT_ALLOW_USE,
        .driver = &driver,
 };
 
 
        client->addr = address;
        client->adapter = adapter;
        client->driver = &vpx3220_i2c_driver;
-       client->flags = I2C_CLIENT_ALLOW_USE;
 
        /* Check for manufacture ID and part number */
        if (kind < 0) {
 
        client->addr = address;
        client->adapter = adapter;
        client->driver = &i2c_driver;
-       client->flags = I2C_CLIENT_ALLOW_USE;
        snprintf(client->name, sizeof(client->name) - 1, "wm8775");
 
        wm8775_info("chip found @ 0x%x (%s)\n", address << 1, adapter->name);
 
 }
 
 /*flags for the client struct: */
-#define I2C_CLIENT_ALLOW_USE           0x01    /* Client allows access */
 #define I2C_CLIENT_PEC  0x04                   /* Use Packet Error Checking */
 #define I2C_CLIENT_TEN 0x10                    /* we have a ten bit chip address       */
                                                /* Must equal I2C_M_TEN below */