Skip to contentSkip to conversation

i2c:Drop i2c_driver.flags, 3 of 3

PATCH In review Jean Delvare 2 participants 2 messages Nov 26, 2005 – Nov 27, 2005 I2C

lore
Share & tools
lore
#0 lore raw

PATCH 9/25 i2c:Drop i2c_driver.flags, 3 of 3

Content-Disposition: inline; filename=i2c-client-use-03-allow-multiple-use.patch

Do not limit the usage count of i2c clients to 1. In other words, change the client usage count behavior from the old I2C_CLIENT_ALLOW_USE to the old I2C_CLIENT_ALLOW_MULTIPLE_USE. The rationale is that no driver actually needs the limiting behavior, and the unlimiting behavior is slightly easier to implement.

Update the documentation to reflect this change.

---
 Documentation/i2c/porting-clients |    1 +
 drivers/i2c/i2c-core.c            |    5 -----
 include/linux/i2c.h               |    4 +---
 3 files changed, 2 insertions(+), 8 deletions(-)
Documentation/i2c/porting-clients +1 -0
@@ -92,6 +92,7 @@
   Drop client->id.
   Drop any 24RF08 corruption prevention you find, as this is now done
   at the i2c-core level, and doing it twice voids it.
+  Don't add I2C_CLIENT_ALLOW_USE to client->flags, it's the default now.
 
 * [Init] Limits must not be set by the driver (can be done later in
   user-space). Chip should not be reset default (although a module
drivers/i2c/i2c-core.c +0 -5
@@ -497,14 +497,9 @@
 	if (ret)
 		return ret;
 
-	if (client->usage_count > 0)
-		goto busy;
 	client->usage_count++;
 
 	return 0;
- busy:
-	i2c_dec_use_client(client);
-	return -EBUSY;
 }
 
 int i2c_release_client(struct i2c_client *client)
include/linux/i2c.h +1 -3
@@ -308,9 +308,7 @@
    extern struct i2c_client *i2c_get_client(int,int,struct i2c_client *);
    to make sure that client-struct is valid and that it is okay to access
    the i2c-client. 
-   returns -EACCES if client doesn't allow use (default)
-   returns -EBUSY if client doesn't allow multiple use (default) and 
-   usage_count >0 */
+   returns -ENODEV if client has gone in the meantime */
 extern int i2c_use_client(struct i2c_client *);
 extern int i2c_release_client(struct i2c_client *);
 
Signature · 1 line
Jean Delvare
#1 lore raw

PATCH 9/25 i2c:Drop i2c_driver.flags, 3 of 3

Hi Jean:

Quoted 8 lines · Jean Delvare

Content-Disposition: inline; filename=i2c-client-use-03-allow-multiple-use.patch

Do not limit the usage count of i2c clients to 1. In other words, change the client usage count behavior from the old I2C_CLIENT_ALLOW_USE to the old I2C_CLIENT_ALLOW_MULTIPLE_USE. The rationale is that no driver actually needs the limiting behavior, and the unlimiting behavior is slightly easier to implement.

Quoted 8 lines

Update the documentation to reflect this change.

---
 Documentation/i2c/porting-clients |    1 +
 drivers/i2c/i2c-core.c            |    5 -----
 include/linux/i2c.h               |    4 +---
 3 files changed, 2 insertions(+), 8 deletions(-)

-EWRONGPATCH ? This one is the same as 23/25 in the series.

Regards,

Signature · 2 lines
Mark M. Hoffman
[email protected]