#include <linux/kobject.h>
#include <linux/module.h>
#include <linux/init.h>
+#include <linux/device.h>
-static decl_subsys(firmware, NULL, NULL);
+#include "base.h"
-int firmware_register(struct subsystem * s)
+static struct kset *firmware_kset;
+
+int firmware_register(struct kset *s)
{
- kset_set_kset_s(s, firmware_subsys);
+ s->kobj.kset = firmware_kset;
+ s->kobj.ktype = NULL;
return subsystem_register(s);
}
-void firmware_unregister(struct subsystem * s)
+void firmware_unregister(struct kset *s)
{
subsystem_unregister(s);
}
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);