Lines Matching defs:wacom_wac

6 #include "wacom_wac.h"
89 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
90 struct wacom_features *features = &wacom_wac->features;
95 if (wacom_wac->serial[0] || !(features->quirks & WACOM_QUIRK_TOOLSERIAL))
126 wacom_wac->serial[0] = value;
130 wacom_wac->serial[0] |= ((__u64)value) << 32;
134 wacom_wac->id[0] = value;
145 wacom_wac_queue_flush(hdev, wacom_wac->pen_fifo);
147 wacom_wac_queue_insert(hdev, wacom_wac->pen_fifo,
158 if (wacom->wacom_wac.features.type == BOOTLOADER)
167 memcpy(wacom->wacom_wac.data, raw_data, size);
169 wacom_wac_irq(&wacom->wacom_wac, size);
213 struct wacom_features *features = &wacom->wacom_wac.features;
223 wacom->wacom_wac.mode_report = field->report->id;
224 wacom->wacom_wac.mode_value = 2;
296 struct wacom_features *features = &wacom->wacom_wac.features;
297 struct hid_data *hid_data = &wacom->wacom_wac.hid_data;
350 wacom->wacom_wac.mode_report = field->report->id;
351 wacom->wacom_wac.mode_value = 0;
356 wacom->wacom_wac.mode_report = field->report->id;
357 wacom->wacom_wac.mode_value = 2;
365 wacom->wacom_wac.mode_report = field->report->id;
366 wacom->wacom_wac.mode_value = 0;
429 struct wacom_features *features = &wacom->wacom_wac.features;
485 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
489 if (wacom_wac->has_mode_change) {
490 if (wacom_wac->is_direct_mode)
498 input_mt_init_slots(wacom_wac->touch_input,
499 wacom_wac->features.touch_max,
502 input_mt_init_slots(wacom_wac->touch_input,
503 wacom_wac->features.touch_max,
550 struct hid_data *hid_data = &wacom->wacom_wac.hid_data;
567 struct wacom_wac *wacom_wac)
575 if (wacom_wac->mode_report < 0)
579 r = re->report_id_hash[wacom_wac->mode_report];
590 rep_data[0] = wacom_wac->mode_report;
591 rep_data[1] = wacom_wac->mode_value;
599 rep_data[1] != wacom_wac->mode_report &&
629 wacom->wacom_wac.bt_high_speed = speed;
643 wacom->wacom_wac.bt_features &= ~0x20;
645 wacom->wacom_wac.bt_features |= 0x20;
648 rep_data[1] = wacom->wacom_wac.bt_features;
653 wacom->wacom_wac.bt_high_speed = speed;
670 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
671 struct wacom_features *features = &wacom_wac->features;
680 wacom_wac->mode_report = 3;
681 wacom_wac->mode_value = 4;
683 wacom_wac->mode_report = 18;
684 wacom_wac->mode_value = 2;
686 wacom_wac->mode_report = 131;
687 wacom_wac->mode_value = 2;
689 wacom_wac->mode_report = 2;
690 wacom_wac->mode_value = 2;
694 wacom_wac->mode_report = 2;
695 wacom_wac->mode_value = 2;
700 wacom_set_device_mode(hdev, wacom_wac);
752 struct wacom_features *features = &wacom->wacom_wac.features;
754 struct wacom_features *sibling_features = &sibling_wacom->wacom_wac.features;
853 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
855 if (wacom_wac->shared) {
856 data = container_of(wacom_wac->shared, struct wacom_hdev_data,
859 if (wacom_wac->shared->touch == wacom->hdev)
860 wacom_wac->shared->touch = NULL;
861 else if (wacom_wac->shared->pen == wacom->hdev)
862 wacom_wac->shared->pen = NULL;
865 wacom_wac->shared = NULL;
872 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
893 wacom_wac->shared = &data->shared;
899 if (wacom_wac->features.device_type & WACOM_DEVICETYPE_TOUCH)
900 wacom_wac->shared->touch = hdev;
901 else if (wacom_wac->features.device_type & WACOM_DEVICETYPE_PEN)
902 wacom_wac->shared->pen = hdev;
917 if (wacom->wacom_wac.features.type == REMOTE)
920 if (wacom->wacom_wac.pid) { /* wireless connected */
924 else if (wacom->wacom_wac.features.type == INTUOSP2_BT) {
932 if (wacom->wacom_wac.features.type == HID_GENERIC) {
937 } else if ((wacom->wacom_wac.features.type >= INTUOS5S &&
938 wacom->wacom_wac.features.type <= INTUOSPL)) {
950 if (wacom->wacom_wac.pid) {
958 else if (wacom->wacom_wac.features.type == INTUOSP2_BT) {
971 if (wacom->wacom_wac.features.type == WACOM_21UX2 ||
972 wacom->wacom_wac.features.type == WACOM_24HD)
1277 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
1295 wacom_wac->pen_fifo = pen_fifo;
1554 if (!wacom->wacom_wac.pad_input)
1557 dev = &wacom->wacom_wac.pad_input->dev;
1578 if (!(wacom->wacom_wac.features.device_type & WACOM_DEVICETYPE_PAD))
1582 switch (wacom->wacom_wac.features.type) {
1723 val->strval = battery->wacom->wacom_wac.name;
1801 if (wacom->wacom_wac.features.quirks & WACOM_QUIRK_BATTERY)
1823 return sysfs_emit(buf, "%i\n", wacom->wacom_wac.bt_high_speed);
1840 wacom_bt_query_tablet_data(hdev, new_speed, &wacom->wacom_wac.features);
1987 if (wacom->wacom_wac.features.type != REMOTE)
2043 struct wacom_wac *wacom_wac = &(wacom->wacom_wac);
2049 input_dev->name = wacom_wac->features.name;
2057 input_dev->id.product = wacom_wac->pid ? wacom_wac->pid : hdev->product;
2066 struct wacom_wac *wacom_wac = &(wacom->wacom_wac);
2068 wacom_wac->pen_input = wacom_allocate_input(wacom);
2069 wacom_wac->touch_input = wacom_allocate_input(wacom);
2070 wacom_wac->pad_input = wacom_allocate_input(wacom);
2071 if (!wacom_wac->pen_input ||
2072 !wacom_wac->touch_input ||
2073 !wacom_wac->pad_input)
2076 wacom_wac->pen_input->name = wacom_wac->pen_name;
2077 wacom_wac->touch_input->name = wacom_wac->touch_name;
2078 wacom_wac->pad_input->name = wacom_wac->pad_name;
2086 struct wacom_wac *wacom_wac = &(wacom->wacom_wac);
2089 pen_input_dev = wacom_wac->pen_input;
2090 touch_input_dev = wacom_wac->touch_input;
2091 pad_input_dev = wacom_wac->pad_input;
2096 error = wacom_setup_pen_input_capabilities(pen_input_dev, wacom_wac);
2100 wacom_wac->pen_input = NULL;
2104 error = wacom_setup_touch_input_capabilities(touch_input_dev, wacom_wac);
2108 wacom_wac->touch_input = NULL;
2112 error = wacom_setup_pad_input_capabilities(pad_input_dev, wacom_wac);
2116 wacom_wac->pad_input = NULL;
2126 struct wacom_wac *wacom_wac = &(wacom->wacom_wac);
2129 pen_input_dev = wacom_wac->pen_input;
2130 touch_input_dev = wacom_wac->touch_input;
2131 pad_input_dev = wacom_wac->pad_input;
2154 wacom_wac->pad_input = NULL;
2155 wacom_wac->touch_input = NULL;
2156 wacom_wac->pen_input = NULL;
2197 if ((wacom->wacom_wac.features.quirks & WACOM_QUIRK_BATTERY) &&
2201 else if (!(wacom->wacom_wac.features.quirks & WACOM_QUIRK_BATTERY) &&
2226 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
2227 struct wacom_features *features = &wacom_wac->features;
2271 snprintf(wacom_wac->name, sizeof(wacom_wac->name), "%s%s",
2275 snprintf(wacom_wac->pen_name, sizeof(wacom_wac->pen_name),
2277 snprintf(wacom_wac->touch_name, sizeof(wacom_wac->touch_name),
2279 snprintf(wacom_wac->pad_name, sizeof(wacom_wac->pad_name),
2294 wacom->wacom_wac.pen_input = NULL;
2295 wacom->wacom_wac.touch_input = NULL;
2296 wacom->wacom_wac.pad_input = NULL;
2299 static void wacom_set_shared_values(struct wacom_wac *wacom_wac)
2301 if (wacom_wac->features.device_type & WACOM_DEVICETYPE_TOUCH) {
2302 wacom_wac->shared->type = wacom_wac->features.type;
2303 wacom_wac->shared->touch_input = wacom_wac->touch_input;
2306 if (wacom_wac->has_mute_touch_switch) {
2307 wacom_wac->shared->has_mute_touch_switch = true;
2313 if (wacom_wac->is_soft_touch_switch)
2314 wacom_wac->shared->is_touch_on = true;
2317 if (wacom_wac->shared->has_mute_touch_switch &&
2318 wacom_wac->shared->touch_input) {
2319 set_bit(EV_SW, wacom_wac->shared->touch_input->evbit);
2320 input_set_capability(wacom_wac->shared->touch_input, EV_SW,
2327 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
2328 struct wacom_features *features = &wacom_wac->features;
2416 if (wacom->wacom_wac.features.device_type & WACOM_DEVICETYPE_PAD) {
2448 wacom_set_shared_values(wacom_wac);
2464 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
2467 struct wacom_wac *wacom_wac1, *wacom_wac2;
2483 wacom_wac1 = &(wacom1->wacom_wac);
2489 wacom_wac2 = &(wacom2->wacom_wac);
2492 if (wacom_wac->pid == 0) {
2498 wacom_wac->pid);
2502 id->product == wacom_wac->pid)
2516 wacom_wac1->pid = wacom_wac->pid;
2528 wacom_wac2->pid = wacom_wac->pid;
2535 if (strscpy(wacom_wac->name, wacom_wac1->name,
2536 sizeof(wacom_wac->name)) < 0) {
2621 remote->remotes[index].input->name = wacom->wacom_wac.pad_name;
2629 &wacom->wacom_wac);
2705 wacom_schedule_work(&wacom->wacom_wac, WACOM_WORKER_REMOTE);
2736 struct wacom_shared *shared = wacom->wacom_wac.shared;
2739 bool is_direct = wacom->wacom_wac.is_direct_mode;
2746 wacom1->wacom_wac.has_mode_change = true;
2747 wacom1->wacom_wac.is_direct_mode = is_direct;
2754 wacom2->wacom_wac.has_mode_change = true;
2755 wacom2->wacom_wac.is_direct_mode = is_direct;
2777 struct wacom_wac *wacom_wac;
2796 wacom_wac = &wacom->wacom_wac;
2797 wacom_wac->features = *((struct wacom_features *)id->driver_data);
2798 features = &wacom_wac->features;
2807 wacom_wac->hid_data.inputmode = -1;
2808 wacom_wac->mode_report = -1;
2850 wacom_wac->probe_complete = true;
2857 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
2858 struct wacom_features *features = &wacom_wac->features;
2877 if (wacom->wacom_wac.features.type != REMOTE)