[PATCH] Make kobject's name be const char *
Dmitry Torokhov [Tue, 26 Apr 2005 07:32:00 +0000 (02:32 -0500)]
kobject: make kobject's name const char * since users should not
 attempt to change it (except by calling kobject_rename).

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

include/linux/kobject.h
lib/kobject.c
lib/kobject_uevent.c

index 765d660..76dc672 100644 (file)
@@ -33,7 +33,7 @@
 extern u64 hotplug_seqnum;
 
 struct kobject {
-       char                    * k_name;
+       const char              * k_name;
        char                    name[KOBJ_NAME_LEN];
        struct kref             kref;
        struct list_head        entry;
@@ -46,7 +46,7 @@ struct kobject {
 extern int kobject_set_name(struct kobject *, const char *, ...)
        __attribute__((format(printf,2,3)));
 
-static inline char * kobject_name(struct kobject * kobj)
+static inline const char * kobject_name(const struct kobject * kobj)
 {
        return kobj->k_name;
 }
@@ -57,7 +57,7 @@ extern void kobject_cleanup(struct kobject *);
 extern int kobject_add(struct kobject *);
 extern void kobject_del(struct kobject *);
 
-extern int kobject_rename(struct kobject *, char *new_name);
+extern int kobject_rename(struct kobject *, const char *new_name);
 
 extern int kobject_register(struct kobject *);
 extern void kobject_unregister(struct kobject *);
index 9404882..dd0917d 100644 (file)
@@ -279,7 +279,7 @@ EXPORT_SYMBOL(kobject_set_name);
  *     @new_name: object's new name
  */
 
-int kobject_rename(struct kobject * kobj, char *new_name)
+int kobject_rename(struct kobject * kobj, const char *new_name)
 {
        int error = 0;
 
index 1ede5aa..8e49d21 100644 (file)
@@ -197,7 +197,7 @@ void kobject_hotplug(struct kobject *kobj, enum kobject_action action)
        int i = 0;
        int retval;
        char *kobj_path = NULL;
-       char *name = NULL;
+       const char *name = NULL;
        char *action_string;
        u64 seq;
        struct kobject *top_kobj = kobj;
@@ -249,7 +249,7 @@ void kobject_hotplug(struct kobject *kobj, enum kobject_action action)
                name = kobject_name(&kset->kobj);
 
        argv [0] = hotplug_path;
-       argv [1] = name;
+       argv [1] = (char *)name; /* won't be changed but 'const' has to go */
        argv [2] = NULL;
 
        /* minimal command environment */