2017-01-08 12:13:18 +03:00
|
|
|
#ifndef _SYSFS_H_
|
|
|
|
#define _SYSFS_H_
|
|
|
|
|
|
|
|
#include <linux/compiler.h>
|
|
|
|
#include <linux/stringify.h>
|
|
|
|
|
|
|
|
struct kobject;
|
|
|
|
|
|
|
|
struct attribute {
|
|
|
|
const char *name;
|
|
|
|
umode_t mode;
|
|
|
|
};
|
|
|
|
|
|
|
|
#define __ATTR(_name, _mode, _show, _store) { \
|
|
|
|
.attr = {.name = __stringify(_name), .mode = _mode }, \
|
|
|
|
.show = _show, \
|
|
|
|
.store = _store, \
|
|
|
|
}
|
|
|
|
|
2017-03-20 08:39:19 +03:00
|
|
|
struct sysfs_ops {
|
|
|
|
ssize_t (*show)(struct kobject *, struct attribute *, char *);
|
|
|
|
ssize_t (*store)(struct kobject *, struct attribute *, const char *, size_t);
|
|
|
|
};
|
|
|
|
|
2017-01-08 12:13:18 +03:00
|
|
|
static inline int sysfs_create_files(struct kobject *kobj,
|
|
|
|
const struct attribute **attr)
|
|
|
|
{
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline int sysfs_create_link(struct kobject *kobj,
|
|
|
|
struct kobject *target, const char *name)
|
|
|
|
{
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline void sysfs_remove_link(struct kobject *kobj, const char *name)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif /* _SYSFS_H_ */
|