diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-03-26 14:17:04 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-03-26 14:17:04 -0400 |
commit | 0c93ea4064a209cdc36de8a9a3003d43d08f46f7 (patch) | |
tree | ff19952407c523a1349ef56c05993416dd28437e /drivers/base/sys.c | |
parent | bc2fd381d8f9dbeb181f82286cdca1567e3d0def (diff) | |
parent | e6e66b02e11563abdb7f69dcb7a2efbd8d577e77 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (61 commits)
Dynamic debug: fix pr_fmt() build error
Dynamic debug: allow simple quoting of words
dynamic debug: update docs
dynamic debug: combine dprintk and dynamic printk
sysfs: fix some bin_vm_ops errors
kobject: don't block for each kobject_uevent
sysfs: only allow one scheduled removal callback per kobj
Driver core: Fix device_move() vs. dpm list ordering, v2
Driver core: some cleanup on drivers/base/sys.c
Driver core: implement uevent suppress in kobject
vcs: hook sysfs devices into object lifetime instead of "binding"
driver core: fix passing platform_data
driver core: move platform_data into platform_device
sysfs: don't block indefinitely for unmapped files.
driver core: move knode_bus into private structure
driver core: move knode_driver into private structure
driver core: move klist_children into private structure
driver core: create a private portion of struct device
driver core: remove polling for driver_probe_done(v5)
sysfs: reference sysfs_dirent from sysfs inodes
...
Fixed conflicts in drivers/sh/maple/maple.c manually
Diffstat (limited to 'drivers/base/sys.c')
-rw-r--r-- | drivers/base/sys.c | 54 |
1 files changed, 27 insertions, 27 deletions
diff --git a/drivers/base/sys.c b/drivers/base/sys.c index b428c8c4bc64..cbd36cf59a0f 100644 --- a/drivers/base/sys.c +++ b/drivers/base/sys.c | |||
@@ -30,10 +30,10 @@ | |||
30 | 30 | ||
31 | 31 | ||
32 | static ssize_t | 32 | static ssize_t |
33 | sysdev_show(struct kobject * kobj, struct attribute * attr, char * buffer) | 33 | sysdev_show(struct kobject *kobj, struct attribute *attr, char *buffer) |
34 | { | 34 | { |
35 | struct sys_device * sysdev = to_sysdev(kobj); | 35 | struct sys_device *sysdev = to_sysdev(kobj); |
36 | struct sysdev_attribute * sysdev_attr = to_sysdev_attr(attr); | 36 | struct sysdev_attribute *sysdev_attr = to_sysdev_attr(attr); |
37 | 37 | ||
38 | if (sysdev_attr->show) | 38 | if (sysdev_attr->show) |
39 | return sysdev_attr->show(sysdev, sysdev_attr, buffer); | 39 | return sysdev_attr->show(sysdev, sysdev_attr, buffer); |
@@ -42,11 +42,11 @@ sysdev_show(struct kobject * kobj, struct attribute * attr, char * buffer) | |||
42 | 42 | ||
43 | 43 | ||
44 | static ssize_t | 44 | static ssize_t |
45 | sysdev_store(struct kobject * kobj, struct attribute * attr, | 45 | sysdev_store(struct kobject *kobj, struct attribute *attr, |
46 | const char * buffer, size_t count) | 46 | const char *buffer, size_t count) |
47 | { | 47 | { |
48 | struct sys_device * sysdev = to_sysdev(kobj); | 48 | struct sys_device *sysdev = to_sysdev(kobj); |
49 | struct sysdev_attribute * sysdev_attr = to_sysdev_attr(attr); | 49 | struct sysdev_attribute *sysdev_attr = to_sysdev_attr(attr); |
50 | 50 | ||
51 | if (sysdev_attr->store) | 51 | if (sysdev_attr->store) |
52 | return sysdev_attr->store(sysdev, sysdev_attr, buffer, count); | 52 | return sysdev_attr->store(sysdev, sysdev_attr, buffer, count); |
@@ -63,13 +63,13 @@ static struct kobj_type ktype_sysdev = { | |||
63 | }; | 63 | }; |
64 | 64 | ||
65 | 65 | ||
66 | int sysdev_create_file(struct sys_device * s, struct sysdev_attribute * a) | 66 | int sysdev_create_file(struct sys_device *s, struct sysdev_attribute *a) |
67 | { | 67 | { |
68 | return sysfs_create_file(&s->kobj, &a->attr); | 68 | return sysfs_create_file(&s->kobj, &a->attr); |
69 | } | 69 | } |
70 | 70 | ||
71 | 71 | ||
72 | void sysdev_remove_file(struct sys_device * s, struct sysdev_attribute * a) | 72 | void sysdev_remove_file(struct sys_device *s, struct sysdev_attribute *a) |
73 | { | 73 | { |
74 | sysfs_remove_file(&s->kobj, &a->attr); | 74 | sysfs_remove_file(&s->kobj, &a->attr); |
75 | } | 75 | } |
@@ -84,7 +84,7 @@ EXPORT_SYMBOL_GPL(sysdev_remove_file); | |||
84 | static ssize_t sysdev_class_show(struct kobject *kobj, struct attribute *attr, | 84 | static ssize_t sysdev_class_show(struct kobject *kobj, struct attribute *attr, |
85 | char *buffer) | 85 | char *buffer) |
86 | { | 86 | { |
87 | struct sysdev_class * class = to_sysdev_class(kobj); | 87 | struct sysdev_class *class = to_sysdev_class(kobj); |
88 | struct sysdev_class_attribute *class_attr = to_sysdev_class_attr(attr); | 88 | struct sysdev_class_attribute *class_attr = to_sysdev_class_attr(attr); |
89 | 89 | ||
90 | if (class_attr->show) | 90 | if (class_attr->show) |
@@ -95,8 +95,8 @@ static ssize_t sysdev_class_show(struct kobject *kobj, struct attribute *attr, | |||
95 | static ssize_t sysdev_class_store(struct kobject *kobj, struct attribute *attr, | 95 | static ssize_t sysdev_class_store(struct kobject *kobj, struct attribute *attr, |
96 | const char *buffer, size_t count) | 96 | const char *buffer, size_t count) |
97 | { | 97 | { |
98 | struct sysdev_class * class = to_sysdev_class(kobj); | 98 | struct sysdev_class *class = to_sysdev_class(kobj); |
99 | struct sysdev_class_attribute * class_attr = to_sysdev_class_attr(attr); | 99 | struct sysdev_class_attribute *class_attr = to_sysdev_class_attr(attr); |
100 | 100 | ||
101 | if (class_attr->store) | 101 | if (class_attr->store) |
102 | return class_attr->store(class, buffer, count); | 102 | return class_attr->store(class, buffer, count); |
@@ -128,7 +128,7 @@ EXPORT_SYMBOL_GPL(sysdev_class_remove_file); | |||
128 | 128 | ||
129 | static struct kset *system_kset; | 129 | static struct kset *system_kset; |
130 | 130 | ||
131 | int sysdev_class_register(struct sysdev_class * cls) | 131 | int sysdev_class_register(struct sysdev_class *cls) |
132 | { | 132 | { |
133 | pr_debug("Registering sysdev class '%s'\n", cls->name); | 133 | pr_debug("Registering sysdev class '%s'\n", cls->name); |
134 | 134 | ||
@@ -141,7 +141,7 @@ int sysdev_class_register(struct sysdev_class * cls) | |||
141 | return kset_register(&cls->kset); | 141 | return kset_register(&cls->kset); |
142 | } | 142 | } |
143 | 143 | ||
144 | void sysdev_class_unregister(struct sysdev_class * cls) | 144 | void sysdev_class_unregister(struct sysdev_class *cls) |
145 | { | 145 | { |
146 | pr_debug("Unregistering sysdev class '%s'\n", | 146 | pr_debug("Unregistering sysdev class '%s'\n", |
147 | kobject_name(&cls->kset.kobj)); | 147 | kobject_name(&cls->kset.kobj)); |
@@ -203,8 +203,8 @@ int sysdev_driver_register(struct sysdev_class *cls, struct sysdev_driver *drv) | |||
203 | * @cls: Class driver belongs to. | 203 | * @cls: Class driver belongs to. |
204 | * @drv: Driver. | 204 | * @drv: Driver. |
205 | */ | 205 | */ |
206 | void sysdev_driver_unregister(struct sysdev_class * cls, | 206 | void sysdev_driver_unregister(struct sysdev_class *cls, |
207 | struct sysdev_driver * drv) | 207 | struct sysdev_driver *drv) |
208 | { | 208 | { |
209 | mutex_lock(&sysdev_drivers_lock); | 209 | mutex_lock(&sysdev_drivers_lock); |
210 | list_del_init(&drv->entry); | 210 | list_del_init(&drv->entry); |
@@ -229,10 +229,10 @@ EXPORT_SYMBOL_GPL(sysdev_driver_unregister); | |||
229 | * @sysdev: device in question | 229 | * @sysdev: device in question |
230 | * | 230 | * |
231 | */ | 231 | */ |
232 | int sysdev_register(struct sys_device * sysdev) | 232 | int sysdev_register(struct sys_device *sysdev) |
233 | { | 233 | { |
234 | int error; | 234 | int error; |
235 | struct sysdev_class * cls = sysdev->cls; | 235 | struct sysdev_class *cls = sysdev->cls; |
236 | 236 | ||
237 | if (!cls) | 237 | if (!cls) |
238 | return -EINVAL; | 238 | return -EINVAL; |
@@ -252,7 +252,7 @@ int sysdev_register(struct sys_device * sysdev) | |||
252 | sysdev->id); | 252 | sysdev->id); |
253 | 253 | ||
254 | if (!error) { | 254 | if (!error) { |
255 | struct sysdev_driver * drv; | 255 | struct sysdev_driver *drv; |
256 | 256 | ||
257 | pr_debug("Registering sys device '%s'\n", | 257 | pr_debug("Registering sys device '%s'\n", |
258 | kobject_name(&sysdev->kobj)); | 258 | kobject_name(&sysdev->kobj)); |
@@ -274,9 +274,9 @@ int sysdev_register(struct sys_device * sysdev) | |||
274 | return error; | 274 | return error; |
275 | } | 275 | } |
276 | 276 | ||
277 | void sysdev_unregister(struct sys_device * sysdev) | 277 | void sysdev_unregister(struct sys_device *sysdev) |
278 | { | 278 | { |
279 | struct sysdev_driver * drv; | 279 | struct sysdev_driver *drv; |
280 | 280 | ||
281 | mutex_lock(&sysdev_drivers_lock); | 281 | mutex_lock(&sysdev_drivers_lock); |
282 | list_for_each_entry(drv, &sysdev->cls->drivers, entry) { | 282 | list_for_each_entry(drv, &sysdev->cls->drivers, entry) { |
@@ -305,19 +305,19 @@ void sysdev_unregister(struct sys_device * sysdev) | |||
305 | */ | 305 | */ |
306 | void sysdev_shutdown(void) | 306 | void sysdev_shutdown(void) |
307 | { | 307 | { |
308 | struct sysdev_class * cls; | 308 | struct sysdev_class *cls; |
309 | 309 | ||
310 | pr_debug("Shutting Down System Devices\n"); | 310 | pr_debug("Shutting Down System Devices\n"); |
311 | 311 | ||
312 | mutex_lock(&sysdev_drivers_lock); | 312 | mutex_lock(&sysdev_drivers_lock); |
313 | list_for_each_entry_reverse(cls, &system_kset->list, kset.kobj.entry) { | 313 | list_for_each_entry_reverse(cls, &system_kset->list, kset.kobj.entry) { |
314 | struct sys_device * sysdev; | 314 | struct sys_device *sysdev; |
315 | 315 | ||
316 | pr_debug("Shutting down type '%s':\n", | 316 | pr_debug("Shutting down type '%s':\n", |
317 | kobject_name(&cls->kset.kobj)); | 317 | kobject_name(&cls->kset.kobj)); |
318 | 318 | ||
319 | list_for_each_entry(sysdev, &cls->kset.list, kobj.entry) { | 319 | list_for_each_entry(sysdev, &cls->kset.list, kobj.entry) { |
320 | struct sysdev_driver * drv; | 320 | struct sysdev_driver *drv; |
321 | pr_debug(" %s\n", kobject_name(&sysdev->kobj)); | 321 | pr_debug(" %s\n", kobject_name(&sysdev->kobj)); |
322 | 322 | ||
323 | /* Call auxillary drivers first */ | 323 | /* Call auxillary drivers first */ |
@@ -364,7 +364,7 @@ static void __sysdev_resume(struct sys_device *dev) | |||
364 | */ | 364 | */ |
365 | int sysdev_suspend(pm_message_t state) | 365 | int sysdev_suspend(pm_message_t state) |
366 | { | 366 | { |
367 | struct sysdev_class * cls; | 367 | struct sysdev_class *cls; |
368 | struct sys_device *sysdev, *err_dev; | 368 | struct sys_device *sysdev, *err_dev; |
369 | struct sysdev_driver *drv, *err_drv; | 369 | struct sysdev_driver *drv, *err_drv; |
370 | int ret; | 370 | int ret; |
@@ -442,12 +442,12 @@ EXPORT_SYMBOL_GPL(sysdev_suspend); | |||
442 | */ | 442 | */ |
443 | int sysdev_resume(void) | 443 | int sysdev_resume(void) |
444 | { | 444 | { |
445 | struct sysdev_class * cls; | 445 | struct sysdev_class *cls; |
446 | 446 | ||
447 | pr_debug("Resuming System Devices\n"); | 447 | pr_debug("Resuming System Devices\n"); |
448 | 448 | ||
449 | list_for_each_entry(cls, &system_kset->list, kset.kobj.entry) { | 449 | list_for_each_entry(cls, &system_kset->list, kset.kobj.entry) { |
450 | struct sys_device * sysdev; | 450 | struct sys_device *sysdev; |
451 | 451 | ||
452 | pr_debug("Resuming type '%s':\n", | 452 | pr_debug("Resuming type '%s':\n", |
453 | kobject_name(&cls->kset.kobj)); | 453 | kobject_name(&cls->kset.kobj)); |