drivers/video/backlight/lp855x_bl.c: remove unnecessary mutex code
authorKim, Milo <Milo.Kim@ti.com>
Tue, 18 Dec 2012 00:00:45 +0000 (16:00 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 18 Dec 2012 01:15:16 +0000 (17:15 -0800)
The mutex for accessing lp855x registers is used in case of the user-space
interaction.  When the brightness is changed via sysfs, the mutex is
required.  But the backlight class device already provides it.  Thus, the
lp855x mutex is unnecessary.

Signed-off-by: Milo(Woogyom) Kim <milo.kim@ti.com>
Cc: Thierry Reding <thierry.reding@avionic-design.de>
Cc: Richard Purdie <rpurdie@rpsys.net>
Cc: Bryan Wu <bryan.wu@canonical.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/video/backlight/lp855x_bl.c

index b437541555ffbc1db13ddb75e68de46d6c0109e5..6e4db0c874c862c237ee29a527c9c9d00ba4ad46 100644 (file)
@@ -35,7 +35,6 @@ struct lp855x {
        struct i2c_client *client;
        struct backlight_device *bl;
        struct device *dev;
-       struct mutex xfer_lock;
        struct lp855x_platform_data *pdata;
        struct pwm_device *pwm;
 };
@@ -44,14 +43,11 @@ static int lp855x_read_byte(struct lp855x *lp, u8 reg, u8 *data)
 {
        int ret;
 
-       mutex_lock(&lp->xfer_lock);
        ret = i2c_smbus_read_byte_data(lp->client, reg);
        if (ret < 0) {
-               mutex_unlock(&lp->xfer_lock);
                dev_err(lp->dev, "failed to read 0x%.2x\n", reg);
                return ret;
        }
-       mutex_unlock(&lp->xfer_lock);
 
        *data = (u8)ret;
        return 0;
@@ -59,13 +55,7 @@ static int lp855x_read_byte(struct lp855x *lp, u8 reg, u8 *data)
 
 static int lp855x_write_byte(struct lp855x *lp, u8 reg, u8 data)
 {
-       int ret;
-
-       mutex_lock(&lp->xfer_lock);
-       ret = i2c_smbus_write_byte_data(lp->client, reg, data);
-       mutex_unlock(&lp->xfer_lock);
-
-       return ret;
+       return i2c_smbus_write_byte_data(lp->client, reg, data);
 }
 
 static bool lp855x_is_valid_rom_area(struct lp855x *lp, u8 addr)
@@ -281,8 +271,6 @@ static int lp855x_probe(struct i2c_client *cl, const struct i2c_device_id *id)
        lp->chip_id = id->driver_data;
        i2c_set_clientdata(cl, lp);
 
-       mutex_init(&lp->xfer_lock);
-
        ret = lp855x_init_registers(lp);
        if (ret) {
                dev_err(lp->dev, "i2c communication err: %d", ret);