|
@@ -167,7 +167,7 @@ static ssize_t isku_sysfs_write_ ## thingy(struct file *fp, struct kobject *kobj
|
|
|
loff_t off, size_t count) \
|
|
|
{ \
|
|
|
return isku_sysfs_write(fp, kobj, buf, off, count, \
|
|
|
- sizeof(struct isku_ ## thingy), ISKU_COMMAND_ ## THINGY); \
|
|
|
+ ISKU_SIZE_ ## THINGY, ISKU_COMMAND_ ## THINGY); \
|
|
|
}
|
|
|
|
|
|
#define ISKU_SYSFS_R(thingy, THINGY) \
|
|
@@ -176,32 +176,32 @@ static ssize_t isku_sysfs_read_ ## thingy(struct file *fp, struct kobject *kobj,
|
|
|
loff_t off, size_t count) \
|
|
|
{ \
|
|
|
return isku_sysfs_read(fp, kobj, buf, off, count, \
|
|
|
- sizeof(struct isku_ ## thingy), ISKU_COMMAND_ ## THINGY); \
|
|
|
+ ISKU_SIZE_ ## THINGY, ISKU_COMMAND_ ## THINGY); \
|
|
|
}
|
|
|
|
|
|
#define ISKU_SYSFS_RW(thingy, THINGY) \
|
|
|
ISKU_SYSFS_R(thingy, THINGY) \
|
|
|
ISKU_SYSFS_W(thingy, THINGY)
|
|
|
|
|
|
-#define ISKU_BIN_ATTR_RW(thingy) \
|
|
|
+#define ISKU_BIN_ATTR_RW(thingy, THINGY) \
|
|
|
{ \
|
|
|
.attr = { .name = #thingy, .mode = 0660 }, \
|
|
|
- .size = sizeof(struct isku_ ## thingy), \
|
|
|
+ .size = ISKU_SIZE_ ## THINGY, \
|
|
|
.read = isku_sysfs_read_ ## thingy, \
|
|
|
.write = isku_sysfs_write_ ## thingy \
|
|
|
}
|
|
|
|
|
|
-#define ISKU_BIN_ATTR_R(thingy) \
|
|
|
+#define ISKU_BIN_ATTR_R(thingy, THINGY) \
|
|
|
{ \
|
|
|
.attr = { .name = #thingy, .mode = 0440 }, \
|
|
|
- .size = sizeof(struct isku_ ## thingy), \
|
|
|
+ .size = ISKU_SIZE_ ## THINGY, \
|
|
|
.read = isku_sysfs_read_ ## thingy, \
|
|
|
}
|
|
|
|
|
|
-#define ISKU_BIN_ATTR_W(thingy) \
|
|
|
+#define ISKU_BIN_ATTR_W(thingy, THINGY) \
|
|
|
{ \
|
|
|
.attr = { .name = #thingy, .mode = 0220 }, \
|
|
|
- .size = sizeof(struct isku_ ## thingy), \
|
|
|
+ .size = ISKU_SIZE_ ## THINGY, \
|
|
|
.write = isku_sysfs_write_ ## thingy \
|
|
|
}
|
|
|
|
|
@@ -220,19 +220,19 @@ ISKU_SYSFS_R(info, INFO)
|
|
|
ISKU_SYSFS_W(control, CONTROL)
|
|
|
|
|
|
static struct bin_attribute isku_bin_attributes[] = {
|
|
|
- ISKU_BIN_ATTR_RW(macro),
|
|
|
- ISKU_BIN_ATTR_RW(keys_function),
|
|
|
- ISKU_BIN_ATTR_RW(keys_easyzone),
|
|
|
- ISKU_BIN_ATTR_RW(keys_media),
|
|
|
- ISKU_BIN_ATTR_RW(keys_thumbster),
|
|
|
- ISKU_BIN_ATTR_RW(keys_macro),
|
|
|
- ISKU_BIN_ATTR_RW(keys_capslock),
|
|
|
- ISKU_BIN_ATTR_RW(light),
|
|
|
- ISKU_BIN_ATTR_RW(key_mask),
|
|
|
- ISKU_BIN_ATTR_RW(last_set),
|
|
|
- ISKU_BIN_ATTR_W(talk),
|
|
|
- ISKU_BIN_ATTR_R(info),
|
|
|
- ISKU_BIN_ATTR_W(control),
|
|
|
+ ISKU_BIN_ATTR_RW(macro, MACRO),
|
|
|
+ ISKU_BIN_ATTR_RW(keys_function, KEYS_FUNCTION),
|
|
|
+ ISKU_BIN_ATTR_RW(keys_easyzone, KEYS_EASYZONE),
|
|
|
+ ISKU_BIN_ATTR_RW(keys_media, KEYS_MEDIA),
|
|
|
+ ISKU_BIN_ATTR_RW(keys_thumbster, KEYS_THUMBSTER),
|
|
|
+ ISKU_BIN_ATTR_RW(keys_macro, KEYS_MACRO),
|
|
|
+ ISKU_BIN_ATTR_RW(keys_capslock, KEYS_CAPSLOCK),
|
|
|
+ ISKU_BIN_ATTR_RW(light, LIGHT),
|
|
|
+ ISKU_BIN_ATTR_RW(key_mask, KEY_MASK),
|
|
|
+ ISKU_BIN_ATTR_RW(last_set, LAST_SET),
|
|
|
+ ISKU_BIN_ATTR_W(talk, TALK),
|
|
|
+ ISKU_BIN_ATTR_R(info, INFO),
|
|
|
+ ISKU_BIN_ATTR_W(control, CONTROL),
|
|
|
__ATTR_NULL
|
|
|
};
|
|
|
|