forked from mirrors/linux
		
	driver core: class: make class_register() take a const *
Now that the class code is cleaned up to not modify the class pointer registered with it, change class_register() to take a const * to allow the structure to be placed into read-only memory. Acked-by: Rafael J. Wysocki <rafael@kernel.org> Link: https://lore.kernel.org/r/2023040248-customary-release-4aec@gregkh Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
		
							parent
							
								
									979207cac5
								
							
						
					
					
						commit
						43a7206b09
					
				
					 3 changed files with 5 additions and 5 deletions
				
			
		|  | @ -54,7 +54,7 @@ struct subsys_private { | ||||||
| 	struct device *dev_root; | 	struct device *dev_root; | ||||||
| 
 | 
 | ||||||
| 	struct kset glue_dirs; | 	struct kset glue_dirs; | ||||||
| 	struct class *class; | 	const struct class *class; | ||||||
| 
 | 
 | ||||||
| 	struct lock_class_key lock_key; | 	struct lock_class_key lock_key; | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | @ -93,7 +93,7 @@ static ssize_t class_attr_store(struct kobject *kobj, struct attribute *attr, | ||||||
| static void class_release(struct kobject *kobj) | static void class_release(struct kobject *kobj) | ||||||
| { | { | ||||||
| 	struct subsys_private *cp = to_subsys_private(kobj); | 	struct subsys_private *cp = to_subsys_private(kobj); | ||||||
| 	struct class *class = cp->class; | 	const struct class *class = cp->class; | ||||||
| 
 | 
 | ||||||
| 	pr_debug("class '%s': release.\n", class->name); | 	pr_debug("class '%s': release.\n", class->name); | ||||||
| 
 | 
 | ||||||
|  | @ -110,7 +110,7 @@ static void class_release(struct kobject *kobj) | ||||||
| static const struct kobj_ns_type_operations *class_child_ns_type(const struct kobject *kobj) | static const struct kobj_ns_type_operations *class_child_ns_type(const struct kobject *kobj) | ||||||
| { | { | ||||||
| 	const struct subsys_private *cp = to_subsys_private(kobj); | 	const struct subsys_private *cp = to_subsys_private(kobj); | ||||||
| 	struct class *class = cp->class; | 	const struct class *class = cp->class; | ||||||
| 
 | 
 | ||||||
| 	return class->ns_type; | 	return class->ns_type; | ||||||
| } | } | ||||||
|  | @ -175,7 +175,7 @@ static void klist_class_dev_put(struct klist_node *n) | ||||||
| 	put_device(dev); | 	put_device(dev); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| int class_register(struct class *cls) | int class_register(const struct class *cls) | ||||||
| { | { | ||||||
| 	struct subsys_private *cp; | 	struct subsys_private *cp; | ||||||
| 	struct lock_class_key *key; | 	struct lock_class_key *key; | ||||||
|  |  | ||||||
|  | @ -76,7 +76,7 @@ struct class_dev_iter { | ||||||
| 	const struct device_type	*type; | 	const struct device_type	*type; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| int __must_check class_register(struct class *class); | int __must_check class_register(const struct class *class); | ||||||
| void class_unregister(const struct class *class); | void class_unregister(const struct class *class); | ||||||
| bool class_is_registered(const struct class *class); | bool class_is_registered(const struct class *class); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Greg Kroah-Hartman
						Greg Kroah-Hartman