diff options
Diffstat (limited to '0002-driver-core-class-fix-block-class-problem-when-remov.patch')
-rw-r--r-- | 0002-driver-core-class-fix-block-class-problem-when-remov.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/0002-driver-core-class-fix-block-class-problem-when-remov.patch b/0002-driver-core-class-fix-block-class-problem-when-remov.patch new file mode 100644 index 00000000000000..521337e3e03bf2 --- /dev/null +++ b/0002-driver-core-class-fix-block-class-problem-when-remov.patch @@ -0,0 +1,39 @@ +From 6ecddadae3f779408bfa6a1b0c81e7728a00395e Mon Sep 17 00:00:00 2001 +From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +Date: Tue, 7 Mar 2023 08:43:59 +0100 +Subject: [PATCH 2/2] driver core: class: fix block class problem when removing + CONFIG_SYSFS_DEPRECATED* + +In removing the CONFIG_SYSFS_DEPRECATED and CONFIG_SYSFS_DEPRECATED_V2 +config options, I messed up in the __class_register() function and got +the logic incorrect. Fix this all up by just removing the special case +of a block device class logic in this function, as that is what is +intended. + +In testing, this solves the boot problem on my systems, hopefully on +others as well. + +Cc: "Rafael J. Wysocki" <rafael@kernel.org> +Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> +Fixes: 721da5cee9d4 ("driver core: remove CONFIG_SYSFS_DEPRECATED and CONFIG_SYSFS_DEPRECATED_V2") +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + drivers/base/class.c | 6 ------ + 1 file changed, 6 deletions(-) + +--- a/drivers/base/class.c ++++ b/drivers/base/class.c +@@ -178,13 +178,7 @@ int __class_register(struct class *cls, + if (!cls->dev_kobj) + cls->dev_kobj = sysfs_dev_char_kobj; + +-#if defined(CONFIG_BLOCK) +- /* let the block class directory show up in the root of sysfs */ +- if (cls != &block_class) +- cp->subsys.kobj.kset = class_kset; +-#else + cp->subsys.kobj.kset = class_kset; +-#endif + cp->subsys.kobj.ktype = &class_ktype; + cp->class = cls; + cls->p = cp; |