static int ad7879_open(struct input_dev *input) { struct ad7879 *ts = input_get_drvdata(input); /* protected by input->mutex */ if (!ts->disabled && !ts->suspended) __ad7879_enable(ts); return 0; }
static int ad7879_open(struct input_dev *input) { struct ad7879 *ts = input_get_drvdata(input); if (!ts->disabled && !ts->suspended) __ad7879_enable(ts); return 0; }
static int ad7879_resume(struct device *dev) { struct ad7879 *ts = dev_get_drvdata(dev); mutex_lock(&ts->input->mutex); if (ts->suspended && !ts->disabled && ts->input->users) __ad7879_enable(ts); ts->suspended = false; mutex_unlock(&ts->input->mutex); return 0; }
static void ad7879_toggle(struct ad7879 *ts, bool disable) { mutex_lock(&ts->input->mutex); if (!ts->suspended && ts->input->users != 0) { if (disable) { if (ts->disabled) __ad7879_enable(ts); } else { if (!ts->disabled) __ad7879_disable(ts); } } ts->disabled = disable; mutex_unlock(&ts->input->mutex); }