Lines Matching refs:wacom_wac

94 	struct wacom_wac *wacom_wac = &wacom->wacom_wac;  in wacom_wac_pen_serial_enforce()  local
95 struct wacom_features *features = &wacom_wac->features; in wacom_wac_pen_serial_enforce()
100 if (wacom_wac->serial[0] || !(features->quirks & WACOM_QUIRK_TOOLSERIAL)) in wacom_wac_pen_serial_enforce()
131 wacom_wac->serial[0] = value; in wacom_wac_pen_serial_enforce()
135 wacom_wac->serial[0] |= ((__u64)value) << 32; in wacom_wac_pen_serial_enforce()
139 wacom_wac->id[0] = value; in wacom_wac_pen_serial_enforce()
150 wacom_wac_queue_flush(hdev, wacom_wac->pen_fifo); in wacom_wac_pen_serial_enforce()
152 wacom_wac_queue_insert(hdev, wacom_wac->pen_fifo, in wacom_wac_pen_serial_enforce()
169 memcpy(wacom->wacom_wac.data, raw_data, size); in wacom_raw_event()
171 wacom_wac_irq(&wacom->wacom_wac, size); in wacom_raw_event()
215 struct wacom_features *features = &wacom->wacom_wac.features; in wacom_hid_usage_quirk()
225 wacom->wacom_wac.mode_report = field->report->id; in wacom_hid_usage_quirk()
226 wacom->wacom_wac.mode_value = 2; in wacom_hid_usage_quirk()
298 struct wacom_features *features = &wacom->wacom_wac.features; in wacom_feature_mapping()
299 struct hid_data *hid_data = &wacom->wacom_wac.hid_data; in wacom_feature_mapping()
352 wacom->wacom_wac.mode_report = field->report->id; in wacom_feature_mapping()
353 wacom->wacom_wac.mode_value = 0; in wacom_feature_mapping()
358 wacom->wacom_wac.mode_report = field->report->id; in wacom_feature_mapping()
359 wacom->wacom_wac.mode_value = 2; in wacom_feature_mapping()
367 wacom->wacom_wac.mode_report = field->report->id; in wacom_feature_mapping()
368 wacom->wacom_wac.mode_value = 0; in wacom_feature_mapping()
431 struct wacom_features *features = &wacom->wacom_wac.features; in wacom_usage_mapping()
487 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_post_parse_hid() local
491 if (wacom_wac->has_mode_change) { in wacom_post_parse_hid()
492 if (wacom_wac->is_direct_mode) in wacom_post_parse_hid()
500 input_mt_init_slots(wacom_wac->touch_input, in wacom_post_parse_hid()
501 wacom_wac->features.touch_max, in wacom_post_parse_hid()
504 input_mt_init_slots(wacom_wac->touch_input, in wacom_post_parse_hid()
505 wacom_wac->features.touch_max, in wacom_post_parse_hid()
552 struct hid_data *hid_data = &wacom->wacom_wac.hid_data; in wacom_hid_set_device_mode()
569 struct wacom_wac *wacom_wac) in wacom_set_device_mode() argument
577 if (wacom_wac->mode_report < 0) in wacom_set_device_mode()
581 r = re->report_id_hash[wacom_wac->mode_report]; in wacom_set_device_mode()
592 rep_data[0] = wacom_wac->mode_report; in wacom_set_device_mode()
593 rep_data[1] = wacom_wac->mode_value; in wacom_set_device_mode()
601 rep_data[1] != wacom_wac->mode_report && in wacom_set_device_mode()
631 wacom->wacom_wac.bt_high_speed = speed; in wacom_bt_query_tablet_data()
645 wacom->wacom_wac.bt_features &= ~0x20; in wacom_bt_query_tablet_data()
647 wacom->wacom_wac.bt_features |= 0x20; in wacom_bt_query_tablet_data()
650 rep_data[1] = wacom->wacom_wac.bt_features; in wacom_bt_query_tablet_data()
655 wacom->wacom_wac.bt_high_speed = speed; in wacom_bt_query_tablet_data()
672 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in _wacom_query_tablet_data() local
673 struct wacom_features *features = &wacom_wac->features; in _wacom_query_tablet_data()
682 wacom_wac->mode_report = 3; in _wacom_query_tablet_data()
683 wacom_wac->mode_value = 4; in _wacom_query_tablet_data()
685 wacom_wac->mode_report = 18; in _wacom_query_tablet_data()
686 wacom_wac->mode_value = 2; in _wacom_query_tablet_data()
688 wacom_wac->mode_report = 131; in _wacom_query_tablet_data()
689 wacom_wac->mode_value = 2; in _wacom_query_tablet_data()
691 wacom_wac->mode_report = 2; in _wacom_query_tablet_data()
692 wacom_wac->mode_value = 2; in _wacom_query_tablet_data()
696 wacom_wac->mode_report = 2; in _wacom_query_tablet_data()
697 wacom_wac->mode_value = 2; in _wacom_query_tablet_data()
702 wacom_set_device_mode(hdev, wacom_wac); in _wacom_query_tablet_data()
754 struct wacom_features *features = &wacom->wacom_wac.features; in wacom_are_sibling()
756 struct wacom_features *sibling_features = &sibling_wacom->wacom_wac.features; in wacom_are_sibling()
855 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_remove_shared_data() local
857 if (wacom_wac->shared) { in wacom_remove_shared_data()
858 data = container_of(wacom_wac->shared, struct wacom_hdev_data, in wacom_remove_shared_data()
861 if (wacom_wac->shared->touch == wacom->hdev) in wacom_remove_shared_data()
862 wacom_wac->shared->touch = NULL; in wacom_remove_shared_data()
863 else if (wacom_wac->shared->pen == wacom->hdev) in wacom_remove_shared_data()
864 wacom_wac->shared->pen = NULL; in wacom_remove_shared_data()
867 wacom_wac->shared = NULL; in wacom_remove_shared_data()
874 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_add_shared_data() local
893 wacom_wac->shared = &data->shared; in wacom_add_shared_data()
902 if (wacom_wac->features.device_type & WACOM_DEVICETYPE_TOUCH) in wacom_add_shared_data()
903 wacom_wac->shared->touch = hdev; in wacom_add_shared_data()
904 else if (wacom_wac->features.device_type & WACOM_DEVICETYPE_PEN) in wacom_add_shared_data()
905 wacom_wac->shared->pen = hdev; in wacom_add_shared_data()
922 if (wacom->wacom_wac.features.type == REMOTE) in wacom_led_control()
925 if (wacom->wacom_wac.pid) { /* wireless connected */ in wacom_led_control()
929 else if (wacom->wacom_wac.features.type == INTUOSP2_BT) { in wacom_led_control()
937 if (wacom->wacom_wac.features.type == HID_GENERIC) { in wacom_led_control()
942 } else if ((wacom->wacom_wac.features.type >= INTUOS5S && in wacom_led_control()
943 wacom->wacom_wac.features.type <= INTUOSPL)) { in wacom_led_control()
955 if (wacom->wacom_wac.pid) { in wacom_led_control()
963 else if (wacom->wacom_wac.features.type == INTUOSP2_BT) { in wacom_led_control()
976 if (wacom->wacom_wac.features.type == WACOM_21UX2 || in wacom_led_control()
977 wacom->wacom_wac.features.type == WACOM_24HD) in wacom_led_control()
1282 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_devm_kfifo_alloc() local
1300 wacom_wac->pen_fifo = pen_fifo; in wacom_devm_kfifo_alloc()
1559 if (!wacom->wacom_wac.pad_input) in wacom_leds_alloc_and_register()
1562 dev = &wacom->wacom_wac.pad_input->dev; in wacom_leds_alloc_and_register()
1583 if (!(wacom->wacom_wac.features.device_type & WACOM_DEVICETYPE_PAD)) in wacom_initialize_leds()
1587 switch (wacom->wacom_wac.features.type) { in wacom_initialize_leds()
1728 val->strval = battery->wacom->wacom_wac.name; in wacom_battery_get_property()
1806 if (wacom->wacom_wac.features.quirks & WACOM_QUIRK_BATTERY) in wacom_initialize_battery()
1828 return snprintf(buf, PAGE_SIZE, "%i\n", wacom->wacom_wac.bt_high_speed); in wacom_show_speed()
1845 wacom_bt_query_tablet_data(hdev, new_speed, &wacom->wacom_wac.features); in wacom_store_speed()
1992 if (wacom->wacom_wac.features.type != REMOTE) in wacom_initialize_remotes()
2048 struct wacom_wac *wacom_wac = &(wacom->wacom_wac); in wacom_allocate_input() local
2054 input_dev->name = wacom_wac->features.name; in wacom_allocate_input()
2062 input_dev->id.product = wacom_wac->pid ? wacom_wac->pid : hdev->product; in wacom_allocate_input()
2071 struct wacom_wac *wacom_wac = &(wacom->wacom_wac); in wacom_allocate_inputs() local
2073 wacom_wac->pen_input = wacom_allocate_input(wacom); in wacom_allocate_inputs()
2074 wacom_wac->touch_input = wacom_allocate_input(wacom); in wacom_allocate_inputs()
2075 wacom_wac->pad_input = wacom_allocate_input(wacom); in wacom_allocate_inputs()
2076 if (!wacom_wac->pen_input || in wacom_allocate_inputs()
2077 !wacom_wac->touch_input || in wacom_allocate_inputs()
2078 !wacom_wac->pad_input) in wacom_allocate_inputs()
2081 wacom_wac->pen_input->name = wacom_wac->pen_name; in wacom_allocate_inputs()
2082 wacom_wac->touch_input->name = wacom_wac->touch_name; in wacom_allocate_inputs()
2083 wacom_wac->pad_input->name = wacom_wac->pad_name; in wacom_allocate_inputs()
2091 struct wacom_wac *wacom_wac = &(wacom->wacom_wac); in wacom_register_inputs() local
2094 pen_input_dev = wacom_wac->pen_input; in wacom_register_inputs()
2095 touch_input_dev = wacom_wac->touch_input; in wacom_register_inputs()
2096 pad_input_dev = wacom_wac->pad_input; in wacom_register_inputs()
2101 error = wacom_setup_pen_input_capabilities(pen_input_dev, wacom_wac); in wacom_register_inputs()
2105 wacom_wac->pen_input = NULL; in wacom_register_inputs()
2113 error = wacom_setup_touch_input_capabilities(touch_input_dev, wacom_wac); in wacom_register_inputs()
2117 wacom_wac->touch_input = NULL; in wacom_register_inputs()
2125 error = wacom_setup_pad_input_capabilities(pad_input_dev, wacom_wac); in wacom_register_inputs()
2129 wacom_wac->pad_input = NULL; in wacom_register_inputs()
2140 wacom_wac->pad_input = NULL; in wacom_register_inputs()
2141 wacom_wac->touch_input = NULL; in wacom_register_inputs()
2142 wacom_wac->pen_input = NULL; in wacom_register_inputs()
2183 if ((wacom->wacom_wac.features.quirks & WACOM_QUIRK_BATTERY) && in wacom_battery_work()
2187 else if (!(wacom->wacom_wac.features.quirks & WACOM_QUIRK_BATTERY) && in wacom_battery_work()
2212 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_update_name() local
2213 struct wacom_features *features = &wacom_wac->features; in wacom_update_name()
2253 snprintf(wacom_wac->name, sizeof(wacom_wac->name), "%s%s", in wacom_update_name()
2257 snprintf(wacom_wac->pen_name, sizeof(wacom_wac->pen_name), in wacom_update_name()
2259 snprintf(wacom_wac->touch_name, sizeof(wacom_wac->touch_name), in wacom_update_name()
2261 snprintf(wacom_wac->pad_name, sizeof(wacom_wac->pad_name), in wacom_update_name()
2276 wacom->wacom_wac.pen_input = NULL; in wacom_release_resources()
2277 wacom->wacom_wac.touch_input = NULL; in wacom_release_resources()
2278 wacom->wacom_wac.pad_input = NULL; in wacom_release_resources()
2281 static void wacom_set_shared_values(struct wacom_wac *wacom_wac) in wacom_set_shared_values() argument
2283 if (wacom_wac->features.device_type & WACOM_DEVICETYPE_TOUCH) { in wacom_set_shared_values()
2284 wacom_wac->shared->type = wacom_wac->features.type; in wacom_set_shared_values()
2285 wacom_wac->shared->touch_input = wacom_wac->touch_input; in wacom_set_shared_values()
2288 if (wacom_wac->has_mute_touch_switch) { in wacom_set_shared_values()
2289 wacom_wac->shared->has_mute_touch_switch = true; in wacom_set_shared_values()
2290 wacom_wac->shared->is_touch_on = true; in wacom_set_shared_values()
2293 if (wacom_wac->shared->has_mute_touch_switch && in wacom_set_shared_values()
2294 wacom_wac->shared->touch_input) { in wacom_set_shared_values()
2295 set_bit(EV_SW, wacom_wac->shared->touch_input->evbit); in wacom_set_shared_values()
2296 input_set_capability(wacom_wac->shared->touch_input, EV_SW, in wacom_set_shared_values()
2303 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_parse_and_register() local
2304 struct wacom_features *features = &wacom_wac->features; in wacom_parse_and_register()
2385 if (wacom->wacom_wac.features.device_type & WACOM_DEVICETYPE_PAD) { in wacom_parse_and_register()
2422 wacom_set_shared_values(wacom_wac); in wacom_parse_and_register()
2438 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_wireless_work() local
2441 struct wacom_wac *wacom_wac1, *wacom_wac2; in wacom_wireless_work()
2457 wacom_wac1 = &(wacom1->wacom_wac); in wacom_wireless_work()
2463 wacom_wac2 = &(wacom2->wacom_wac); in wacom_wireless_work()
2466 if (wacom_wac->pid == 0) { in wacom_wireless_work()
2472 wacom_wac->pid); in wacom_wireless_work()
2476 id->product == wacom_wac->pid) in wacom_wireless_work()
2490 wacom_wac1->pid = wacom_wac->pid; in wacom_wireless_work()
2502 wacom_wac2->pid = wacom_wac->pid; in wacom_wireless_work()
2509 strlcpy(wacom_wac->name, wacom_wac1->name, in wacom_wireless_work()
2510 sizeof(wacom_wac->name)); in wacom_wireless_work()
2587 remote->remotes[index].input->name = wacom->wacom_wac.pad_name; in wacom_remote_create_one()
2595 &wacom->wacom_wac); in wacom_remote_create_one()
2666 wacom_schedule_work(&wacom->wacom_wac, WACOM_WORKER_REMOTE); in wacom_remote_work()
2693 struct wacom_shared *shared = wacom->wacom_wac.shared; in wacom_mode_change_work()
2696 bool is_direct = wacom->wacom_wac.is_direct_mode; in wacom_mode_change_work()
2703 wacom1->wacom_wac.has_mode_change = true; in wacom_mode_change_work()
2704 wacom1->wacom_wac.is_direct_mode = is_direct; in wacom_mode_change_work()
2711 wacom2->wacom_wac.has_mode_change = true; in wacom_mode_change_work()
2712 wacom2->wacom_wac.is_direct_mode = is_direct; in wacom_mode_change_work()
2734 struct wacom_wac *wacom_wac; in wacom_probe() local
2753 wacom_wac = &wacom->wacom_wac; in wacom_probe()
2754 wacom_wac->features = *((struct wacom_features *)id->driver_data); in wacom_probe()
2755 features = &wacom_wac->features; in wacom_probe()
2764 wacom_wac->hid_data.inputmode = -1; in wacom_probe()
2765 wacom_wac->mode_report = -1; in wacom_probe()
2807 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_remove() local
2808 struct wacom_features *features = &wacom_wac->features; in wacom_remove()
2826 if (wacom->wacom_wac.features.type != REMOTE) in wacom_remove()