Lines Matching refs:wacom_wac

97 	struct wacom_wac *wacom_wac = &wacom->wacom_wac;  in wacom_wac_pen_serial_enforce()  local
98 struct wacom_features *features = &wacom_wac->features; in wacom_wac_pen_serial_enforce()
103 if (wacom_wac->serial[0] || !(features->quirks & WACOM_QUIRK_TOOLSERIAL)) in wacom_wac_pen_serial_enforce()
134 wacom_wac->serial[0] = value; in wacom_wac_pen_serial_enforce()
138 wacom_wac->serial[0] |= ((__u64)value) << 32; in wacom_wac_pen_serial_enforce()
142 wacom_wac->id[0] = value; in wacom_wac_pen_serial_enforce()
153 wacom_wac_queue_flush(hdev, &wacom_wac->pen_fifo); in wacom_wac_pen_serial_enforce()
155 wacom_wac_queue_insert(hdev, &wacom_wac->pen_fifo, raw_data, size); in wacom_wac_pen_serial_enforce()
171 memcpy(wacom->wacom_wac.data, raw_data, size); in wacom_raw_event()
173 wacom_wac_irq(&wacom->wacom_wac, size); in wacom_raw_event()
217 struct wacom_features *features = &wacom->wacom_wac.features; in wacom_hid_usage_quirk()
227 wacom->wacom_wac.mode_report = field->report->id; in wacom_hid_usage_quirk()
228 wacom->wacom_wac.mode_value = 2; in wacom_hid_usage_quirk()
268 struct wacom_features *features = &wacom->wacom_wac.features; in wacom_feature_mapping()
269 struct hid_data *hid_data = &wacom->wacom_wac.hid_data; in wacom_feature_mapping()
315 wacom->wacom_wac.mode_report = field->report->id; in wacom_feature_mapping()
316 wacom->wacom_wac.mode_value = 0; in wacom_feature_mapping()
321 wacom->wacom_wac.mode_report = field->report->id; in wacom_feature_mapping()
322 wacom->wacom_wac.mode_value = 2; in wacom_feature_mapping()
330 wacom->wacom_wac.mode_report = field->report->id; in wacom_feature_mapping()
331 wacom->wacom_wac.mode_value = 0; in wacom_feature_mapping()
394 struct wacom_features *features = &wacom->wacom_wac.features; in wacom_usage_mapping()
450 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_post_parse_hid() local
454 if (wacom_wac->has_mode_change) { in wacom_post_parse_hid()
455 if (wacom_wac->is_direct_mode) in wacom_post_parse_hid()
463 input_mt_init_slots(wacom_wac->touch_input, in wacom_post_parse_hid()
464 wacom_wac->features.touch_max, in wacom_post_parse_hid()
467 input_mt_init_slots(wacom_wac->touch_input, in wacom_post_parse_hid()
468 wacom_wac->features.touch_max, in wacom_post_parse_hid()
515 struct hid_data *hid_data = &wacom->wacom_wac.hid_data; in wacom_hid_set_device_mode()
532 struct wacom_wac *wacom_wac) in wacom_set_device_mode() argument
540 if (wacom_wac->mode_report < 0) in wacom_set_device_mode()
544 r = re->report_id_hash[wacom_wac->mode_report]; in wacom_set_device_mode()
555 rep_data[0] = wacom_wac->mode_report; in wacom_set_device_mode()
556 rep_data[1] = wacom_wac->mode_value; in wacom_set_device_mode()
564 rep_data[1] != wacom_wac->mode_report && in wacom_set_device_mode()
594 wacom->wacom_wac.bt_high_speed = speed; in wacom_bt_query_tablet_data()
608 wacom->wacom_wac.bt_features &= ~0x20; in wacom_bt_query_tablet_data()
610 wacom->wacom_wac.bt_features |= 0x20; in wacom_bt_query_tablet_data()
613 rep_data[1] = wacom->wacom_wac.bt_features; in wacom_bt_query_tablet_data()
618 wacom->wacom_wac.bt_high_speed = speed; in wacom_bt_query_tablet_data()
635 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in _wacom_query_tablet_data() local
636 struct wacom_features *features = &wacom_wac->features; in _wacom_query_tablet_data()
645 wacom_wac->mode_report = 3; in _wacom_query_tablet_data()
646 wacom_wac->mode_value = 4; in _wacom_query_tablet_data()
648 wacom_wac->mode_report = 18; in _wacom_query_tablet_data()
649 wacom_wac->mode_value = 2; in _wacom_query_tablet_data()
651 wacom_wac->mode_report = 131; in _wacom_query_tablet_data()
652 wacom_wac->mode_value = 2; in _wacom_query_tablet_data()
654 wacom_wac->mode_report = 2; in _wacom_query_tablet_data()
655 wacom_wac->mode_value = 2; in _wacom_query_tablet_data()
659 wacom_wac->mode_report = 2; in _wacom_query_tablet_data()
660 wacom_wac->mode_value = 2; in _wacom_query_tablet_data()
665 wacom_set_device_mode(hdev, wacom_wac); in _wacom_query_tablet_data()
717 struct wacom_features *features = &wacom->wacom_wac.features; in wacom_are_sibling()
719 struct wacom_features *sibling_features = &sibling_wacom->wacom_wac.features; in wacom_are_sibling()
818 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_remove_shared_data() local
820 if (wacom_wac->shared) { in wacom_remove_shared_data()
821 data = container_of(wacom_wac->shared, struct wacom_hdev_data, in wacom_remove_shared_data()
824 if (wacom_wac->shared->touch == wacom->hdev) in wacom_remove_shared_data()
825 wacom_wac->shared->touch = NULL; in wacom_remove_shared_data()
826 else if (wacom_wac->shared->pen == wacom->hdev) in wacom_remove_shared_data()
827 wacom_wac->shared->pen = NULL; in wacom_remove_shared_data()
830 wacom_wac->shared = NULL; in wacom_remove_shared_data()
837 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_add_shared_data() local
856 wacom_wac->shared = &data->shared; in wacom_add_shared_data()
865 if (wacom_wac->features.device_type & WACOM_DEVICETYPE_TOUCH) in wacom_add_shared_data()
866 wacom_wac->shared->touch = hdev; in wacom_add_shared_data()
867 else if (wacom_wac->features.device_type & WACOM_DEVICETYPE_PEN) in wacom_add_shared_data()
868 wacom_wac->shared->pen = hdev; in wacom_add_shared_data()
885 if (wacom->wacom_wac.features.type == REMOTE) in wacom_led_control()
888 if (wacom->wacom_wac.pid) { /* wireless connected */ in wacom_led_control()
892 else if (wacom->wacom_wac.features.type == INTUOSP2_BT) { in wacom_led_control()
900 if (wacom->wacom_wac.features.type == HID_GENERIC) { in wacom_led_control()
905 } else if ((wacom->wacom_wac.features.type >= INTUOS5S && in wacom_led_control()
906 wacom->wacom_wac.features.type <= INTUOSPL)) { in wacom_led_control()
918 if (wacom->wacom_wac.pid) { in wacom_led_control()
926 else if (wacom->wacom_wac.features.type == INTUOSP2_BT) { in wacom_led_control()
939 if (wacom->wacom_wac.features.type == WACOM_21UX2 || in wacom_led_control()
940 wacom->wacom_wac.features.type == WACOM_24HD) in wacom_led_control()
1490 if (!wacom->wacom_wac.pad_input) in wacom_leds_alloc_and_register()
1493 dev = &wacom->wacom_wac.pad_input->dev; in wacom_leds_alloc_and_register()
1514 if (!(wacom->wacom_wac.features.device_type & WACOM_DEVICETYPE_PAD)) in wacom_initialize_leds()
1518 switch (wacom->wacom_wac.features.type) { in wacom_initialize_leds()
1659 val->strval = battery->wacom->wacom_wac.name; in wacom_battery_get_property()
1737 if (wacom->wacom_wac.features.quirks & WACOM_QUIRK_BATTERY) in wacom_initialize_battery()
1759 return snprintf(buf, PAGE_SIZE, "%i\n", wacom->wacom_wac.bt_high_speed); in wacom_show_speed()
1776 wacom_bt_query_tablet_data(hdev, new_speed, &wacom->wacom_wac.features); in wacom_store_speed()
1923 if (wacom->wacom_wac.features.type != REMOTE) in wacom_initialize_remotes()
1979 struct wacom_wac *wacom_wac = &(wacom->wacom_wac); in wacom_allocate_input() local
1985 input_dev->name = wacom_wac->features.name; in wacom_allocate_input()
1993 input_dev->id.product = wacom_wac->pid ? wacom_wac->pid : hdev->product; in wacom_allocate_input()
2002 struct wacom_wac *wacom_wac = &(wacom->wacom_wac); in wacom_allocate_inputs() local
2004 wacom_wac->pen_input = wacom_allocate_input(wacom); in wacom_allocate_inputs()
2005 wacom_wac->touch_input = wacom_allocate_input(wacom); in wacom_allocate_inputs()
2006 wacom_wac->pad_input = wacom_allocate_input(wacom); in wacom_allocate_inputs()
2007 if (!wacom_wac->pen_input || in wacom_allocate_inputs()
2008 !wacom_wac->touch_input || in wacom_allocate_inputs()
2009 !wacom_wac->pad_input) in wacom_allocate_inputs()
2012 wacom_wac->pen_input->name = wacom_wac->pen_name; in wacom_allocate_inputs()
2013 wacom_wac->touch_input->name = wacom_wac->touch_name; in wacom_allocate_inputs()
2014 wacom_wac->pad_input->name = wacom_wac->pad_name; in wacom_allocate_inputs()
2022 struct wacom_wac *wacom_wac = &(wacom->wacom_wac); in wacom_register_inputs() local
2025 pen_input_dev = wacom_wac->pen_input; in wacom_register_inputs()
2026 touch_input_dev = wacom_wac->touch_input; in wacom_register_inputs()
2027 pad_input_dev = wacom_wac->pad_input; in wacom_register_inputs()
2032 error = wacom_setup_pen_input_capabilities(pen_input_dev, wacom_wac); in wacom_register_inputs()
2036 wacom_wac->pen_input = NULL; in wacom_register_inputs()
2044 error = wacom_setup_touch_input_capabilities(touch_input_dev, wacom_wac); in wacom_register_inputs()
2048 wacom_wac->touch_input = NULL; in wacom_register_inputs()
2056 error = wacom_setup_pad_input_capabilities(pad_input_dev, wacom_wac); in wacom_register_inputs()
2060 wacom_wac->pad_input = NULL; in wacom_register_inputs()
2071 wacom_wac->pad_input = NULL; in wacom_register_inputs()
2072 wacom_wac->touch_input = NULL; in wacom_register_inputs()
2073 wacom_wac->pen_input = NULL; in wacom_register_inputs()
2114 if ((wacom->wacom_wac.features.quirks & WACOM_QUIRK_BATTERY) && in wacom_battery_work()
2118 else if (!(wacom->wacom_wac.features.quirks & WACOM_QUIRK_BATTERY) && in wacom_battery_work()
2143 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_update_name() local
2144 struct wacom_features *features = &wacom_wac->features; in wacom_update_name()
2184 snprintf(wacom_wac->name, sizeof(wacom_wac->name), "%s%s", in wacom_update_name()
2188 snprintf(wacom_wac->pen_name, sizeof(wacom_wac->pen_name), in wacom_update_name()
2190 snprintf(wacom_wac->touch_name, sizeof(wacom_wac->touch_name), in wacom_update_name()
2192 snprintf(wacom_wac->pad_name, sizeof(wacom_wac->pad_name), in wacom_update_name()
2207 wacom->wacom_wac.pen_input = NULL; in wacom_release_resources()
2208 wacom->wacom_wac.touch_input = NULL; in wacom_release_resources()
2209 wacom->wacom_wac.pad_input = NULL; in wacom_release_resources()
2212 static void wacom_set_shared_values(struct wacom_wac *wacom_wac) in wacom_set_shared_values() argument
2214 if (wacom_wac->features.device_type & WACOM_DEVICETYPE_TOUCH) { in wacom_set_shared_values()
2215 wacom_wac->shared->type = wacom_wac->features.type; in wacom_set_shared_values()
2216 wacom_wac->shared->touch_input = wacom_wac->touch_input; in wacom_set_shared_values()
2219 if (wacom_wac->has_mute_touch_switch) { in wacom_set_shared_values()
2220 wacom_wac->shared->has_mute_touch_switch = true; in wacom_set_shared_values()
2221 wacom_wac->shared->is_touch_on = true; in wacom_set_shared_values()
2224 if (wacom_wac->shared->has_mute_touch_switch && in wacom_set_shared_values()
2225 wacom_wac->shared->touch_input) { in wacom_set_shared_values()
2226 set_bit(EV_SW, wacom_wac->shared->touch_input->evbit); in wacom_set_shared_values()
2227 input_set_capability(wacom_wac->shared->touch_input, EV_SW, in wacom_set_shared_values()
2234 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_parse_and_register() local
2235 struct wacom_features *features = &wacom_wac->features; in wacom_parse_and_register()
2316 if (wacom->wacom_wac.features.device_type & WACOM_DEVICETYPE_PAD) { in wacom_parse_and_register()
2353 wacom_set_shared_values(wacom_wac); in wacom_parse_and_register()
2369 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_wireless_work() local
2372 struct wacom_wac *wacom_wac1, *wacom_wac2; in wacom_wireless_work()
2385 wacom_wac1 = &(wacom1->wacom_wac); in wacom_wireless_work()
2391 wacom_wac2 = &(wacom2->wacom_wac); in wacom_wireless_work()
2394 if (wacom_wac->pid == 0) { in wacom_wireless_work()
2400 wacom_wac->pid); in wacom_wireless_work()
2404 id->product == wacom_wac->pid) in wacom_wireless_work()
2418 wacom_wac1->pid = wacom_wac->pid; in wacom_wireless_work()
2430 wacom_wac2->pid = wacom_wac->pid; in wacom_wireless_work()
2437 strlcpy(wacom_wac->name, wacom_wac1->name, in wacom_wireless_work()
2438 sizeof(wacom_wac->name)); in wacom_wireless_work()
2515 remote->remotes[index].input->name = wacom->wacom_wac.pad_name; in wacom_remote_create_one()
2523 &wacom->wacom_wac); in wacom_remote_create_one()
2594 wacom_schedule_work(&wacom->wacom_wac, WACOM_WORKER_REMOTE); in wacom_remote_work()
2621 struct wacom_shared *shared = wacom->wacom_wac.shared; in wacom_mode_change_work()
2624 bool is_direct = wacom->wacom_wac.is_direct_mode; in wacom_mode_change_work()
2631 wacom1->wacom_wac.has_mode_change = true; in wacom_mode_change_work()
2632 wacom1->wacom_wac.is_direct_mode = is_direct; in wacom_mode_change_work()
2639 wacom2->wacom_wac.has_mode_change = true; in wacom_mode_change_work()
2640 wacom2->wacom_wac.is_direct_mode = is_direct; in wacom_mode_change_work()
2664 struct wacom_wac *wacom_wac; in wacom_probe() local
2683 wacom_wac = &wacom->wacom_wac; in wacom_probe()
2684 wacom_wac->features = *((struct wacom_features *)id->driver_data); in wacom_probe()
2685 features = &wacom_wac->features; in wacom_probe()
2692 error = kfifo_alloc(&wacom_wac->pen_fifo, WACOM_PKGLEN_MAX, GFP_KERNEL); in wacom_probe()
2696 wacom_wac->hid_data.inputmode = -1; in wacom_probe()
2697 wacom_wac->mode_report = -1; in wacom_probe()
2737 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_remove() local
2738 struct wacom_features *features = &wacom_wac->features; in wacom_remove()
2756 if (wacom->wacom_wac.features.type != REMOTE) in wacom_remove()
2759 kfifo_free(&wacom_wac->pen_fifo); in wacom_remove()