UPSTREAM: ARM: 8478/2: arm/arm64: add arm-smccc
[firefly-linux-kernel-4.4.55.git] / drivers / mfd / rt5025-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);