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_subcmd_sent_msecs;
439 struct joycon_stick_cal left_stick_cal_x;
440 struct joycon_stick_cal left_stick_cal_y;
441 struct joycon_stick_cal right_stick_cal_x;
442 struct joycon_stick_cal right_stick_cal_y;
444 struct joycon_imu_cal accel_cal;
445 struct joycon_imu_cal gyro_cal;
448 s32 imu_cal_accel_divisor[3];
449 s32 imu_cal_gyro_divisor[3];
452 struct power_supply *battery;
453 struct power_supply_desc battery_desc;
454 u8 battery_capacity;
455 bool battery_charging;
456 bool host_powered;
459 u8 rumble_data[JC_RUMBLE_QUEUE_SIZE][JC_RUMBLE_DATA_SIZE];
460 int rumble_queue_head;
461 int rumble_queue_tail;
462 struct workqueue_struct *rumble_queue;
463 struct work_struct rumble_worker;
464 unsigned int rumble_msecs;
465 u16 rumble_ll_freq;
466 u16 rumble_lh_freq;
467 u16 rumble_rl_freq;
468 u16 rumble_rh_freq;
469 unsigned short rumble_zero_countdown;
472 struct input_dev *imu_input;
473 bool imu_first_packet_received; /* helps in initiating timestamp */
474 unsigned int imu_timestamp_us; /* timestamp we report to userspace */
475 unsigned int imu_last_pkt_ms; /* used to calc imu report delta */
477 unsigned int imu_delta_samples_count;
478 unsigned int imu_delta_samples_sum;
479 unsigned int imu_avg_delta_ms;