Lines Matching refs:drvdata

189 } drvdata;  variable
318 struct led_classdev_mc *led_mc = drvdata.led_mc; in oxp_hid_raw_event_gen_1()
326 drvdata.rgb_effect = rgb_rep->effect == OXP_EFFECT_MONO_TRUE ? in oxp_hid_raw_event_gen_1()
329 drvdata.rgb_speed = rgb_rep->speed; in oxp_hid_raw_event_gen_1()
330 drvdata.rgb_en = rgb_rep->enabled == 0 ? OXP_FEAT_DISABLED : in oxp_hid_raw_event_gen_1()
332 drvdata.rgb_brightness = rgb_rep->brightness; in oxp_hid_raw_event_gen_1()
361 dev_err(&drvdata.hdev->dev, in oxp_mcu_init_fn()
367 dev_err(&drvdata.hdev->dev, in oxp_mcu_init_fn()
371 if (drvdata.gamepad_mode == OXP_GP_MODE_DEBUG) in oxp_mcu_init_fn()
377 dev_err(&drvdata.hdev->dev, in oxp_mcu_init_fn()
381 ret = oxp_rumble_intensity_set(drvdata.rumble_intensity); in oxp_mcu_init_fn()
383 dev_err(&drvdata.hdev->dev, in oxp_mcu_init_fn()
391 struct led_classdev_mc *led_mc = drvdata.led_mc; in oxp_hid_raw_event_gen_2()
401 mod_delayed_work(system_dfl_wq, &drvdata.oxp_mcu_init, msecs_to_jiffies(50)); in oxp_hid_raw_event_gen_2()
410 drvdata.rgb_effect = rgb_rep->effect == OXP_EFFECT_MONO_TRUE ? in oxp_hid_raw_event_gen_2()
413 drvdata.rgb_speed = rgb_rep->speed; in oxp_hid_raw_event_gen_2()
414 drvdata.rgb_en = rgb_rep->enabled == 0 ? OXP_FEAT_DISABLED : in oxp_hid_raw_event_gen_2()
416 drvdata.rgb_brightness = rgb_rep->brightness; in oxp_hid_raw_event_gen_2()
464 guard(mutex)(&drvdata.cfg_mutex); in mcu_property_out()
470 dev_dbg(&drvdata.hdev->dev, "raw data: [%*ph]\n", OXP_PACKET_SIZE, dmabuf); in mcu_property_out()
472 ret = hid_hw_output_report(drvdata.hdev, dmabuf, OXP_PACKET_SIZE); in mcu_property_out()
506 u16 up = get_usage_page(drvdata.hdev); in gamepad_mode_store()
529 drvdata.gamepad_mode = data[0]; in gamepad_mode_store()
531 if (drvdata.gamepad_mode == OXP_GP_MODE_DEBUG) in gamepad_mode_store()
535 ret = oxp_rumble_intensity_set(drvdata.rumble_intensity); in gamepad_mode_store()
545 return sysfs_emit(buf, "%s\n", oxp_gamepad_mode_text[drvdata.gamepad_mode]); in gamepad_mode_show()
634 u16 up = get_usage_page(drvdata.hdev); in oxp_set_buttons()
641 OXP_FILL_PAGE_SLOT(drvdata.bmap_1, btn_a), in oxp_set_buttons()
642 OXP_FILL_PAGE_SLOT(drvdata.bmap_1, btn_b), in oxp_set_buttons()
643 OXP_FILL_PAGE_SLOT(drvdata.bmap_1, btn_x), in oxp_set_buttons()
644 OXP_FILL_PAGE_SLOT(drvdata.bmap_1, btn_y), in oxp_set_buttons()
645 OXP_FILL_PAGE_SLOT(drvdata.bmap_1, btn_lb), in oxp_set_buttons()
646 OXP_FILL_PAGE_SLOT(drvdata.bmap_1, btn_rb), in oxp_set_buttons()
647 OXP_FILL_PAGE_SLOT(drvdata.bmap_1, btn_lt), in oxp_set_buttons()
648 OXP_FILL_PAGE_SLOT(drvdata.bmap_1, btn_rt), in oxp_set_buttons()
649 OXP_FILL_PAGE_SLOT(drvdata.bmap_1, btn_start), in oxp_set_buttons()
653 OXP_FILL_PAGE_SLOT(drvdata.bmap_2, btn_select), in oxp_set_buttons()
654 OXP_FILL_PAGE_SLOT(drvdata.bmap_2, btn_l3), in oxp_set_buttons()
655 OXP_FILL_PAGE_SLOT(drvdata.bmap_2, btn_r3), in oxp_set_buttons()
656 OXP_FILL_PAGE_SLOT(drvdata.bmap_2, btn_dup), in oxp_set_buttons()
657 OXP_FILL_PAGE_SLOT(drvdata.bmap_2, btn_ddown), in oxp_set_buttons()
658 OXP_FILL_PAGE_SLOT(drvdata.bmap_2, btn_dleft), in oxp_set_buttons()
659 OXP_FILL_PAGE_SLOT(drvdata.bmap_2, btn_dright), in oxp_set_buttons()
660 OXP_FILL_PAGE_SLOT(drvdata.bmap_2, btn_m1), in oxp_set_buttons()
661 OXP_FILL_PAGE_SLOT(drvdata.bmap_2, btn_m2), in oxp_set_buttons()
676 oxp_set_defaults_bmap_1(drvdata.bmap_1); in oxp_reset_buttons()
677 oxp_set_defaults_bmap_2(drvdata.bmap_2); in oxp_reset_buttons()
708 dev_err(&drvdata.hdev->dev, in oxp_btn_queue_fn()
735 drvdata.bmap_1->btn_a.mapping_idx = idx; in map_button_store()
738 drvdata.bmap_1->btn_b.mapping_idx = idx; in map_button_store()
741 drvdata.bmap_1->btn_x.mapping_idx = idx; in map_button_store()
744 drvdata.bmap_1->btn_y.mapping_idx = idx; in map_button_store()
747 drvdata.bmap_1->btn_lb.mapping_idx = idx; in map_button_store()
750 drvdata.bmap_1->btn_rb.mapping_idx = idx; in map_button_store()
753 drvdata.bmap_1->btn_lt.mapping_idx = idx; in map_button_store()
756 drvdata.bmap_1->btn_rt.mapping_idx = idx; in map_button_store()
759 drvdata.bmap_1->btn_start.mapping_idx = idx; in map_button_store()
762 drvdata.bmap_2->btn_select.mapping_idx = idx; in map_button_store()
765 drvdata.bmap_2->btn_l3.mapping_idx = idx; in map_button_store()
768 drvdata.bmap_2->btn_r3.mapping_idx = idx; in map_button_store()
771 drvdata.bmap_2->btn_dup.mapping_idx = idx; in map_button_store()
774 drvdata.bmap_2->btn_ddown.mapping_idx = idx; in map_button_store()
777 drvdata.bmap_2->btn_dleft.mapping_idx = idx; in map_button_store()
780 drvdata.bmap_2->btn_dright.mapping_idx = idx; in map_button_store()
783 drvdata.bmap_2->btn_m1.mapping_idx = idx; in map_button_store()
786 drvdata.bmap_2->btn_m2.mapping_idx = idx; in map_button_store()
791 mod_delayed_work(system_dfl_wq, &drvdata.oxp_btn_queue, msecs_to_jiffies(50)); in map_button_store()
803 i = drvdata.bmap_1->btn_a.mapping_idx; in map_button_show()
806 i = drvdata.bmap_1->btn_b.mapping_idx; in map_button_show()
809 i = drvdata.bmap_1->btn_x.mapping_idx; in map_button_show()
812 i = drvdata.bmap_1->btn_y.mapping_idx; in map_button_show()
815 i = drvdata.bmap_1->btn_lb.mapping_idx; in map_button_show()
818 i = drvdata.bmap_1->btn_rb.mapping_idx; in map_button_show()
821 i = drvdata.bmap_1->btn_lt.mapping_idx; in map_button_show()
824 i = drvdata.bmap_1->btn_rt.mapping_idx; in map_button_show()
827 i = drvdata.bmap_1->btn_start.mapping_idx; in map_button_show()
830 i = drvdata.bmap_2->btn_select.mapping_idx; in map_button_show()
833 i = drvdata.bmap_2->btn_l3.mapping_idx; in map_button_show()
836 i = drvdata.bmap_2->btn_r3.mapping_idx; in map_button_show()
839 i = drvdata.bmap_2->btn_dup.mapping_idx; in map_button_show()
842 i = drvdata.bmap_2->btn_ddown.mapping_idx; in map_button_show()
845 i = drvdata.bmap_2->btn_dleft.mapping_idx; in map_button_show()
848 i = drvdata.bmap_2->btn_dright.mapping_idx; in map_button_show()
851 i = drvdata.bmap_2->btn_m1.mapping_idx; in map_button_show()
854 i = drvdata.bmap_2->btn_m2.mapping_idx; in map_button_show()
916 drvdata.rumble_intensity = val; in rumble_intensity_store()
924 return sysfs_emit(buf, "%i\n", drvdata.rumble_intensity); in rumble_intensity_show()
1037 u16 up = get_usage_page(drvdata.hdev); in oxp_rgb_status_store()
1046 if (drvdata.rgb_effect == OXP_EFFECT_MONO_LIST) in oxp_rgb_status_store()
1051 if (drvdata.rgb_effect == OXP_EFFECT_MONO_LIST) in oxp_rgb_status_store()
1061 u16 up = get_usage_page(drvdata.hdev); in oxp_rgb_status_show()
1078 u8 max_br = drvdata.led_mc->led_cdev.max_brightness; in oxp_rgb_color_set()
1079 u8 br = drvdata.led_mc->led_cdev.brightness; in oxp_rgb_color_set()
1080 u16 up = get_usage_page(drvdata.hdev); in oxp_rgb_color_set()
1086 red = br * drvdata.led_mc->subled_info[0].intensity / max_br; in oxp_rgb_color_set()
1087 green = br * drvdata.led_mc->subled_info[1].intensity / max_br; in oxp_rgb_color_set()
1088 blue = br * drvdata.led_mc->subled_info[2].intensity / max_br; in oxp_rgb_color_set()
1118 u16 up = get_usage_page(drvdata.hdev); in oxp_rgb_effect_set()
1165 drvdata.rgb_effect = effect; in oxp_rgb_effect_set()
1181 ret = oxp_rgb_status_store(val, drvdata.rgb_speed, in enabled_store()
1182 drvdata.rgb_brightness); in enabled_store()
1186 drvdata.rgb_en = val; in enabled_store()
1199 if (drvdata.rgb_en >= ARRAY_SIZE(oxp_feature_en_text)) in enabled_show()
1202 return sysfs_emit(buf, "%s\n", oxp_feature_en_text[drvdata.rgb_en]); in enabled_show()
1234 ret = oxp_rgb_status_store(drvdata.rgb_en, drvdata.rgb_speed, in effect_store()
1235 drvdata.rgb_brightness); in effect_store()
1255 if (drvdata.rgb_effect >= ARRAY_SIZE(oxp_rgb_effect_text)) in effect_show()
1258 return sysfs_emit(buf, "%s\n", oxp_rgb_effect_text[drvdata.rgb_effect]); in effect_show()
1292 ret = oxp_rgb_status_store(drvdata.rgb_en, val, drvdata.rgb_brightness); in speed_store()
1296 drvdata.rgb_speed = val; in speed_store()
1309 if (drvdata.rgb_speed > 9) in speed_show()
1312 return sysfs_emit(buf, "%hhu\n", drvdata.rgb_speed); in speed_show()
1325 unsigned int max_brightness = drvdata.led_mc->led_cdev.max_brightness; in oxp_rgb_queue_fn()
1326 unsigned int brightness = drvdata.led_mc->led_cdev.brightness; in oxp_rgb_queue_fn()
1330 if (drvdata.rgb_brightness != val) { in oxp_rgb_queue_fn()
1331 ret = oxp_rgb_status_store(drvdata.rgb_en, drvdata.rgb_speed, val); in oxp_rgb_queue_fn()
1333 dev_err(drvdata.led_mc->led_cdev.dev, in oxp_rgb_queue_fn()
1336 drvdata.rgb_brightness = val; in oxp_rgb_queue_fn()
1339 if (drvdata.rgb_effect != OXP_EFFECT_MONO_LIST) in oxp_rgb_queue_fn()
1342 ret = oxp_rgb_effect_set(drvdata.rgb_effect); in oxp_rgb_queue_fn()
1344 dev_err(drvdata.led_mc->led_cdev.dev, "Error: Failed to write RGB color: %i\n", in oxp_rgb_queue_fn()
1352 mod_delayed_work(system_dfl_wq, &drvdata.oxp_rgb_queue, msecs_to_jiffies(50)); in oxp_rgb_brightness_set()
1455 hid_set_drvdata(hdev, &drvdata); in oxp_cfg_probe()
1456 mutex_init(&drvdata.cfg_mutex); in oxp_cfg_probe()
1457 drvdata.hdev = hdev; in oxp_cfg_probe()
1462 drvdata.led_mc = &oxp_cdev_rgb; in oxp_cfg_probe()
1464 INIT_DELAYED_WORK(&drvdata.oxp_rgb_queue, oxp_rgb_queue_fn); in oxp_cfg_probe()
1470 ret = devm_device_add_group(drvdata.led_mc->led_cdev.dev, in oxp_cfg_probe()
1473 return dev_err_probe(drvdata.led_mc->led_cdev.dev, ret, in oxp_cfg_probe()
1478 dev_warn(drvdata.led_mc->led_cdev.dev, in oxp_cfg_probe()
1496 drvdata.bmap_1 = bmap_1; in oxp_cfg_probe()
1497 drvdata.bmap_2 = bmap_2; in oxp_cfg_probe()
1499 INIT_DELAYED_WORK(&drvdata.oxp_btn_queue, oxp_btn_queue_fn); in oxp_cfg_probe()
1501 drvdata.gamepad_mode = OXP_GP_MODE_XINPUT; in oxp_cfg_probe()
1502 drvdata.rumble_intensity = 5; in oxp_cfg_probe()
1504 INIT_DELAYED_WORK(&drvdata.oxp_mcu_init, oxp_mcu_init_fn); in oxp_cfg_probe()
1505 mod_delayed_work(system_dfl_wq, &drvdata.oxp_mcu_init, msecs_to_jiffies(50)); in oxp_cfg_probe()
1555 cancel_delayed_work_sync(&drvdata.oxp_rgb_queue); in oxp_hid_remove()
1556 cancel_delayed_work_sync(&drvdata.oxp_btn_queue); in oxp_hid_remove()
1557 cancel_delayed_work_sync(&drvdata.oxp_mcu_init); in oxp_hid_remove()