|
@@ -496,6 +496,10 @@ ssize_t device_show_int(struct device *dev, struct device_attribute *attr,
|
|
|
char *buf);
|
|
|
ssize_t device_store_int(struct device *dev, struct device_attribute *attr,
|
|
|
const char *buf, size_t count);
|
|
|
+ssize_t device_show_bool(struct device *dev, struct device_attribute *attr,
|
|
|
+ char *buf);
|
|
|
+ssize_t device_store_bool(struct device *dev, struct device_attribute *attr,
|
|
|
+ const char *buf, size_t count);
|
|
|
|
|
|
#define DEVICE_ATTR(_name, _mode, _show, _store) \
|
|
|
struct device_attribute dev_attr_##_name = __ATTR(_name, _mode, _show, _store)
|
|
@@ -505,6 +509,9 @@ ssize_t device_store_int(struct device *dev, struct device_attribute *attr,
|
|
|
#define DEVICE_INT_ATTR(_name, _mode, _var) \
|
|
|
struct dev_ext_attribute dev_attr_##_name = \
|
|
|
{ __ATTR(_name, _mode, device_show_int, device_store_int), &(_var) }
|
|
|
+#define DEVICE_BOOL_ATTR(_name, _mode, _var) \
|
|
|
+ struct dev_ext_attribute dev_attr_##_name = \
|
|
|
+ { __ATTR(_name, _mode, device_show_bool, device_store_bool), &(_var) }
|
|
|
#define DEVICE_ATTR_IGNORE_LOCKDEP(_name, _mode, _show, _store) \
|
|
|
struct device_attribute dev_attr_##_name = \
|
|
|
__ATTR_IGNORE_LOCKDEP(_name, _mode, _show, _store)
|