i2c: Rework client usage count, 2 of 3
Subsystems (5)
PATCH 22/25 i2c: Rework client usage count, 2 of 3
Content-Disposition: inline; filename=i2c-client-use-02-make-use-flag-default.patch
Make I2C_CLIENT_ALLOW_USE the default for all i2c clients. It doesn't hurt if the usage count is actually never used for any given driver, and allows for nice code simplifications in i2c-core.
Signed-off-by Jean Delvare <[email protected]>
--- arch/arm/mach-pxa/akita-ioexp.c | 1 - drivers/i2c/chips/rtc8564.c | 1 - drivers/i2c/i2c-core.c | 28 ++++++++++------------------ drivers/media/video/adv7170.c | 1 - drivers/media/video/adv7175.c | 1 - drivers/media/video/bt819.c | 1 - drivers/media/video/bt832.c | 1 - drivers/media/video/bt856.c | 1 - drivers/media/video/cs53l32a.c | 1 - drivers/media/video/cx25840/cx25840-core.c | 1 - drivers/media/video/em28xx/em28xx-i2c.c | 1 - drivers/media/video/msp3400.c | 1 - drivers/media/video/saa6588.c | 1 - drivers/media/video/saa7110.c | 1 - drivers/media/video/saa7111.c | 1 - drivers/media/video/saa7114.c | 1 - drivers/media/video/saa7115.c | 1 - drivers/media/video/saa711x.c | 1 - drivers/media/video/saa7127.c | 1 - drivers/media/video/saa7134/saa6752hs.c | 1 - drivers/media/video/saa7185.c | 1 - drivers/media/video/tda9887.c | 1 - drivers/media/video/tuner-core.c | 1 - drivers/media/video/tvaudio.c | 1 - drivers/media/video/tveeprom.c | 1 - drivers/media/video/tvp5150.c | 1 - drivers/media/video/vpx3220.c | 1 - drivers/media/video/wm8775.c | 1 - include/linux/i2c.h | 1 - 29 files changed, 10 insertions(+), 46 deletions(-)
arch/arm/mach-pxa/akita-ioexp.c +0 -1
@@ -135,7 +135,6 @@static struct i2c_client max7310_template = { name:"akita-max7310" , - flags:I2C_CLIENT_ALLOW_USE , driver: &max7310_i2c_driver, };
drivers/i2c/chips/rtc8564.c +0 -1
@@ -155,7 +155,6 @@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;
drivers/i2c/i2c-core.c +10 -18
@@ -419,8 +419,7 @@ } } -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;
@@ -443,8 +442,7 @@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 ;
@@ -499,12 +497,9 @@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:
@@ -514,16 +509,13 @@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 ;
drivers/media/video/adv7170.c +0 -1
@@ -420,7 +420,6 @@ 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;
drivers/media/video/adv7175.c +0 -1
@@ -470,7 +470,6 @@ 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;
drivers/media/video/bt819.c +0 -1
@@ -535,7 +535,6 @@ 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 ) {
drivers/media/video/bt832.c +1 -3
@@ -242,7 +242,6 @@static struct i2c_client client_template { .name = "bt832", - .flags = I2C_CLIENT_ALLOW_USE, .driver = &driver, }; --- linux-2.6.15-rc2.orig/drivers/media/video/bt856.c 2005-11-26 14:00:37.000000000 +0100 +++ linux-2.6.15-rc2/drivers/media/video/bt856.c 2005-11-26 14:21:37.000000000 +0100
@@ -323,7 +323,6 @@ 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 );
drivers/media/video/cs53l32a.c +0 -1
@@ -155,7 +155,6 @@ 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);
drivers/media/video/cx25840/cx25840-core.c +0 -1
@@ -737,7 +737,6 @@ 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 );
drivers/media/video/em28xx/em28xx-i2c.c +0 -1
@@ -497,7 +497,6 @@static struct i2c_client em28xx_client_template = { .name ="em28xx internal" , - .flags =I2C_CLIENT_ALLOW_USE , };/* ----------------------------------------------------------- */
drivers/media/video/msp3400.c +1 -3
@@ -1575,7 +1575,6 @@static struct i2c_client client_template { .name = "(unset)", - .flags = I2C_CLIENT_ALLOW_USE, .driver = &driver, }; --- linux-2.6.15-rc2.orig/drivers/media/video/saa6588.c 2005-11-26 14:00:37.000000000 +0100 +++ linux-2.6.15-rc2/drivers/media/video/saa6588.c 2005-11-26 14:21:37.000000000 +0100
@@ -508,7 +508,6 @@static struct i2c_client client_template = { .name ="saa6588" , - .flags =I2C_CLIENT_ALLOW_USE , .driver = &driver, };
drivers/media/video/saa7110.c +0 -1
@@ -501,7 +501,6 @@ 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 );
drivers/media/video/saa7111.c +0 -1
@@ -518,7 +518,6 @@ 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 );
drivers/media/video/saa7114.c +0 -1
@@ -859,7 +859,6 @@ 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 );
drivers/media/video/saa7115.c +0 -1
@@ -1269,7 +1269,6 @@ 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 );
drivers/media/video/saa711x.c +0 -1
@@ -494,7 +494,6 @@ 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 ) {
drivers/media/video/saa7127.c +0 -1
@@ -721,7 +721,6 @@ 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 );
drivers/media/video/saa7134/saa6752hs.c +1 -3
@@ -609,7 +609,6 @@static struct i2c_client client_template { .name = "saa6752hs", - .flags = I2C_CLIENT_ALLOW_USE, .driver = &driver, }; --- linux-2.6.15-rc2.orig/drivers/media/video/saa7185.c 2005-11-26 14:00:37.000000000 +0100 +++ linux-2.6.15-rc2/drivers/media/video/saa7185.c 2005-11-26 14:21:37.000000000 +0100
@@ -415,7 +415,6 @@ 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 );
drivers/media/video/tda9887.c +1 -3
@@ -832,7 +832,6 @@static struct i2c_client client_template { .name = "tda9887", - .flags = I2C_CLIENT_ALLOW_USE, .driver = &driver, }; --- linux-2.6.15-rc2.orig/drivers/media/video/tuner-core.c 2005-11-26 14:00:37.000000000 +0100 +++ linux-2.6.15-rc2/drivers/media/video/tuner-core.c 2005-11-26 14:21:37.000000000 +0100
@@ -755,7 +755,6 @@ };static struct i2c_client client_template = { .name ="(tuner unset)" , - .flags =I2C_CLIENT_ALLOW_USE , .driver = &driver, };
drivers/media/video/tvaudio.c +1 -3
@@ -1715,7 +1715,6 @@static struct i2c_client client_template { .name = "(unset)", - .flags = I2C_CLIENT_ALLOW_USE, .driver = &driver, }; --- linux-2.6.15-rc2.orig/drivers/media/video/tveeprom.c 2005-11-26 14:00:37.000000000 +0100 +++ linux-2.6.15-rc2/drivers/media/video/tveeprom.c 2005-11-26 14:21:37.000000000 +0100
@@ -709,7 +709,6 @@ 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);return 0 ;
drivers/media/video/tvp5150.c +0 -1
@@ -714,7 +714,6 @@static struct i2c_client client_template = { .name ="(unset)" , - .flags =I2C_CLIENT_ALLOW_USE , .driver = &driver, };
drivers/media/video/vpx3220.c +0 -1
@@ -631,7 +631,6 @@ 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 ) {
drivers/media/video/wm8775.c +0 -1
@@ -168,7 +168,6 @@ 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);
include/linux/i2c.h +0 -1
@@ -251,7 +251,6 @@ }/*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 */
Signature · 1 line
Jean Delvare