Merge branch 'i2c/precise-locking-names_immutable' into i2c/for-4.19
This commit is contained in:
@ -689,9 +689,9 @@ static int brcmstb_i2c_suspend(struct device *dev)
|
||||
{
|
||||
struct brcmstb_i2c_dev *i2c_dev = dev_get_drvdata(dev);
|
||||
|
||||
i2c_lock_adapter(&i2c_dev->adapter);
|
||||
i2c_lock_bus(&i2c_dev->adapter, I2C_LOCK_ROOT_ADAPTER);
|
||||
i2c_dev->is_suspended = true;
|
||||
i2c_unlock_adapter(&i2c_dev->adapter);
|
||||
i2c_unlock_bus(&i2c_dev->adapter, I2C_LOCK_ROOT_ADAPTER);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -700,10 +700,10 @@ static int brcmstb_i2c_resume(struct device *dev)
|
||||
{
|
||||
struct brcmstb_i2c_dev *i2c_dev = dev_get_drvdata(dev);
|
||||
|
||||
i2c_lock_adapter(&i2c_dev->adapter);
|
||||
i2c_lock_bus(&i2c_dev->adapter, I2C_LOCK_ROOT_ADAPTER);
|
||||
brcmstb_i2c_set_bsc_reg_defaults(i2c_dev);
|
||||
i2c_dev->is_suspended = false;
|
||||
i2c_unlock_adapter(&i2c_dev->adapter);
|
||||
i2c_unlock_bus(&i2c_dev->adapter, I2C_LOCK_ROOT_ADAPTER);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -714,14 +714,14 @@ static int i2c_davinci_cpufreq_transition(struct notifier_block *nb,
|
||||
|
||||
dev = container_of(nb, struct davinci_i2c_dev, freq_transition);
|
||||
|
||||
i2c_lock_adapter(&dev->adapter);
|
||||
i2c_lock_bus(&dev->adapter, I2C_LOCK_ROOT_ADAPTER);
|
||||
if (val == CPUFREQ_PRECHANGE) {
|
||||
davinci_i2c_reset_ctrl(dev, 0);
|
||||
} else if (val == CPUFREQ_POSTCHANGE) {
|
||||
i2c_davinci_calc_clk_dividers(dev);
|
||||
davinci_i2c_reset_ctrl(dev, 1);
|
||||
}
|
||||
i2c_unlock_adapter(&dev->adapter);
|
||||
i2c_unlock_bus(&dev->adapter, I2C_LOCK_ROOT_ADAPTER);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -78,24 +78,24 @@ static struct dentry *i2c_gpio_debug_dir;
|
||||
#define getscl(bd) ((bd)->getscl((bd)->data))
|
||||
|
||||
#define WIRE_ATTRIBUTE(wire) \
|
||||
static int fops_##wire##_get(void *data, u64 *val) \
|
||||
{ \
|
||||
struct i2c_gpio_private_data *priv = data; \
|
||||
\
|
||||
i2c_lock_adapter(&priv->adap); \
|
||||
*val = get##wire(&priv->bit_data); \
|
||||
i2c_unlock_adapter(&priv->adap); \
|
||||
return 0; \
|
||||
} \
|
||||
static int fops_##wire##_set(void *data, u64 val) \
|
||||
{ \
|
||||
struct i2c_gpio_private_data *priv = data; \
|
||||
\
|
||||
i2c_lock_adapter(&priv->adap); \
|
||||
set##wire(&priv->bit_data, val); \
|
||||
i2c_unlock_adapter(&priv->adap); \
|
||||
return 0; \
|
||||
} \
|
||||
static int fops_##wire##_get(void *data, u64 *val) \
|
||||
{ \
|
||||
struct i2c_gpio_private_data *priv = data; \
|
||||
\
|
||||
i2c_lock_bus(&priv->adap, I2C_LOCK_ROOT_ADAPTER); \
|
||||
*val = get##wire(&priv->bit_data); \
|
||||
i2c_unlock_bus(&priv->adap, I2C_LOCK_ROOT_ADAPTER); \
|
||||
return 0; \
|
||||
} \
|
||||
static int fops_##wire##_set(void *data, u64 val) \
|
||||
{ \
|
||||
struct i2c_gpio_private_data *priv = data; \
|
||||
\
|
||||
i2c_lock_bus(&priv->adap, I2C_LOCK_ROOT_ADAPTER); \
|
||||
set##wire(&priv->bit_data, val); \
|
||||
i2c_unlock_bus(&priv->adap, I2C_LOCK_ROOT_ADAPTER); \
|
||||
return 0; \
|
||||
} \
|
||||
DEFINE_DEBUGFS_ATTRIBUTE(fops_##wire, fops_##wire##_get, fops_##wire##_set, "%llu\n")
|
||||
|
||||
WIRE_ATTRIBUTE(scl);
|
||||
@ -107,7 +107,7 @@ static void i2c_gpio_incomplete_transfer(struct i2c_gpio_private_data *priv,
|
||||
struct i2c_algo_bit_data *bit_data = &priv->bit_data;
|
||||
int i;
|
||||
|
||||
i2c_lock_adapter(&priv->adap);
|
||||
i2c_lock_bus(&priv->adap, I2C_LOCK_ROOT_ADAPTER);
|
||||
|
||||
/* START condition */
|
||||
setsda(bit_data, 0);
|
||||
@ -123,7 +123,7 @@ static void i2c_gpio_incomplete_transfer(struct i2c_gpio_private_data *priv,
|
||||
udelay(bit_data->udelay);
|
||||
}
|
||||
|
||||
i2c_unlock_adapter(&priv->adap);
|
||||
i2c_unlock_bus(&priv->adap, I2C_LOCK_ROOT_ADAPTER);
|
||||
}
|
||||
|
||||
static int fops_incomplete_addr_phase_set(void *data, u64 addr)
|
||||
|
@ -919,9 +919,9 @@ static int s3c24xx_i2c_cpufreq_transition(struct notifier_block *nb,
|
||||
|
||||
if ((val == CPUFREQ_POSTCHANGE && delta_f < 0) ||
|
||||
(val == CPUFREQ_PRECHANGE && delta_f > 0)) {
|
||||
i2c_lock_adapter(&i2c->adap);
|
||||
i2c_lock_bus(&i2c->adap, I2C_LOCK_ROOT_ADAPTER);
|
||||
ret = s3c24xx_i2c_clockrate(i2c, &got);
|
||||
i2c_unlock_adapter(&i2c->adap);
|
||||
i2c_unlock_bus(&i2c->adap, I2C_LOCK_ROOT_ADAPTER);
|
||||
|
||||
if (ret < 0)
|
||||
dev_err(i2c->dev, "cannot find frequency (%d)\n", ret);
|
||||
|
@ -590,9 +590,9 @@ static int __maybe_unused sprd_i2c_suspend_noirq(struct device *pdev)
|
||||
{
|
||||
struct sprd_i2c *i2c_dev = dev_get_drvdata(pdev);
|
||||
|
||||
i2c_lock_adapter(&i2c_dev->adap);
|
||||
i2c_lock_bus(&i2c_dev->adap, I2C_LOCK_ROOT_ADAPTER);
|
||||
i2c_dev->is_suspended = true;
|
||||
i2c_unlock_adapter(&i2c_dev->adap);
|
||||
i2c_unlock_bus(&i2c_dev->adap, I2C_LOCK_ROOT_ADAPTER);
|
||||
|
||||
return pm_runtime_force_suspend(pdev);
|
||||
}
|
||||
@ -601,9 +601,9 @@ static int __maybe_unused sprd_i2c_resume_noirq(struct device *pdev)
|
||||
{
|
||||
struct sprd_i2c *i2c_dev = dev_get_drvdata(pdev);
|
||||
|
||||
i2c_lock_adapter(&i2c_dev->adap);
|
||||
i2c_lock_bus(&i2c_dev->adap, I2C_LOCK_ROOT_ADAPTER);
|
||||
i2c_dev->is_suspended = false;
|
||||
i2c_unlock_adapter(&i2c_dev->adap);
|
||||
i2c_unlock_bus(&i2c_dev->adap, I2C_LOCK_ROOT_ADAPTER);
|
||||
|
||||
return pm_runtime_force_resume(pdev);
|
||||
}
|
||||
|
@ -47,9 +47,9 @@ int i2c_slave_register(struct i2c_client *client, i2c_slave_cb_t slave_cb)
|
||||
|
||||
client->slave_cb = slave_cb;
|
||||
|
||||
i2c_lock_adapter(client->adapter);
|
||||
i2c_lock_bus(client->adapter, I2C_LOCK_ROOT_ADAPTER);
|
||||
ret = client->adapter->algo->reg_slave(client);
|
||||
i2c_unlock_adapter(client->adapter);
|
||||
i2c_unlock_bus(client->adapter, I2C_LOCK_ROOT_ADAPTER);
|
||||
|
||||
if (ret) {
|
||||
client->slave_cb = NULL;
|
||||
@ -69,9 +69,9 @@ int i2c_slave_unregister(struct i2c_client *client)
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
i2c_lock_adapter(client->adapter);
|
||||
i2c_lock_bus(client->adapter, I2C_LOCK_ROOT_ADAPTER);
|
||||
ret = client->adapter->algo->unreg_slave(client);
|
||||
i2c_unlock_adapter(client->adapter);
|
||||
i2c_unlock_bus(client->adapter, I2C_LOCK_ROOT_ADAPTER);
|
||||
|
||||
if (ret == 0)
|
||||
client->slave_cb = NULL;
|
||||
|
@ -298,11 +298,11 @@ static int pca9541_probe(struct i2c_client *client,
|
||||
|
||||
/*
|
||||
* I2C accesses are unprotected here.
|
||||
* We have to lock the adapter before releasing the bus.
|
||||
* We have to lock the I2C segment before releasing the bus.
|
||||
*/
|
||||
i2c_lock_adapter(adap);
|
||||
i2c_lock_bus(adap, I2C_LOCK_SEGMENT);
|
||||
pca9541_release_bus(client);
|
||||
i2c_unlock_adapter(adap);
|
||||
i2c_unlock_bus(adap, I2C_LOCK_SEGMENT);
|
||||
|
||||
/* Create mux adapter */
|
||||
|
||||
|
Reference in New Issue
Block a user