Lines Matching full:pen

24  * uclogic_params_pen_inrange_to_str() - Convert a pen in-range reporting type
111 * uclogic_params_pen (tablet interface's pen input parameters).
114 * @pen: Pen input parameters to cleanup. Cannot be NULL.
116 static void uclogic_params_pen_cleanup(struct uclogic_params_pen *pen) in uclogic_params_pen_cleanup() argument
118 kfree(pen->desc_ptr); in uclogic_params_pen_cleanup()
119 memset(pen, 0, sizeof(*pen)); in uclogic_params_pen_cleanup()
123 * uclogic_params_pen_init_v1() - initialize tablet interface pen
126 * @pen: Pointer to the pen parameters to initialize (to be
138 static int uclogic_params_pen_init_v1(struct uclogic_params_pen *pen, in uclogic_params_pen_init_v1() argument
149 /* Pen report descriptor template parameters */ in uclogic_params_pen_init_v1()
154 if (pen == NULL || pfound == NULL || hdev == NULL) { in uclogic_params_pen_init_v1()
160 * Read string descriptor containing pen input parameters. in uclogic_params_pen_init_v1()
168 "string descriptor with pen parameters not found, assuming not compatible\n"); in uclogic_params_pen_init_v1()
171 hid_err(hdev, "failed retrieving pen parameters: %d\n", rc); in uclogic_params_pen_init_v1()
175 …"string descriptor with pen parameters has invalid length (got %d, expected %d), assuming not comp… in uclogic_params_pen_init_v1()
205 * Generate pen report descriptor in uclogic_params_pen_init_v1()
219 memset(pen, 0, sizeof(*pen)); in uclogic_params_pen_init_v1()
220 pen->desc_ptr = desc_ptr; in uclogic_params_pen_init_v1()
222 pen->desc_size = uclogic_rdesc_pen_v1_template_size; in uclogic_params_pen_init_v1()
223 pen->id = UCLOGIC_RDESC_PEN_V1_ID; in uclogic_params_pen_init_v1()
224 pen->inrange = UCLOGIC_PARAMS_PEN_INRANGE_INVERTED; in uclogic_params_pen_init_v1()
251 * uclogic_params_pen_init_v2() - initialize tablet interface pen
254 * @pen: Pointer to the pen parameters to initialize (to be
266 static int uclogic_params_pen_init_v2(struct uclogic_params_pen *pen, in uclogic_params_pen_init_v2() argument
277 /* Pen report descriptor template parameters */ in uclogic_params_pen_init_v2()
282 if (pen == NULL || pfound == NULL || hdev == NULL) { in uclogic_params_pen_init_v2()
288 * Read string descriptor containing pen input parameters. in uclogic_params_pen_init_v2()
296 "string descriptor with pen parameters not found, assuming not compatible\n"); in uclogic_params_pen_init_v2()
299 hid_err(hdev, "failed retrieving pen parameters: %d\n", rc); in uclogic_params_pen_init_v2()
303 …"string descriptor with pen parameters has invalid length (got %d, expected %d), assuming not comp… in uclogic_params_pen_init_v2()
319 "string descriptor with pen parameters seems to contain only text, assuming not compatible\n"); in uclogic_params_pen_init_v2()
349 * Generate pen report descriptor in uclogic_params_pen_init_v2()
363 memset(pen, 0, sizeof(*pen)); in uclogic_params_pen_init_v2()
364 pen->desc_ptr = desc_ptr; in uclogic_params_pen_init_v2()
366 pen->desc_size = uclogic_rdesc_pen_v2_template_size; in uclogic_params_pen_init_v2()
367 pen->id = UCLOGIC_RDESC_PEN_V2_ID; in uclogic_params_pen_init_v2()
368 pen->inrange = UCLOGIC_PARAMS_PEN_INRANGE_NONE; in uclogic_params_pen_init_v2()
369 pen->fragmented_hires = true; in uclogic_params_pen_init_v2()
513 uclogic_params_pen_cleanup(&params->pen); in uclogic_params_cleanup()
555 pen_present = (!params->pen_unused && params->pen.desc_ptr != NULL); in uclogic_params_get_desc()
561 size += params->pen.desc_size; in uclogic_params_get_desc()
579 memcpy(p, params->pen.desc_ptr, in uclogic_params_get_desc()
580 params->pen.desc_size); in uclogic_params_get_desc()
581 p += params->pen.desc_size; in uclogic_params_get_desc()
681 * disabling pen usage.
726 /* If it's not a pen interface */ in uclogic_params_huion_init()
751 "transition firmware detected, not probing pen v2 parameters\n"); in uclogic_params_huion_init()
753 /* Try to probe v2 pen parameters */ in uclogic_params_huion_init()
754 rc = uclogic_params_pen_init_v2(&p.pen, &found, hdev); in uclogic_params_huion_init()
757 "failed probing pen v2 parameters: %d\n", rc); in uclogic_params_huion_init()
760 hid_dbg(hdev, "pen v2 parameters found\n"); in uclogic_params_huion_init()
773 /* Set bitmask marking frame reports in pen reports */ in uclogic_params_huion_init()
777 hid_dbg(hdev, "pen v2 parameters not found\n"); in uclogic_params_huion_init()
780 /* Try to probe v1 pen parameters */ in uclogic_params_huion_init()
781 rc = uclogic_params_pen_init_v1(&p.pen, &found, hdev); in uclogic_params_huion_init()
784 "failed probing pen v1 parameters: %d\n", rc); in uclogic_params_huion_init()
787 hid_dbg(hdev, "pen v1 parameters found\n"); in uclogic_params_huion_init()
804 hid_dbg(hdev, "pen v1 parameters not found\n"); in uclogic_params_huion_init()
902 /* Try to probe v1 pen parameters */ in uclogic_params_init()
903 rc = uclogic_params_pen_init_v1(&p.pen, in uclogic_params_init()
907 "pen probing failed: %d\n", in uclogic_params_init()
913 "pen parameters not found"); in uclogic_params_init()
1010 /* If this is the pen interface */ in uclogic_params_init()
1012 /* Probe v1 pen parameters */ in uclogic_params_init()
1013 rc = uclogic_params_pen_init_v1(&p.pen, &found, hdev); in uclogic_params_init()
1015 hid_err(hdev, "pen probing failed: %d\n", rc); in uclogic_params_init()
1019 hid_warn(hdev, "pen parameters not found"); in uclogic_params_init()
1029 /* If this is the pen and frame interface */ in uclogic_params_init()
1031 /* Probe v1 pen parameters */ in uclogic_params_init()
1032 rc = uclogic_params_pen_init_v1(&p.pen, &found, hdev); in uclogic_params_init()
1034 hid_err(hdev, "pen probing failed: %d\n", rc); in uclogic_params_init()
1054 /* Ignore non-pen interfaces */ in uclogic_params_init()
1060 rc = uclogic_params_pen_init_v1(&p.pen, &found, hdev); in uclogic_params_init()
1062 hid_err(hdev, "pen probing failed: %d\n", rc); in uclogic_params_init()
1081 hid_warn(hdev, "pen parameters not found"); in uclogic_params_init()
1088 /* Ignore non-pen interfaces */ in uclogic_params_init()
1094 rc = uclogic_params_pen_init_v1(&p.pen, &found, hdev); in uclogic_params_init()
1096 hid_err(hdev, "pen probing failed: %d\n", rc); in uclogic_params_init()
1111 hid_warn(hdev, "pen parameters not found"); in uclogic_params_init()