Macro for SysFS attribute definition
This commit is contained in:
parent
c225959b1c
commit
52a37f1e08
|
|
@ -19,11 +19,7 @@ ssize_t ec_show_domain_attribute(struct kobject *, struct attribute *, char *);
|
|||
|
||||
/*****************************************************************************/
|
||||
|
||||
static struct attribute attr_data_size = {
|
||||
.name = "data_size",
|
||||
.owner = THIS_MODULE,
|
||||
.mode = S_IRUGO
|
||||
};
|
||||
EC_SYSFS_READ_ATTR(data_size);
|
||||
|
||||
static struct attribute *def_attrs[] = {
|
||||
&attr_data_size,
|
||||
|
|
|
|||
|
|
@ -43,6 +43,14 @@
|
|||
#define EC_DBG(fmt, args...) \
|
||||
printk(KERN_DEBUG "EtherCAT DEBUG: " fmt, ##args)
|
||||
|
||||
#define EC_LIT(X) #X
|
||||
#define EC_STR(X) EC_LIT(X)
|
||||
|
||||
#define EC_SYSFS_READ_ATTR(NAME) \
|
||||
static struct attribute attr_##NAME = { \
|
||||
.name = EC_STR(NAME), .owner = THIS_MODULE, .mode = S_IRUGO \
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
extern void ec_print_data(const uint8_t *, size_t);
|
||||
|
|
|
|||
|
|
@ -29,11 +29,7 @@ ssize_t ec_show_master_attribute(struct kobject *, struct attribute *, char *);
|
|||
|
||||
/*****************************************************************************/
|
||||
|
||||
static struct attribute attr_slave_count = {
|
||||
.name = "slave_count",
|
||||
.owner = THIS_MODULE,
|
||||
.mode = S_IRUGO
|
||||
};
|
||||
EC_SYSFS_READ_ATTR(slave_count);
|
||||
|
||||
static struct attribute *ec_def_attrs[] = {
|
||||
&attr_slave_count,
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
|
||||
#include "globals.h"
|
||||
#include "master.h"
|
||||
#include "device.h"
|
||||
|
||||
|
|
@ -32,9 +33,6 @@ void __exit ec_cleanup_module(void);
|
|||
|
||||
/*****************************************************************************/
|
||||
|
||||
#define EC_LIT(X) #X
|
||||
#define EC_STR(X) EC_LIT(X)
|
||||
|
||||
#define COMPILE_INFO "Revision " EC_STR(SVNREV) \
|
||||
", compiled by " EC_STR(USER) \
|
||||
" at " __DATE__ " " __TIME__
|
||||
|
|
|
|||
|
|
@ -28,25 +28,11 @@ ssize_t ec_show_slave_attribute(struct kobject *, struct attribute *, char *);
|
|||
|
||||
/*****************************************************************************/
|
||||
|
||||
static struct attribute attr_ring_position = {
|
||||
.name = "ring_position", .owner = THIS_MODULE, .mode = S_IRUGO
|
||||
};
|
||||
|
||||
static struct attribute attr_station_address = {
|
||||
.name = "station_address", .owner = THIS_MODULE, .mode = S_IRUGO
|
||||
};
|
||||
|
||||
static struct attribute attr_vendor_name = {
|
||||
.name = "vendor_name", .owner = THIS_MODULE, .mode = S_IRUGO
|
||||
};
|
||||
|
||||
static struct attribute attr_product_name = {
|
||||
.name = "product_name", .owner = THIS_MODULE, .mode = S_IRUGO
|
||||
};
|
||||
|
||||
static struct attribute attr_product_desc = {
|
||||
.name = "product_description", .owner = THIS_MODULE, .mode = S_IRUGO
|
||||
};
|
||||
EC_SYSFS_READ_ATTR(ring_position);
|
||||
EC_SYSFS_READ_ATTR(station_address);
|
||||
EC_SYSFS_READ_ATTR(vendor_name);
|
||||
EC_SYSFS_READ_ATTR(product_name);
|
||||
EC_SYSFS_READ_ATTR(product_desc);
|
||||
|
||||
static struct attribute *def_attrs[] = {
|
||||
&attr_ring_position,
|
||||
|
|
|
|||
Loading…
Reference in New Issue