/* read xy_data for all touches for debug */ static int cyttsp5_xy_worker(struct cyttsp5_debug_data *dd) { struct device *dev = &dd->ttsp->dev; struct cyttsp5_sysinfo *si = dd->si; u8 report_reg = si->xy_mode[TOUCH_COUNT_BYTE_OFFSET]; u8 num_cur_tch = GET_NUM_TOUCHES(report_reg); uint32_t formated_output; mutex_lock(&dd->sysfs_lock); dd->interrupt_count++; formated_output = dd->formated_output; mutex_unlock(&dd->sysfs_lock); /* Interrupt */ pr_info("Interrupt(%u)\n", dd->interrupt_count); if (formated_output) cyttsp5_debug_formated(dev, dd->pr_buf, si, num_cur_tch); else /* print data for TTHE */ cyttsp5_pr_buf_op_mode(dd, dd->pr_buf, si, num_cur_tch); pr_info("\n"); return 0; }
/* read xy_data for all touches for debug */ static int cyttsp4_xy_worker(struct cyttsp4_debug_data *dd) { struct device *dev = &dd->ttsp->dev; struct cyttsp4_sysinfo *si = dd->si; u8 tt_stat = si->xy_mode[si->si_ofs.tt_stat_ofs]; u8 num_cur_tch = GET_NUM_TOUCHES(tt_stat); uint32_t formated_output; int rc; mutex_lock(&dd->sysfs_lock); dd->interrupt_count++; formated_output = dd->formated_output; mutex_unlock(&dd->sysfs_lock); if (si->si_ofs.num_btns > 0) { /* read button diff data */ rc = cyttsp4_read(dd->ttsp, CY_MODE_OPERATIONAL, /* replace with btn_diff_ofs when that field * becomes supported in the firmware */ si->si_ofs.tt_stat_ofs + 1 + si->si_ofs.max_tchs * si->si_ofs.tch_rec_size, si->btn_rec_data, si->si_ofs.num_btns * si->si_ofs.btn_rec_size); if (rc < 0) { dev_err(dev, "%s: read fail on button regs r=%d\n", __func__, rc); } } /* Interrupt */ pr_info("Interrupt(%u)\n", dd->interrupt_count); if (formated_output) cyttsp4_debug_formated(dev, dd->pr_buf, si, num_cur_tch); else /* print data for TTHE */ cyttsp4_pr_buf_op_mode(dev, dd->pr_buf, si, num_cur_tch); #ifdef SHOK_SENSOR_DATA_MODE /* print data for the sensor monitor */ if (si->monitor.mntr_status == CY_MNTR_STARTED) { cyttsp4_debug_print(dev, dd->pr_buf, si->monitor.sensor_data, 150, "cyttsp4_sensor_monitor"); } #endif pr_info("\n"); dev_vdbg(dev, "%s: done\n", __func__); return 0; }
/* read xy_data for all touches for debug */ static int cyttsp5_xy_worker(struct cyttsp5_debug_data *dd) { struct device *dev = &dd->ttsp->dev; struct cyttsp5_sysinfo *si = dd->si; u8 report_reg = si->xy_mode[TOUCH_COUNT_BYTE_OFFSET]; u8 num_cur_tch = GET_NUM_TOUCHES(report_reg); uint32_t formated_output; mutex_lock(&dd->sysfs_lock); dd->interrupt_count++; formated_output = dd->formated_output; mutex_unlock(&dd->sysfs_lock); return 0; }