Lines Matching defs:joycon_ctlr
415 struct joycon_ctlr { struct
420 enum joycon_ctlr_state ctlr_state; argument
424 enum joycon_ctlr_type ctlr_type; argument
427 enum joycon_msg_type msg_type;
428 u8 subcmd_num;
429 struct mutex output_mutex;
430 u8 input_buf[JC_MAX_RESP_SIZE];
431 wait_queue_head_t wait;
432 bool received_resp;
433 u8 usb_ack_match;
434 u8 subcmd_ack_match;
435 bool received_input_report;
436 unsigned int last_input_report_msecs;
437 unsigned int last_subcmd_sent_msecs;
438 unsigned int consecutive_valid_report_deltas;
441 struct joycon_stick_cal left_stick_cal_x;
442 struct joycon_stick_cal left_stick_cal_y;
443 struct joycon_stick_cal right_stick_cal_x;
444 struct joycon_stick_cal right_stick_cal_y;
446 struct joycon_imu_cal accel_cal;
447 struct joycon_imu_cal gyro_cal;
450 s32 imu_cal_accel_divisor[3];
451 s32 imu_cal_gyro_divisor[3];
454 struct power_supply *battery;
455 struct power_supply_desc battery_desc;
456 u8 battery_capacity;
457 bool battery_charging;
458 bool host_powered;
461 u8 rumble_data[JC_RUMBLE_QUEUE_SIZE][JC_RUMBLE_DATA_SIZE];
462 int rumble_queue_head;
463 int rumble_queue_tail;
464 struct workqueue_struct *rumble_queue;
465 struct work_struct rumble_worker;
466 unsigned int rumble_msecs;
467 u16 rumble_ll_freq;
468 u16 rumble_lh_freq;
469 u16 rumble_rl_freq;
470 u16 rumble_rh_freq;
471 unsigned short rumble_zero_countdown;
474 struct input_dev *imu_input;
475 bool imu_first_packet_received; /* helps in initiating timestamp */
476 unsigned int imu_timestamp_us; /* timestamp we report to userspace */
477 unsigned int imu_last_pkt_ms; /* used to calc imu report delta */
479 unsigned int imu_delta_samples_count;
480 unsigned int imu_delta_samples_sum;
481 unsigned int imu_avg_delta_ms;