@ -271,6 +271,8 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi,
}
return 1 ;
case HID_DG_CONTACTID :
if ( ! td - > maxcontacts )
td - > maxcontacts = MT_DEFAULT_MAXCONTACT ;
input_mt_init_slots ( hi - > input , td - > maxcontacts ) ;
td - > last_slot_field = usage - > hid ;
td - > last_field_index = field - > index ;
@ -547,9 +549,6 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id)
if ( ret )
goto fail ;
if ( ! td - > maxcontacts )
td - > maxcontacts = MT_DEFAULT_MAXCONTACT ;
td - > slots = kzalloc ( td - > maxcontacts * sizeof ( struct mt_slot ) ,
GFP_KERNEL ) ;
if ( ! td - > slots ) {
@ -677,6 +676,9 @@ static const struct hid_device_id mt_devices[] = {
{ . driver_data = MT_CLS_CONFIDENCE_MINUS_ONE ,
HID_USB_DEVICE ( USB_VENDOR_ID_LUMIO ,
USB_DEVICE_ID_CRYSTALTOUCH ) } ,
{ . driver_data = MT_CLS_CONFIDENCE_MINUS_ONE ,
HID_USB_DEVICE ( USB_VENDOR_ID_LUMIO ,
USB_DEVICE_ID_CRYSTALTOUCH_DUAL ) } ,
/* MosArt panels */
{ . driver_data = MT_CLS_CONFIDENCE_MINUS_ONE ,
@ -707,10 +709,10 @@ static const struct hid_device_id mt_devices[] = {
HID_USB_DEVICE ( USB_VENDOR_ID_STANTUM ,
USB_DEVICE_ID_MTP ) } ,
{ . driver_data = MT_CLS_CONFIDENCE ,
HID_USB_DEVICE ( USB_VENDOR_ID_STANTUM ,
HID_USB_DEVICE ( USB_VENDOR_ID_STANTUM_STM ,
USB_DEVICE_ID_MTP_STM ) } ,
{ . driver_data = MT_CLS_CONFIDENCE ,
HID_USB_DEVICE ( USB_VENDOR_ID_STANTUM ,
HID_USB_DEVICE ( USB_VENDOR_ID_STANTUM_SITRONIX ,
USB_DEVICE_ID_MTP_SITRONIX ) } ,
/* Touch International panels */