Lines Matching refs:wacom_wac
78 static void wacom_notify_battery(struct wacom_wac *wacom_wac, in wacom_notify_battery() argument
82 struct wacom *wacom = container_of(wacom_wac, struct wacom, wacom_wac); in wacom_notify_battery()
88 static int wacom_penpartner_irq(struct wacom_wac *wacom) in wacom_penpartner_irq()
132 static int wacom_pl_irq(struct wacom_wac *wacom) in wacom_pl_irq()
193 static int wacom_ptu_irq(struct wacom_wac *wacom) in wacom_ptu_irq()
222 static int wacom_dtu_irq(struct wacom_wac *wacom) in wacom_dtu_irq()
252 static int wacom_dtus_irq(struct wacom_wac *wacom) in wacom_dtus_irq()
303 static int wacom_graphire_irq(struct wacom_wac *wacom) in wacom_graphire_irq()
458 static void wacom_intuos_schedule_prox_event(struct wacom_wac *wacom_wac) in wacom_intuos_schedule_prox_event() argument
460 struct wacom *wacom = container_of(wacom_wac, struct wacom, wacom_wac); in wacom_intuos_schedule_prox_event()
461 struct wacom_features *features = &wacom_wac->features; in wacom_intuos_schedule_prox_event()
475 static int wacom_intuos_pad(struct wacom_wac *wacom) in wacom_intuos_pad()
739 static void wacom_exit_report(struct wacom_wac *wacom) in wacom_exit_report()
778 static int wacom_intuos_inout(struct wacom_wac *wacom) in wacom_intuos_inout()
837 static inline bool report_touch_events(struct wacom_wac *wacom) in report_touch_events()
842 static inline bool delay_pen_events(struct wacom_wac *wacom) in delay_pen_events()
847 static int wacom_intuos_general(struct wacom_wac *wacom) in wacom_intuos_general()
1020 static int wacom_intuos_irq(struct wacom_wac *wacom) in wacom_intuos_irq()
1057 static int wacom_remote_irq(struct wacom_wac *wacom_wac, size_t len) in wacom_remote_irq() argument
1059 unsigned char *data = wacom_wac->data; in wacom_remote_irq()
1061 struct wacom *wacom = container_of(wacom_wac, struct wacom, wacom_wac); in wacom_remote_irq()
1075 wacom_wac->id[0] = PAD_DEVICE_ID; in wacom_remote_irq()
1146 static void wacom_remote_status_irq(struct wacom_wac *wacom_wac, size_t len) in wacom_remote_status_irq() argument
1148 struct wacom *wacom = container_of(wacom_wac, struct wacom, wacom_wac); in wacom_remote_status_irq()
1149 unsigned char *data = wacom_wac->data; in wacom_remote_status_irq()
1180 wacom_schedule_work(wacom_wac, WACOM_WORKER_REMOTE); in wacom_remote_status_irq()
1191 static void wacom_intuos_bt_process_data(struct wacom_wac *wacom, in wacom_intuos_bt_process_data()
1202 static int wacom_intuos_bt_irq(struct wacom_wac *wacom, size_t len) in wacom_intuos_bt_irq()
1238 static int wacom_wac_finger_count_touches(struct wacom_wac *wacom) in wacom_wac_finger_count_touches()
1262 static void wacom_intuos_pro2_bt_pen(struct wacom_wac *wacom) in wacom_intuos_pro2_bt_pen()
1369 static void wacom_intuos_pro2_bt_touch(struct wacom_wac *wacom) in wacom_intuos_pro2_bt_touch()
1436 static void wacom_intuos_pro2_bt_pad(struct wacom_wac *wacom) in wacom_intuos_pro2_bt_pad()
1466 static void wacom_intuos_pro2_bt_battery(struct wacom_wac *wacom) in wacom_intuos_pro2_bt_battery()
1477 static void wacom_intuos_gen3_bt_pad(struct wacom_wac *wacom) in wacom_intuos_gen3_bt_pad()
1493 static void wacom_intuos_gen3_bt_battery(struct wacom_wac *wacom) in wacom_intuos_gen3_bt_battery()
1504 static int wacom_intuos_pro2_bt_irq(struct wacom_wac *wacom, size_t len) in wacom_intuos_pro2_bt_irq()
1527 static int wacom_24hdt_irq(struct wacom_wac *wacom) in wacom_24hdt_irq()
1601 static int wacom_mt_touch(struct wacom_wac *wacom) in wacom_mt_touch()
1652 static int wacom_tpc_mt_touch(struct wacom_wac *wacom) in wacom_tpc_mt_touch()
1680 static int wacom_tpc_single_touch(struct wacom_wac *wacom, size_t len) in wacom_tpc_single_touch()
1716 static int wacom_tpc_pen(struct wacom_wac *wacom) in wacom_tpc_pen()
1746 static int wacom_tpc_irq(struct wacom_wac *wacom, size_t len) in wacom_tpc_irq()
1850 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_map_usage() local
1851 struct wacom_features *features = &wacom_wac->features; in wacom_map_usage()
1897 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_wac_battery_usage_mapping() local
1898 struct wacom_features *features = &wacom_wac->features; in wacom_wac_battery_usage_mapping()
1914 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_wac_battery_event() local
1920 wacom_wac->hid_data.bat_status = POWER_SUPPLY_STATUS_UNKNOWN; in wacom_wac_battery_event()
1924 wacom_wac->hid_data.battery_capacity = value; in wacom_wac_battery_event()
1925 wacom_wac->hid_data.bat_connected = 1; in wacom_wac_battery_event()
1926 wacom_wac->hid_data.bat_status = WACOM_POWER_SUPPLY_STATUS_AUTO; in wacom_wac_battery_event()
1931 wacom_wac->hid_data.battery_capacity = value; in wacom_wac_battery_event()
1932 wacom_wac->hid_data.bat_connected = 1; in wacom_wac_battery_event()
1933 wacom_wac->hid_data.bat_status = WACOM_POWER_SUPPLY_STATUS_AUTO; in wacom_wac_battery_event()
1936 wacom_wac->hid_data.bat_charging = value; in wacom_wac_battery_event()
1937 wacom_wac->hid_data.ps_connected = value; in wacom_wac_battery_event()
1938 wacom_wac->hid_data.bat_connected = 1; in wacom_wac_battery_event()
1939 wacom_wac->hid_data.bat_status = WACOM_POWER_SUPPLY_STATUS_AUTO; in wacom_wac_battery_event()
1954 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_wac_battery_report() local
1955 struct wacom_features *features = &wacom_wac->features; in wacom_wac_battery_report()
1958 int status = wacom_wac->hid_data.bat_status; in wacom_wac_battery_report()
1959 int capacity = wacom_wac->hid_data.battery_capacity; in wacom_wac_battery_report()
1960 bool charging = wacom_wac->hid_data.bat_charging; in wacom_wac_battery_report()
1961 bool connected = wacom_wac->hid_data.bat_connected; in wacom_wac_battery_report()
1962 bool powered = wacom_wac->hid_data.ps_connected; in wacom_wac_battery_report()
1964 wacom_notify_battery(wacom_wac, status, capacity, charging, in wacom_wac_battery_report()
1973 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_wac_pad_usage_mapping() local
1974 struct wacom_features *features = &wacom_wac->features; in wacom_wac_pad_usage_mapping()
1975 struct input_dev *input = wacom_wac->pad_input; in wacom_wac_pad_usage_mapping()
2016 wacom_wac->has_mute_touch_switch = true; in wacom_wac_pad_usage_mapping()
2056 if (!wacom_wac->has_mode_change) { in wacom_wac_pad_usage_mapping()
2057 wacom_wac->has_mode_change = true; in wacom_wac_pad_usage_mapping()
2058 wacom_wac->is_direct_mode = true; in wacom_wac_pad_usage_mapping()
2079 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_wac_pad_event() local
2080 struct input_dev *input = wacom_wac->pad_input; in wacom_wac_pad_event()
2081 struct wacom_features *features = &wacom_wac->features; in wacom_wac_pad_event()
2095 wacom_wac->hid_data.inrange_state |= value; in wacom_wac_pad_event()
2104 if (wacom_wac->shared->touch_input) { in wacom_wac_pad_event()
2105 bool *is_touch_on = &wacom_wac->shared->is_touch_on; in wacom_wac_pad_event()
2112 input_report_switch(wacom_wac->shared->touch_input, in wacom_wac_pad_event()
2114 input_sync(wacom_wac->shared->touch_input); in wacom_wac_pad_event()
2158 if (wacom_wac->is_direct_mode != value) { in wacom_wac_pad_event()
2159 wacom_wac->is_direct_mode = value; in wacom_wac_pad_event()
2160 wacom_schedule_work(&wacom->wacom_wac, WACOM_WORKER_MODE_CHANGE); in wacom_wac_pad_event()
2177 wacom_wac->hid_data.pad_input_event_flag = true; in wacom_wac_pad_event()
2185 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_wac_pad_pre_report() local
2187 wacom_wac->hid_data.inrange_state = 0; in wacom_wac_pad_pre_report()
2194 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_wac_pad_report() local
2195 struct input_dev *input = wacom_wac->pad_input; in wacom_wac_pad_report()
2196 bool active = wacom_wac->hid_data.inrange_state != 0; in wacom_wac_pad_report()
2199 if (wacom_wac->hid_data.pad_input_event_flag) { in wacom_wac_pad_report()
2203 wacom_wac->hid_data.pad_input_event_flag = false; in wacom_wac_pad_report()
2211 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_wac_pen_usage_mapping() local
2212 struct wacom_features *features = &wacom_wac->features; in wacom_wac_pen_usage_mapping()
2213 struct input_dev *input = wacom_wac->pen_input; in wacom_wac_pen_usage_mapping()
2290 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_wac_pen_event() local
2291 struct wacom_features *features = &wacom_wac->features; in wacom_wac_pen_event()
2292 struct input_dev *input = wacom_wac->pen_input; in wacom_wac_pen_event()
2295 if (wacom_wac->is_invalid_bt_frame) in wacom_wac_pen_event()
2308 wacom_wac->hid_data.inrange_state = value; in wacom_wac_pen_event()
2310 wacom_wac->hid_data.sense_state = value; in wacom_wac_pen_event()
2313 wacom_wac->hid_data.invert_state = value; in wacom_wac_pen_event()
2317 wacom_wac->hid_data.tipswitch |= value; in wacom_wac_pen_event()
2320 wacom_wac->hid_data.barrelswitch = value; in wacom_wac_pen_event()
2323 wacom_wac->hid_data.barrelswitch2 = value; in wacom_wac_pen_event()
2327 wacom_wac->serial[0] = (wacom_wac->serial[0] & ~0xFFFFFFFFULL); in wacom_wac_pen_event()
2328 wacom_wac->serial[0] |= wacom_s32tou(value, field->report_size); in wacom_wac_pen_event()
2333 if (!wacom_is_art_pen(wacom_wac->id[0])) return; in wacom_wac_pen_event()
2343 wacom_wac->hid_data.sense_state = value; in wacom_wac_pen_event()
2349 wacom_wac->serial[0] = (wacom_wac->serial[0] & 0xFFFFFFFF); in wacom_wac_pen_event()
2350 wacom_wac->serial[0] |= ((__u64)raw_value) << 32; in wacom_wac_pen_event()
2357 wacom_wac->id[0] |= raw_value & 0xFFFFF; in wacom_wac_pen_event()
2369 wacom_wac->id[0] |= wacom_s32tou(value, field->report_size); in wacom_wac_pen_event()
2400 wacom_wac->is_invalid_bt_frame = !value; in wacom_wac_pen_event()
2407 if (!usage->type || delay_pen_events(wacom_wac)) in wacom_wac_pen_event()
2411 if (wacom_wac->hid_data.inrange_state) in wacom_wac_pen_event()
2413 else if (wacom_wac->shared->stylus_in_proximity && !wacom_wac->hid_data.sense_state) in wacom_wac_pen_event()
2421 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_wac_pen_pre_report() local
2423 wacom_wac->is_invalid_bt_frame = false; in wacom_wac_pen_pre_report()
2431 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_wac_pen_report() local
2432 struct input_dev *input = wacom_wac->pen_input; in wacom_wac_pen_report()
2433 bool range = wacom_wac->hid_data.inrange_state; in wacom_wac_pen_report()
2434 bool sense = wacom_wac->hid_data.sense_state; in wacom_wac_pen_report()
2436 if (wacom_wac->is_invalid_bt_frame) in wacom_wac_pen_report()
2439 if (!wacom_wac->tool[0] && range) { /* first in range */ in wacom_wac_pen_report()
2441 if (wacom_wac->hid_data.invert_state) in wacom_wac_pen_report()
2442 wacom_wac->tool[0] = BTN_TOOL_RUBBER; in wacom_wac_pen_report()
2443 else if (wacom_wac->id[0]) in wacom_wac_pen_report()
2444 wacom_wac->tool[0] = wacom_intuos_get_tool_type(wacom_wac->id[0]); in wacom_wac_pen_report()
2446 wacom_wac->tool[0] = BTN_TOOL_PEN; in wacom_wac_pen_report()
2450 wacom_wac->shared->stylus_in_proximity = sense; in wacom_wac_pen_report()
2452 if (!delay_pen_events(wacom_wac) && wacom_wac->tool[0]) { in wacom_wac_pen_report()
2453 int id = wacom_wac->id[0]; in wacom_wac_pen_report()
2454 int sw_state = wacom_wac->hid_data.barrelswitch | in wacom_wac_pen_report()
2455 (wacom_wac->hid_data.barrelswitch2 << 1); in wacom_wac_pen_report()
2465 if (wacom_wac->serial[0] >> 52 == 1) in wacom_wac_pen_report()
2474 wacom_wac->hid_data.tipswitch); in wacom_wac_pen_report()
2475 input_report_key(input, wacom_wac->tool[0], sense); in wacom_wac_pen_report()
2476 if (wacom_wac->serial[0]) { in wacom_wac_pen_report()
2477 input_event(input, EV_MSC, MSC_SERIAL, wacom_wac->serial[0]); in wacom_wac_pen_report()
2481 wacom_wac->hid_data.tipswitch = false; in wacom_wac_pen_report()
2487 wacom_wac->tool[0] = 0; in wacom_wac_pen_report()
2488 wacom_wac->id[0] = 0; in wacom_wac_pen_report()
2489 wacom_wac->serial[0] = 0; in wacom_wac_pen_report()
2497 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_wac_finger_usage_mapping() local
2498 struct input_dev *input = wacom_wac->touch_input; in wacom_wac_finger_usage_mapping()
2499 unsigned touch_max = wacom_wac->features.touch_max; in wacom_wac_finger_usage_mapping()
2527 wacom_wac->hid_data.cc_report = field->report->id; in wacom_wac_finger_usage_mapping()
2528 wacom_wac->hid_data.cc_index = field->index; in wacom_wac_finger_usage_mapping()
2529 wacom_wac->hid_data.cc_value_index = usage->usage_index; in wacom_wac_finger_usage_mapping()
2544 static void wacom_wac_finger_slot(struct wacom_wac *wacom_wac, in wacom_wac_finger_slot() argument
2547 struct hid_data *hid_data = &wacom_wac->hid_data; in wacom_wac_finger_slot()
2548 bool mt = wacom_wac->features.touch_max > 1; in wacom_wac_finger_slot()
2550 report_touch_events(wacom_wac); in wacom_wac_finger_slot()
2552 if (wacom_wac->shared->has_mute_touch_switch && in wacom_wac_finger_slot()
2553 !wacom_wac->shared->is_touch_on) { in wacom_wac_finger_slot()
2554 if (!wacom_wac->shared->touch_down) in wacom_wac_finger_slot()
2559 wacom_wac->hid_data.num_received++; in wacom_wac_finger_slot()
2560 if (wacom_wac->hid_data.num_received > wacom_wac->hid_data.num_expected) in wacom_wac_finger_slot()
2611 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_wac_finger_event() local
2613 struct wacom_features *features = &wacom->wacom_wac.features; in wacom_wac_finger_event()
2615 if (wacom_wac->is_invalid_bt_frame) in wacom_wac_finger_event()
2620 wacom_wac->hid_data.confidence = value; in wacom_wac_finger_event()
2623 wacom_wac->hid_data.x = value; in wacom_wac_finger_event()
2626 wacom_wac->hid_data.y = value; in wacom_wac_finger_event()
2629 wacom_wac->hid_data.width = value; in wacom_wac_finger_event()
2632 wacom_wac->hid_data.height = value; in wacom_wac_finger_event()
2635 wacom_wac->hid_data.id = value; in wacom_wac_finger_event()
2638 wacom_wac->hid_data.tipswitch = value; in wacom_wac_finger_event()
2641 wacom_wac->is_invalid_bt_frame = !value; in wacom_wac_finger_event()
2654 if (equivalent_usage == wacom_wac->hid_data.last_slot_field) { in wacom_wac_finger_event()
2655 bool touch_removed = wacom_wac_slot_is_active(wacom_wac->touch_input, in wacom_wac_finger_event()
2656 wacom_wac->hid_data.id) && !wacom_wac->hid_data.tipswitch; in wacom_wac_finger_event()
2658 if (wacom_wac->hid_data.confidence || touch_removed) { in wacom_wac_finger_event()
2659 wacom_wac_finger_slot(wacom_wac, wacom_wac->touch_input); in wacom_wac_finger_event()
2669 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_wac_finger_pre_report() local
2670 struct hid_data* hid_data = &wacom_wac->hid_data; in wacom_wac_finger_pre_report()
2673 wacom_wac->is_invalid_bt_frame = false; in wacom_wac_finger_pre_report()
2720 hid_data->num_expected = wacom_wac->features.touch_max; in wacom_wac_finger_pre_report()
2729 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_wac_finger_report() local
2730 struct input_dev *input = wacom_wac->touch_input; in wacom_wac_finger_report()
2731 unsigned touch_max = wacom_wac->features.touch_max; in wacom_wac_finger_report()
2737 if (wacom_wac->hid_data.num_received < wacom_wac->hid_data.num_expected) in wacom_wac_finger_report()
2744 wacom_wac->hid_data.num_received = 0; in wacom_wac_finger_report()
2745 wacom_wac->hid_data.num_expected = 0; in wacom_wac_finger_report()
2748 wacom_wac->shared->touch_down = wacom_wac_finger_count_touches(wacom_wac); in wacom_wac_finger_report()
2755 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_wac_usage_mapping() local
2756 struct wacom_features *features = &wacom_wac->features; in wacom_wac_usage_mapping()
2777 if (wacom->wacom_wac.features.type != HID_GENERIC) in wacom_wac_event()
2788 else if (WACOM_PEN_FIELD(field) && wacom->wacom_wac.pen_input) in wacom_wac_event()
2790 else if (WACOM_FINGER_FIELD(field) && wacom->wacom_wac.touch_input) in wacom_wac_event()
2840 else if (WACOM_PEN_FIELD(field) && wacom->wacom_wac.pen_input) in wacom_wac_collection()
2842 else if (WACOM_FINGER_FIELD(field) && wacom->wacom_wac.touch_input) in wacom_wac_collection()
2851 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_wac_report() local
2858 if (wacom_wac->features.type != HID_GENERIC) in wacom_wac_report()
2876 if (pad_in_hid_field && wacom->wacom_wac.pad_input) in wacom_wac_report()
2878 if (pen_in_hid_field && wacom->wacom_wac.pen_input) in wacom_wac_report()
2880 if (finger_in_hid_field && wacom->wacom_wac.touch_input) in wacom_wac_report()
2896 if (true_pad && wacom->wacom_wac.pad_input) in wacom_wac_report()
2900 static int wacom_bpt_touch(struct wacom_wac *wacom) in wacom_bpt_touch()
2941 static void wacom_bpt3_touch_msg(struct wacom_wac *wacom, unsigned char *data) in wacom_bpt3_touch_msg()
2984 static void wacom_bpt3_button_msg(struct wacom_wac *wacom, unsigned char *data) in wacom_bpt3_button_msg()
3000 static int wacom_bpt3_touch(struct wacom_wac *wacom) in wacom_bpt3_touch()
3031 static int wacom_bpt_pen(struct wacom_wac *wacom) in wacom_bpt_pen()
3106 static int wacom_bpt_irq(struct wacom_wac *wacom, size_t len) in wacom_bpt_irq()
3123 static void wacom_bamboo_pad_pen_event(struct wacom_wac *wacom, in wacom_bamboo_pad_pen_event()
3149 static int wacom_bamboo_pad_touch_event(struct wacom_wac *wacom, in wacom_bamboo_pad_touch_event()
3189 static int wacom_bamboo_pad_irq(struct wacom_wac *wacom, size_t len) in wacom_bamboo_pad_irq()
3207 static int wacom_wireless_irq(struct wacom_wac *wacom, size_t len) in wacom_wireless_irq()
3249 static int wacom_status_irq(struct wacom_wac *wacom_wac, size_t len) in wacom_status_irq() argument
3251 struct wacom *wacom = container_of(wacom_wac, struct wacom, wacom_wac); in wacom_status_irq()
3252 struct wacom_features *features = &wacom_wac->features; in wacom_status_irq()
3253 unsigned char *data = wacom_wac->data; in wacom_status_irq()
3260 wacom_wac->shared->touch_input && in wacom_status_irq()
3262 input_report_switch(wacom_wac->shared->touch_input, in wacom_status_irq()
3264 input_sync(wacom_wac->shared->touch_input); in wacom_status_irq()
3271 wacom_notify_battery(wacom_wac, WACOM_POWER_SUPPLY_STATUS_AUTO, in wacom_status_irq()
3277 wacom_schedule_work(wacom_wac, WACOM_WORKER_BATTERY); in wacom_status_irq()
3283 wacom_schedule_work(wacom_wac, WACOM_WORKER_BATTERY); in wacom_status_irq()
3284 wacom_notify_battery(wacom_wac, POWER_SUPPLY_STATUS_UNKNOWN, 0, 0, 0, 0); in wacom_status_irq()
3289 void wacom_wac_irq(struct wacom_wac *wacom_wac, size_t len) in wacom_wac_irq() argument
3293 switch (wacom_wac->features.type) { in wacom_wac_irq()
3295 sync = wacom_penpartner_irq(wacom_wac); in wacom_wac_irq()
3299 sync = wacom_pl_irq(wacom_wac); in wacom_wac_irq()
3306 sync = wacom_graphire_irq(wacom_wac); in wacom_wac_irq()
3310 sync = wacom_ptu_irq(wacom_wac); in wacom_wac_irq()
3314 sync = wacom_dtu_irq(wacom_wac); in wacom_wac_irq()
3319 sync = wacom_dtus_irq(wacom_wac); in wacom_wac_irq()
3339 sync = wacom_intuos_irq(wacom_wac); in wacom_wac_irq()
3343 sync = wacom_intuos_bt_irq(wacom_wac, len); in wacom_wac_irq()
3348 sync = wacom_24hdt_irq(wacom_wac); in wacom_wac_irq()
3358 sync = wacom_bpt3_touch(wacom_wac); in wacom_wac_irq()
3359 else if (wacom_wac->data[0] == WACOM_REPORT_USB) in wacom_wac_irq()
3360 sync = wacom_status_irq(wacom_wac, len); in wacom_wac_irq()
3362 sync = wacom_intuos_irq(wacom_wac); in wacom_wac_irq()
3368 sync = wacom_intuos_pro2_bt_irq(wacom_wac, len); in wacom_wac_irq()
3377 sync = wacom_tpc_irq(wacom_wac, len); in wacom_wac_irq()
3385 if (wacom_wac->data[0] == WACOM_REPORT_USB) in wacom_wac_irq()
3386 sync = wacom_status_irq(wacom_wac, len); in wacom_wac_irq()
3388 sync = wacom_bpt_irq(wacom_wac, len); in wacom_wac_irq()
3392 sync = wacom_bamboo_pad_irq(wacom_wac, len); in wacom_wac_irq()
3396 sync = wacom_wireless_irq(wacom_wac, len); in wacom_wac_irq()
3401 if (wacom_wac->data[0] == WACOM_REPORT_DEVICE_LIST) in wacom_wac_irq()
3402 wacom_remote_status_irq(wacom_wac, len); in wacom_wac_irq()
3404 sync = wacom_remote_irq(wacom_wac, len); in wacom_wac_irq()
3413 if (wacom_wac->pen_input) in wacom_wac_irq()
3414 input_sync(wacom_wac->pen_input); in wacom_wac_irq()
3415 if (wacom_wac->touch_input) in wacom_wac_irq()
3416 input_sync(wacom_wac->touch_input); in wacom_wac_irq()
3417 if (wacom_wac->pad_input) in wacom_wac_irq()
3418 input_sync(wacom_wac->pad_input); in wacom_wac_irq()
3422 static void wacom_setup_basic_pro_pen(struct wacom_wac *wacom_wac) in wacom_setup_basic_pro_pen() argument
3424 struct input_dev *input_dev = wacom_wac->pen_input; in wacom_setup_basic_pro_pen()
3433 0, wacom_wac->features.distance_max, wacom_wac->features.distance_fuzz, 0); in wacom_setup_basic_pro_pen()
3436 static void wacom_setup_cintiq(struct wacom_wac *wacom_wac) in wacom_setup_cintiq() argument
3438 struct input_dev *input_dev = wacom_wac->pen_input; in wacom_setup_cintiq()
3439 struct wacom_features *features = &wacom_wac->features; in wacom_setup_cintiq()
3441 wacom_setup_basic_pro_pen(wacom_wac); in wacom_setup_cintiq()
3455 static void wacom_setup_intuos(struct wacom_wac *wacom_wac) in wacom_setup_intuos() argument
3457 struct input_dev *input_dev = wacom_wac->pen_input; in wacom_setup_intuos()
3461 wacom_setup_cintiq(wacom_wac); in wacom_setup_intuos()
3478 struct wacom_wac *wacom_wac = &wacom->wacom_wac; in wacom_setup_device_quirks() local
3479 struct wacom_features *features = &wacom->wacom_wac.features; in wacom_setup_device_quirks()
3615 __clear_bit(BTN_TOOL_BRUSH, wacom_wac->pen_input->keybit); in wacom_setup_device_quirks()
3616 __clear_bit(BTN_TOOL_PENCIL, wacom_wac->pen_input->keybit); in wacom_setup_device_quirks()
3617 __clear_bit(BTN_TOOL_AIRBRUSH, wacom_wac->pen_input->keybit); in wacom_setup_device_quirks()
3618 __clear_bit(ABS_Z, wacom_wac->pen_input->absbit); in wacom_setup_device_quirks()
3619 __clear_bit(ABS_DISTANCE, wacom_wac->pen_input->absbit); in wacom_setup_device_quirks()
3620 __clear_bit(ABS_TILT_X, wacom_wac->pen_input->absbit); in wacom_setup_device_quirks()
3621 __clear_bit(ABS_TILT_Y, wacom_wac->pen_input->absbit); in wacom_setup_device_quirks()
3622 __clear_bit(ABS_WHEEL, wacom_wac->pen_input->absbit); in wacom_setup_device_quirks()
3623 __clear_bit(ABS_MISC, wacom_wac->pen_input->absbit); in wacom_setup_device_quirks()
3624 __clear_bit(MSC_SERIAL, wacom_wac->pen_input->mscbit); in wacom_setup_device_quirks()
3625 __clear_bit(EV_MSC, wacom_wac->pen_input->evbit); in wacom_setup_device_quirks()
3630 struct wacom_wac *wacom_wac) in wacom_setup_pen_input_capabilities() argument
3632 struct wacom_features *features = &wacom_wac->features; in wacom_setup_pen_input_capabilities()
3703 wacom_setup_cintiq(wacom_wac); in wacom_setup_pen_input_capabilities()
3718 wacom_setup_intuos(wacom_wac); in wacom_setup_pen_input_capabilities()
3736 wacom_setup_intuos(wacom_wac); in wacom_setup_pen_input_capabilities()
3777 wacom_setup_basic_pro_pen(wacom_wac); in wacom_setup_pen_input_capabilities()
3797 struct wacom_wac *wacom_wac) in wacom_setup_touch_input_capabilities() argument
3799 struct wacom_features *features = &wacom_wac->features; in wacom_setup_touch_input_capabilities()
3843 if (wacom_wac->shared->touch->product == 0x361) { in wacom_setup_touch_input_capabilities()
3849 else if (wacom_wac->shared->touch->product == 0x360) { in wacom_setup_touch_input_capabilities()
3855 else if (wacom_wac->shared->touch->product == 0x393) { in wacom_setup_touch_input_capabilities()
3885 if (wacom_wac->shared->touch->product == 0x32C || in wacom_setup_touch_input_capabilities()
3886 wacom_wac->shared->touch->product == 0xF6) { in wacom_setup_touch_input_capabilities()
3889 wacom_wac->has_mute_touch_switch = true; in wacom_setup_touch_input_capabilities()
3998 if (wacom->wacom_wac.features.type == WACOM_21UX2) in wacom_is_led_toggled()
4003 if (wacom->wacom_wac.features.type == INTUOSP2_BT) in wacom_is_led_toggled()
4016 if (wacom->wacom_wac.features.type == WACOM_24HD) in wacom_update_led()
4069 struct wacom_wac *wacom_wac) in wacom_setup_pad_input_capabilities() argument
4071 struct wacom_features *features = &wacom_wac->features; in wacom_setup_pad_input_capabilities()
4079 if (features->type == REMOTE && input_dev == wacom_wac->pad_input) in wacom_setup_pad_input_capabilities()