@ -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
} ;