Lines Matching full:sensors
300 struct input_dev __rcu *sensors; member
840 struct input_dev *sensors; in steam_sensors_register() local
847 sensors = rcu_dereference(steam->sensors); in steam_sensors_register()
849 if (sensors) { in steam_sensors_register()
854 sensors = input_allocate_device(); in steam_sensors_register()
855 if (!sensors) in steam_sensors_register()
858 input_set_drvdata(sensors, steam); in steam_sensors_register()
859 sensors->dev.parent = &hdev->dev; in steam_sensors_register()
861 sensors->name = "Steam Deck Motion Sensors"; in steam_sensors_register()
862 sensors->phys = hdev->phys; in steam_sensors_register()
863 sensors->uniq = steam->serial_no; in steam_sensors_register()
864 sensors->id.bustype = hdev->bus; in steam_sensors_register()
865 sensors->id.vendor = hdev->vendor; in steam_sensors_register()
866 sensors->id.product = hdev->product; in steam_sensors_register()
867 sensors->id.version = hdev->version; in steam_sensors_register()
869 __set_bit(INPUT_PROP_ACCELEROMETER, sensors->propbit); in steam_sensors_register()
870 __set_bit(EV_MSC, sensors->evbit); in steam_sensors_register()
871 __set_bit(MSC_TIMESTAMP, sensors->mscbit); in steam_sensors_register()
873 input_set_abs_params(sensors, ABS_X, -STEAM_DECK_ACCEL_RANGE, in steam_sensors_register()
875 input_set_abs_params(sensors, ABS_Y, -STEAM_DECK_ACCEL_RANGE, in steam_sensors_register()
877 input_set_abs_params(sensors, ABS_Z, -STEAM_DECK_ACCEL_RANGE, in steam_sensors_register()
879 input_abs_set_res(sensors, ABS_X, STEAM_DECK_ACCEL_RES_PER_G); in steam_sensors_register()
880 input_abs_set_res(sensors, ABS_Y, STEAM_DECK_ACCEL_RES_PER_G); in steam_sensors_register()
881 input_abs_set_res(sensors, ABS_Z, STEAM_DECK_ACCEL_RES_PER_G); in steam_sensors_register()
883 input_set_abs_params(sensors, ABS_RX, -STEAM_DECK_GYRO_RANGE, in steam_sensors_register()
885 input_set_abs_params(sensors, ABS_RY, -STEAM_DECK_GYRO_RANGE, in steam_sensors_register()
887 input_set_abs_params(sensors, ABS_RZ, -STEAM_DECK_GYRO_RANGE, in steam_sensors_register()
889 input_abs_set_res(sensors, ABS_RX, STEAM_DECK_GYRO_RES_PER_DPS); in steam_sensors_register()
890 input_abs_set_res(sensors, ABS_RY, STEAM_DECK_GYRO_RES_PER_DPS); in steam_sensors_register()
891 input_abs_set_res(sensors, ABS_RZ, STEAM_DECK_GYRO_RES_PER_DPS); in steam_sensors_register()
893 ret = input_register_device(sensors); in steam_sensors_register()
897 rcu_assign_pointer(steam->sensors, sensors); in steam_sensors_register()
901 input_free_device(sensors); in steam_sensors_register()
920 struct input_dev *sensors; in steam_sensors_unregister() local
926 sensors = rcu_dereference(steam->sensors); in steam_sensors_unregister()
929 if (!sensors) in steam_sensors_unregister()
931 RCU_INIT_POINTER(steam->sensors, NULL); in steam_sensors_unregister()
933 input_unregister_device(sensors); in steam_sensors_unregister()
1680 struct input_dev *sensors, u8 *data) in steam_do_deck_sensors_event() argument
1694 input_event(sensors, EV_MSC, MSC_TIMESTAMP, steam->sensor_timestamp_us); in steam_do_deck_sensors_event()
1695 input_report_abs(sensors, ABS_X, steam_le16(data + 24)); in steam_do_deck_sensors_event()
1696 input_report_abs(sensors, ABS_Z, -steam_le16(data + 26)); in steam_do_deck_sensors_event()
1697 input_report_abs(sensors, ABS_Y, steam_le16(data + 28)); in steam_do_deck_sensors_event()
1698 input_report_abs(sensors, ABS_RX, steam_le16(data + 30)); in steam_do_deck_sensors_event()
1699 input_report_abs(sensors, ABS_RZ, -steam_le16(data + 32)); in steam_do_deck_sensors_event()
1700 input_report_abs(sensors, ABS_RY, steam_le16(data + 34)); in steam_do_deck_sensors_event()
1702 input_sync(sensors); in steam_do_deck_sensors_event()
1742 struct input_dev *sensors; in steam_raw_event() local
1788 sensors = rcu_dereference(steam->sensors); in steam_raw_event()
1789 if (likely(sensors)) in steam_raw_event()
1790 steam_do_deck_sensors_event(steam, sensors, data); in steam_raw_event()