rk312x:rt5025&rt5036:modify usb irq error
authorzhangqing <zhangqing@rock-chips.com>
Wed, 24 Sep 2014 08:00:09 +0000 (16:00 +0800)
committerzhangqing <zhangqing@rock-chips.com>
Wed, 24 Sep 2014 08:00:09 +0000 (16:00 +0800)
drivers/mfd/rt5025-i2c.c
drivers/mfd/rt5036-i2c.c

index 18ec6e5c4e2410b74ba7867ae334434791a29d5a..e3d76be07fd0d96582fd33aa0b557119ed22a3af 100755 (executable)
@@ -63,28 +63,22 @@ EXPORT_SYMBOL(rt5025_reg_block_write);
 
 int rt5025_reg_read(struct i2c_client *i2c, int reg)
 {
-       struct rt5025_chip *chip = i2c_get_clientdata(i2c);
        int ret;
 
        RTINFO("I2C Read (client : 0x%x) reg = 0x%x\n",
                (unsigned int) i2c, (unsigned int) reg);
-       mutex_lock(&chip->io_lock);
        ret = i2c_smbus_read_byte_data(i2c, reg);
-       mutex_unlock(&chip->io_lock);
        return ret;
 }
 EXPORT_SYMBOL(rt5025_reg_read);
 
 int rt5025_reg_write(struct i2c_client *i2c, int reg, unsigned char data)
 {
-       struct rt5025_chip *chip = i2c_get_clientdata(i2c);
        int ret;
 
        RTINFO("I2C Write (client : 0x%x) reg = 0x%x, data = 0x%x\n",
                (unsigned int) i2c, (unsigned int) reg, (unsigned int) data);
-       mutex_lock(&chip->io_lock);
        ret = i2c_smbus_write_byte_data(i2c, reg, data);
-       mutex_unlock(&chip->io_lock);
        return ret;
 }
 EXPORT_SYMBOL(rt5025_reg_write);
@@ -92,12 +86,9 @@ EXPORT_SYMBOL(rt5025_reg_write);
 int rt5025_assign_bits(struct i2c_client *i2c, int reg,
                unsigned char mask, unsigned char data)
 {
-       struct rt5025_chip *chip = i2c_get_clientdata(i2c);
        unsigned char value;
        int ret;
 
-       mutex_lock(&chip->io_lock);
-
        ret = rt5025_read_device(i2c, reg, 1, &value);
 
        if (ret < 0)
@@ -106,7 +97,6 @@ int rt5025_assign_bits(struct i2c_client *i2c, int reg,
        value |= (data&mask);
        ret = i2c_smbus_write_byte_data(i2c, reg, value);
 out:
-       mutex_unlock(&chip->io_lock);
        return ret;
 }
 EXPORT_SYMBOL(rt5025_assign_bits);
index 1d2d616971b36addda01212c676e66052f4c1186..db13240690555b27839900213a80cdf94433c536 100755 (executable)
@@ -66,28 +66,22 @@ EXPORT_SYMBOL(rt5036_reg_block_write);
 
 int rt5036_reg_read(struct i2c_client *i2c, int reg)
 {
-       struct rt5036_chip *chip = i2c_get_clientdata(i2c);
        int ret;
 
        RTINFO("I2C Read (client : 0x%x) reg = 0x%x\n",
               (unsigned int)i2c, (unsigned int)reg);
-       mutex_lock(&chip->io_lock);
        ret = i2c_smbus_read_byte_data(i2c, reg);
-       mutex_unlock(&chip->io_lock);
        return ret;
 }
 EXPORT_SYMBOL(rt5036_reg_read);
 
 int rt5036_reg_write(struct i2c_client *i2c, int reg, unsigned char data)
 {
-       struct rt5036_chip *chip = i2c_get_clientdata(i2c);
        int ret;
 
        RTINFO("I2C Write (client : 0x%x) reg = 0x%x, data = 0x%x\n",
               (unsigned int)i2c, (unsigned int)reg, (unsigned int)data);
-       mutex_lock(&chip->io_lock);
        ret = i2c_smbus_write_byte_data(i2c, reg, data);
-       mutex_unlock(&chip->io_lock);
        return ret;
 }
 EXPORT_SYMBOL(rt5036_reg_write);
@@ -95,11 +89,9 @@ EXPORT_SYMBOL(rt5036_reg_write);
 int rt5036_assign_bits(struct i2c_client *i2c, int reg,
                       unsigned char mask, unsigned char data)
 {
-       struct rt5036_chip *chip = i2c_get_clientdata(i2c);
        unsigned char value;
        int ret;
 
-       mutex_lock(&chip->io_lock);
        ret = rt5036_read_device(i2c, reg, 1, &value);
 
        if (ret < 0)
@@ -108,7 +100,6 @@ int rt5036_assign_bits(struct i2c_client *i2c, int reg,
        value |= (data & mask);
        ret = i2c_smbus_write_byte_data(i2c, reg, value);
 out:
-       mutex_unlock(&chip->io_lock);
        return ret;
 }
 EXPORT_SYMBOL(rt5036_assign_bits);