Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=94e183fd0425a917d9c1453041ef88f3610c0f01
Commit:     94e183fd0425a917d9c1453041ef88f3610c0f01
Parent:     8eccbb6fb97a5b54a9db166399f0d24f33114522
Author:     Jean Delvare <[EMAIL PROTECTED]>
AuthorDate: Tue May 8 17:21:59 2007 +0200
Committer:  Jean Delvare <[EMAIL PROTECTED]>
CommitDate: Tue May 8 17:21:59 2007 +0200

    hwmon/smsc47m1: Get rid of a useless mutex
    
    The smsc47m1 driver uses a mutex to protect the accesses to the
    hardware registers. It really doesn't need any protection, as the
    register space is flat. Get rid of that mutex for a smaller and
    faster driver.
    
    Signed-off-by: Jean Delvare <[EMAIL PROTECTED]>
---
 drivers/hwmon/smsc47m1.c |   33 ++++++++++-----------------------
 1 files changed, 10 insertions(+), 23 deletions(-)

diff --git a/drivers/hwmon/smsc47m1.c b/drivers/hwmon/smsc47m1.c
index 16762cc..f219d7c 100644
--- a/drivers/hwmon/smsc47m1.c
+++ b/drivers/hwmon/smsc47m1.c
@@ -116,7 +116,6 @@ struct smsc47m1_data {
        struct i2c_client client;
        enum chips type;
        struct class_device *class_dev;
-       struct mutex lock;
 
        struct mutex update_lock;
        unsigned long last_updated;     /* In jiffies */
@@ -131,13 +130,19 @@ struct smsc47m1_data {
 
 static int smsc47m1_detect(struct i2c_adapter *adapter);
 static int smsc47m1_detach_client(struct i2c_client *client);
-
-static int smsc47m1_read_value(struct i2c_client *client, u8 reg);
-static void smsc47m1_write_value(struct i2c_client *client, u8 reg, u8 value);
-
 static struct smsc47m1_data *smsc47m1_update_device(struct device *dev,
                int init);
 
+static inline int smsc47m1_read_value(struct i2c_client *client, u8 reg)
+{
+       return inb_p(client->addr + reg);
+}
+
+static inline void smsc47m1_write_value(struct i2c_client *client, u8 reg,
+               u8 value)
+{
+       outb_p(value, client->addr + reg);
+}
 
 static struct i2c_driver smsc47m1_driver = {
        .driver = {
@@ -477,7 +482,6 @@ static int smsc47m1_detect(struct i2c_adapter *adapter)
        new_client = &data->client;
        i2c_set_clientdata(new_client, data);
        new_client->addr = address;
-       mutex_init(&data->lock);
        new_client->adapter = adapter;
        new_client->driver = &smsc47m1_driver;
        new_client->flags = 0;
@@ -633,23 +637,6 @@ static int smsc47m1_detach_client(struct i2c_client 
*client)
        return 0;
 }
 
-static int smsc47m1_read_value(struct i2c_client *client, u8 reg)
-{
-       int res;
-
-       mutex_lock(&((struct smsc47m1_data *) 
i2c_get_clientdata(client))->lock);
-       res = inb_p(client->addr + reg);
-       mutex_unlock(&((struct smsc47m1_data *) 
i2c_get_clientdata(client))->lock);
-       return res;
-}
-
-static void smsc47m1_write_value(struct i2c_client *client, u8 reg, u8 value)
-{
-       mutex_lock(&((struct smsc47m1_data *) 
i2c_get_clientdata(client))->lock);
-       outb_p(value, client->addr + reg);
-       mutex_unlock(&((struct smsc47m1_data *) 
i2c_get_clientdata(client))->lock);
-}
-
 static struct smsc47m1_data *smsc47m1_update_device(struct device *dev,
                int init)
 {
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to