@@ -74,7 +74,7 @@ struct uclogic_params_pen {
7474 /* Report ID, if reports should be tweaked, zero if not */
7575 unsigned int id ;
7676 /* The list of subreports */
77- struct uclogic_params_pen_subreport subreport_list [2 ];
77+ struct uclogic_params_pen_subreport subreport_list [3 ];
7878 /* Type of in-range reporting, only valid if "id" is not zero */
7979 enum uclogic_params_pen_inrange inrange ;
8080 /*
@@ -194,7 +194,7 @@ struct uclogic_params {
194194 * The list of frame control parameters and optional report descriptor
195195 * parts. Only valid, if "invalid" is false.
196196 */
197- struct uclogic_params_frame frame_list [2 ];
197+ struct uclogic_params_frame frame_list [3 ];
198198};
199199
200200/* Initialize a tablet interface and discover its parameters */
@@ -211,6 +211,7 @@ extern int uclogic_params_init(struct uclogic_params *params,
211211 ".pen.id = %u\n" \
212212 ".pen.subreport_list[0] = {0x%02hhx, %hhu}\n" \
213213 ".pen.subreport_list[1] = {0x%02hhx, %hhu}\n" \
214+ ".pen.subreport_list[2] = {0x%02hhx, %hhu}\n" \
214215 ".pen.inrange = %s\n" \
215216 ".pen.fragmented_hires = %s\n" \
216217 ".pen.tilt_y_flipped = %s\n" \
@@ -231,7 +232,16 @@ extern int uclogic_params_init(struct uclogic_params *params,
231232 ".frame_list[1].dev_id_byte = %u\n" \
232233 ".frame_list[1].touch_ring_byte = %u\n" \
233234 ".frame_list[1].touch_ring_max = %hhd\n" \
234- ".frame_list[1].touch_ring_flip_at = %hhd\n"
235+ ".frame_list[1].touch_ring_flip_at = %hhd\n" \
236+ ".frame_list[2].desc_ptr = %p\n" \
237+ ".frame_list[2].desc_size = %u\n" \
238+ ".frame_list[2].id = %u\n" \
239+ ".frame_list[2].suffix = %s\n" \
240+ ".frame_list[2].re_lsb = %u\n" \
241+ ".frame_list[2].dev_id_byte = %u\n" \
242+ ".frame_list[2].touch_ring_byte = %u\n" \
243+ ".frame_list[2].touch_ring_max = %hhd\n" \
244+ ".frame_list[2].touch_ring_flip_at = %hhd\n"
235245
236246/* Tablet interface parameters *printf format arguments */
237247#define UCLOGIC_PARAMS_FMT_ARGS (_params ) \
@@ -245,6 +255,8 @@ extern int uclogic_params_init(struct uclogic_params *params,
245255 (_params)->pen.subreport_list[0].id, \
246256 (_params)->pen.subreport_list[1].value, \
247257 (_params)->pen.subreport_list[1].id, \
258+ (_params)->pen.subreport_list[2].value, \
259+ (_params)->pen.subreport_list[2].id, \
248260 uclogic_params_pen_inrange_to_str((_params)->pen.inrange), \
249261 ((_params)->pen.fragmented_hires ? "true" : "false"), \
250262 ((_params)->pen.tilt_y_flipped ? "true" : "false"), \
@@ -265,7 +277,16 @@ extern int uclogic_params_init(struct uclogic_params *params,
265277 (_params)->frame_list[1].dev_id_byte, \
266278 (_params)->frame_list[1].touch_ring_byte, \
267279 (_params)->frame_list[1].touch_ring_max, \
268- (_params)->frame_list[1].touch_ring_flip_at
280+ (_params)->frame_list[1].touch_ring_flip_at, \
281+ (_params)->frame_list[2].desc_ptr, \
282+ (_params)->frame_list[2].desc_size, \
283+ (_params)->frame_list[2].id, \
284+ (_params)->frame_list[2].suffix, \
285+ (_params)->frame_list[2].re_lsb, \
286+ (_params)->frame_list[2].dev_id_byte, \
287+ (_params)->frame_list[2].touch_ring_byte, \
288+ (_params)->frame_list[2].touch_ring_max, \
289+ (_params)->frame_list[2].touch_ring_flip_at
269290
270291/* Get a replacement report descriptor for a tablet's interface. */
271292extern int uclogic_params_get_desc (const struct uclogic_params * params ,
0 commit comments