Skip to content

Commit

Permalink
HID: roccat: allow readout of koneplus sensor register data
Browse files Browse the repository at this point in the history
tcu sysfs attr was used to only control calibration process so far. Direct
sensor register access possibility has been revealed. Allowing readout of tcu
permits usage of this feature.

Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
  • Loading branch information
Stefan Achatz authored and Jiri Kosina committed Oct 17, 2012
1 parent 4424f61 commit 5277e97
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 4 deletions.
6 changes: 3 additions & 3 deletions Documentation/ABI/testing/sysfs-driver-hid-roccat-koneplus
Original file line number Diff line number Diff line change
Expand Up @@ -104,9 +104,9 @@ What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-
Date: October 2010
Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
Description: When written a calibration process for the tracking control unit
can be initiated/cancelled.
The data has to be 3 bytes long.
This file is writeonly.
can be initiated/cancelled. Also lets one read/write sensor
registers.
The data has to be 4 bytes long.
Users: http://roccat.sourceforge.net

What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/tcu_image
Expand Down
11 changes: 10 additions & 1 deletion drivers/hid/hid-roccat-koneplus.c
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,14 @@ static ssize_t koneplus_sysfs_write_tcu(struct file *fp,
sizeof(struct koneplus_tcu), KONEPLUS_COMMAND_TCU);
}

static ssize_t koneplus_sysfs_read_tcu(struct file *fp,
struct kobject *kobj, struct bin_attribute *attr, char *buf,
loff_t off, size_t count)
{
return koneplus_sysfs_read(fp, kobj, buf, off, count,
sizeof(struct koneplus_tcu), KONEPLUS_COMMAND_TCU);
}

static ssize_t koneplus_sysfs_read_tcu_image(struct file *fp,
struct kobject *kobj, struct bin_attribute *attr, char *buf,
loff_t off, size_t count)
Expand Down Expand Up @@ -426,8 +434,9 @@ static struct bin_attribute koneplus_bin_attributes[] = {
.write = koneplus_sysfs_write_sensor
},
{
.attr = { .name = "tcu", .mode = 0220 },
.attr = { .name = "tcu", .mode = 0660 },
.size = sizeof(struct koneplus_tcu),
.read = koneplus_sysfs_read_tcu,
.write = koneplus_sysfs_write_tcu
},
{
Expand Down

0 comments on commit 5277e97

Please sign in to comment.