Lines Matching refs:ds4

533 static int dualshock4_get_calibration_data(struct dualshock4 *ds4);
535 static inline void dualshock4_schedule_work(struct dualshock4 *ds4);
537 static void dualshock4_set_default_lightbar_colors(struct dualshock4 *ds4);
1736 struct dualshock4 *ds4 = container_of(work, struct dualshock4, dongle_hotplug_worker); in dualshock4_dongle_calibration_work() local
1741 ret = dualshock4_get_calibration_data(ds4); in dualshock4_dongle_calibration_work()
1749 hid_err(ds4->base.hdev, "DualShock 4 USB dongle: calibration failed, disabling device\n"); in dualshock4_dongle_calibration_work()
1752 hid_info(ds4->base.hdev, "DualShock 4 USB dongle: calibration completed\n"); in dualshock4_dongle_calibration_work()
1756 spin_lock_irqsave(&ds4->base.lock, flags); in dualshock4_dongle_calibration_work()
1757 ds4->dongle_state = dongle_state; in dualshock4_dongle_calibration_work()
1758 spin_unlock_irqrestore(&ds4->base.lock, flags); in dualshock4_dongle_calibration_work()
1761 static int dualshock4_get_calibration_data(struct dualshock4 *ds4) in dualshock4_get_calibration_data() argument
1763 struct hid_device *hdev = ds4->base.hdev; in dualshock4_get_calibration_data()
1777 if (ds4->base.hdev->bus == BUS_USB) { in dualshock4_get_calibration_data()
1822 if (ds4->base.hdev->bus == BUS_USB) { in dualshock4_get_calibration_data()
1852 ds4->gyro_calib_data[0].abs_code = ABS_RX; in dualshock4_get_calibration_data()
1853 ds4->gyro_calib_data[0].bias = 0; in dualshock4_get_calibration_data()
1854 ds4->gyro_calib_data[0].sens_numer = speed_2x*DS4_GYRO_RES_PER_DEG_S; in dualshock4_get_calibration_data()
1855 ds4->gyro_calib_data[0].sens_denom = abs(gyro_pitch_plus - gyro_pitch_bias) + in dualshock4_get_calibration_data()
1858 ds4->gyro_calib_data[1].abs_code = ABS_RY; in dualshock4_get_calibration_data()
1859 ds4->gyro_calib_data[1].bias = 0; in dualshock4_get_calibration_data()
1860 ds4->gyro_calib_data[1].sens_numer = speed_2x*DS4_GYRO_RES_PER_DEG_S; in dualshock4_get_calibration_data()
1861 ds4->gyro_calib_data[1].sens_denom = abs(gyro_yaw_plus - gyro_yaw_bias) + in dualshock4_get_calibration_data()
1864 ds4->gyro_calib_data[2].abs_code = ABS_RZ; in dualshock4_get_calibration_data()
1865 ds4->gyro_calib_data[2].bias = 0; in dualshock4_get_calibration_data()
1866 ds4->gyro_calib_data[2].sens_numer = speed_2x*DS4_GYRO_RES_PER_DEG_S; in dualshock4_get_calibration_data()
1867 ds4->gyro_calib_data[2].sens_denom = abs(gyro_roll_plus - gyro_roll_bias) + in dualshock4_get_calibration_data()
1875 for (i = 0; i < ARRAY_SIZE(ds4->gyro_calib_data); i++) { in dualshock4_get_calibration_data()
1876 if (ds4->gyro_calib_data[i].sens_denom == 0) { in dualshock4_get_calibration_data()
1878 ds4->gyro_calib_data[i].abs_code); in dualshock4_get_calibration_data()
1879 ds4->gyro_calib_data[i].bias = 0; in dualshock4_get_calibration_data()
1880 ds4->gyro_calib_data[i].sens_numer = DS4_GYRO_RANGE; in dualshock4_get_calibration_data()
1881 ds4->gyro_calib_data[i].sens_denom = S16_MAX; in dualshock4_get_calibration_data()
1890 ds4->accel_calib_data[0].abs_code = ABS_X; in dualshock4_get_calibration_data()
1891 ds4->accel_calib_data[0].bias = acc_x_plus - range_2g / 2; in dualshock4_get_calibration_data()
1892 ds4->accel_calib_data[0].sens_numer = 2*DS4_ACC_RES_PER_G; in dualshock4_get_calibration_data()
1893 ds4->accel_calib_data[0].sens_denom = range_2g; in dualshock4_get_calibration_data()
1896 ds4->accel_calib_data[1].abs_code = ABS_Y; in dualshock4_get_calibration_data()
1897 ds4->accel_calib_data[1].bias = acc_y_plus - range_2g / 2; in dualshock4_get_calibration_data()
1898 ds4->accel_calib_data[1].sens_numer = 2*DS4_ACC_RES_PER_G; in dualshock4_get_calibration_data()
1899 ds4->accel_calib_data[1].sens_denom = range_2g; in dualshock4_get_calibration_data()
1902 ds4->accel_calib_data[2].abs_code = ABS_Z; in dualshock4_get_calibration_data()
1903 ds4->accel_calib_data[2].bias = acc_z_plus - range_2g / 2; in dualshock4_get_calibration_data()
1904 ds4->accel_calib_data[2].sens_numer = 2*DS4_ACC_RES_PER_G; in dualshock4_get_calibration_data()
1905 ds4->accel_calib_data[2].sens_denom = range_2g; in dualshock4_get_calibration_data()
1912 for (i = 0; i < ARRAY_SIZE(ds4->accel_calib_data); i++) { in dualshock4_get_calibration_data()
1913 if (ds4->accel_calib_data[i].sens_denom == 0) { in dualshock4_get_calibration_data()
1915 ds4->accel_calib_data[i].abs_code); in dualshock4_get_calibration_data()
1916 ds4->accel_calib_data[i].bias = 0; in dualshock4_get_calibration_data()
1917 ds4->accel_calib_data[i].sens_numer = DS4_ACC_RANGE; in dualshock4_get_calibration_data()
1918 ds4->accel_calib_data[i].sens_denom = S16_MAX; in dualshock4_get_calibration_data()
1927 static int dualshock4_get_firmware_info(struct dualshock4 *ds4) in dualshock4_get_firmware_info() argument
1939 ret = ps_get_report(ds4->base.hdev, DS4_FEATURE_REPORT_FIRMWARE_INFO, buf, in dualshock4_get_firmware_info()
1942 hid_err(ds4->base.hdev, "Failed to retrieve DualShock4 firmware info: %d\n", ret); in dualshock4_get_firmware_info()
1946 ds4->base.hw_version = get_unaligned_le16(&buf[35]); in dualshock4_get_firmware_info()
1947 ds4->base.fw_version = get_unaligned_le16(&buf[41]); in dualshock4_get_firmware_info()
1954 static int dualshock4_get_mac_address(struct dualshock4 *ds4) in dualshock4_get_mac_address() argument
1956 struct hid_device *hdev = ds4->base.hdev; in dualshock4_get_mac_address()
1972 memcpy(ds4->base.mac_address, &buf[1], sizeof(ds4->base.mac_address)); in dualshock4_get_mac_address()
1979 &ds4->base.mac_address[5], &ds4->base.mac_address[4], in dualshock4_get_mac_address()
1980 &ds4->base.mac_address[3], &ds4->base.mac_address[2], in dualshock4_get_mac_address()
1981 &ds4->base.mac_address[1], &ds4->base.mac_address[0]); in dualshock4_get_mac_address()
1983 if (ret != sizeof(ds4->base.mac_address)) in dualshock4_get_mac_address()
1997 struct dualshock4 *ds4 = hid_get_drvdata(hdev); in dualshock4_led_get_brightness() local
2000 led_index = led - ds4->lightbar_leds; in dualshock4_led_get_brightness()
2003 return ds4->lightbar_red; in dualshock4_led_get_brightness()
2005 return ds4->lightbar_green; in dualshock4_led_get_brightness()
2007 return ds4->lightbar_blue; in dualshock4_led_get_brightness()
2009 return ds4->lightbar_enabled; in dualshock4_led_get_brightness()
2019 struct dualshock4 *ds4 = hid_get_drvdata(hdev); in dualshock4_led_set_blink() local
2022 spin_lock_irqsave(&ds4->base.lock, flags); in dualshock4_led_set_blink()
2026 ds4->lightbar_blink_on = 50; in dualshock4_led_set_blink()
2027 ds4->lightbar_blink_off = 50; in dualshock4_led_set_blink()
2030 ds4->lightbar_blink_on = min_t(unsigned long, *delay_on/10, DS4_LIGHTBAR_MAX_BLINK); in dualshock4_led_set_blink()
2031 ds4->lightbar_blink_off = min_t(unsigned long, *delay_off/10, DS4_LIGHTBAR_MAX_BLINK); in dualshock4_led_set_blink()
2034 ds4->update_lightbar_blink = true; in dualshock4_led_set_blink()
2036 spin_unlock_irqrestore(&ds4->base.lock, flags); in dualshock4_led_set_blink()
2038 dualshock4_schedule_work(ds4); in dualshock4_led_set_blink()
2040 *delay_on = ds4->lightbar_blink_on; in dualshock4_led_set_blink()
2041 *delay_off = ds4->lightbar_blink_off; in dualshock4_led_set_blink()
2049 struct dualshock4 *ds4 = hid_get_drvdata(hdev); in dualshock4_led_set_brightness() local
2053 spin_lock_irqsave(&ds4->base.lock, flags); in dualshock4_led_set_brightness()
2055 led_index = led - ds4->lightbar_leds; in dualshock4_led_set_brightness()
2058 ds4->lightbar_red = value; in dualshock4_led_set_brightness()
2061 ds4->lightbar_green = value; in dualshock4_led_set_brightness()
2064 ds4->lightbar_blue = value; in dualshock4_led_set_brightness()
2067 ds4->lightbar_enabled = !!value; in dualshock4_led_set_brightness()
2070 ds4->update_lightbar = true; in dualshock4_led_set_brightness()
2072 spin_unlock_irqrestore(&ds4->base.lock, flags); in dualshock4_led_set_brightness()
2074 dualshock4_schedule_work(ds4); in dualshock4_led_set_brightness()
2079 static void dualshock4_init_output_report(struct dualshock4 *ds4, in dualshock4_init_output_report() argument
2082 struct hid_device *hdev = ds4->base.hdev; in dualshock4_init_output_report()
2111 struct dualshock4 *ds4 = container_of(work, struct dualshock4, output_worker); in dualshock4_output_worker() local
2116 dualshock4_init_output_report(ds4, &report, ds4->output_report_dmabuf); in dualshock4_output_worker()
2119 spin_lock_irqsave(&ds4->base.lock, flags); in dualshock4_output_worker()
2121 if (ds4->update_rumble) { in dualshock4_output_worker()
2124 common->motor_left = ds4->motor_left; in dualshock4_output_worker()
2125 common->motor_right = ds4->motor_right; in dualshock4_output_worker()
2126 ds4->update_rumble = false; in dualshock4_output_worker()
2129 if (ds4->update_lightbar) { in dualshock4_output_worker()
2135 common->lightbar_red = ds4->lightbar_enabled ? ds4->lightbar_red : 0; in dualshock4_output_worker()
2136 common->lightbar_green = ds4->lightbar_enabled ? ds4->lightbar_green : 0; in dualshock4_output_worker()
2137 common->lightbar_blue = ds4->lightbar_enabled ? ds4->lightbar_blue : 0; in dualshock4_output_worker()
2138 ds4->update_lightbar = false; in dualshock4_output_worker()
2141 if (ds4->update_lightbar_blink) { in dualshock4_output_worker()
2143 common->lightbar_blink_on = ds4->lightbar_blink_on; in dualshock4_output_worker()
2144 common->lightbar_blink_off = ds4->lightbar_blink_off; in dualshock4_output_worker()
2145 ds4->update_lightbar_blink = false; in dualshock4_output_worker()
2148 spin_unlock_irqrestore(&ds4->base.lock, flags); in dualshock4_output_worker()
2160 if (ds4->update_bt_poll_interval) { in dualshock4_output_worker()
2161 report.bt->hw_control |= ds4->bt_poll_interval; in dualshock4_output_worker()
2162 ds4->update_bt_poll_interval = false; in dualshock4_output_worker()
2171 hid_hw_output_report(ds4->base.hdev, report.data, report.len); in dualshock4_output_worker()
2178 struct dualshock4 *ds4 = container_of(ps_dev, struct dualshock4, base); in dualshock4_parse_report() local
2217 input_report_abs(ds4->gamepad, ABS_X, ds4_report->x); in dualshock4_parse_report()
2218 input_report_abs(ds4->gamepad, ABS_Y, ds4_report->y); in dualshock4_parse_report()
2219 input_report_abs(ds4->gamepad, ABS_RX, ds4_report->rx); in dualshock4_parse_report()
2220 input_report_abs(ds4->gamepad, ABS_RY, ds4_report->ry); in dualshock4_parse_report()
2221 input_report_abs(ds4->gamepad, ABS_Z, ds4_report->z); in dualshock4_parse_report()
2222 input_report_abs(ds4->gamepad, ABS_RZ, ds4_report->rz); in dualshock4_parse_report()
2227 input_report_abs(ds4->gamepad, ABS_HAT0X, ps_gamepad_hat_mapping[value].x); in dualshock4_parse_report()
2228 input_report_abs(ds4->gamepad, ABS_HAT0Y, ps_gamepad_hat_mapping[value].y); in dualshock4_parse_report()
2230 input_report_key(ds4->gamepad, BTN_WEST, ds4_report->buttons[0] & DS_BUTTONS0_SQUARE); in dualshock4_parse_report()
2231 input_report_key(ds4->gamepad, BTN_SOUTH, ds4_report->buttons[0] & DS_BUTTONS0_CROSS); in dualshock4_parse_report()
2232 input_report_key(ds4->gamepad, BTN_EAST, ds4_report->buttons[0] & DS_BUTTONS0_CIRCLE); in dualshock4_parse_report()
2233 input_report_key(ds4->gamepad, BTN_NORTH, ds4_report->buttons[0] & DS_BUTTONS0_TRIANGLE); in dualshock4_parse_report()
2234 input_report_key(ds4->gamepad, BTN_TL, ds4_report->buttons[1] & DS_BUTTONS1_L1); in dualshock4_parse_report()
2235 input_report_key(ds4->gamepad, BTN_TR, ds4_report->buttons[1] & DS_BUTTONS1_R1); in dualshock4_parse_report()
2236 input_report_key(ds4->gamepad, BTN_TL2, ds4_report->buttons[1] & DS_BUTTONS1_L2); in dualshock4_parse_report()
2237 input_report_key(ds4->gamepad, BTN_TR2, ds4_report->buttons[1] & DS_BUTTONS1_R2); in dualshock4_parse_report()
2238 input_report_key(ds4->gamepad, BTN_SELECT, ds4_report->buttons[1] & DS_BUTTONS1_CREATE); in dualshock4_parse_report()
2239 input_report_key(ds4->gamepad, BTN_START, ds4_report->buttons[1] & DS_BUTTONS1_OPTIONS); in dualshock4_parse_report()
2240 input_report_key(ds4->gamepad, BTN_THUMBL, ds4_report->buttons[1] & DS_BUTTONS1_L3); in dualshock4_parse_report()
2241 input_report_key(ds4->gamepad, BTN_THUMBR, ds4_report->buttons[1] & DS_BUTTONS1_R3); in dualshock4_parse_report()
2242 input_report_key(ds4->gamepad, BTN_MODE, ds4_report->buttons[2] & DS_BUTTONS2_PS_HOME); in dualshock4_parse_report()
2243 input_sync(ds4->gamepad); in dualshock4_parse_report()
2248 int calib_data = mult_frac(ds4->gyro_calib_data[i].sens_numer, in dualshock4_parse_report()
2249 raw_data, ds4->gyro_calib_data[i].sens_denom); in dualshock4_parse_report()
2251 input_report_abs(ds4->sensors, ds4->gyro_calib_data[i].abs_code, calib_data); in dualshock4_parse_report()
2257 int calib_data = mult_frac(ds4->accel_calib_data[i].sens_numer, in dualshock4_parse_report()
2258 raw_data - ds4->accel_calib_data[i].bias, in dualshock4_parse_report()
2259 ds4->accel_calib_data[i].sens_denom); in dualshock4_parse_report()
2261 input_report_abs(ds4->sensors, ds4->accel_calib_data[i].abs_code, calib_data); in dualshock4_parse_report()
2266 if (!ds4->sensor_timestamp_initialized) { in dualshock4_parse_report()
2267 ds4->sensor_timestamp_us = DIV_ROUND_CLOSEST(sensor_timestamp*16, 3); in dualshock4_parse_report()
2268 ds4->sensor_timestamp_initialized = true; in dualshock4_parse_report()
2272 if (ds4->prev_sensor_timestamp > sensor_timestamp) in dualshock4_parse_report()
2273 delta = (U16_MAX - ds4->prev_sensor_timestamp + sensor_timestamp + 1); in dualshock4_parse_report()
2275 delta = sensor_timestamp - ds4->prev_sensor_timestamp; in dualshock4_parse_report()
2276 ds4->sensor_timestamp_us += DIV_ROUND_CLOSEST(delta*16, 3); in dualshock4_parse_report()
2278 ds4->prev_sensor_timestamp = sensor_timestamp; in dualshock4_parse_report()
2279 input_event(ds4->sensors, EV_MSC, MSC_TIMESTAMP, ds4->sensor_timestamp_us); in dualshock4_parse_report()
2280 input_sync(ds4->sensors); in dualshock4_parse_report()
2289 input_mt_slot(ds4->touchpad, j); in dualshock4_parse_report()
2290 input_mt_report_slot_state(ds4->touchpad, MT_TOOL_FINGER, active); in dualshock4_parse_report()
2296 input_report_abs(ds4->touchpad, ABS_MT_POSITION_X, x); in dualshock4_parse_report()
2297 input_report_abs(ds4->touchpad, ABS_MT_POSITION_Y, y); in dualshock4_parse_report()
2300 input_mt_sync_frame(ds4->touchpad); in dualshock4_parse_report()
2301 input_sync(ds4->touchpad); in dualshock4_parse_report()
2303 input_report_key(ds4->touchpad, BTN_LEFT, ds4_report->buttons[2] & DS_BUTTONS2_TOUCHPAD); in dualshock4_parse_report()
2358 struct dualshock4 *ds4 = container_of(ps_dev, struct dualshock4, base); in dualshock4_dongle_parse_report() local
2372 if (ds4->dongle_state == DONGLE_DISCONNECTED && connected) { in dualshock4_dongle_parse_report()
2375 dualshock4_set_default_lightbar_colors(ds4); in dualshock4_dongle_parse_report()
2378 ds4->dongle_state = DONGLE_CALIBRATING; in dualshock4_dongle_parse_report()
2381 schedule_work(&ds4->dongle_hotplug_worker); in dualshock4_dongle_parse_report()
2387 } else if ((ds4->dongle_state == DONGLE_CONNECTED || in dualshock4_dongle_parse_report()
2388 ds4->dongle_state == DONGLE_DISABLED) && !connected) { in dualshock4_dongle_parse_report()
2392 ds4->dongle_state = DONGLE_DISCONNECTED; in dualshock4_dongle_parse_report()
2397 } else if (ds4->dongle_state == DONGLE_CALIBRATING || in dualshock4_dongle_parse_report()
2398 ds4->dongle_state == DONGLE_DISABLED || in dualshock4_dongle_parse_report()
2399 ds4->dongle_state == DONGLE_DISCONNECTED) { in dualshock4_dongle_parse_report()
2414 struct dualshock4 *ds4 = hid_get_drvdata(hdev); in dualshock4_play_effect() local
2420 spin_lock_irqsave(&ds4->base.lock, flags); in dualshock4_play_effect()
2421 ds4->update_rumble = true; in dualshock4_play_effect()
2422 ds4->motor_left = effect->u.rumble.strong_magnitude / 256; in dualshock4_play_effect()
2423 ds4->motor_right = effect->u.rumble.weak_magnitude / 256; in dualshock4_play_effect()
2424 spin_unlock_irqrestore(&ds4->base.lock, flags); in dualshock4_play_effect()
2426 dualshock4_schedule_work(ds4); in dualshock4_play_effect()
2432 struct dualshock4 *ds4 = container_of(ps_dev, struct dualshock4, base); in dualshock4_remove() local
2435 spin_lock_irqsave(&ds4->base.lock, flags); in dualshock4_remove()
2436 ds4->output_worker_initialized = false; in dualshock4_remove()
2437 spin_unlock_irqrestore(&ds4->base.lock, flags); in dualshock4_remove()
2439 cancel_work_sync(&ds4->output_worker); in dualshock4_remove()
2442 cancel_work_sync(&ds4->dongle_hotplug_worker); in dualshock4_remove()
2445 static inline void dualshock4_schedule_work(struct dualshock4 *ds4) in dualshock4_schedule_work() argument
2449 spin_lock_irqsave(&ds4->base.lock, flags); in dualshock4_schedule_work()
2450 if (ds4->output_worker_initialized) in dualshock4_schedule_work()
2451 schedule_work(&ds4->output_worker); in dualshock4_schedule_work()
2452 spin_unlock_irqrestore(&ds4->base.lock, flags); in dualshock4_schedule_work()
2455 static void dualshock4_set_bt_poll_interval(struct dualshock4 *ds4, uint8_t interval) in dualshock4_set_bt_poll_interval() argument
2457 ds4->bt_poll_interval = interval; in dualshock4_set_bt_poll_interval()
2458 ds4->update_bt_poll_interval = true; in dualshock4_set_bt_poll_interval()
2459 dualshock4_schedule_work(ds4); in dualshock4_set_bt_poll_interval()
2463 static void dualshock4_set_default_lightbar_colors(struct dualshock4 *ds4) in dualshock4_set_default_lightbar_colors() argument
2475 uint8_t player_id = ds4->base.player_id % ARRAY_SIZE(player_colors); in dualshock4_set_default_lightbar_colors()
2477 ds4->lightbar_enabled = true; in dualshock4_set_default_lightbar_colors()
2478 ds4->lightbar_red = player_colors[player_id][0]; in dualshock4_set_default_lightbar_colors()
2479 ds4->lightbar_green = player_colors[player_id][1]; in dualshock4_set_default_lightbar_colors()
2480 ds4->lightbar_blue = player_colors[player_id][2]; in dualshock4_set_default_lightbar_colors()
2482 ds4->update_lightbar = true; in dualshock4_set_default_lightbar_colors()
2483 dualshock4_schedule_work(ds4); in dualshock4_set_default_lightbar_colors()
2488 struct dualshock4 *ds4; in dualshock4_create() local
2510 ds4 = devm_kzalloc(&hdev->dev, sizeof(*ds4), GFP_KERNEL); in dualshock4_create()
2511 if (!ds4) in dualshock4_create()
2520 ps_dev = &ds4->base; in dualshock4_create()
2527 INIT_WORK(&ds4->output_worker, dualshock4_output_worker); in dualshock4_create()
2528 ds4->output_worker_initialized = true; in dualshock4_create()
2529 hid_set_drvdata(hdev, ds4); in dualshock4_create()
2532 ds4->output_report_dmabuf = devm_kzalloc(&hdev->dev, max_output_report_size, GFP_KERNEL); in dualshock4_create()
2533 if (!ds4->output_report_dmabuf) in dualshock4_create()
2537 ds4->dongle_state = DONGLE_DISCONNECTED; in dualshock4_create()
2538 INIT_WORK(&ds4->dongle_hotplug_worker, dualshock4_dongle_calibration_work); in dualshock4_create()
2544 ret = dualshock4_get_mac_address(ds4); in dualshock4_create()
2549 snprintf(hdev->uniq, sizeof(hdev->uniq), "%pMR", ds4->base.mac_address); in dualshock4_create()
2551 ret = dualshock4_get_firmware_info(ds4); in dualshock4_create()
2561 ret = dualshock4_get_calibration_data(ds4); in dualshock4_create()
2567 ds4->gamepad = ps_gamepad_create(hdev, dualshock4_play_effect); in dualshock4_create()
2568 if (IS_ERR(ds4->gamepad)) { in dualshock4_create()
2569 ret = PTR_ERR(ds4->gamepad); in dualshock4_create()
2574 ps_dev->input_dev_name = dev_name(&ds4->gamepad->dev); in dualshock4_create()
2576 ds4->sensors = ps_sensors_create(hdev, DS4_ACC_RANGE, DS4_ACC_RES_PER_G, in dualshock4_create()
2578 if (IS_ERR(ds4->sensors)) { in dualshock4_create()
2579 ret = PTR_ERR(ds4->sensors); in dualshock4_create()
2583 ds4->touchpad = ps_touchpad_create(hdev, DS4_TOUCHPAD_WIDTH, DS4_TOUCHPAD_HEIGHT, 2); in dualshock4_create()
2584 if (IS_ERR(ds4->touchpad)) { in dualshock4_create()
2585 ret = PTR_ERR(ds4->touchpad); in dualshock4_create()
2596 ret = ps_led_register(ps_dev, &ds4->lightbar_leds[i], led_info); in dualshock4_create()
2601 dualshock4_set_bt_poll_interval(ds4, DS4_BT_DEFAULT_POLL_INTERVAL_MS); in dualshock4_create()
2609 dualshock4_set_default_lightbar_colors(ds4); in dualshock4_create()
2616 ds4->base.hw_version, ds4->base.fw_version); in dualshock4_create()
2617 return &ds4->base; in dualshock4_create()