struct i2c_client *client = to_i2c_client(dev);
struct msg2638_ts_data *msg2638 = i2c_get_clientdata(client);
- mutex_lock(&msg2638->input_dev->mutex);
+ guard(mutex)(&msg2638->input_dev->mutex);
if (input_device_enabled(msg2638->input_dev))
msg2638_stop(msg2638);
- mutex_unlock(&msg2638->input_dev->mutex);
-
return 0;
}
{
struct i2c_client *client = to_i2c_client(dev);
struct msg2638_ts_data *msg2638 = i2c_get_clientdata(client);
- int ret = 0;
-
- mutex_lock(&msg2638->input_dev->mutex);
+ int error;
- if (input_device_enabled(msg2638->input_dev))
- ret = msg2638_start(msg2638);
+ guard(mutex)(&msg2638->input_dev->mutex);
- mutex_unlock(&msg2638->input_dev->mutex);
+ if (input_device_enabled(msg2638->input_dev)) {
+ error = msg2638_start(msg2638);
+ if (error)
+ return error;
+ }
- return ret;
+ return 0;
}
static DEFINE_SIMPLE_DEV_PM_OPS(msg2638_pm_ops, msg2638_suspend, msg2638_resume);