Lines Matching defs:shield_dev
302 struct shield_device *shield_dev = &ts->base;
305 ret = hid_hw_raw_request(shield_dev->hdev, report->report_id,
311 hid_err(shield_dev->hdev,
401 struct shield_device *shield_dev;
407 shield_dev = hid_get_drvdata(hdev);
408 ts = container_of(shield_dev, struct thunderstrike, base);
424 struct shield_device *shield_dev = hid_get_drvdata(hdev);
427 ts = container_of(shield_dev, struct thunderstrike, base);
436 struct shield_device *shield_dev = hid_get_drvdata(hdev);
439 ts = container_of(shield_dev, struct thunderstrike, base);
458 struct shield_device *shield_dev = power_supply_get_drvdata(psy);
463 ts = container_of(shield_dev, struct thunderstrike, base);
542 thunderstrike_parse_fw_version_payload(struct shield_device *shield_dev,
545 shield_dev->fw_version = le16_to_cpu(fw_version);
547 set_bit(SHIELD_FW_VERSION_INITIALIZED, &shield_dev->initialized_flags);
549 hid_dbg(shield_dev->hdev, "Thunderstrike firmware version 0x%04X\n",
550 shield_dev->fw_version);
554 thunderstrike_parse_board_info_payload(struct shield_device *shield_dev,
560 shield_dev->board_info.revision = le16_to_cpu(board_info->revision);
564 shield_dev->board_info.serial_number[2 * i] = val & 0xFF;
565 shield_dev->board_info.serial_number[2 * i + 1] = val >> 8;
567 shield_dev->board_info.serial_number[14] = '\0';
569 set_bit(SHIELD_BOARD_INFO_INITIALIZED, &shield_dev->initialized_flags);
571 shield_strrev(board_revision_str, 4, shield_dev->board_info.revision);
572 hid_dbg(shield_dev->hdev,
574 board_revision_str, shield_dev->board_info.revision,
575 shield_dev->board_info.serial_number);
579 thunderstrike_parse_haptics_payload(struct shield_device *shield_dev,
582 hid_dbg(shield_dev->hdev,
588 thunderstrike_parse_led_payload(struct shield_device *shield_dev,
591 struct thunderstrike *ts = container_of(shield_dev, struct thunderstrike, base);
602 hid_dbg(shield_dev->hdev, "Thunderstrike led HOSTCMD response, 0x%02X\n", led_state);
606 struct shield_device *shield_dev,
609 struct thunderstrike *ts = container_of(shield_dev, struct thunderstrike, base);
616 struct hid_device *hdev = shield_dev->hdev;
637 set_bit(SHIELD_BATTERY_STATS_INITIALIZED, &shield_dev->initialized_flags);
654 struct shield_device *shield_dev,
657 struct thunderstrike *ts = container_of(shield_dev, struct thunderstrike, base);
659 struct hid_device *hdev = shield_dev->hdev;
709 set_bit(SHIELD_CHARGER_STATE_INITIALIZED, &shield_dev->initialized_flags);
716 static inline void thunderstrike_device_init_info(struct shield_device *shield_dev)
719 container_of(shield_dev, struct thunderstrike, base);
721 if (!test_bit(SHIELD_FW_VERSION_INITIALIZED, &shield_dev->initialized_flags))
724 if (!test_bit(SHIELD_BOARD_INFO_INITIALIZED, &shield_dev->initialized_flags))
727 if (!test_bit(SHIELD_BATTERY_STATS_INITIALIZED, &shield_dev->initialized_flags) ||
728 !test_bit(SHIELD_CHARGER_STATE_INITIALIZED, &shield_dev->initialized_flags))
732 static int thunderstrike_parse_report(struct shield_device *shield_dev,
737 struct hid_device *hdev = shield_dev->hdev;
754 shield_dev, hostcmd_resp_report->fw_version);
757 thunderstrike_parse_led_payload(shield_dev, hostcmd_resp_report->led_state);
760 thunderstrike_parse_battery_payload(shield_dev,
765 shield_dev, &hostcmd_resp_report->board_info);
769 shield_dev, &hostcmd_resp_report->motors);
773 thunderstrike_device_init_info(shield_dev);
777 thunderstrike_device_init_info(shield_dev);
780 shield_dev, &hostcmd_resp_report->charger);
813 static inline int thunderstrike_psy_create(struct shield_device *shield_dev)
815 struct thunderstrike *ts = container_of(shield_dev, struct thunderstrike, base);
816 struct power_supply_config psy_cfg = { .drv_data = shield_dev, };
817 struct hid_device *hdev = shield_dev->hdev;
828 shield_dev->battery_dev.desc.properties = thunderstrike_battery_props;
829 shield_dev->battery_dev.desc.num_properties =
831 shield_dev->battery_dev.desc.get_property = thunderstrike_battery_get_property;
832 shield_dev->battery_dev.desc.type = POWER_SUPPLY_TYPE_BATTERY;
833 shield_dev->battery_dev.desc.name =
836 if (!shield_dev->battery_dev.desc.name)
839 shield_dev->battery_dev.psy = power_supply_register(
840 &hdev->dev, &shield_dev->battery_dev.desc, &psy_cfg);
841 if (IS_ERR(shield_dev->battery_dev.psy)) {
843 return PTR_ERR(shield_dev->battery_dev.psy);
846 ret = power_supply_powers(shield_dev->battery_dev.psy, &hdev->dev);
855 power_supply_unregister(shield_dev->battery_dev.psy);
861 struct shield_device *shield_dev;
874 shield_dev = &ts->base;
875 shield_dev->hdev = hdev;
876 shield_dev->codename = "Thunderstrike";
882 hid_set_drvdata(hdev, shield_dev);
888 ts->haptics_dev = shield_haptics_create(shield_dev, thunderstrike_play_effect);
895 ret = thunderstrike_psy_create(shield_dev);
910 return shield_dev;
913 power_supply_unregister(shield_dev->battery_dev.psy);
960 struct shield_device *shield_dev;
963 shield_dev = hid_get_drvdata(hdev);
965 if (test_bit(SHIELD_FW_VERSION_INITIALIZED, &shield_dev->initialized_flags))
966 ret = sysfs_emit(buf, "0x%04X\n", shield_dev->fw_version);
979 struct shield_device *shield_dev;
983 shield_dev = hid_get_drvdata(hdev);
985 if (test_bit(SHIELD_BOARD_INFO_INITIALIZED, &shield_dev->initialized_flags)) {
986 shield_strrev(board_revision_str, 4, shield_dev->board_info.revision);
988 shield_dev->codename, board_revision_str,
989 shield_dev->board_info.revision);
1002 struct shield_device *shield_dev;
1005 shield_dev = hid_get_drvdata(hdev);
1007 if (test_bit(SHIELD_BOARD_INFO_INITIALIZED, &shield_dev->initialized_flags))
1008 ret = sysfs_emit(buf, "%s\n", shield_dev->board_info.serial_number);
1035 struct shield_device *shield_dev = NULL;
1047 shield_dev = thunderstrike_create(hdev);
1051 if (unlikely(!shield_dev)) {
1055 if (IS_ERR(shield_dev)) {
1057 return PTR_ERR(shield_dev);
1060 ts = container_of(shield_dev, struct thunderstrike, base);
1074 thunderstrike_device_init_info(shield_dev);