drivers/video/backlight/lp855x_bl.c: remove unnecessary mutex code
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>
This commit is contained in:
committed by
Linus Torvalds
parent
8cc9764c9c
commit
eaa4d02fba
@@ -35,7 +35,6 @@ struct lp855x {
|
|||||||
struct i2c_client *client;
|
struct i2c_client *client;
|
||||||
struct backlight_device *bl;
|
struct backlight_device *bl;
|
||||||
struct device *dev;
|
struct device *dev;
|
||||||
struct mutex xfer_lock;
|
|
||||||
struct lp855x_platform_data *pdata;
|
struct lp855x_platform_data *pdata;
|
||||||
struct pwm_device *pwm;
|
struct pwm_device *pwm;
|
||||||
};
|
};
|
||||||
@@ -44,14 +43,11 @@ static int lp855x_read_byte(struct lp855x *lp, u8 reg, u8 *data)
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
mutex_lock(&lp->xfer_lock);
|
|
||||||
ret = i2c_smbus_read_byte_data(lp->client, reg);
|
ret = i2c_smbus_read_byte_data(lp->client, reg);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
mutex_unlock(&lp->xfer_lock);
|
|
||||||
dev_err(lp->dev, "failed to read 0x%.2x\n", reg);
|
dev_err(lp->dev, "failed to read 0x%.2x\n", reg);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
mutex_unlock(&lp->xfer_lock);
|
|
||||||
|
|
||||||
*data = (u8)ret;
|
*data = (u8)ret;
|
||||||
return 0;
|
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)
|
static int lp855x_write_byte(struct lp855x *lp, u8 reg, u8 data)
|
||||||
{
|
{
|
||||||
int ret;
|
return i2c_smbus_write_byte_data(lp->client, reg, data);
|
||||||
|
|
||||||
mutex_lock(&lp->xfer_lock);
|
|
||||||
ret = i2c_smbus_write_byte_data(lp->client, reg, data);
|
|
||||||
mutex_unlock(&lp->xfer_lock);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool lp855x_is_valid_rom_area(struct lp855x *lp, u8 addr)
|
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;
|
lp->chip_id = id->driver_data;
|
||||||
i2c_set_clientdata(cl, lp);
|
i2c_set_clientdata(cl, lp);
|
||||||
|
|
||||||
mutex_init(&lp->xfer_lock);
|
|
||||||
|
|
||||||
ret = lp855x_init_registers(lp);
|
ret = lp855x_init_registers(lp);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(lp->dev, "i2c communication err: %d", ret);
|
dev_err(lp->dev, "i2c communication err: %d", ret);
|
||||||
|
Reference in New Issue
Block a user