diff options
Diffstat (limited to 'include/linux/sysfs.h')
| -rw-r--r-- | include/linux/sysfs.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h index 0010009b2f00..381f06db2fe5 100644 --- a/include/linux/sysfs.h +++ b/include/linux/sysfs.h | |||
| @@ -27,6 +27,7 @@ struct attribute { | |||
| 27 | const char *name; | 27 | const char *name; |
| 28 | umode_t mode; | 28 | umode_t mode; |
| 29 | #ifdef CONFIG_DEBUG_LOCK_ALLOC | 29 | #ifdef CONFIG_DEBUG_LOCK_ALLOC |
| 30 | bool ignore_lockdep:1; | ||
| 30 | struct lock_class_key *key; | 31 | struct lock_class_key *key; |
| 31 | struct lock_class_key skey; | 32 | struct lock_class_key skey; |
| 32 | #endif | 33 | #endif |
| @@ -80,6 +81,17 @@ struct attribute_group { | |||
| 80 | 81 | ||
| 81 | #define __ATTR_NULL { .attr = { .name = NULL } } | 82 | #define __ATTR_NULL { .attr = { .name = NULL } } |
| 82 | 83 | ||
| 84 | #ifdef CONFIG_DEBUG_LOCK_ALLOC | ||
| 85 | #define __ATTR_IGNORE_LOCKDEP(_name, _mode, _show, _store) { \ | ||
| 86 | .attr = {.name = __stringify(_name), .mode = _mode, \ | ||
| 87 | .ignore_lockdep = true }, \ | ||
| 88 | .show = _show, \ | ||
| 89 | .store = _store, \ | ||
| 90 | } | ||
| 91 | #else | ||
| 92 | #define __ATTR_IGNORE_LOCKDEP __ATTR | ||
| 93 | #endif | ||
| 94 | |||
| 83 | #define attr_name(_attr) (_attr).attr.name | 95 | #define attr_name(_attr) (_attr).attr.name |
| 84 | 96 | ||
| 85 | struct file; | 97 | struct file; |
