mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 23:52:08 +02:00
iio: light: vcnl4000: replace mutex_init() with devm_mutex_init()
Replace mutex_init() used across the driver with its device-managed counterpart, so all assigned mutexes get destroyed. Reviewed-by: David Lechner <dlechner@baylibre.com> Signed-off-by: Erikas Bitovtas <xerikasxx@gmail.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
1c9cb53572
commit
177fa06d8e
|
|
@ -356,6 +356,8 @@ static int vcnl4200_set_power_state(struct vcnl4000_data *data, bool on)
|
|||
|
||||
static int vcnl4200_init(struct vcnl4000_data *data)
|
||||
{
|
||||
struct i2c_client *client = data->client;
|
||||
struct device *dev = &client->dev;
|
||||
int ret, id;
|
||||
u16 regval;
|
||||
|
||||
|
|
@ -400,8 +402,14 @@ static int vcnl4200_init(struct vcnl4000_data *data)
|
|||
}
|
||||
data->al_scale = data->chip_spec->ulux_step;
|
||||
data->ps_scale = 16;
|
||||
mutex_init(&data->vcnl4200_al.lock);
|
||||
mutex_init(&data->vcnl4200_ps.lock);
|
||||
|
||||
ret = devm_mutex_init(dev, &data->vcnl4200_al.lock);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = devm_mutex_init(dev, &data->vcnl4200_ps.lock);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
/* Use 16 bits proximity sensor readings */
|
||||
ret = i2c_smbus_read_word_data(data->client, VCNL4200_PS_CONF1);
|
||||
|
|
@ -1979,6 +1987,7 @@ static int vcnl4010_probe_trigger(struct iio_dev *indio_dev)
|
|||
static int vcnl4000_probe(struct i2c_client *client)
|
||||
{
|
||||
const struct i2c_device_id *id = i2c_client_get_device_id(client);
|
||||
struct device *dev = &client->dev;
|
||||
struct vcnl4000_data *data;
|
||||
struct iio_dev *indio_dev;
|
||||
int ret;
|
||||
|
|
@ -1993,7 +2002,9 @@ static int vcnl4000_probe(struct i2c_client *client)
|
|||
data->id = id->driver_data;
|
||||
data->chip_spec = &vcnl4000_chip_spec_cfg[data->id];
|
||||
|
||||
mutex_init(&data->vcnl4000_lock);
|
||||
ret = devm_mutex_init(dev, &data->vcnl4000_lock);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = data->chip_spec->init(data);
|
||||
if (ret < 0)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user