Lines Matching defs:pen

24  * Convert a pen in-range reporting type to a string.
112 * uclogic_params_pen (tablet interface's pen input parameters).
115 * @pen: Pen input parameters to cleanup. Cannot be NULL.
117 static void uclogic_params_pen_cleanup(struct uclogic_params_pen *pen)
119 kfree(pen->desc_ptr);
120 memset(pen, 0, sizeof(*pen));
124 * uclogic_params_pen_init_v1() - initialize tablet interface pen
127 * @pen: Pointer to the pen parameters to initialize (to be
139 static int uclogic_params_pen_init_v1(struct uclogic_params_pen *pen,
155 if (pen == NULL || pfound == NULL || hdev == NULL) {
161 * Read string descriptor containing pen input parameters.
169 "string descriptor with pen parameters not found, assuming not compatible\n");
172 hid_err(hdev, "failed retrieving pen parameters: %d\n", rc);
176 "string descriptor with pen parameters has invalid length (got %d, expected %d), assuming not compatible\n",
206 * Generate pen report descriptor
220 memset(pen, 0, sizeof(*pen));
221 pen->desc_ptr = desc_ptr;
223 pen->desc_size = uclogic_rdesc_pen_v1_template_size;
224 pen->id = UCLOGIC_RDESC_PEN_V1_ID;
225 pen->inrange = UCLOGIC_PARAMS_PEN_INRANGE_INVERTED;
252 * uclogic_params_pen_init_v2() - initialize tablet interface pen
255 * @pen: Pointer to the pen parameters to initialize (to be
267 static int uclogic_params_pen_init_v2(struct uclogic_params_pen *pen,
283 if (pen == NULL || pfound == NULL || hdev == NULL) {
289 * Read string descriptor containing pen input parameters.
297 "string descriptor with pen parameters not found, assuming not compatible\n");
300 hid_err(hdev, "failed retrieving pen parameters: %d\n", rc);
304 "string descriptor with pen parameters has invalid length (got %d, expected %d), assuming not compatible\n",
320 "string descriptor with pen parameters seems to contain only text, assuming not compatible\n");
350 * Generate pen report descriptor
364 memset(pen, 0, sizeof(*pen));
365 pen->desc_ptr = desc_ptr;
367 pen->desc_size = uclogic_rdesc_pen_v2_template_size;
368 pen->id = UCLOGIC_RDESC_PEN_V2_ID;
369 pen->inrange = UCLOGIC_PARAMS_PEN_INRANGE_NONE;
370 pen->fragmented_hires = true;
516 uclogic_params_pen_cleanup(&params->pen);
557 pen_present = (!params->pen_unused && params->pen.desc_ptr != NULL);
563 size += params->pen.desc_size;
581 memcpy(p, params->pen.desc_ptr,
582 params->pen.desc_size);
583 p += params->pen.desc_size;
683 * disabling pen usage.
732 /* If it's not a pen interface */
757 "transition firmware detected, not probing pen v2 parameters\n");
759 /* Try to probe v2 pen parameters */
760 rc = uclogic_params_pen_init_v2(&p.pen, &found, hdev);
763 "failed probing pen v2 parameters: %d\n", rc);
766 hid_dbg(hdev, "pen v2 parameters found\n");
779 /* Set bitmask marking frame reports in pen reports */
783 hid_dbg(hdev, "pen v2 parameters not found\n");
786 /* Try to probe v1 pen parameters */
787 rc = uclogic_params_pen_init_v1(&p.pen, &found, hdev);
790 "failed probing pen v1 parameters: %d\n", rc);
793 hid_dbg(hdev, "pen v1 parameters found\n");
810 hid_dbg(hdev, "pen v1 parameters not found\n");
912 /* Try to probe v1 pen parameters */
913 rc = uclogic_params_pen_init_v1(&p.pen,
917 "pen probing failed: %d\n",
923 "pen parameters not found");
1020 /* If this is the pen interface */
1022 /* Probe v1 pen parameters */
1023 rc = uclogic_params_pen_init_v1(&p.pen, &found, hdev);
1025 hid_err(hdev, "pen probing failed: %d\n", rc);
1029 hid_warn(hdev, "pen parameters not found");
1039 /* If this is the pen and frame interface */
1041 /* Probe v1 pen parameters */
1042 rc = uclogic_params_pen_init_v1(&p.pen, &found, hdev);
1044 hid_err(hdev, "pen probing failed: %d\n", rc);
1062 /* Ignore non-pen interfaces */
1068 rc = uclogic_params_pen_init_v1(&p.pen, &found, hdev);
1070 hid_err(hdev, "pen probing failed: %d\n", rc);
1089 hid_warn(hdev, "pen parameters not found");
1096 /* Ignore non-pen interfaces */
1102 rc = uclogic_params_pen_init_v1(&p.pen, &found, hdev);
1104 hid_err(hdev, "pen probing failed: %d\n", rc);
1119 hid_warn(hdev, "pen parameters not found");