Commit 59c6630a authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

[PATCH] driver core: added class_device_rename()

Based on a patch written by Dan Aloni <da-x@gmx.net>
parent e956d3ab
...@@ -339,6 +339,24 @@ void class_device_unregister(struct class_device *class_dev) ...@@ -339,6 +339,24 @@ void class_device_unregister(struct class_device *class_dev)
class_device_put(class_dev); class_device_put(class_dev);
} }
int class_device_rename(struct class_device *class_dev, char *new_name)
{
class_dev = class_device_get(class_dev);
if (!class_dev)
return -EINVAL;
pr_debug("CLASS: renaming '%s' to '%s'\n", class_dev->class_id,
new_name);
strlcpy(class_dev->class_id, new_name, KOBJ_NAME_LEN);
kobject_rename(&class_dev->kobj, new_name);
class_device_put(class_dev);
return 0;
}
struct class_device * class_device_get(struct class_device *class_dev) struct class_device * class_device_get(struct class_device *class_dev)
{ {
if (class_dev) if (class_dev)
......
...@@ -216,6 +216,8 @@ extern void class_device_initialize(struct class_device *); ...@@ -216,6 +216,8 @@ extern void class_device_initialize(struct class_device *);
extern int class_device_add(struct class_device *); extern int class_device_add(struct class_device *);
extern void class_device_del(struct class_device *); extern void class_device_del(struct class_device *);
extern int class_device_rename(struct class_device *, char *);
extern struct class_device * class_device_get(struct class_device *); extern struct class_device * class_device_get(struct class_device *);
extern void class_device_put(struct class_device *); extern void class_device_put(struct class_device *);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment