Lines Matching refs:info
244 struct synaptics_device_info *info)
248 error = synaptics_query_int(psmouse, SYN_QUE_IDENTIFY, &info->identity);
252 return SYN_ID_IS_SYNAPTICS(info->identity) ? 0 : -ENXIO;
260 struct synaptics_device_info *info)
262 return synaptics_query_int(psmouse, SYN_QUE_MODEL, &info->model_id);
269 struct synaptics_device_info *info)
272 &info->firmware_id);
280 struct synaptics_device_info *info)
286 if (SYN_ID_FULL(info->identity) < 0x705)
293 info->board_id = ((bid[0] & 0xfc) << 6) | bid[1];
297 &info->ext_cap_10);
307 struct synaptics_device_info *info)
312 &info->capabilities);
316 info->ext_cap = info->ext_cap_0c = 0;
321 if (SYN_ID_FULL(info->identity) < 0x705 &&
322 SYN_CAP_SUBMODEL_ID(info->capabilities) != 0x47) {
329 if (!SYN_CAP_EXTENDED(info->capabilities))
330 info->capabilities = 0;
332 if (SYN_EXT_CAP_REQUESTS(info->capabilities) >= 1) {
334 &info->ext_cap);
343 if (SYN_CAP_MULTI_BUTTON_NO(info->ext_cap) > 8)
344 info->ext_cap &= ~SYN_CAP_MB_MASK;
348 if (SYN_EXT_CAP_REQUESTS(info->capabilities) >= 4) {
350 &info->ext_cap_0c);
364 struct synaptics_device_info *info)
369 if (SYN_ID_MAJOR(info->identity) < 4)
375 info->x_res = resp[0]; /* x resolution in units/mm */
376 info->y_res = resp[2]; /* y resolution in units/mm */
380 if (SYN_EXT_CAP_REQUESTS(info->capabilities) >= 5 &&
381 SYN_CAP_MAX_DIMENSIONS(info->ext_cap_0c)) {
388 info->x_max = (resp[0] << 5) | ((resp[1] & 0x0f) << 1);
389 info->y_max = (resp[2] << 5) | ((resp[1] & 0xf0) >> 3);
392 info->x_max, info->y_max);
396 if (SYN_CAP_MIN_DIMENSIONS(info->ext_cap_0c) &&
397 (SYN_EXT_CAP_REQUESTS(info->capabilities) >= 7 ||
403 SYN_ID_FULL(info->identity) == 0x801)) {
410 info->x_min = (resp[0] << 5) | ((resp[1] & 0x0f) << 1);
411 info->y_min = (resp[2] << 5) | ((resp[1] & 0xf0) >> 3);
414 info->x_min, info->y_min);
422 struct synaptics_device_info *info)
426 memset(info, 0, sizeof(*info));
428 error = synaptics_identify(psmouse, info);
432 error = synaptics_model_id(psmouse, info);
436 error = synaptics_firmware_id(psmouse, info);
440 error = synaptics_query_modes(psmouse, info);
444 error = synaptics_capability(psmouse, info);
448 error = synaptics_resolution(psmouse, info);
529 struct synaptics_device_info *info)
539 info->board_id < min_max_pnpid_table[i].board_id.min)
543 info->board_id > min_max_pnpid_table[i].board_id.max)
546 info->x_min = min_max_pnpid_table[i].x_min;
547 info->x_max = min_max_pnpid_table[i].x_max;
548 info->y_min = min_max_pnpid_table[i].y_min;
549 info->y_max = min_max_pnpid_table[i].y_max;
552 info->x_min, info->x_max,
553 info->y_min, info->y_max);
560 return (SYN_CAP_ADV_GESTURE(priv->info.ext_cap_0c) ||
561 SYN_CAP_IMAGE_SENSOR(priv->info.ext_cap_0c));
592 if (SYN_CAP_EXTENDED(priv->info.capabilities))
769 (SYN_CAP_MULTI_BUTTON_NO(priv->info.ext_cap) + 1) >> 1;
782 if (SYN_MODEL_NEWABS(priv->info.model_id)) {
839 } else if (SYN_CAP_CLICKPAD(priv->info.ext_cap_0c)) {
847 } else if (SYN_CAP_MIDDLE_BUTTON(priv->info.capabilities)) {
853 if (SYN_CAP_FOUR_BUTTON(priv->info.capabilities)) {
858 if (SYN_CAP_MULTI_BUTTON_NO(priv->info.ext_cap) > 0 &&
927 int ext_bits = (SYN_CAP_MULTI_BUTTON_NO(priv->info.ext_cap) + 1) >> 1;
930 if (!SYN_CAP_MULTI_BUTTON_NO(priv->info.ext_cap))
934 if ((SYN_ID_FULL(priv->info.identity) == 0x801 ||
935 SYN_ID_FULL(priv->info.identity) == 0x802) &&
939 if (!SYN_CAP_EXT_BUTTONS_STICK(priv->info.ext_cap_10)) {
977 if (SYN_CAP_MIDDLE_BUTTON(priv->info.capabilities))
980 if (SYN_CAP_FOUR_BUTTON(priv->info.capabilities)) {
1005 input_mt_assign_slots(dev, slot, pos, nsemi, DMAX * priv->info.x_res);
1054 if (SYN_CAP_MULTIFINGER(priv->info.capabilities))
1068 struct synaptics_device_info *info = &priv->info;
1076 if (SYN_CAP_IMAGE_SENSOR(info->ext_cap_0c)) {
1104 if (SYN_CAP_EXTENDED(info->capabilities)) {
1112 * SYN_MODEL_PEN(info->model_id): even if
1118 if (SYN_CAP_PALMDETECT(info->capabilities))
1133 if (SYN_CAP_ADV_GESTURE(info->ext_cap_0c))
1150 if (SYN_CAP_PALMDETECT(info->capabilities))
1218 if (SYN_CAP_PASS_THROUGH(priv->info.capabilities) &&
1237 struct synaptics_device_info *info,
1240 int x_min = info->x_min ?: XMIN_NOMINAL;
1241 int x_max = info->x_max ?: XMAX_NOMINAL;
1242 int y_min = info->y_min ?: YMIN_NOMINAL;
1243 int y_max = info->y_max ?: YMAX_NOMINAL;
1244 int fuzz = SYN_CAP_REDUCED_FILTERING(info->ext_cap_0c) ?
1249 input_abs_set_res(dev, x_code, info->x_res);
1250 input_abs_set_res(dev, y_code, info->y_res);
1257 struct synaptics_device_info *info = &priv->info;
1272 if (!SYN_CAP_CLICKPAD(info->ext_cap_0c)) {
1274 if (SYN_CAP_MIDDLE_BUTTON(info->capabilities))
1286 set_abs_position_params(dev, &priv->info, ABS_X, ABS_Y);
1292 if (SYN_CAP_IMAGE_SENSOR(info->ext_cap_0c)) {
1293 set_abs_position_params(dev, info,
1306 } else if (SYN_CAP_ADV_GESTURE(info->ext_cap_0c)) {
1307 set_abs_position_params(dev, info,
1329 set_abs_position_params(dev, &priv->info, ABS_X, ABS_Y);
1332 if (SYN_CAP_PALMDETECT(info->capabilities))
1343 if (SYN_CAP_FOUR_BUTTON(info->capabilities) ||
1344 SYN_CAP_MIDDLE_BUTTON(info->capabilities)) {
1349 if (!SYN_CAP_EXT_BUTTONS_STICK(info->ext_cap_10))
1350 for (i = 0; i < SYN_CAP_MULTI_BUTTON_NO(info->ext_cap); i++)
1353 if (SYN_CAP_CLICKPAD(info->ext_cap_0c)) {
1356 !SYN_CAP_EXT_BUTTONS_STICK(info->ext_cap_10))
1416 SYN_ID_DISGEST_SUPPORTED(priv->info.identity))
1428 struct synaptics_device_info info;
1455 error = synaptics_query_hardware(psmouse, &info);
1467 if (info.identity != priv->info.identity ||
1468 info.model_id != priv->info.model_id ||
1469 info.capabilities != priv->info.capabilities ||
1470 info.ext_cap != priv->info.ext_cap) {
1473 priv->info.identity, info.identity,
1474 priv->info.model_id, info.model_id,
1475 priv->info.capabilities, info.capabilities,
1476 priv->info.ext_cap, info.ext_cap);
1558 struct synaptics_device_info *info,
1564 synaptics_apply_quirks(psmouse, info);
1570 priv->info = *info;
1572 if (SYN_ID_DISGEST_SUPPORTED(info->identity))
1587 priv->pkt_type = SYN_MODEL_NEWABS(info->model_id) ?
1592 SYN_ID_MODEL(info->identity),
1593 SYN_ID_MAJOR(info->identity), SYN_ID_MINOR(info->identity),
1594 info->model_id,
1595 info->capabilities, info->ext_cap, info->ext_cap_0c,
1596 info->ext_cap_10, info->board_id, info->firmware_id);
1609 * Hardware info bits seem to be good candidates as they
1612 psmouse->model = ((info->model_id & 0x00ff0000) >> 8) |
1613 (info->model_id & 0x000000ff);
1632 if (SYN_CAP_PASS_THROUGH(info->capabilities))
1647 if (!priv->absolute_mode && SYN_ID_DISGEST_SUPPORTED(info->identity)) {
1667 struct synaptics_device_info info;
1672 error = synaptics_query_hardware(psmouse, &info);
1678 return synaptics_init_ps2(psmouse, &info, absolute_mode);
1692 struct synaptics_device_info *info)
1709 error = synaptics_init_ps2(psmouse, info, absolute_mode);
1724 struct synaptics_device_info *info)
1750 struct synaptics_device_info *info,
1755 !SYN_CAP_EXT_BUTTONS_STICK(info->ext_cap_10);
1765 .buttonpad = SYN_CAP_CLICKPAD(info->ext_cap_0c),
1767 !!SYN_CAP_EXT_BUTTONS_STICK(info->ext_cap_10),
1785 struct synaptics_device_info *info,
1809 error = synaptics_create_intertouch(psmouse, info, leave_breadcrumbs);
1824 struct synaptics_device_info info;
1829 error = synaptics_query_hardware(psmouse, &info);
1835 if (!SYN_CAP_INTERTOUCH(info.ext_cap_0c))
1838 return synaptics_create_intertouch(psmouse, &info, false);
1845 struct synaptics_device_info *info,
1863 struct synaptics_device_info info;
1869 error = synaptics_query_hardware(psmouse, &info);
1875 if (SYN_CAP_INTERTOUCH(info.ext_cap_0c)) {
1885 error = synaptics_setup_intertouch(psmouse, &info, true);
1890 retval = synaptics_setup_ps2(psmouse, &info);