aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-26 14:41:30 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-26 14:41:30 -0500
commita7538a7f87826fb5cacc6959f00dfa9fba6f4b15 (patch)
treea0fef9252200a78634f0fa4eaa714c7a40e802b9 /include
parent92320cec611d4ed44a9bd635727d61f6caa669a7 (diff)
parentdfff0a0671baf4e69fc676bf8150635407548288 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: Revert "Driver core: let request_module() send a /sys/modules/kmod/-uevent" Driver core: fix error by cleanup up symlinks properly make kernel/kmod.c:kmod_mk static power management: fix struct layout and docs power management: no valid states w/o pm_ops Driver core: more fallout from class_device changes for pcmcia sysfs: move struct sysfs_dirent to private header driver core: refcounting fix Driver core: remove class_device_rename
Diffstat (limited to 'include')
-rw-r--r--include/linux/device.h2
-rw-r--r--include/linux/kmod.h2
-rw-r--r--include/linux/pm.h37
-rw-r--r--include/linux/sysfs.h13
4 files changed, 36 insertions, 18 deletions
diff --git a/include/linux/device.h b/include/linux/device.h
index d1a3a27c3988..39a3199a826d 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -294,8 +294,6 @@ extern void class_device_initialize(struct class_device *);
294extern int __must_check class_device_add(struct class_device *); 294extern int __must_check class_device_add(struct class_device *);
295extern void class_device_del(struct class_device *); 295extern void class_device_del(struct class_device *);
296 296
297extern int class_device_rename(struct class_device *, char *);
298
299extern struct class_device * class_device_get(struct class_device *); 297extern struct class_device * class_device_get(struct class_device *);
300extern void class_device_put(struct class_device *); 298extern void class_device_put(struct class_device *);
301 299
diff --git a/include/linux/kmod.h b/include/linux/kmod.h
index cc8e674ae27a..10f505c8431d 100644
--- a/include/linux/kmod.h
+++ b/include/linux/kmod.h
@@ -28,10 +28,8 @@
28#ifdef CONFIG_KMOD 28#ifdef CONFIG_KMOD
29/* modprobe exit status on success, -ve on error. Return value 29/* modprobe exit status on success, -ve on error. Return value
30 * usually useless though. */ 30 * usually useless though. */
31extern void kmod_sysfs_init(void);
32extern int request_module(const char * name, ...) __attribute__ ((format (printf, 1, 2))); 31extern int request_module(const char * name, ...) __attribute__ ((format (printf, 1, 2)));
33#else 32#else
34static inline void kmod_sysfs_init(void) {};
35static inline int request_module(const char * name, ...) { return -ENOSYS; } 33static inline int request_module(const char * name, ...) { return -ENOSYS; }
36#endif 34#endif
37 35
diff --git a/include/linux/pm.h b/include/linux/pm.h
index 070394e846d0..21db05ac7c0b 100644
--- a/include/linux/pm.h
+++ b/include/linux/pm.h
@@ -120,15 +120,48 @@ typedef int __bitwise suspend_disk_method_t;
120#define PM_DISK_TESTPROC ((__force suspend_disk_method_t) 6) 120#define PM_DISK_TESTPROC ((__force suspend_disk_method_t) 6)
121#define PM_DISK_MAX ((__force suspend_disk_method_t) 7) 121#define PM_DISK_MAX ((__force suspend_disk_method_t) 7)
122 122
123/**
124 * struct pm_ops - Callbacks for managing platform dependent suspend states.
125 * @valid: Callback to determine whether the given state can be entered.
126 * If %CONFIG_SOFTWARE_SUSPEND is set then %PM_SUSPEND_DISK is
127 * always valid and never passed to this call.
128 * If not assigned, all suspend states are advertised as valid
129 * in /sys/power/state (but can still be rejected by prepare or enter.)
130 *
131 * @prepare: Prepare the platform for the given suspend state. Can return a
132 * negative error code if necessary.
133 *
134 * @enter: Enter the given suspend state, must be assigned. Can return a
135 * negative error code if necessary.
136 *
137 * @finish: Called when the system has left the given state and all devices
138 * are resumed. The return value is ignored.
139 *
140 * @pm_disk_mode: Set to the disk method that the user should be able to
141 * configure for suspend-to-disk. Since %PM_DISK_SHUTDOWN,
142 * %PM_DISK_REBOOT, %PM_DISK_TEST and %PM_DISK_TESTPROC
143 * are always allowed, currently only %PM_DISK_PLATFORM
144 * makes sense. If the user then choses %PM_DISK_PLATFORM,
145 * the @prepare call will be called before suspending to disk
146 * (if present), the @enter call should be present and will
147 * be called after all state has been saved and the machine
148 * is ready to be shut down/suspended/..., and the @finish
149 * callback is called after state has been restored. All
150 * these calls are called with %PM_SUSPEND_DISK as the state.
151 */
123struct pm_ops { 152struct pm_ops {
124 suspend_disk_method_t pm_disk_mode;
125 int (*valid)(suspend_state_t state); 153 int (*valid)(suspend_state_t state);
126 int (*prepare)(suspend_state_t state); 154 int (*prepare)(suspend_state_t state);
127 int (*enter)(suspend_state_t state); 155 int (*enter)(suspend_state_t state);
128 int (*finish)(suspend_state_t state); 156 int (*finish)(suspend_state_t state);
157 suspend_disk_method_t pm_disk_mode;
129}; 158};
130 159
131extern void pm_set_ops(struct pm_ops *); 160/**
161 * pm_set_ops - set platform dependent power management ops
162 * @pm_ops: The new power management operations to set.
163 */
164extern void pm_set_ops(struct pm_ops *pm_ops);
132extern struct pm_ops *pm_ops; 165extern struct pm_ops *pm_ops;
133extern int pm_suspend(suspend_state_t state); 166extern int pm_suspend(suspend_state_t state);
134 167
diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h
index f45450b295c0..21805b500aa2 100644
--- a/include/linux/sysfs.h
+++ b/include/linux/sysfs.h
@@ -17,6 +17,7 @@
17struct kobject; 17struct kobject;
18struct module; 18struct module;
19struct nameidata; 19struct nameidata;
20struct dentry;
20 21
21struct attribute { 22struct attribute {
22 const char * name; 23 const char * name;
@@ -68,18 +69,6 @@ struct sysfs_ops {
68 ssize_t (*store)(struct kobject *,struct attribute *,const char *, size_t); 69 ssize_t (*store)(struct kobject *,struct attribute *,const char *, size_t);
69}; 70};
70 71
71struct sysfs_dirent {
72 atomic_t s_count;
73 struct list_head s_sibling;
74 struct list_head s_children;
75 void * s_element;
76 int s_type;
77 umode_t s_mode;
78 struct dentry * s_dentry;
79 struct iattr * s_iattr;
80 atomic_t s_event;
81};
82
83#define SYSFS_ROOT 0x0001 72#define SYSFS_ROOT 0x0001
84#define SYSFS_DIR 0x0002 73#define SYSFS_DIR 0x0002
85#define SYSFS_KOBJ_ATTR 0x0004 74#define SYSFS_KOBJ_ATTR 0x0004