Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit be4925b0 authored by Przemo Firszt's avatar Przemo Firszt Committed by Jiri Kosina
Browse files

HID: wacom: Add speed setting for Intuos4 WL



Add option to change reporting speed for Intuos4 WL. The option is only
internal to the module, but it will be extended to allow control over sysfs,
as it is already implemented for Graphire.

Signed-off-by: default avatarPrzemo Firszt <przemo@firszt.eu>
Acked-by: default avatarPing Cheng <pingc@wacom.com>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent 163a6ae1
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -228,16 +228,25 @@ static int wacom_ac_get_property(struct power_supply *psy,
	return ret;
}

static void wacom_set_features(struct hid_device *hdev)
static void wacom_set_features(struct hid_device *hdev, u8 speed)
{
	struct wacom_data *wdata = hid_get_drvdata(hdev);
	int ret;
	__u8 rep_data[2];

	/*set high speed, tablet mode*/
	if (speed == 1)
		wdata->features &= ~0x20;
	else
		wdata->features |= 0x20;

	rep_data[0] = 0x03;
	rep_data[1] = 0x20;
	rep_data[1] = wdata->features;

	ret = hdev->hid_output_raw_report(hdev, rep_data, 2,
				HID_FEATURE_REPORT);
	if (ret >= 0)
		wdata->high_speed = speed;

	return;
}

@@ -719,7 +728,7 @@ static int wacom_probe(struct hid_device *hdev,
	case USB_DEVICE_ID_WACOM_INTUOS4_BLUETOOTH:
		sprintf(hdev->name, "%s", "Wacom Intuos4 WL");
		wdata->features = 0;
		wacom_set_features(hdev);
		wacom_set_features(hdev, 1);
		ret = wacom_initialize_leds(hdev);
		if (ret) {
			hid_warn(hdev,