diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-21 18:40:24 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-21 18:40:24 -0400 |
| commit | ec965350bb98bd291eb34f6ecddfdcfc36da1e6e (patch) | |
| tree | 983bcaf33ed00b48a86f7f8790cc460cf15dd252 /include/linux/sysdev.h | |
| parent | 5f033bb9bc5cb3bb37a79e3ef131f50ecdcb72b0 (diff) | |
| parent | 486fdae21458bd9f4e125099bb3c38a4064e450e (diff) | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel: (62 commits)
sched: build fix
sched: better rt-group documentation
sched: features fix
sched: /debug/sched_features
sched: add SCHED_FEAT_DEADLINE
sched: debug: show a weight tree
sched: fair: weight calculations
sched: fair-group: de-couple load-balancing from the rb-trees
sched: fair-group scheduling vs latency
sched: rt-group: optimize dequeue_rt_stack
sched: debug: add some debug code to handle the full hierarchy
sched: fair-group: SMP-nice for group scheduling
sched, cpuset: customize sched domains, core
sched, cpuset: customize sched domains, docs
sched: prepatory code movement
sched: rt: multi level group constraints
sched: task_group hierarchy
sched: fix the task_group hierarchy for UID grouping
sched: allow the group scheduler to have multiple levels
sched: mix tasks and groups
...
Diffstat (limited to 'include/linux/sysdev.h')
| -rw-r--r-- | include/linux/sysdev.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/include/linux/sysdev.h b/include/linux/sysdev.h index f752e73bf977..f2767bc6b735 100644 --- a/include/linux/sysdev.h +++ b/include/linux/sysdev.h | |||
| @@ -45,12 +45,16 @@ struct sysdev_class_attribute { | |||
| 45 | ssize_t (*store)(struct sysdev_class *, const char *, size_t); | 45 | ssize_t (*store)(struct sysdev_class *, const char *, size_t); |
| 46 | }; | 46 | }; |
| 47 | 47 | ||
| 48 | #define SYSDEV_CLASS_ATTR(_name,_mode,_show,_store) \ | 48 | #define _SYSDEV_CLASS_ATTR(_name,_mode,_show,_store) \ |
| 49 | struct sysdev_class_attribute attr_##_name = { \ | 49 | { \ |
| 50 | .attr = {.name = __stringify(_name), .mode = _mode }, \ | 50 | .attr = {.name = __stringify(_name), .mode = _mode }, \ |
| 51 | .show = _show, \ | 51 | .show = _show, \ |
| 52 | .store = _store, \ | 52 | .store = _store, \ |
| 53 | }; | 53 | } |
| 54 | |||
| 55 | #define SYSDEV_CLASS_ATTR(_name,_mode,_show,_store) \ | ||
| 56 | struct sysdev_class_attribute attr_##_name = \ | ||
| 57 | _SYSDEV_CLASS_ATTR(_name,_mode,_show,_store) | ||
| 54 | 58 | ||
| 55 | 59 | ||
| 56 | extern int sysdev_class_register(struct sysdev_class *); | 60 | extern int sysdev_class_register(struct sysdev_class *); |
| @@ -100,15 +104,16 @@ struct sysdev_attribute { | |||
| 100 | }; | 104 | }; |
| 101 | 105 | ||
| 102 | 106 | ||
| 103 | #define _SYSDEV_ATTR(_name,_mode,_show,_store) \ | 107 | #define _SYSDEV_ATTR(_name, _mode, _show, _store) \ |
| 104 | { \ | 108 | { \ |
| 105 | .attr = { .name = __stringify(_name), .mode = _mode }, \ | 109 | .attr = { .name = __stringify(_name), .mode = _mode }, \ |
| 106 | .show = _show, \ | 110 | .show = _show, \ |
| 107 | .store = _store, \ | 111 | .store = _store, \ |
| 108 | } | 112 | } |
| 109 | 113 | ||
| 110 | #define SYSDEV_ATTR(_name,_mode,_show,_store) \ | 114 | #define SYSDEV_ATTR(_name, _mode, _show, _store) \ |
| 111 | struct sysdev_attribute attr_##_name = _SYSDEV_ATTR(_name,_mode,_show,_store); | 115 | struct sysdev_attribute attr_##_name = \ |
| 116 | _SYSDEV_ATTR(_name, _mode, _show, _store); | ||
| 112 | 117 | ||
| 113 | extern int sysdev_create_file(struct sys_device *, struct sysdev_attribute *); | 118 | extern int sysdev_create_file(struct sys_device *, struct sysdev_attribute *); |
| 114 | extern void sysdev_remove_file(struct sys_device *, struct sysdev_attribute *); | 119 | extern void sysdev_remove_file(struct sys_device *, struct sysdev_attribute *); |
