Lines Matching defs:wacom_wac
11 #include "wacom_wac.h"
94 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
95 struct wacom_features *features = &wacom_wac->features;
100 if (wacom_wac->serial[0] || !(features->quirks & WACOM_QUIRK_TOOLSERIAL))
131 wacom_wac->serial[0] = value;
135 wacom_wac->serial[0] |= ((__u64)value) << 32;
139 wacom_wac->id[0] = value;
150 wacom_wac_queue_flush(hdev, wacom_wac->pen_fifo);
152 wacom_wac_queue_insert(hdev, wacom_wac->pen_fifo,
163 if (wacom->wacom_wac.features.type == BOOTLOADER)
172 memcpy(wacom->wacom_wac.data, raw_data, size);
174 wacom_wac_irq(&wacom->wacom_wac, size);
218 struct wacom_features *features = &wacom->wacom_wac.features;
228 wacom->wacom_wac.mode_report = field->report->id;
229 wacom->wacom_wac.mode_value = 2;
301 struct wacom_features *features = &wacom->wacom_wac.features;
302 struct hid_data *hid_data = &wacom->wacom_wac.hid_data;
355 wacom->wacom_wac.mode_report = field->report->id;
356 wacom->wacom_wac.mode_value = 0;
361 wacom->wacom_wac.mode_report = field->report->id;
362 wacom->wacom_wac.mode_value = 2;
370 wacom->wacom_wac.mode_report = field->report->id;
371 wacom->wacom_wac.mode_value = 0;
434 struct wacom_features *features = &wacom->wacom_wac.features;
490 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
494 if (wacom_wac->has_mode_change) {
495 if (wacom_wac->is_direct_mode)
503 input_mt_init_slots(wacom_wac->touch_input,
504 wacom_wac->features.touch_max,
507 input_mt_init_slots(wacom_wac->touch_input,
508 wacom_wac->features.touch_max,
555 struct hid_data *hid_data = &wacom->wacom_wac.hid_data;
572 struct wacom_wac *wacom_wac)
580 if (wacom_wac->mode_report < 0)
584 r = re->report_id_hash[wacom_wac->mode_report];
595 rep_data[0] = wacom_wac->mode_report;
596 rep_data[1] = wacom_wac->mode_value;
604 rep_data[1] != wacom_wac->mode_report &&
634 wacom->wacom_wac.bt_high_speed = speed;
648 wacom->wacom_wac.bt_features &= ~0x20;
650 wacom->wacom_wac.bt_features |= 0x20;
653 rep_data[1] = wacom->wacom_wac.bt_features;
658 wacom->wacom_wac.bt_high_speed = speed;
675 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
676 struct wacom_features *features = &wacom_wac->features;
685 wacom_wac->mode_report = 3;
686 wacom_wac->mode_value = 4;
688 wacom_wac->mode_report = 18;
689 wacom_wac->mode_value = 2;
691 wacom_wac->mode_report = 131;
692 wacom_wac->mode_value = 2;
694 wacom_wac->mode_report = 2;
695 wacom_wac->mode_value = 2;
699 wacom_wac->mode_report = 2;
700 wacom_wac->mode_value = 2;
705 wacom_set_device_mode(hdev, wacom_wac);
757 struct wacom_features *features = &wacom->wacom_wac.features;
759 struct wacom_features *sibling_features = &sibling_wacom->wacom_wac.features;
858 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
860 if (wacom_wac->shared) {
861 data = container_of(wacom_wac->shared, struct wacom_hdev_data,
864 if (wacom_wac->shared->touch == wacom->hdev)
865 wacom_wac->shared->touch = NULL;
866 else if (wacom_wac->shared->pen == wacom->hdev)
867 wacom_wac->shared->pen = NULL;
870 wacom_wac->shared = NULL;
877 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
896 wacom_wac->shared = &data->shared;
905 if (wacom_wac->features.device_type & WACOM_DEVICETYPE_TOUCH)
906 wacom_wac->shared->touch = hdev;
907 else if (wacom_wac->features.device_type & WACOM_DEVICETYPE_PEN)
908 wacom_wac->shared->pen = hdev;
925 if (wacom->wacom_wac.features.type == REMOTE)
928 if (wacom->wacom_wac.pid) { /* wireless connected */
932 else if (wacom->wacom_wac.features.type == INTUOSP2_BT) {
940 if (wacom->wacom_wac.features.type == HID_GENERIC) {
945 } else if ((wacom->wacom_wac.features.type >= INTUOS5S &&
946 wacom->wacom_wac.features.type <= INTUOSPL)) {
958 if (wacom->wacom_wac.pid) {
966 else if (wacom->wacom_wac.features.type == INTUOSP2_BT) {
979 if (wacom->wacom_wac.features.type == WACOM_21UX2 ||
980 wacom->wacom_wac.features.type == WACOM_24HD)
1285 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
1303 wacom_wac->pen_fifo = pen_fifo;
1562 if (!wacom->wacom_wac.pad_input)
1565 dev = &wacom->wacom_wac.pad_input->dev;
1586 if (!(wacom->wacom_wac.features.device_type & WACOM_DEVICETYPE_PAD))
1590 switch (wacom->wacom_wac.features.type) {
1731 val->strval = battery->wacom->wacom_wac.name;
1809 if (wacom->wacom_wac.features.quirks & WACOM_QUIRK_BATTERY)
1831 return snprintf(buf, PAGE_SIZE, "%i\n", wacom->wacom_wac.bt_high_speed);
1848 wacom_bt_query_tablet_data(hdev, new_speed, &wacom->wacom_wac.features);
1995 if (wacom->wacom_wac.features.type != REMOTE)
2051 struct wacom_wac *wacom_wac = &(wacom->wacom_wac);
2057 input_dev->name = wacom_wac->features.name;
2065 input_dev->id.product = wacom_wac->pid ? wacom_wac->pid : hdev->product;
2074 struct wacom_wac *wacom_wac = &(wacom->wacom_wac);
2076 wacom_wac->pen_input = wacom_allocate_input(wacom);
2077 wacom_wac->touch_input = wacom_allocate_input(wacom);
2078 wacom_wac->pad_input = wacom_allocate_input(wacom);
2079 if (!wacom_wac->pen_input ||
2080 !wacom_wac->touch_input ||
2081 !wacom_wac->pad_input)
2084 wacom_wac->pen_input->name = wacom_wac->pen_name;
2085 wacom_wac->touch_input->name = wacom_wac->touch_name;
2086 wacom_wac->pad_input->name = wacom_wac->pad_name;
2094 struct wacom_wac *wacom_wac = &(wacom->wacom_wac);
2097 pen_input_dev = wacom_wac->pen_input;
2098 touch_input_dev = wacom_wac->touch_input;
2099 pad_input_dev = wacom_wac->pad_input;
2104 error = wacom_setup_pen_input_capabilities(pen_input_dev, wacom_wac);
2108 wacom_wac->pen_input = NULL;
2112 error = wacom_setup_touch_input_capabilities(touch_input_dev, wacom_wac);
2116 wacom_wac->touch_input = NULL;
2120 error = wacom_setup_pad_input_capabilities(pad_input_dev, wacom_wac);
2124 wacom_wac->pad_input = NULL;
2134 struct wacom_wac *wacom_wac = &(wacom->wacom_wac);
2137 pen_input_dev = wacom_wac->pen_input;
2138 touch_input_dev = wacom_wac->touch_input;
2139 pad_input_dev = wacom_wac->pad_input;
2162 wacom_wac->pad_input = NULL;
2163 wacom_wac->touch_input = NULL;
2164 wacom_wac->pen_input = NULL;
2205 if ((wacom->wacom_wac.features.quirks & WACOM_QUIRK_BATTERY) &&
2209 else if (!(wacom->wacom_wac.features.quirks & WACOM_QUIRK_BATTERY) &&
2234 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
2235 struct wacom_features *features = &wacom_wac->features;
2275 snprintf(wacom_wac->name, sizeof(wacom_wac->name), "%s%s",
2279 snprintf(wacom_wac->pen_name, sizeof(wacom_wac->pen_name),
2281 snprintf(wacom_wac->touch_name, sizeof(wacom_wac->touch_name),
2283 snprintf(wacom_wac->pad_name, sizeof(wacom_wac->pad_name),
2298 wacom->wacom_wac.pen_input = NULL;
2299 wacom->wacom_wac.touch_input = NULL;
2300 wacom->wacom_wac.pad_input = NULL;
2303 static void wacom_set_shared_values(struct wacom_wac *wacom_wac)
2305 if (wacom_wac->features.device_type & WACOM_DEVICETYPE_TOUCH) {
2306 wacom_wac->shared->type = wacom_wac->features.type;
2307 wacom_wac->shared->touch_input = wacom_wac->touch_input;
2310 if (wacom_wac->has_mute_touch_switch) {
2311 wacom_wac->shared->has_mute_touch_switch = true;
2312 wacom_wac->shared->is_touch_on = true;
2315 if (wacom_wac->shared->has_mute_touch_switch &&
2316 wacom_wac->shared->touch_input) {
2317 set_bit(EV_SW, wacom_wac->shared->touch_input->evbit);
2318 input_set_capability(wacom_wac->shared->touch_input, EV_SW,
2325 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
2326 struct wacom_features *features = &wacom_wac->features;
2421 if (wacom->wacom_wac.features.device_type & WACOM_DEVICETYPE_PAD) {
2453 wacom_set_shared_values(wacom_wac);
2469 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
2472 struct wacom_wac *wacom_wac1, *wacom_wac2;
2488 wacom_wac1 = &(wacom1->wacom_wac);
2494 wacom_wac2 = &(wacom2->wacom_wac);
2497 if (wacom_wac->pid == 0) {
2503 wacom_wac->pid);
2507 id->product == wacom_wac->pid)
2521 wacom_wac1->pid = wacom_wac->pid;
2533 wacom_wac2->pid = wacom_wac->pid;
2540 strlcpy(wacom_wac->name, wacom_wac1->name,
2541 sizeof(wacom_wac->name));
2627 remote->remotes[index].input->name = wacom->wacom_wac.pad_name;
2635 &wacom->wacom_wac);
2710 wacom_schedule_work(&wacom->wacom_wac, WACOM_WORKER_REMOTE);
2741 struct wacom_shared *shared = wacom->wacom_wac.shared;
2744 bool is_direct = wacom->wacom_wac.is_direct_mode;
2751 wacom1->wacom_wac.has_mode_change = true;
2752 wacom1->wacom_wac.is_direct_mode = is_direct;
2759 wacom2->wacom_wac.has_mode_change = true;
2760 wacom2->wacom_wac.is_direct_mode = is_direct;
2782 struct wacom_wac *wacom_wac;
2801 wacom_wac = &wacom->wacom_wac;
2802 wacom_wac->features = *((struct wacom_features *)id->driver_data);
2803 features = &wacom_wac->features;
2812 wacom_wac->hid_data.inputmode = -1;
2813 wacom_wac->mode_report = -1;
2861 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
2862 struct wacom_features *features = &wacom_wac->features;
2881 if (wacom->wacom_wac.features.type != REMOTE)