Lines Matching defs:info

242 			      struct synaptics_device_info *info)
246 error = synaptics_query_int(psmouse, SYN_QUE_IDENTIFY, &info->identity);
250 return SYN_ID_IS_SYNAPTICS(info->identity) ? 0 : -ENXIO;
258 struct synaptics_device_info *info)
260 return synaptics_query_int(psmouse, SYN_QUE_MODEL, &info->model_id);
267 struct synaptics_device_info *info)
270 &info->firmware_id);
278 struct synaptics_device_info *info)
284 if (SYN_ID_FULL(info->identity) < 0x705)
291 info->board_id = ((bid[0] & 0xfc) << 6) | bid[1];
295 &info->ext_cap_10);
305 struct synaptics_device_info *info)
310 &info->capabilities);
314 info->ext_cap = info->ext_cap_0c = 0;
319 if (SYN_ID_FULL(info->identity) < 0x705 &&
320 SYN_CAP_SUBMODEL_ID(info->capabilities) != 0x47) {
327 if (!SYN_CAP_EXTENDED(info->capabilities))
328 info->capabilities = 0;
330 if (SYN_EXT_CAP_REQUESTS(info->capabilities) >= 1) {
332 &info->ext_cap);
341 if (SYN_CAP_MULTI_BUTTON_NO(info->ext_cap) > 8)
342 info->ext_cap &= ~SYN_CAP_MB_MASK;
346 if (SYN_EXT_CAP_REQUESTS(info->capabilities) >= 4) {
348 &info->ext_cap_0c);
362 struct synaptics_device_info *info)
367 if (SYN_ID_MAJOR(info->identity) < 4)
373 info->x_res = resp[0]; /* x resolution in units/mm */
374 info->y_res = resp[2]; /* y resolution in units/mm */
378 if (SYN_EXT_CAP_REQUESTS(info->capabilities) >= 5 &&
379 SYN_CAP_MAX_DIMENSIONS(info->ext_cap_0c)) {
386 info->x_max = (resp[0] << 5) | ((resp[1] & 0x0f) << 1);
387 info->y_max = (resp[2] << 5) | ((resp[1] & 0xf0) >> 3);
390 info->x_max, info->y_max);
394 if (SYN_CAP_MIN_DIMENSIONS(info->ext_cap_0c) &&
395 (SYN_EXT_CAP_REQUESTS(info->capabilities) >= 7 ||
401 SYN_ID_FULL(info->identity) == 0x801)) {
408 info->x_min = (resp[0] << 5) | ((resp[1] & 0x0f) << 1);
409 info->y_min = (resp[2] << 5) | ((resp[1] & 0xf0) >> 3);
412 info->x_min, info->y_min);
420 struct synaptics_device_info *info)
424 memset(info, 0, sizeof(*info));
426 error = synaptics_identify(psmouse, info);
430 error = synaptics_model_id(psmouse, info);
434 error = synaptics_firmware_id(psmouse, info);
438 error = synaptics_query_modes(psmouse, info);
442 error = synaptics_capability(psmouse, info);
446 error = synaptics_resolution(psmouse, info);
527 struct synaptics_device_info *info)
537 info->board_id < min_max_pnpid_table[i].board_id.min)
541 info->board_id > min_max_pnpid_table[i].board_id.max)
544 info->x_min = min_max_pnpid_table[i].x_min;
545 info->x_max = min_max_pnpid_table[i].x_max;
546 info->y_min = min_max_pnpid_table[i].y_min;
547 info->y_max = min_max_pnpid_table[i].y_max;
550 info->x_min, info->x_max,
551 info->y_min, info->y_max);
558 return (SYN_CAP_ADV_GESTURE(priv->info.ext_cap_0c) ||
559 SYN_CAP_IMAGE_SENSOR(priv->info.ext_cap_0c));
590 if (SYN_CAP_EXTENDED(priv->info.capabilities))
767 (SYN_CAP_MULTI_BUTTON_NO(priv->info.ext_cap) + 1) >> 1;
780 if (SYN_MODEL_NEWABS(priv->info.model_id)) {
837 } else if (SYN_CAP_CLICKPAD(priv->info.ext_cap_0c)) {
845 } else if (SYN_CAP_MIDDLE_BUTTON(priv->info.capabilities)) {
851 if (SYN_CAP_FOUR_BUTTON(priv->info.capabilities)) {
856 if (SYN_CAP_MULTI_BUTTON_NO(priv->info.ext_cap) > 0 &&
925 int ext_bits = (SYN_CAP_MULTI_BUTTON_NO(priv->info.ext_cap) + 1) >> 1;
928 if (!SYN_CAP_MULTI_BUTTON_NO(priv->info.ext_cap))
932 if ((SYN_ID_FULL(priv->info.identity) == 0x801 ||
933 SYN_ID_FULL(priv->info.identity) == 0x802) &&
937 if (!SYN_CAP_EXT_BUTTONS_STICK(priv->info.ext_cap_10)) {
975 if (SYN_CAP_MIDDLE_BUTTON(priv->info.capabilities))
978 if (SYN_CAP_FOUR_BUTTON(priv->info.capabilities)) {
1003 input_mt_assign_slots(dev, slot, pos, nsemi, DMAX * priv->info.x_res);
1052 if (SYN_CAP_MULTIFINGER(priv->info.capabilities))
1066 struct synaptics_device_info *info = &priv->info;
1074 if (SYN_CAP_IMAGE_SENSOR(info->ext_cap_0c)) {
1102 if (SYN_CAP_EXTENDED(info->capabilities)) {
1109 if (SYN_MODEL_PEN(info->model_id))
1113 if (SYN_CAP_PALMDETECT(info->capabilities))
1128 if (SYN_CAP_ADV_GESTURE(info->ext_cap_0c))
1145 if (SYN_CAP_PALMDETECT(info->capabilities))
1213 if (SYN_CAP_PASS_THROUGH(priv->info.capabilities) &&
1232 struct synaptics_device_info *info,
1235 int x_min = info->x_min ?: XMIN_NOMINAL;
1236 int x_max = info->x_max ?: XMAX_NOMINAL;
1237 int y_min = info->y_min ?: YMIN_NOMINAL;
1238 int y_max = info->y_max ?: YMAX_NOMINAL;
1239 int fuzz = SYN_CAP_REDUCED_FILTERING(info->ext_cap_0c) ?
1244 input_abs_set_res(dev, x_code, info->x_res);
1245 input_abs_set_res(dev, y_code, info->y_res);
1252 struct synaptics_device_info *info = &priv->info;
1267 if (!SYN_CAP_CLICKPAD(info->ext_cap_0c)) {
1269 if (SYN_CAP_MIDDLE_BUTTON(info->capabilities))
1281 set_abs_position_params(dev, &priv->info, ABS_X, ABS_Y);
1287 if (SYN_CAP_IMAGE_SENSOR(info->ext_cap_0c)) {
1288 set_abs_position_params(dev, info,
1301 } else if (SYN_CAP_ADV_GESTURE(info->ext_cap_0c)) {
1302 set_abs_position_params(dev, info,
1324 set_abs_position_params(dev, &priv->info, ABS_X, ABS_Y);
1327 if (SYN_CAP_PALMDETECT(info->capabilities))
1338 if (SYN_CAP_FOUR_BUTTON(info->capabilities) ||
1339 SYN_CAP_MIDDLE_BUTTON(info->capabilities)) {
1344 if (!SYN_CAP_EXT_BUTTONS_STICK(info->ext_cap_10))
1345 for (i = 0; i < SYN_CAP_MULTI_BUTTON_NO(info->ext_cap); i++)
1348 if (SYN_CAP_CLICKPAD(info->ext_cap_0c)) {
1351 !SYN_CAP_EXT_BUTTONS_STICK(info->ext_cap_10))
1411 SYN_ID_DISGEST_SUPPORTED(priv->info.identity))
1423 struct synaptics_device_info info;
1450 error = synaptics_query_hardware(psmouse, &info);
1462 if (info.identity != priv->info.identity ||
1463 info.model_id != priv->info.model_id ||
1464 info.capabilities != priv->info.capabilities ||
1465 info.ext_cap != priv->info.ext_cap) {
1468 priv->info.identity, info.identity,
1469 priv->info.model_id, info.model_id,
1470 priv->info.capabilities, info.capabilities,
1471 priv->info.ext_cap, info.ext_cap);
1553 struct synaptics_device_info *info,
1559 synaptics_apply_quirks(psmouse, info);
1565 priv->info = *info;
1567 if (SYN_ID_DISGEST_SUPPORTED(info->identity))
1582 priv->pkt_type = SYN_MODEL_NEWABS(info->model_id) ?
1587 SYN_ID_MODEL(info->identity),
1588 SYN_ID_MAJOR(info->identity), SYN_ID_MINOR(info->identity),
1589 info->model_id,
1590 info->capabilities, info->ext_cap, info->ext_cap_0c,
1591 info->ext_cap_10, info->board_id, info->firmware_id);
1604 * Hardware info bits seem to be good candidates as they
1607 psmouse->model = ((info->model_id & 0x00ff0000) >> 8) |
1608 (info->model_id & 0x000000ff);
1627 if (SYN_CAP_PASS_THROUGH(info->capabilities))
1642 if (!priv->absolute_mode && SYN_ID_DISGEST_SUPPORTED(info->identity)) {
1662 struct synaptics_device_info info;
1667 error = synaptics_query_hardware(psmouse, &info);
1673 return synaptics_init_ps2(psmouse, &info, absolute_mode);
1687 struct synaptics_device_info *info)
1704 error = synaptics_init_ps2(psmouse, info, absolute_mode);
1719 struct synaptics_device_info *info)
1745 struct synaptics_device_info *info,
1750 !SYN_CAP_EXT_BUTTONS_STICK(info->ext_cap_10);
1760 .buttonpad = SYN_CAP_CLICKPAD(info->ext_cap_0c),
1762 !!SYN_CAP_EXT_BUTTONS_STICK(info->ext_cap_10),
1780 struct synaptics_device_info *info,
1804 error = synaptics_create_intertouch(psmouse, info, leave_breadcrumbs);
1819 struct synaptics_device_info info;
1824 error = synaptics_query_hardware(psmouse, &info);
1830 if (!SYN_CAP_INTERTOUCH(info.ext_cap_0c))
1833 return synaptics_create_intertouch(psmouse, &info, false);
1840 struct synaptics_device_info *info,
1858 struct synaptics_device_info info;
1864 error = synaptics_query_hardware(psmouse, &info);
1870 if (SYN_CAP_INTERTOUCH(info.ext_cap_0c)) {
1880 error = synaptics_setup_intertouch(psmouse, &info, true);
1885 retval = synaptics_setup_ps2(psmouse, &info);