struct imx6ul_tsc *tsc = platform_get_drvdata(pdev);
struct input_dev *input_dev = tsc->input;
- mutex_lock(&input_dev->mutex);
+ guard(mutex)(&input_dev->mutex);
if (input_device_enabled(input_dev))
imx6ul_tsc_stop(tsc);
- mutex_unlock(&input_dev->mutex);
-
return 0;
}
struct platform_device *pdev = to_platform_device(dev);
struct imx6ul_tsc *tsc = platform_get_drvdata(pdev);
struct input_dev *input_dev = tsc->input;
- int retval = 0;
-
- mutex_lock(&input_dev->mutex);
+ int error;
- if (input_device_enabled(input_dev))
- retval = imx6ul_tsc_start(tsc);
+ guard(mutex)(&input_dev->mutex);
- mutex_unlock(&input_dev->mutex);
+ if (input_device_enabled(input_dev)) {
+ error = imx6ul_tsc_start(tsc);
+ if (error)
+ return error;
+ }
- return retval;
+ return 0;
}
static DEFINE_SIMPLE_DEV_PM_OPS(imx6ul_tsc_pm_ops,