コード例 #1
0
static int koneplus_init_koneplus_device_struct(struct usb_device *usb_dev,
		struct koneplus_device *koneplus)
{
	int retval, i;
	static uint wait = 200;

	mutex_init(&koneplus->koneplus_lock);

	retval = koneplus_get_info(usb_dev, &koneplus->info);
	if (retval)
		return retval;

	for (i = 0; i < 5; ++i) {
		msleep(wait);
		retval = koneplus_get_profile_settings(usb_dev,
				&koneplus->profile_settings[i], i);
		if (retval)
			return retval;

		msleep(wait);
		retval = koneplus_get_profile_buttons(usb_dev,
				&koneplus->profile_buttons[i], i);
		if (retval)
			return retval;
	}

	msleep(wait);
	retval = koneplus_get_actual_profile(usb_dev);
	if (retval < 0)
		return retval;
	koneplus_profile_activated(koneplus, retval);

	return 0;
}
コード例 #2
0
ファイル: hid-roccat-koneplus.c プロジェクト: 168519/linux
static int koneplus_init_koneplus_device_struct(struct usb_device *usb_dev,
		struct koneplus_device *koneplus)
{
	int retval;

	mutex_init(&koneplus->koneplus_lock);

	retval = koneplus_get_actual_profile(usb_dev);
	if (retval < 0)
		return retval;
	koneplus_profile_activated(koneplus, retval);

	return 0;
}