Lines Matching refs: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)
1830 return sysfs_emit(buf, "%i\n", wacom->wacom_wac.bt_high_speed);
1847 wacom_bt_query_tablet_data(hdev, new_speed, &wacom->wacom_wac.features);
1994 if (wacom->wacom_wac.features.type != REMOTE)
2050 struct wacom_wac *wacom_wac = &(wacom->wacom_wac);
2056 input_dev->name = wacom_wac->features.name;
2064 input_dev->id.product = wacom_wac->pid ? wacom_wac->pid : hdev->product;
2073 struct wacom_wac *wacom_wac = &(wacom->wacom_wac);
2075 wacom_wac->pen_input = wacom_allocate_input(wacom);
2076 wacom_wac->touch_input = wacom_allocate_input(wacom);
2077 wacom_wac->pad_input = wacom_allocate_input(wacom);
2078 if (!wacom_wac->pen_input ||
2079 !wacom_wac->touch_input ||
2080 !wacom_wac->pad_input)
2083 wacom_wac->pen_input->name = wacom_wac->pen_name;
2084 wacom_wac->touch_input->name = wacom_wac->touch_name;
2085 wacom_wac->pad_input->name = wacom_wac->pad_name;
2093 struct wacom_wac *wacom_wac = &(wacom->wacom_wac);
2096 pen_input_dev = wacom_wac->pen_input;
2097 touch_input_dev = wacom_wac->touch_input;
2098 pad_input_dev = wacom_wac->pad_input;
2103 error = wacom_setup_pen_input_capabilities(pen_input_dev, wacom_wac);
2107 wacom_wac->pen_input = NULL;
2111 error = wacom_setup_touch_input_capabilities(touch_input_dev, wacom_wac);
2115 wacom_wac->touch_input = NULL;
2119 error = wacom_setup_pad_input_capabilities(pad_input_dev, wacom_wac);
2123 wacom_wac->pad_input = NULL;
2133 struct wacom_wac *wacom_wac = &(wacom->wacom_wac);
2136 pen_input_dev = wacom_wac->pen_input;
2137 touch_input_dev = wacom_wac->touch_input;
2138 pad_input_dev = wacom_wac->pad_input;
2161 wacom_wac->pad_input = NULL;
2162 wacom_wac->touch_input = NULL;
2163 wacom_wac->pen_input = NULL;
2204 if ((wacom->wacom_wac.features.quirks & WACOM_QUIRK_BATTERY) &&
2208 else if (!(wacom->wacom_wac.features.quirks & WACOM_QUIRK_BATTERY) &&
2233 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
2234 struct wacom_features *features = &wacom_wac->features;
2278 snprintf(wacom_wac->name, sizeof(wacom_wac->name), "%s%s",
2282 snprintf(wacom_wac->pen_name, sizeof(wacom_wac->pen_name),
2284 snprintf(wacom_wac->touch_name, sizeof(wacom_wac->touch_name),
2286 snprintf(wacom_wac->pad_name, sizeof(wacom_wac->pad_name),
2301 wacom->wacom_wac.pen_input = NULL;
2302 wacom->wacom_wac.touch_input = NULL;
2303 wacom->wacom_wac.pad_input = NULL;
2306 static void wacom_set_shared_values(struct wacom_wac *wacom_wac)
2308 if (wacom_wac->features.device_type & WACOM_DEVICETYPE_TOUCH) {
2309 wacom_wac->shared->type = wacom_wac->features.type;
2310 wacom_wac->shared->touch_input = wacom_wac->touch_input;
2313 if (wacom_wac->has_mute_touch_switch) {
2314 wacom_wac->shared->has_mute_touch_switch = true;
2320 if (wacom_wac->is_soft_touch_switch)
2321 wacom_wac->shared->is_touch_on = true;
2324 if (wacom_wac->shared->has_mute_touch_switch &&
2325 wacom_wac->shared->touch_input) {
2326 set_bit(EV_SW, wacom_wac->shared->touch_input->evbit);
2327 input_set_capability(wacom_wac->shared->touch_input, EV_SW,
2334 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
2335 struct wacom_features *features = &wacom_wac->features;
2423 if (wacom->wacom_wac.features.device_type & WACOM_DEVICETYPE_PAD) {
2455 wacom_set_shared_values(wacom_wac);
2471 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
2474 struct wacom_wac *wacom_wac1, *wacom_wac2;
2490 wacom_wac1 = &(wacom1->wacom_wac);
2496 wacom_wac2 = &(wacom2->wacom_wac);
2499 if (wacom_wac->pid == 0) {
2505 wacom_wac->pid);
2509 id->product == wacom_wac->pid)
2523 wacom_wac1->pid = wacom_wac->pid;
2535 wacom_wac2->pid = wacom_wac->pid;
2542 if (strscpy(wacom_wac->name, wacom_wac1->name,
2543 sizeof(wacom_wac->name)) < 0) {
2628 remote->remotes[index].input->name = wacom->wacom_wac.pad_name;
2636 &wacom->wacom_wac);
2712 wacom_schedule_work(&wacom->wacom_wac, WACOM_WORKER_REMOTE);
2743 struct wacom_shared *shared = wacom->wacom_wac.shared;
2746 bool is_direct = wacom->wacom_wac.is_direct_mode;
2753 wacom1->wacom_wac.has_mode_change = true;
2754 wacom1->wacom_wac.is_direct_mode = is_direct;
2761 wacom2->wacom_wac.has_mode_change = true;
2762 wacom2->wacom_wac.is_direct_mode = is_direct;
2784 struct wacom_wac *wacom_wac;
2803 wacom_wac = &wacom->wacom_wac;
2804 wacom_wac->features = *((struct wacom_features *)id->driver_data);
2805 features = &wacom_wac->features;
2814 wacom_wac->hid_data.inputmode = -1;
2815 wacom_wac->mode_report = -1;
2858 wacom_wac->probe_complete = true;
2865 struct wacom_wac *wacom_wac = &wacom->wacom_wac;
2866 struct wacom_features *features = &wacom_wac->features;
2885 if (wacom->wacom_wac.features.type != REMOTE)