drivers/hid/wacom.h
160
struct wacom_wac wacom_wac;
drivers/hid/wacom.h
185
static inline void wacom_schedule_work(struct wacom_wac *wacom_wac,
drivers/hid/wacom.h
188
struct wacom *wacom = container_of(wacom_wac, struct wacom, wacom_wac);
drivers/hid/wacom.h
231
void wacom_wac_irq(struct wacom_wac *wacom_wac, size_t len);
drivers/hid/wacom.h
234
struct wacom_wac *wacom_wac);
drivers/hid/wacom.h
236
struct wacom_wac *wacom_wac);
drivers/hid/wacom.h
238
struct wacom_wac *wacom_wac);
drivers/hid/wacom_sys.c
105
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_sys.c
106
struct wacom_features *features = &wacom_wac->features;
drivers/hid/wacom_sys.c
111
if (wacom_wac->serial[0] || !(features->quirks & WACOM_QUIRK_TOOLSERIAL))
drivers/hid/wacom_sys.c
1307
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_sys.c
1308
int fifo_size = min(PAGE_SIZE, 10 * wacom_wac->features.pktlen);
drivers/hid/wacom_sys.c
1326
wacom_wac->pen_fifo = pen_fifo;
drivers/hid/wacom_sys.c
142
wacom_wac->serial[0] = value;
drivers/hid/wacom_sys.c
146
wacom_wac->serial[0] |= ((__u64)value) << 32;
drivers/hid/wacom_sys.c
150
wacom_wac->id[0] = value;
drivers/hid/wacom_sys.c
1587
if (!wacom->wacom_wac.pad_input)
drivers/hid/wacom_sys.c
1590
dev = &wacom->wacom_wac.pad_input->dev;
drivers/hid/wacom_sys.c
161
wacom_wac_queue_flush(hdev, wacom_wac->pen_fifo);
drivers/hid/wacom_sys.c
1611
if (!(wacom->wacom_wac.features.device_type & WACOM_DEVICETYPE_PAD))
drivers/hid/wacom_sys.c
1615
switch (wacom->wacom_wac.features.type) {
drivers/hid/wacom_sys.c
163
wacom_wac_queue_insert(hdev, wacom_wac->pen_fifo,
drivers/hid/wacom_sys.c
174
if (wacom->wacom_wac.features.type == BOOTLOADER)
drivers/hid/wacom_sys.c
1756
val->strval = battery->wacom->wacom_wac.name;
drivers/hid/wacom_sys.c
180
wacom->wacom_wac.data = raw_data;
drivers/hid/wacom_sys.c
182
wacom_wac_irq(&wacom->wacom_wac, size);
drivers/hid/wacom_sys.c
1834
if (wacom->wacom_wac.features.quirks & WACOM_QUIRK_BATTERY)
drivers/hid/wacom_sys.c
1863
return sysfs_emit(buf, "%i\n", wacom->wacom_wac.bt_high_speed);
drivers/hid/wacom_sys.c
1880
wacom_bt_query_tablet_data(hdev, new_speed, &wacom->wacom_wac.features);
drivers/hid/wacom_sys.c
2027
if (wacom->wacom_wac.features.type != REMOTE)
drivers/hid/wacom_sys.c
2087
struct wacom_wac *wacom_wac = &(wacom->wacom_wac);
drivers/hid/wacom_sys.c
2093
input_dev->name = wacom_wac->features.name;
drivers/hid/wacom_sys.c
2101
input_dev->id.product = wacom_wac->pid ? wacom_wac->pid : hdev->product;
drivers/hid/wacom_sys.c
2110
struct wacom_wac *wacom_wac = &(wacom->wacom_wac);
drivers/hid/wacom_sys.c
2112
wacom_wac->pen_input = wacom_allocate_input(wacom);
drivers/hid/wacom_sys.c
2113
wacom_wac->touch_input = wacom_allocate_input(wacom);
drivers/hid/wacom_sys.c
2114
wacom_wac->pad_input = wacom_allocate_input(wacom);
drivers/hid/wacom_sys.c
2115
if (!wacom_wac->pen_input ||
drivers/hid/wacom_sys.c
2116
!wacom_wac->touch_input ||
drivers/hid/wacom_sys.c
2117
!wacom_wac->pad_input)
drivers/hid/wacom_sys.c
2120
wacom_wac->pen_input->name = wacom_wac->pen_name;
drivers/hid/wacom_sys.c
2121
wacom_wac->touch_input->name = wacom_wac->touch_name;
drivers/hid/wacom_sys.c
2122
wacom_wac->pad_input->name = wacom_wac->pad_name;
drivers/hid/wacom_sys.c
2130
struct wacom_wac *wacom_wac = &(wacom->wacom_wac);
drivers/hid/wacom_sys.c
2133
pen_input_dev = wacom_wac->pen_input;
drivers/hid/wacom_sys.c
2134
touch_input_dev = wacom_wac->touch_input;
drivers/hid/wacom_sys.c
2135
pad_input_dev = wacom_wac->pad_input;
drivers/hid/wacom_sys.c
2140
error = wacom_setup_pen_input_capabilities(pen_input_dev, wacom_wac);
drivers/hid/wacom_sys.c
2144
wacom_wac->pen_input = NULL;
drivers/hid/wacom_sys.c
2148
error = wacom_setup_touch_input_capabilities(touch_input_dev, wacom_wac);
drivers/hid/wacom_sys.c
2152
wacom_wac->touch_input = NULL;
drivers/hid/wacom_sys.c
2156
error = wacom_setup_pad_input_capabilities(pad_input_dev, wacom_wac);
drivers/hid/wacom_sys.c
2160
wacom_wac->pad_input = NULL;
drivers/hid/wacom_sys.c
2170
struct wacom_wac *wacom_wac = &(wacom->wacom_wac);
drivers/hid/wacom_sys.c
2173
pen_input_dev = wacom_wac->pen_input;
drivers/hid/wacom_sys.c
2174
touch_input_dev = wacom_wac->touch_input;
drivers/hid/wacom_sys.c
2175
pad_input_dev = wacom_wac->pad_input;
drivers/hid/wacom_sys.c
2198
wacom_wac->pad_input = NULL;
drivers/hid/wacom_sys.c
2199
wacom_wac->touch_input = NULL;
drivers/hid/wacom_sys.c
2200
wacom_wac->pen_input = NULL;
drivers/hid/wacom_sys.c
2241
if ((wacom->wacom_wac.features.quirks & WACOM_QUIRK_BATTERY) &&
drivers/hid/wacom_sys.c
2245
else if (!(wacom->wacom_wac.features.quirks & WACOM_QUIRK_BATTERY) &&
drivers/hid/wacom_sys.c
226
struct wacom_features *features = &wacom->wacom_wac.features;
drivers/hid/wacom_sys.c
2270
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_sys.c
2271
struct wacom_features *features = &wacom_wac->features;
drivers/hid/wacom_sys.c
2316
snprintf(wacom_wac->name, sizeof(wacom_wac->name), "%s%s",
drivers/hid/wacom_sys.c
2320
snprintf(wacom_wac->pen_name, sizeof(wacom_wac->pen_name),
drivers/hid/wacom_sys.c
2322
snprintf(wacom_wac->touch_name, sizeof(wacom_wac->touch_name),
drivers/hid/wacom_sys.c
2324
snprintf(wacom_wac->pad_name, sizeof(wacom_wac->pad_name),
drivers/hid/wacom_sys.c
2339
wacom->wacom_wac.pen_input = NULL;
drivers/hid/wacom_sys.c
2340
wacom->wacom_wac.touch_input = NULL;
drivers/hid/wacom_sys.c
2341
wacom->wacom_wac.pad_input = NULL;
drivers/hid/wacom_sys.c
2344
static void wacom_set_shared_values(struct wacom_wac *wacom_wac)
drivers/hid/wacom_sys.c
2346
if (wacom_wac->features.device_type & WACOM_DEVICETYPE_TOUCH) {
drivers/hid/wacom_sys.c
2347
wacom_wac->shared->type = wacom_wac->features.type;
drivers/hid/wacom_sys.c
2348
wacom_wac->shared->touch_input = wacom_wac->touch_input;
drivers/hid/wacom_sys.c
2351
if (wacom_wac->has_mute_touch_switch) {
drivers/hid/wacom_sys.c
2352
wacom_wac->shared->has_mute_touch_switch = true;
drivers/hid/wacom_sys.c
2358
if (wacom_wac->is_soft_touch_switch)
drivers/hid/wacom_sys.c
2359
wacom_wac->shared->is_touch_on = true;
drivers/hid/wacom_sys.c
236
wacom->wacom_wac.mode_report = field->report->id;
drivers/hid/wacom_sys.c
2362
if (wacom_wac->shared->has_mute_touch_switch &&
drivers/hid/wacom_sys.c
2363
wacom_wac->shared->touch_input) {
drivers/hid/wacom_sys.c
2364
set_bit(EV_SW, wacom_wac->shared->touch_input->evbit);
drivers/hid/wacom_sys.c
2365
input_set_capability(wacom_wac->shared->touch_input, EV_SW,
drivers/hid/wacom_sys.c
237
wacom->wacom_wac.mode_value = 2;
drivers/hid/wacom_sys.c
2372
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_sys.c
2373
struct wacom_features *features = &wacom_wac->features;
drivers/hid/wacom_sys.c
2465
if (wacom->wacom_wac.features.device_type & WACOM_DEVICETYPE_PAD) {
drivers/hid/wacom_sys.c
2497
wacom_set_shared_values(wacom_wac);
drivers/hid/wacom_sys.c
2513
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_sys.c
2516
struct wacom_wac *wacom_wac1, *wacom_wac2;
drivers/hid/wacom_sys.c
2532
wacom_wac1 = &(wacom1->wacom_wac);
drivers/hid/wacom_sys.c
2538
wacom_wac2 = &(wacom2->wacom_wac);
drivers/hid/wacom_sys.c
2541
if (wacom_wac->pid == 0) {
drivers/hid/wacom_sys.c
2547
wacom_wac->pid);
drivers/hid/wacom_sys.c
2551
id->product == wacom_wac->pid)
drivers/hid/wacom_sys.c
2565
wacom_wac1->pid = wacom_wac->pid;
drivers/hid/wacom_sys.c
2577
wacom_wac2->pid = wacom_wac->pid;
drivers/hid/wacom_sys.c
2584
if (strscpy(wacom_wac->name, wacom_wac1->name,
drivers/hid/wacom_sys.c
2585
sizeof(wacom_wac->name)) < 0) {
drivers/hid/wacom_sys.c
2670
remote->remotes[index].input->name = wacom->wacom_wac.pad_name;
drivers/hid/wacom_sys.c
2678
&wacom->wacom_wac);
drivers/hid/wacom_sys.c
2754
wacom_schedule_work(&wacom->wacom_wac, WACOM_WORKER_REMOTE);
drivers/hid/wacom_sys.c
2785
struct wacom_shared *shared = wacom->wacom_wac.shared;
drivers/hid/wacom_sys.c
2788
bool is_direct = wacom->wacom_wac.is_direct_mode;
drivers/hid/wacom_sys.c
2795
wacom1->wacom_wac.has_mode_change = true;
drivers/hid/wacom_sys.c
2796
wacom1->wacom_wac.is_direct_mode = is_direct;
drivers/hid/wacom_sys.c
2803
wacom2->wacom_wac.has_mode_change = true;
drivers/hid/wacom_sys.c
2804
wacom2->wacom_wac.is_direct_mode = is_direct;
drivers/hid/wacom_sys.c
2826
struct wacom_wac *wacom_wac;
drivers/hid/wacom_sys.c
2845
wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_sys.c
2846
wacom_wac->features = *((struct wacom_features *)id->driver_data);
drivers/hid/wacom_sys.c
2847
features = &wacom_wac->features;
drivers/hid/wacom_sys.c
2852
wacom_wac->hid_data.inputmode = -1;
drivers/hid/wacom_sys.c
2853
wacom_wac->hid_data.inputmode_field_index = -1;
drivers/hid/wacom_sys.c
2854
wacom_wac->mode_report = -1;
drivers/hid/wacom_sys.c
2897
wacom_wac->probe_complete = true;
drivers/hid/wacom_sys.c
2904
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_sys.c
2905
struct wacom_features *features = &wacom_wac->features;
drivers/hid/wacom_sys.c
2925
if (wacom->wacom_wac.features.type != REMOTE)
drivers/hid/wacom_sys.c
309
struct wacom_features *features = &wacom->wacom_wac.features;
drivers/hid/wacom_sys.c
310
struct hid_data *hid_data = &wacom->wacom_wac.hid_data;
drivers/hid/wacom_sys.c
364
wacom->wacom_wac.mode_report = field->report->id;
drivers/hid/wacom_sys.c
365
wacom->wacom_wac.mode_value = 0;
drivers/hid/wacom_sys.c
370
wacom->wacom_wac.mode_report = field->report->id;
drivers/hid/wacom_sys.c
371
wacom->wacom_wac.mode_value = 2;
drivers/hid/wacom_sys.c
379
wacom->wacom_wac.mode_report = field->report->id;
drivers/hid/wacom_sys.c
380
wacom->wacom_wac.mode_value = 0;
drivers/hid/wacom_sys.c
443
struct wacom_features *features = &wacom->wacom_wac.features;
drivers/hid/wacom_sys.c
499
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_sys.c
503
if (wacom_wac->has_mode_change) {
drivers/hid/wacom_sys.c
504
if (wacom_wac->is_direct_mode)
drivers/hid/wacom_sys.c
512
input_mt_init_slots(wacom_wac->touch_input,
drivers/hid/wacom_sys.c
513
wacom_wac->features.touch_max,
drivers/hid/wacom_sys.c
516
input_mt_init_slots(wacom_wac->touch_input,
drivers/hid/wacom_sys.c
517
wacom_wac->features.touch_max,
drivers/hid/wacom_sys.c
564
struct hid_data *hid_data = &wacom->wacom_wac.hid_data;
drivers/hid/wacom_sys.c
586
struct wacom_wac *wacom_wac)
drivers/hid/wacom_sys.c
594
if (wacom_wac->mode_report < 0)
drivers/hid/wacom_sys.c
598
r = re->report_id_hash[wacom_wac->mode_report];
drivers/hid/wacom_sys.c
609
rep_data[0] = wacom_wac->mode_report;
drivers/hid/wacom_sys.c
610
rep_data[1] = wacom_wac->mode_value;
drivers/hid/wacom_sys.c
618
rep_data[1] != wacom_wac->mode_report &&
drivers/hid/wacom_sys.c
648
wacom->wacom_wac.bt_high_speed = speed;
drivers/hid/wacom_sys.c
662
wacom->wacom_wac.bt_features &= ~0x20;
drivers/hid/wacom_sys.c
664
wacom->wacom_wac.bt_features |= 0x20;
drivers/hid/wacom_sys.c
667
rep_data[1] = wacom->wacom_wac.bt_features;
drivers/hid/wacom_sys.c
672
wacom->wacom_wac.bt_high_speed = speed;
drivers/hid/wacom_sys.c
689
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_sys.c
690
struct wacom_features *features = &wacom_wac->features;
drivers/hid/wacom_sys.c
699
wacom_wac->mode_report = 3;
drivers/hid/wacom_sys.c
700
wacom_wac->mode_value = 4;
drivers/hid/wacom_sys.c
702
wacom_wac->mode_report = 18;
drivers/hid/wacom_sys.c
703
wacom_wac->mode_value = 2;
drivers/hid/wacom_sys.c
705
wacom_wac->mode_report = 131;
drivers/hid/wacom_sys.c
706
wacom_wac->mode_value = 2;
drivers/hid/wacom_sys.c
708
wacom_wac->mode_report = 2;
drivers/hid/wacom_sys.c
709
wacom_wac->mode_value = 2;
drivers/hid/wacom_sys.c
713
wacom_wac->mode_report = 2;
drivers/hid/wacom_sys.c
714
wacom_wac->mode_value = 2;
drivers/hid/wacom_sys.c
719
wacom_set_device_mode(hdev, wacom_wac);
drivers/hid/wacom_sys.c
771
struct wacom_features *features = &wacom->wacom_wac.features;
drivers/hid/wacom_sys.c
773
struct wacom_features *sibling_features = &sibling_wacom->wacom_wac.features;
drivers/hid/wacom_sys.c
872
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_sys.c
874
if (wacom_wac->shared) {
drivers/hid/wacom_sys.c
875
data = container_of(wacom_wac->shared, struct wacom_hdev_data,
drivers/hid/wacom_sys.c
878
if (wacom_wac->shared->touch == wacom->hdev)
drivers/hid/wacom_sys.c
879
wacom_wac->shared->touch = NULL;
drivers/hid/wacom_sys.c
880
else if (wacom_wac->shared->pen == wacom->hdev)
drivers/hid/wacom_sys.c
881
wacom_wac->shared->pen = NULL;
drivers/hid/wacom_sys.c
884
wacom_wac->shared = NULL;
drivers/hid/wacom_sys.c
891
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_sys.c
912
wacom_wac->shared = &data->shared;
drivers/hid/wacom_sys.c
918
if (wacom_wac->features.device_type & WACOM_DEVICETYPE_TOUCH)
drivers/hid/wacom_sys.c
919
wacom_wac->shared->touch = hdev;
drivers/hid/wacom_sys.c
920
else if (wacom_wac->features.device_type & WACOM_DEVICETYPE_PEN)
drivers/hid/wacom_sys.c
921
wacom_wac->shared->pen = hdev;
drivers/hid/wacom_sys.c
936
if (wacom->wacom_wac.features.type == REMOTE)
drivers/hid/wacom_sys.c
939
if (wacom->wacom_wac.pid) { /* wireless connected */
drivers/hid/wacom_sys.c
943
else if (wacom->wacom_wac.features.type == INTUOSP2_BT) {
drivers/hid/wacom_sys.c
951
if (wacom->wacom_wac.features.type == HID_GENERIC) {
drivers/hid/wacom_sys.c
956
} else if ((wacom->wacom_wac.features.type >= INTUOS5S &&
drivers/hid/wacom_sys.c
957
wacom->wacom_wac.features.type <= INTUOSPL)) {
drivers/hid/wacom_sys.c
969
if (wacom->wacom_wac.pid) {
drivers/hid/wacom_sys.c
977
else if (wacom->wacom_wac.features.type == INTUOSP2_BT) {
drivers/hid/wacom_sys.c
990
if (wacom->wacom_wac.features.type == WACOM_21UX2 ||
drivers/hid/wacom_sys.c
991
wacom->wacom_wac.features.type == WACOM_24HD)
drivers/hid/wacom_wac.c
1022
static int wacom_intuos_irq(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
1059
static int wacom_remote_irq(struct wacom_wac *wacom_wac, size_t len)
drivers/hid/wacom_wac.c
1061
unsigned char *data = wacom_wac->data;
drivers/hid/wacom_wac.c
1063
struct wacom *wacom = container_of(wacom_wac, struct wacom, wacom_wac);
drivers/hid/wacom_wac.c
1077
wacom_wac->id[0] = PAD_DEVICE_ID;
drivers/hid/wacom_wac.c
111
static void wacom_notify_battery(struct wacom_wac *wacom_wac,
drivers/hid/wacom_wac.c
1149
static void wacom_remote_status_irq(struct wacom_wac *wacom_wac, size_t len)
drivers/hid/wacom_wac.c
115
struct wacom *wacom = container_of(wacom_wac, struct wacom, wacom_wac);
drivers/hid/wacom_wac.c
1151
struct wacom *wacom = container_of(wacom_wac, struct wacom, wacom_wac);
drivers/hid/wacom_wac.c
1152
unsigned char *data = wacom_wac->data;
drivers/hid/wacom_wac.c
117
bool has_quirk = wacom_wac->features.quirks & WACOM_QUIRK_BATTERY;
drivers/hid/wacom_wac.c
1181
wacom_schedule_work(wacom_wac, WACOM_WORKER_REMOTE);
drivers/hid/wacom_wac.c
1192
static void wacom_intuos_bt_process_data(struct wacom_wac *wacom,
drivers/hid/wacom_wac.c
120
wacom_schedule_work(wacom_wac, WACOM_WORKER_BATTERY);
drivers/hid/wacom_wac.c
1203
static int wacom_intuos_bt_irq(struct wacom_wac *wacom, size_t len)
drivers/hid/wacom_wac.c
1249
static int wacom_wac_finger_count_touches(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
126
static int wacom_penpartner_irq(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
1273
static void wacom_intuos_pro2_bt_pen(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
1406
static void wacom_intuos_pro2_bt_touch(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
1473
static void wacom_intuos_pro2_bt_pad(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
1503
static void wacom_intuos_pro2_bt_battery(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
1514
static void wacom_intuos_gen3_bt_pad(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
1530
static void wacom_intuos_gen3_bt_battery(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
1541
static int wacom_intuos_pro2_bt_irq(struct wacom_wac *wacom, size_t len)
drivers/hid/wacom_wac.c
1564
static int wacom_24hdt_irq(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
1635
static int wacom_mt_touch(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
1686
static int wacom_tpc_mt_touch(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
170
static int wacom_pl_irq(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
1714
static int wacom_tpc_single_touch(struct wacom_wac *wacom, size_t len)
drivers/hid/wacom_wac.c
1750
static int wacom_tpc_pen(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
1780
static int wacom_tpc_irq(struct wacom_wac *wacom, size_t len)
drivers/hid/wacom_wac.c
1886
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_wac.c
1887
struct wacom_features *features = &wacom_wac->features;
drivers/hid/wacom_wac.c
1944
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_wac.c
1950
wacom_wac->hid_data.bat_status = POWER_SUPPLY_STATUS_UNKNOWN;
drivers/hid/wacom_wac.c
1954
wacom_wac->hid_data.battery_capacity = value;
drivers/hid/wacom_wac.c
1955
wacom_wac->hid_data.bat_connected = 1;
drivers/hid/wacom_wac.c
1956
wacom_wac->hid_data.bat_status = WACOM_POWER_SUPPLY_STATUS_AUTO;
drivers/hid/wacom_wac.c
1958
wacom_wac->features.quirks |= WACOM_QUIRK_BATTERY;
drivers/hid/wacom_wac.c
1962
wacom_wac->hid_data.battery_capacity = value;
drivers/hid/wacom_wac.c
1963
wacom_wac->hid_data.bat_connected = 1;
drivers/hid/wacom_wac.c
1964
wacom_wac->hid_data.bat_status = WACOM_POWER_SUPPLY_STATUS_AUTO;
drivers/hid/wacom_wac.c
1965
wacom_wac->features.quirks |= WACOM_QUIRK_BATTERY;
drivers/hid/wacom_wac.c
1968
wacom_wac->hid_data.bat_charging = value;
drivers/hid/wacom_wac.c
1969
wacom_wac->hid_data.ps_connected = value;
drivers/hid/wacom_wac.c
1970
wacom_wac->hid_data.bat_connected = 1;
drivers/hid/wacom_wac.c
1971
wacom_wac->hid_data.bat_status = WACOM_POWER_SUPPLY_STATUS_AUTO;
drivers/hid/wacom_wac.c
1972
wacom_wac->features.quirks |= WACOM_QUIRK_BATTERY;
drivers/hid/wacom_wac.c
1987
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_wac.c
1989
int status = wacom_wac->hid_data.bat_status;
drivers/hid/wacom_wac.c
1990
int capacity = wacom_wac->hid_data.battery_capacity;
drivers/hid/wacom_wac.c
1991
bool charging = wacom_wac->hid_data.bat_charging;
drivers/hid/wacom_wac.c
1992
bool connected = wacom_wac->hid_data.bat_connected;
drivers/hid/wacom_wac.c
1993
bool powered = wacom_wac->hid_data.ps_connected;
drivers/hid/wacom_wac.c
1995
wacom_notify_battery(wacom_wac, status, capacity, charging,
drivers/hid/wacom_wac.c
2003
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_wac.c
2004
struct wacom_features *features = &wacom_wac->features;
drivers/hid/wacom_wac.c
2005
struct input_dev *input = wacom_wac->pad_input;
drivers/hid/wacom_wac.c
2038
wacom_wac->is_soft_touch_switch = true;
drivers/hid/wacom_wac.c
2049
wacom_wac->has_mute_touch_switch = true;
drivers/hid/wacom_wac.c
2063
wacom_wac->relring_count++;
drivers/hid/wacom_wac.c
2064
if (wacom_wac->relring_count == 1) {
drivers/hid/wacom_wac.c
2068
else if (wacom_wac->relring_count == 2) {
drivers/hid/wacom_wac.c
2073
wacom_wac->absring_count++;
drivers/hid/wacom_wac.c
2074
if (wacom_wac->absring_count == 1)
drivers/hid/wacom_wac.c
2076
else if (wacom_wac->absring_count == 2)
drivers/hid/wacom_wac.c
2105
if (!wacom_wac->has_mode_change) {
drivers/hid/wacom_wac.c
2106
wacom_wac->has_mode_change = true;
drivers/hid/wacom_wac.c
2107
wacom_wac->is_direct_mode = true;
drivers/hid/wacom_wac.c
2128
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_wac.c
2129
struct input_dev *input = wacom_wac->pad_input;
drivers/hid/wacom_wac.c
2130
struct wacom_features *features = &wacom_wac->features;
drivers/hid/wacom_wac.c
2147
wacom_wac->hid_data.inrange_state |= value;
drivers/hid/wacom_wac.c
2156
if (wacom_wac->shared->touch_input) {
drivers/hid/wacom_wac.c
2157
bool *is_touch_on = &wacom_wac->shared->is_touch_on;
drivers/hid/wacom_wac.c
2164
input_report_switch(wacom_wac->shared->touch_input,
drivers/hid/wacom_wac.c
2166
input_sync(wacom_wac->shared->touch_input);
drivers/hid/wacom_wac.c
2212
ring_value = &wacom_wac->hid_data.ring_value;
drivers/hid/wacom_wac.c
2223
ring_value = &wacom_wac->hid_data.ring2_value;
drivers/hid/wacom_wac.c
2256
if (wacom_wac->is_direct_mode != value) {
drivers/hid/wacom_wac.c
2257
wacom_wac->is_direct_mode = value;
drivers/hid/wacom_wac.c
2258
wacom_schedule_work(&wacom->wacom_wac, WACOM_WORKER_MODE_CHANGE);
drivers/hid/wacom_wac.c
2275
wacom_wac->hid_data.pad_input_event_flag = true;
drivers/hid/wacom_wac.c
2283
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_wac.c
2285
wacom_wac->hid_data.inrange_state = 0;
drivers/hid/wacom_wac.c
2292
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_wac.c
2293
struct input_dev *input = wacom_wac->pad_input;
drivers/hid/wacom_wac.c
2294
bool active = wacom_wac->hid_data.inrange_state != 0;
drivers/hid/wacom_wac.c
2297
if (wacom_wac->hid_data.pad_input_event_flag) {
drivers/hid/wacom_wac.c
2301
wacom_wac->hid_data.pad_input_event_flag = false;
drivers/hid/wacom_wac.c
2305
static void wacom_set_barrel_switch3_usage(struct wacom_wac *wacom_wac)
drivers/hid/wacom_wac.c
2307
struct input_dev *input = wacom_wac->pen_input;
drivers/hid/wacom_wac.c
2308
struct wacom_features *features = &wacom_wac->features;
drivers/hid/wacom_wac.c
231
static int wacom_ptu_irq(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
2311
wacom_wac->hid_data.barrelswitch &&
drivers/hid/wacom_wac.c
2312
wacom_wac->hid_data.barrelswitch2 &&
drivers/hid/wacom_wac.c
2313
wacom_wac->hid_data.serialhi &&
drivers/hid/wacom_wac.c
2314
!wacom_wac->hid_data.barrelswitch3) {
drivers/hid/wacom_wac.c
2324
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_wac.c
2325
struct wacom_features *features = &wacom_wac->features;
drivers/hid/wacom_wac.c
2326
struct input_dev *input = wacom_wac->pen_input;
drivers/hid/wacom_wac.c
2368
wacom_wac->hid_data.barrelswitch = true;
drivers/hid/wacom_wac.c
2369
wacom_set_barrel_switch3_usage(wacom_wac);
drivers/hid/wacom_wac.c
2373
wacom_wac->hid_data.barrelswitch2 = true;
drivers/hid/wacom_wac.c
2374
wacom_set_barrel_switch3_usage(wacom_wac);
drivers/hid/wacom_wac.c
2389
wacom_wac->hid_data.serialhi = true;
drivers/hid/wacom_wac.c
2390
wacom_set_barrel_switch3_usage(wacom_wac);
drivers/hid/wacom_wac.c
2398
wacom_wac->hid_data.barrelswitch3 = true;
drivers/hid/wacom_wac.c
2403
wacom_wac->hid_data.sequence_number = -1;
drivers/hid/wacom_wac.c
2412
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_wac.c
2413
struct wacom_features *features = &wacom_wac->features;
drivers/hid/wacom_wac.c
2414
struct input_dev *input = wacom_wac->pen_input;
drivers/hid/wacom_wac.c
2417
if (wacom_wac->is_invalid_bt_frame)
drivers/hid/wacom_wac.c
2431
wacom_wac->hid_data.inrange_state = value;
drivers/hid/wacom_wac.c
2433
wacom_wac->hid_data.sense_state = value;
drivers/hid/wacom_wac.c
2436
wacom_wac->hid_data.eraser |= value;
drivers/hid/wacom_wac.c
2439
wacom_wac->hid_data.eraser |= value;
drivers/hid/wacom_wac.c
2442
wacom_wac->hid_data.tipswitch |= value;
drivers/hid/wacom_wac.c
2445
wacom_wac->hid_data.barrelswitch = value;
drivers/hid/wacom_wac.c
2448
wacom_wac->hid_data.barrelswitch2 = value;
drivers/hid/wacom_wac.c
2452
wacom_wac->serial[0] = (wacom_wac->serial[0] & ~0xFFFFFFFFULL);
drivers/hid/wacom_wac.c
2453
wacom_wac->serial[0] |= wacom_s32tou(value, field->report_size);
drivers/hid/wacom_wac.c
2458
if (!wacom_is_art_pen(wacom_wac->id[0])) return;
drivers/hid/wacom_wac.c
2468
wacom_wac->hid_data.sense_state = value;
drivers/hid/wacom_wac.c
2474
wacom_wac->serial[0] = (wacom_wac->serial[0] & 0xFFFFFFFF);
drivers/hid/wacom_wac.c
2475
wacom_wac->serial[0] |= ((__u64)raw_value) << 32;
drivers/hid/wacom_wac.c
2482
wacom_wac->id[0] |= raw_value & 0xFFFFF;
drivers/hid/wacom_wac.c
2494
wacom_wac->id[0] |= wacom_s32tou(value, field->report_size);
drivers/hid/wacom_wac.c
2525
wacom_wac->is_invalid_bt_frame = !value;
drivers/hid/wacom_wac.c
2528
wacom_wac->hid_data.barrelswitch3 = value;
drivers/hid/wacom_wac.c
2531
if (wacom_wac->hid_data.sequence_number != value &&
drivers/hid/wacom_wac.c
2532
wacom_wac->hid_data.sequence_number >= 0) {
drivers/hid/wacom_wac.c
2534
int drop_count = (value - wacom_wac->hid_data.sequence_number) % sequence_size;
drivers/hid/wacom_wac.c
2537
wacom_wac->hid_data.sequence_number = value + 1;
drivers/hid/wacom_wac.c
2538
if (wacom_wac->hid_data.sequence_number > field->logical_maximum)
drivers/hid/wacom_wac.c
2539
wacom_wac->hid_data.sequence_number = field->logical_minimum;
drivers/hid/wacom_wac.c
2546
if (!usage->type || delay_pen_events(wacom_wac))
drivers/hid/wacom_wac.c
2550
if (wacom_wac->hid_data.inrange_state)
drivers/hid/wacom_wac.c
2552
else if (wacom_wac->shared->stylus_in_proximity && !wacom_wac->hid_data.sense_state)
drivers/hid/wacom_wac.c
2560
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_wac.c
2562
wacom_wac->is_invalid_bt_frame = false;
drivers/hid/wacom_wac.c
2570
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_wac.c
2571
struct input_dev *input = wacom_wac->pen_input;
drivers/hid/wacom_wac.c
2572
bool range = wacom_wac->hid_data.inrange_state;
drivers/hid/wacom_wac.c
2573
bool sense = wacom_wac->hid_data.sense_state;
drivers/hid/wacom_wac.c
2574
bool entering_range = !wacom_wac->tool[0] && range;
drivers/hid/wacom_wac.c
2576
if (wacom_wac->is_invalid_bt_frame)
drivers/hid/wacom_wac.c
2581
if (wacom_wac->hid_data.eraser)
drivers/hid/wacom_wac.c
2582
wacom_wac->tool[0] = BTN_TOOL_RUBBER;
drivers/hid/wacom_wac.c
2583
else if (wacom_wac->features.quirks & WACOM_QUIRK_AESPEN)
drivers/hid/wacom_wac.c
2584
wacom_wac->tool[0] = BTN_TOOL_PEN;
drivers/hid/wacom_wac.c
2585
else if (wacom_wac->id[0])
drivers/hid/wacom_wac.c
2586
wacom_wac->tool[0] = wacom_intuos_get_tool_type(wacom_wac->id[0]);
drivers/hid/wacom_wac.c
2588
wacom_wac->tool[0] = BTN_TOOL_PEN;
drivers/hid/wacom_wac.c
2592
wacom_wac->shared->stylus_in_proximity = sense;
drivers/hid/wacom_wac.c
2594
if (!delay_pen_events(wacom_wac) && wacom_wac->tool[0]) {
drivers/hid/wacom_wac.c
2595
int id = wacom_wac->id[0];
drivers/hid/wacom_wac.c
2596
if (wacom_wac->features.quirks & WACOM_QUIRK_PEN_BUTTON3) {
drivers/hid/wacom_wac.c
2597
int sw_state = wacom_wac->hid_data.barrelswitch |
drivers/hid/wacom_wac.c
2598
(wacom_wac->hid_data.barrelswitch2 << 1);
drivers/hid/wacom_wac.c
2599
wacom_wac->hid_data.barrelswitch = sw_state == 1;
drivers/hid/wacom_wac.c
260
static int wacom_dtu_irq(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
2600
wacom_wac->hid_data.barrelswitch2 = sw_state == 2;
drivers/hid/wacom_wac.c
2601
wacom_wac->hid_data.barrelswitch3 = sw_state == 3;
drivers/hid/wacom_wac.c
2603
input_report_key(input, BTN_STYLUS, wacom_wac->hid_data.barrelswitch);
drivers/hid/wacom_wac.c
2604
input_report_key(input, BTN_STYLUS2, wacom_wac->hid_data.barrelswitch2);
drivers/hid/wacom_wac.c
2605
input_report_key(input, BTN_STYLUS3, wacom_wac->hid_data.barrelswitch3);
drivers/hid/wacom_wac.c
2611
if (wacom_wac->serial[0] >> 52 == 1)
drivers/hid/wacom_wac.c
2620
wacom_wac->hid_data.tipswitch);
drivers/hid/wacom_wac.c
2621
input_report_key(input, wacom_wac->tool[0], sense);
drivers/hid/wacom_wac.c
2622
if (wacom_wac->serial[0]) {
drivers/hid/wacom_wac.c
2628
__u32 serial_lo = wacom_wac->serial[0] & 0xFFFFFFFFu;
drivers/hid/wacom_wac.c
2629
__u32 serial_hi = wacom_wac->serial[0] >> 32;
drivers/hid/wacom_wac.c
2634
wacom_wac->hid_data.tipswitch = false;
drivers/hid/wacom_wac.c
2635
wacom_wac->hid_data.eraser = false;
drivers/hid/wacom_wac.c
2641
if (wacom_wac->features.quirks & WACOM_QUIRK_AESPEN) {
drivers/hid/wacom_wac.c
2650
wacom_wac->tool[0] = 0;
drivers/hid/wacom_wac.c
2651
wacom_wac->id[0] = 0;
drivers/hid/wacom_wac.c
2652
wacom_wac->serial[0] = 0;
drivers/hid/wacom_wac.c
2660
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_wac.c
2661
struct input_dev *input = wacom_wac->touch_input;
drivers/hid/wacom_wac.c
2662
unsigned touch_max = wacom_wac->features.touch_max;
drivers/hid/wacom_wac.c
2690
wacom_wac->hid_data.cc_report = field->report->id;
drivers/hid/wacom_wac.c
2691
wacom_wac->hid_data.cc_index = field->index;
drivers/hid/wacom_wac.c
2692
wacom_wac->hid_data.cc_value_index = usage->usage_index;
drivers/hid/wacom_wac.c
2710
static void wacom_wac_finger_slot(struct wacom_wac *wacom_wac,
drivers/hid/wacom_wac.c
2713
struct hid_data *hid_data = &wacom_wac->hid_data;
drivers/hid/wacom_wac.c
2714
bool mt = wacom_wac->features.touch_max > 1;
drivers/hid/wacom_wac.c
2716
bool prox = touch_down && report_touch_events(wacom_wac);
drivers/hid/wacom_wac.c
2718
if (touch_is_muted(wacom_wac)) {
drivers/hid/wacom_wac.c
2719
if (!wacom_wac->shared->touch_down)
drivers/hid/wacom_wac.c
2724
wacom_wac->hid_data.num_received++;
drivers/hid/wacom_wac.c
2725
if (wacom_wac->hid_data.num_received > wacom_wac->hid_data.num_expected)
drivers/hid/wacom_wac.c
2770
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_wac.c
2772
struct wacom_features *features = &wacom->wacom_wac.features;
drivers/hid/wacom_wac.c
2774
if (touch_is_muted(wacom_wac) && !wacom_wac->shared->touch_down)
drivers/hid/wacom_wac.c
2777
if (wacom_wac->is_invalid_bt_frame)
drivers/hid/wacom_wac.c
2782
wacom_wac->hid_data.confidence = value;
drivers/hid/wacom_wac.c
2785
wacom_wac->hid_data.x = value;
drivers/hid/wacom_wac.c
2788
wacom_wac->hid_data.y = value;
drivers/hid/wacom_wac.c
2791
wacom_wac->hid_data.width = value;
drivers/hid/wacom_wac.c
2794
wacom_wac->hid_data.height = value;
drivers/hid/wacom_wac.c
2797
wacom_wac->hid_data.id = value;
drivers/hid/wacom_wac.c
2800
wacom_wac->hid_data.tipswitch = value;
drivers/hid/wacom_wac.c
2803
wacom_wac->is_invalid_bt_frame = !value;
drivers/hid/wacom_wac.c
2816
if (equivalent_usage == wacom_wac->hid_data.last_slot_field)
drivers/hid/wacom_wac.c
2817
wacom_wac_finger_slot(wacom_wac, wacom_wac->touch_input);
drivers/hid/wacom_wac.c
2825
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_wac.c
2826
struct hid_data* hid_data = &wacom_wac->hid_data;
drivers/hid/wacom_wac.c
2829
if (touch_is_muted(wacom_wac) && !wacom_wac->shared->touch_down)
drivers/hid/wacom_wac.c
2832
wacom_wac->is_invalid_bt_frame = false;
drivers/hid/wacom_wac.c
2879
hid_data->num_expected = wacom_wac->features.touch_max;
drivers/hid/wacom_wac.c
2888
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_wac.c
2889
struct input_dev *input = wacom_wac->touch_input;
drivers/hid/wacom_wac.c
2890
unsigned touch_max = wacom_wac->features.touch_max;
drivers/hid/wacom_wac.c
2893
if (wacom_wac->hid_data.num_expected == 0)
drivers/hid/wacom_wac.c
290
static int wacom_dtus_irq(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
2900
if (wacom_wac->hid_data.num_received < wacom_wac->hid_data.num_expected)
drivers/hid/wacom_wac.c
2907
wacom_wac->hid_data.num_received = 0;
drivers/hid/wacom_wac.c
2908
wacom_wac->hid_data.num_expected = 0;
drivers/hid/wacom_wac.c
2911
wacom_wac->shared->touch_down = wacom_wac_finger_count_touches(wacom_wac);
drivers/hid/wacom_wac.c
2918
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_wac.c
2919
struct wacom_features *features = &wacom_wac->features;
drivers/hid/wacom_wac.c
2940
if (wacom->wacom_wac.features.type != HID_GENERIC)
drivers/hid/wacom_wac.c
2951
else if (WACOM_PEN_FIELD(field) && wacom->wacom_wac.pen_input)
drivers/hid/wacom_wac.c
2953
else if (WACOM_FINGER_FIELD(field) && wacom->wacom_wac.touch_input)
drivers/hid/wacom_wac.c
3003
else if (WACOM_PEN_FIELD(field) && wacom->wacom_wac.pen_input)
drivers/hid/wacom_wac.c
3005
else if (WACOM_FINGER_FIELD(field) && wacom->wacom_wac.touch_input)
drivers/hid/wacom_wac.c
3014
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_wac.c
3021
if (wacom_wac->features.type != HID_GENERIC)
drivers/hid/wacom_wac.c
3039
if (pad_in_hid_field && wacom_wac->pad_input)
drivers/hid/wacom_wac.c
3041
if (pen_in_hid_field && wacom_wac->pen_input)
drivers/hid/wacom_wac.c
3043
if (finger_in_hid_field && wacom_wac->touch_input)
drivers/hid/wacom_wac.c
3059
if (true_pad && wacom_wac->pad_input)
drivers/hid/wacom_wac.c
3063
static int wacom_bpt_touch(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
3104
static void wacom_bpt3_touch_msg(struct wacom_wac *wacom, unsigned char *data)
drivers/hid/wacom_wac.c
3147
static void wacom_bpt3_button_msg(struct wacom_wac *wacom, unsigned char *data)
drivers/hid/wacom_wac.c
3163
static int wacom_bpt3_touch(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
3194
static int wacom_bpt_pen(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
3269
static int wacom_bpt_irq(struct wacom_wac *wacom, size_t len)
drivers/hid/wacom_wac.c
3286
static void wacom_bamboo_pad_pen_event(struct wacom_wac *wacom,
drivers/hid/wacom_wac.c
3312
static int wacom_bamboo_pad_touch_event(struct wacom_wac *wacom,
drivers/hid/wacom_wac.c
3352
static int wacom_bamboo_pad_irq(struct wacom_wac *wacom, size_t len)
drivers/hid/wacom_wac.c
3370
static int wacom_wireless_irq(struct wacom_wac *wacom, size_t len)
drivers/hid/wacom_wac.c
341
static int wacom_graphire_irq(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
3412
static int wacom_status_irq(struct wacom_wac *wacom_wac, size_t len)
drivers/hid/wacom_wac.c
3414
struct wacom *wacom = container_of(wacom_wac, struct wacom, wacom_wac);
drivers/hid/wacom_wac.c
3415
struct wacom_features *features = &wacom_wac->features;
drivers/hid/wacom_wac.c
3416
unsigned char *data = wacom_wac->data;
drivers/hid/wacom_wac.c
3423
wacom_wac->shared->touch_input &&
drivers/hid/wacom_wac.c
3425
input_report_switch(wacom_wac->shared->touch_input,
drivers/hid/wacom_wac.c
3427
input_sync(wacom_wac->shared->touch_input);
drivers/hid/wacom_wac.c
3435
wacom_notify_battery(wacom_wac, WACOM_POWER_SUPPLY_STATUS_AUTO,
drivers/hid/wacom_wac.c
3441
wacom_notify_battery(wacom_wac, POWER_SUPPLY_STATUS_UNKNOWN, 0, 0, 0, 0);
drivers/hid/wacom_wac.c
3446
void wacom_wac_irq(struct wacom_wac *wacom_wac, size_t len)
drivers/hid/wacom_wac.c
3450
switch (wacom_wac->features.type) {
drivers/hid/wacom_wac.c
3452
sync = wacom_penpartner_irq(wacom_wac);
drivers/hid/wacom_wac.c
3456
sync = wacom_pl_irq(wacom_wac);
drivers/hid/wacom_wac.c
3463
sync = wacom_graphire_irq(wacom_wac);
drivers/hid/wacom_wac.c
3467
sync = wacom_ptu_irq(wacom_wac);
drivers/hid/wacom_wac.c
3471
sync = wacom_dtu_irq(wacom_wac);
drivers/hid/wacom_wac.c
3476
sync = wacom_dtus_irq(wacom_wac);
drivers/hid/wacom_wac.c
3496
sync = wacom_intuos_irq(wacom_wac);
drivers/hid/wacom_wac.c
3500
sync = wacom_intuos_bt_irq(wacom_wac, len);
drivers/hid/wacom_wac.c
3505
sync = wacom_24hdt_irq(wacom_wac);
drivers/hid/wacom_wac.c
3515
sync = wacom_bpt3_touch(wacom_wac);
drivers/hid/wacom_wac.c
3516
else if (wacom_wac->data[0] == WACOM_REPORT_USB)
drivers/hid/wacom_wac.c
3517
sync = wacom_status_irq(wacom_wac, len);
drivers/hid/wacom_wac.c
3519
sync = wacom_intuos_irq(wacom_wac);
drivers/hid/wacom_wac.c
3525
sync = wacom_intuos_pro2_bt_irq(wacom_wac, len);
drivers/hid/wacom_wac.c
3534
sync = wacom_tpc_irq(wacom_wac, len);
drivers/hid/wacom_wac.c
3542
if (wacom_wac->data[0] == WACOM_REPORT_USB)
drivers/hid/wacom_wac.c
3543
sync = wacom_status_irq(wacom_wac, len);
drivers/hid/wacom_wac.c
3545
sync = wacom_bpt_irq(wacom_wac, len);
drivers/hid/wacom_wac.c
3549
sync = wacom_bamboo_pad_irq(wacom_wac, len);
drivers/hid/wacom_wac.c
3553
sync = wacom_wireless_irq(wacom_wac, len);
drivers/hid/wacom_wac.c
3558
if (wacom_wac->data[0] == WACOM_REPORT_DEVICE_LIST)
drivers/hid/wacom_wac.c
3559
wacom_remote_status_irq(wacom_wac, len);
drivers/hid/wacom_wac.c
3561
sync = wacom_remote_irq(wacom_wac, len);
drivers/hid/wacom_wac.c
3570
if (wacom_wac->pen_input)
drivers/hid/wacom_wac.c
3571
input_sync(wacom_wac->pen_input);
drivers/hid/wacom_wac.c
3572
if (wacom_wac->touch_input)
drivers/hid/wacom_wac.c
3573
input_sync(wacom_wac->touch_input);
drivers/hid/wacom_wac.c
3574
if (wacom_wac->pad_input)
drivers/hid/wacom_wac.c
3575
input_sync(wacom_wac->pad_input);
drivers/hid/wacom_wac.c
3579
static void wacom_setup_basic_pro_pen(struct wacom_wac *wacom_wac)
drivers/hid/wacom_wac.c
3581
struct input_dev *input_dev = wacom_wac->pen_input;
drivers/hid/wacom_wac.c
3590
0, wacom_wac->features.distance_max, wacom_wac->features.distance_fuzz, 0);
drivers/hid/wacom_wac.c
3593
static void wacom_setup_cintiq(struct wacom_wac *wacom_wac)
drivers/hid/wacom_wac.c
3595
struct input_dev *input_dev = wacom_wac->pen_input;
drivers/hid/wacom_wac.c
3596
struct wacom_features *features = &wacom_wac->features;
drivers/hid/wacom_wac.c
3598
wacom_setup_basic_pro_pen(wacom_wac);
drivers/hid/wacom_wac.c
3612
static void wacom_setup_intuos(struct wacom_wac *wacom_wac)
drivers/hid/wacom_wac.c
3614
struct input_dev *input_dev = wacom_wac->pen_input;
drivers/hid/wacom_wac.c
3618
wacom_setup_cintiq(wacom_wac);
drivers/hid/wacom_wac.c
3635
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_wac.c
3636
struct wacom_features *features = &wacom->wacom_wac.features;
drivers/hid/wacom_wac.c
3772
__clear_bit(BTN_TOOL_BRUSH, wacom_wac->pen_input->keybit);
drivers/hid/wacom_wac.c
3773
__clear_bit(BTN_TOOL_PENCIL, wacom_wac->pen_input->keybit);
drivers/hid/wacom_wac.c
3774
__clear_bit(BTN_TOOL_AIRBRUSH, wacom_wac->pen_input->keybit);
drivers/hid/wacom_wac.c
3775
__clear_bit(ABS_Z, wacom_wac->pen_input->absbit);
drivers/hid/wacom_wac.c
3776
__clear_bit(ABS_DISTANCE, wacom_wac->pen_input->absbit);
drivers/hid/wacom_wac.c
3777
__clear_bit(ABS_TILT_X, wacom_wac->pen_input->absbit);
drivers/hid/wacom_wac.c
3778
__clear_bit(ABS_TILT_Y, wacom_wac->pen_input->absbit);
drivers/hid/wacom_wac.c
3779
__clear_bit(ABS_WHEEL, wacom_wac->pen_input->absbit);
drivers/hid/wacom_wac.c
3780
__clear_bit(ABS_MISC, wacom_wac->pen_input->absbit);
drivers/hid/wacom_wac.c
3781
__clear_bit(MSC_SERIAL, wacom_wac->pen_input->mscbit);
drivers/hid/wacom_wac.c
3782
__clear_bit(EV_MSC, wacom_wac->pen_input->evbit);
drivers/hid/wacom_wac.c
3787
struct wacom_wac *wacom_wac)
drivers/hid/wacom_wac.c
3789
struct wacom_features *features = &wacom_wac->features;
drivers/hid/wacom_wac.c
3858
wacom_setup_cintiq(wacom_wac);
drivers/hid/wacom_wac.c
3873
wacom_setup_intuos(wacom_wac);
drivers/hid/wacom_wac.c
3891
wacom_setup_intuos(wacom_wac);
drivers/hid/wacom_wac.c
3932
wacom_setup_basic_pro_pen(wacom_wac);
drivers/hid/wacom_wac.c
3952
struct wacom_wac *wacom_wac)
drivers/hid/wacom_wac.c
3954
struct wacom_features *features = &wacom_wac->features;
drivers/hid/wacom_wac.c
3998
if (wacom_wac->shared->touch->product == 0x361) {
drivers/hid/wacom_wac.c
4004
else if (wacom_wac->shared->touch->product == 0x360) {
drivers/hid/wacom_wac.c
4010
else if (wacom_wac->shared->touch->product == 0x393) {
drivers/hid/wacom_wac.c
4040
if (wacom_wac->shared->touch->product == 0x32C ||
drivers/hid/wacom_wac.c
4041
wacom_wac->shared->touch->product == 0xF6) {
drivers/hid/wacom_wac.c
4044
wacom_wac->has_mute_touch_switch = true;
drivers/hid/wacom_wac.c
4045
wacom_wac->is_soft_touch_switch = true;
drivers/hid/wacom_wac.c
41
static void wacom_force_proxout(struct wacom_wac *wacom_wac)
drivers/hid/wacom_wac.c
4154
if (wacom->wacom_wac.features.type == WACOM_21UX2)
drivers/hid/wacom_wac.c
4159
if (wacom->wacom_wac.features.type == INTUOSP2_BT)
drivers/hid/wacom_wac.c
4172
if (wacom->wacom_wac.features.type == WACOM_24HD)
drivers/hid/wacom_wac.c
4225
struct wacom_wac *wacom_wac)
drivers/hid/wacom_wac.c
4227
struct wacom_features *features = &wacom_wac->features;
drivers/hid/wacom_wac.c
4235
if (features->type == REMOTE && input_dev == wacom_wac->pad_input)
drivers/hid/wacom_wac.c
43
struct input_dev *input = wacom_wac->pen_input;
drivers/hid/wacom_wac.c
45
wacom_wac->shared->stylus_in_proximity = 0;
drivers/hid/wacom_wac.c
496
static void wacom_intuos_schedule_prox_event(struct wacom_wac *wacom_wac)
drivers/hid/wacom_wac.c
498
struct wacom *wacom = container_of(wacom_wac, struct wacom, wacom_wac);
drivers/hid/wacom_wac.c
499
struct wacom_features *features = &wacom_wac->features;
drivers/hid/wacom_wac.c
51
input_report_key(input, wacom_wac->tool[0], 0);
drivers/hid/wacom_wac.c
513
static int wacom_intuos_pad(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
52
if (wacom_wac->serial[0]) {
drivers/hid/wacom_wac.c
57
wacom_wac->tool[0] = 0;
drivers/hid/wacom_wac.c
58
wacom_wac->id[0] = 0;
drivers/hid/wacom_wac.c
59
wacom_wac->serial[0] = 0;
drivers/hid/wacom_wac.c
67
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
drivers/hid/wacom_wac.c
69
if (!wacom_wac->hid_data.sense_state) {
drivers/hid/wacom_wac.c
734
static void wacom_exit_report(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
74
wacom_force_proxout(wacom_wac);
drivers/hid/wacom_wac.c
773
static int wacom_intuos_inout(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
832
static inline bool touch_is_muted(struct wacom_wac *wacom_wac)
drivers/hid/wacom_wac.c
834
return wacom_wac->probe_complete &&
drivers/hid/wacom_wac.c
835
wacom_wac->shared->has_mute_touch_switch &&
drivers/hid/wacom_wac.c
836
!wacom_wac->shared->is_touch_on;
drivers/hid/wacom_wac.c
839
static inline bool report_touch_events(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
844
static inline bool delay_pen_events(struct wacom_wac *wacom)
drivers/hid/wacom_wac.c
849
static int wacom_intuos_general(struct wacom_wac *wacom)