kset: convert drivers/base/firmware.c to use kset_create

Dynamically create the kset instead of declaring it statically.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

diff --git a/drivers/base/firmware.c b/drivers/base/firmware.c
index 336be04..6a4e494 100644
--- a/drivers/base/firmware.c
+++ b/drivers/base/firmware.c
@@ -15,11 +15,11 @@
 
 #include "base.h"
 
-static decl_subsys(firmware, NULL);
+static struct kset *firmware_kset;
 
 int firmware_register(struct kset *s)
 {
-	s->kobj.kset = &firmware_subsys;
+	s->kobj.kset = firmware_kset;
 	s->kobj.ktype = NULL;
 	return subsystem_register(s);
 }
@@ -31,7 +31,10 @@
 
 int __init firmware_init(void)
 {
-	return subsystem_register(&firmware_subsys);
+	firmware_kset = kset_create_and_add("firmware", NULL, NULL);
+	if (!firmware_kset)
+		return -ENOMEM;
+	return 0;
 }
 
 EXPORT_SYMBOL_GPL(firmware_register);