mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 22:14:04 +02:00
rk312x:rt5025&rt5036:modify usb irq error
This commit is contained in:
parent
45c75e6014
commit
bb24c5d1b9
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user