Lines Matching defs:tsc

50 static int tps6507x_read_u8(struct tps6507x_ts *tsc, u8 reg, u8 *data)
52 return tsc->mfd->read_dev(tsc->mfd, reg, 1, data);
55 static int tps6507x_write_u8(struct tps6507x_ts *tsc, u8 reg, u8 data)
57 return tsc->mfd->write_dev(tsc->mfd, reg, 1, &data);
60 static s32 tps6507x_adc_conversion(struct tps6507x_ts *tsc,
69 ret = tps6507x_write_u8(tsc, TPS6507X_REG_TSCMODE, tsc_mode);
71 dev_err(tsc->dev, "TSC mode read failed\n");
77 ret = tps6507x_write_u8(tsc, TPS6507X_REG_ADCONFIG,
80 dev_err(tsc->dev, "ADC config write failed\n");
85 ret = tps6507x_read_u8(tsc, TPS6507X_REG_ADCONFIG,
88 dev_err(tsc->dev, "ADC config read failed\n");
93 ret = tps6507x_read_u8(tsc, TPS6507X_REG_ADRESULT_2, &result);
95 dev_err(tsc->dev, "ADC result 2 read failed\n");
101 ret = tps6507x_read_u8(tsc, TPS6507X_REG_ADRESULT_1, &result);
103 dev_err(tsc->dev, "ADC result 1 read failed\n");
109 dev_dbg(tsc->dev, "TSC channel %d = 0x%X\n", tsc_mode, *value);
119 static s32 tps6507x_adc_standby(struct tps6507x_ts *tsc)
124 ret = tps6507x_write_u8(tsc, TPS6507X_REG_ADCONFIG,
129 ret = tps6507x_write_u8(tsc, TPS6507X_REG_TSCMODE,
134 ret = tps6507x_read_u8(tsc, TPS6507X_REG_INT, &val);
140 ret = tps6507x_read_u8(tsc, TPS6507X_REG_INT, &val);
150 struct tps6507x_ts *tsc = input_get_drvdata(input_dev);
154 ret = tps6507x_adc_conversion(tsc, TPS6507X_TSCMODE_PRESSURE,
155 &tsc->tc.pressure);
159 pendown = tsc->tc.pressure > tsc->min_pressure;
161 if (unlikely(!pendown && tsc->pendown)) {
162 dev_dbg(tsc->dev, "UP\n");
166 tsc->pendown = false;
171 if (!tsc->pendown) {
172 dev_dbg(tsc->dev, "DOWN\n");
175 dev_dbg(tsc->dev, "still down\n");
177 ret = tps6507x_adc_conversion(tsc, TPS6507X_TSCMODE_X_POSITION,
178 &tsc->tc.x);
182 ret = tps6507x_adc_conversion(tsc, TPS6507X_TSCMODE_Y_POSITION,
183 &tsc->tc.y);
187 input_report_abs(input_dev, ABS_X, tsc->tc.x);
188 input_report_abs(input_dev, ABS_Y, tsc->tc.y);
189 input_report_abs(input_dev, ABS_PRESSURE, tsc->tc.pressure);
191 tsc->pendown = true;
195 tps6507x_adc_standby(tsc);
203 struct tps6507x_ts *tsc;
224 tsc = devm_kzalloc(&pdev->dev, sizeof(struct tps6507x_ts), GFP_KERNEL);
225 if (!tsc) {
230 tsc->mfd = tps6507x_dev;
231 tsc->dev = tps6507x_dev->dev;
232 tsc->min_pressure = init_data ?
235 snprintf(tsc->phys, sizeof(tsc->phys),
236 "%s/input0", dev_name(tsc->dev));
240 dev_err(tsc->dev, "Failed to allocate polled input device.\n");
244 tsc->input = input_dev;
245 input_set_drvdata(input_dev, tsc);
253 input_dev->phys = tsc->phys;
254 input_dev->dev.parent = tsc->dev;
262 error = tps6507x_adc_standby(tsc);