Lines Matching refs:shield_dev
304 struct shield_device *shield_dev = &ts->base; in thunderstrike_send_hostcmd_request() local
307 ret = hid_hw_raw_request(shield_dev->hdev, report->report_id, in thunderstrike_send_hostcmd_request()
313 hid_err(shield_dev->hdev, in thunderstrike_send_hostcmd_request()
403 struct shield_device *shield_dev; in thunderstrike_play_effect() local
409 shield_dev = hid_get_drvdata(hdev); in thunderstrike_play_effect()
410 ts = container_of(shield_dev, struct thunderstrike, base); in thunderstrike_play_effect()
426 struct shield_device *shield_dev = hid_get_drvdata(hdev); in thunderstrike_led_get_brightness() local
429 ts = container_of(shield_dev, struct thunderstrike, base); in thunderstrike_led_get_brightness()
438 struct shield_device *shield_dev = hid_get_drvdata(hdev); in thunderstrike_led_set_brightness() local
441 ts = container_of(shield_dev, struct thunderstrike, base); in thunderstrike_led_set_brightness()
460 struct shield_device *shield_dev = power_supply_get_drvdata(psy); in thunderstrike_battery_get_property() local
465 ts = container_of(shield_dev, struct thunderstrike, base); in thunderstrike_battery_get_property()
544 thunderstrike_parse_fw_version_payload(struct shield_device *shield_dev, in thunderstrike_parse_fw_version_payload() argument
547 shield_dev->fw_version = le16_to_cpu(fw_version); in thunderstrike_parse_fw_version_payload()
549 set_bit(SHIELD_FW_VERSION_INITIALIZED, &shield_dev->initialized_flags); in thunderstrike_parse_fw_version_payload()
551 hid_dbg(shield_dev->hdev, "Thunderstrike firmware version 0x%04X\n", in thunderstrike_parse_fw_version_payload()
552 shield_dev->fw_version); in thunderstrike_parse_fw_version_payload()
556 thunderstrike_parse_board_info_payload(struct shield_device *shield_dev, in thunderstrike_parse_board_info_payload() argument
562 shield_dev->board_info.revision = le16_to_cpu(board_info->revision); in thunderstrike_parse_board_info_payload()
566 shield_dev->board_info.serial_number[2 * i] = val & 0xFF; in thunderstrike_parse_board_info_payload()
567 shield_dev->board_info.serial_number[2 * i + 1] = val >> 8; in thunderstrike_parse_board_info_payload()
569 shield_dev->board_info.serial_number[14] = '\0'; in thunderstrike_parse_board_info_payload()
571 set_bit(SHIELD_BOARD_INFO_INITIALIZED, &shield_dev->initialized_flags); in thunderstrike_parse_board_info_payload()
573 shield_strrev(board_revision_str, 4, shield_dev->board_info.revision); in thunderstrike_parse_board_info_payload()
574 hid_dbg(shield_dev->hdev, in thunderstrike_parse_board_info_payload()
576 board_revision_str, shield_dev->board_info.revision, in thunderstrike_parse_board_info_payload()
577 shield_dev->board_info.serial_number); in thunderstrike_parse_board_info_payload()
581 thunderstrike_parse_haptics_payload(struct shield_device *shield_dev, in thunderstrike_parse_haptics_payload() argument
584 hid_dbg(shield_dev->hdev, in thunderstrike_parse_haptics_payload()
590 thunderstrike_parse_led_payload(struct shield_device *shield_dev, in thunderstrike_parse_led_payload() argument
593 struct thunderstrike *ts = container_of(shield_dev, struct thunderstrike, base); in thunderstrike_parse_led_payload()
604 hid_dbg(shield_dev->hdev, "Thunderstrike led HOSTCMD response, 0x%02X\n", led_state); in thunderstrike_parse_led_payload()
608 struct shield_device *shield_dev, in thunderstrike_parse_battery_payload() argument
611 struct thunderstrike *ts = container_of(shield_dev, struct thunderstrike, base); in thunderstrike_parse_battery_payload()
618 struct hid_device *hdev = shield_dev->hdev; in thunderstrike_parse_battery_payload()
639 set_bit(SHIELD_BATTERY_STATS_INITIALIZED, &shield_dev->initialized_flags); in thunderstrike_parse_battery_payload()
656 struct shield_device *shield_dev, in thunderstrike_parse_charger_payload() argument
659 struct thunderstrike *ts = container_of(shield_dev, struct thunderstrike, base); in thunderstrike_parse_charger_payload()
661 struct hid_device *hdev = shield_dev->hdev; in thunderstrike_parse_charger_payload()
711 set_bit(SHIELD_CHARGER_STATE_INITIALIZED, &shield_dev->initialized_flags); in thunderstrike_parse_charger_payload()
718 static inline void thunderstrike_device_init_info(struct shield_device *shield_dev) in thunderstrike_device_init_info() argument
721 container_of(shield_dev, struct thunderstrike, base); in thunderstrike_device_init_info()
723 if (!test_bit(SHIELD_FW_VERSION_INITIALIZED, &shield_dev->initialized_flags)) in thunderstrike_device_init_info()
726 if (!test_bit(SHIELD_BOARD_INFO_INITIALIZED, &shield_dev->initialized_flags)) in thunderstrike_device_init_info()
729 if (!test_bit(SHIELD_BATTERY_STATS_INITIALIZED, &shield_dev->initialized_flags) || in thunderstrike_device_init_info()
730 !test_bit(SHIELD_CHARGER_STATE_INITIALIZED, &shield_dev->initialized_flags)) in thunderstrike_device_init_info()
734 static int thunderstrike_parse_report(struct shield_device *shield_dev, in thunderstrike_parse_report() argument
739 struct hid_device *hdev = shield_dev->hdev; in thunderstrike_parse_report()
756 shield_dev, hostcmd_resp_report->fw_version); in thunderstrike_parse_report()
759 thunderstrike_parse_led_payload(shield_dev, hostcmd_resp_report->led_state); in thunderstrike_parse_report()
762 thunderstrike_parse_battery_payload(shield_dev, in thunderstrike_parse_report()
767 shield_dev, &hostcmd_resp_report->board_info); in thunderstrike_parse_report()
771 shield_dev, &hostcmd_resp_report->motors); in thunderstrike_parse_report()
775 thunderstrike_device_init_info(shield_dev); in thunderstrike_parse_report()
779 thunderstrike_device_init_info(shield_dev); in thunderstrike_parse_report()
782 shield_dev, &hostcmd_resp_report->charger); in thunderstrike_parse_report()
815 static inline int thunderstrike_psy_create(struct shield_device *shield_dev) in thunderstrike_psy_create() argument
817 struct thunderstrike *ts = container_of(shield_dev, struct thunderstrike, base); in thunderstrike_psy_create()
818 struct power_supply_config psy_cfg = { .drv_data = shield_dev, }; in thunderstrike_psy_create()
819 struct hid_device *hdev = shield_dev->hdev; in thunderstrike_psy_create()
830 shield_dev->battery_dev.desc.properties = thunderstrike_battery_props; in thunderstrike_psy_create()
831 shield_dev->battery_dev.desc.num_properties = in thunderstrike_psy_create()
833 shield_dev->battery_dev.desc.get_property = thunderstrike_battery_get_property; in thunderstrike_psy_create()
834 shield_dev->battery_dev.desc.type = POWER_SUPPLY_TYPE_BATTERY; in thunderstrike_psy_create()
835 shield_dev->battery_dev.desc.name = in thunderstrike_psy_create()
838 if (!shield_dev->battery_dev.desc.name) in thunderstrike_psy_create()
841 shield_dev->battery_dev.psy = power_supply_register( in thunderstrike_psy_create()
842 &hdev->dev, &shield_dev->battery_dev.desc, &psy_cfg); in thunderstrike_psy_create()
843 if (IS_ERR(shield_dev->battery_dev.psy)) { in thunderstrike_psy_create()
845 return PTR_ERR(shield_dev->battery_dev.psy); in thunderstrike_psy_create()
848 ret = power_supply_powers(shield_dev->battery_dev.psy, &hdev->dev); in thunderstrike_psy_create()
857 power_supply_unregister(shield_dev->battery_dev.psy); in thunderstrike_psy_create()
863 struct shield_device *shield_dev; in thunderstrike_create() local
876 shield_dev = &ts->base; in thunderstrike_create()
877 shield_dev->hdev = hdev; in thunderstrike_create()
878 shield_dev->codename = "Thunderstrike"; in thunderstrike_create()
884 hid_set_drvdata(hdev, shield_dev); in thunderstrike_create()
890 ts->haptics_dev = shield_haptics_create(shield_dev, thunderstrike_play_effect); in thunderstrike_create()
897 ret = thunderstrike_psy_create(shield_dev); in thunderstrike_create()
912 return shield_dev; in thunderstrike_create()
915 power_supply_unregister(shield_dev->battery_dev.psy); in thunderstrike_create()
971 struct shield_device *shield_dev; in firmware_version_show() local
974 shield_dev = hid_get_drvdata(hdev); in firmware_version_show()
976 if (test_bit(SHIELD_FW_VERSION_INITIALIZED, &shield_dev->initialized_flags)) in firmware_version_show()
977 ret = sysfs_emit(buf, "0x%04X\n", shield_dev->fw_version); in firmware_version_show()
990 struct shield_device *shield_dev; in hardware_version_show() local
994 shield_dev = hid_get_drvdata(hdev); in hardware_version_show()
996 if (test_bit(SHIELD_BOARD_INFO_INITIALIZED, &shield_dev->initialized_flags)) { in hardware_version_show()
997 shield_strrev(board_revision_str, 4, shield_dev->board_info.revision); in hardware_version_show()
999 shield_dev->codename, board_revision_str, in hardware_version_show()
1000 shield_dev->board_info.revision); in hardware_version_show()
1013 struct shield_device *shield_dev; in serial_number_show() local
1016 shield_dev = hid_get_drvdata(hdev); in serial_number_show()
1018 if (test_bit(SHIELD_BOARD_INFO_INITIALIZED, &shield_dev->initialized_flags)) in serial_number_show()
1019 ret = sysfs_emit(buf, "%s\n", shield_dev->board_info.serial_number); in serial_number_show()
1046 struct shield_device *shield_dev = NULL; in shield_probe() local
1058 shield_dev = thunderstrike_create(hdev); in shield_probe()
1062 if (unlikely(!shield_dev)) { in shield_probe()
1066 if (IS_ERR(shield_dev)) { in shield_probe()
1068 return PTR_ERR(shield_dev); in shield_probe()
1071 ts = container_of(shield_dev, struct thunderstrike, base); in shield_probe()
1085 thunderstrike_device_init_info(shield_dev); in shield_probe()