report_data
u8 *report_data, *buf;
report_data = buf = hid_alloc_report_buf(report, GFP_KERNEL);
if (!report_data)
ret = hid_hw_raw_request(hdev, report->id, report_data,
report_data++;
ret = hid_report_raw_event(hdev, HID_FEATURE_REPORT, report_data,
const struct cyapa_pip_report_data *report_data)
u8 buttons = report_data->report_head[PIP_BUTTONS_OFFSET];
const struct cyapa_pip_report_data *report_data)
u8 distance = report_data->report_head[PIP_PROXIMITY_DISTANCE_OFFSET] &
const struct cyapa_pip_report_data *report_data)
touch_num = report_data->report_head[PIP_NUMBER_OF_TOUCH_OFFSET] &
&report_data->touch_records[i]);
struct cyapa_pip_report_data report_data;
ret = cyapa_i2c_pip_read(cyapa, (u8 *)&report_data,
&report_data.report_head[PIP_RESP_LENGTH_OFFSET]);
report_len, report_data.report_head[0],
report_data.report_head[1]);
ret = cyapa_i2c_pip_read(cyapa, (u8 *)&report_data, report_len);
return cyapa_pip_event_process(cyapa, &report_data);
struct cyapa_pip_report_data *report_data)
&report_data->report_head[PIP_RESP_LENGTH_OFFSET]);
report_id = report_data->report_head[PIP_RESP_REPORT_ID_OFFSET];
cyapa_pip_report_touches(cyapa, report_data);
cyapa_pip_report_proximity(cyapa, report_data);
cyapa_pip_report_buttons(cyapa, report_data);
struct cyapa_pip_report_data *report_data);
struct cytp_report_data *report_data)
memset(report_data, 0, sizeof(struct cytp_report_data));
report_data->contact_cnt = cypress_get_finger_count(header_byte);
report_data->tap = (header_byte & ABS_MULTIFINGER_TAP) ? 1 : 0;
if (report_data->contact_cnt == 1) {
report_data->contacts[0].x =
report_data->contacts[0].y =
report_data->contacts[0].z = packet[4];
} else if (report_data->contact_cnt >= 2) {
report_data->contacts[0].x =
report_data->contacts[0].y =
report_data->contacts[0].z = packet[4];
report_data->contacts[1].x =
report_data->contacts[1].y =
report_data->contacts[1].z = report_data->contacts[0].z;
report_data->left = (header_byte & BTN_LEFT_BIT) ? 1 : 0;
report_data->right = (header_byte & BTN_RIGHT_BIT) ? 1 : 0;
if (report_data->tap)
report_data->left = 0;
int n = report_data->contact_cnt;
report_data->contact_cnt);
report_data->contacts[i].x,
report_data->contacts[i].y,
report_data->contacts[i].z);
psmouse_dbg(psmouse, "left = %d\n", report_data->left);
psmouse_dbg(psmouse, "right = %d\n", report_data->right);
psmouse_dbg(psmouse, "middle = %d\n", report_data->middle);
struct cytp_report_data report_data;
cypress_parse_packet(psmouse, cytp, &report_data);
n = report_data.contact_cnt;
contact = &report_data.contacts[i];
contact = &report_data.contacts[i];
input_mt_report_finger_count(input, report_data.contact_cnt);
input_report_key(input, BTN_LEFT, report_data.left);
input_report_key(input, BTN_RIGHT, report_data.right);
input_report_key(input, BTN_MIDDLE, report_data.middle);
u8 *report_data;
memcpy(ptr, f54->report_data, f54->report_size);
f54->report_data + i, size);
f54->report_data = devm_kzalloc(&fn->dev,
if (f54->report_data == NULL)
ts->report_data = devm_kmalloc(&client->dev,
if (!ts->report_data)
u8 *report_data;
if (ts->report_data && ts->pkg_size != data_info.pkg_size) {
u8 *contact = &ts->report_data[ts->contact_size * i];
ts->report_data, ts->pkg_size);
fw_crc = get_unaligned_le16(&ts->report_data[ts->report_size]);
calc_crc = raydium_calc_chksum(ts->report_data, ts->report_size);
struct usb_hidg_report report_data;
if (entry->report_data.report_id == report_id)
if (ptr && !ptr->report_data.userspace_req) {
req->buf = ptr->report_data.data;
req->buf = ptr->report_data.data;
if (copy_from_user(&entry->report_data, buffer,
report_id = entry->report_data.report_id;
if (copy_from_user(&ptr->report_data, buffer,
struct report_data *data)
struct report_data data;
struct report_data zero, *data;
__uint(value_size, sizeof(struct report_data));