xref: /linux/drivers/base/firmware.c (revision b0d78e5549b44b3d64bf8b3ffe95280025ed102e)
1 /*
2  * firmware.c - firmware subsystem hoohaw.
3  *
4  * Copyright (c) 2002-3 Patrick Mochel
5  * Copyright (c) 2002-3 Open Source Development Labs
6  *
7  * This file is released under the GPLv2
8  *
9  */
10 
11 #include <linux/kobject.h>
12 #include <linux/module.h>
13 #include <linux/init.h>
14 #include <linux/device.h>
15 
16 #include "base.h"
17 
18 static struct kset *firmware_kset;
19 
20 int firmware_register(struct kset *s)
21 {
22 	s->kobj.kset = firmware_kset;
23 	s->kobj.ktype = NULL;
24 	return subsystem_register(s);
25 }
26 
27 void firmware_unregister(struct kset *s)
28 {
29 	subsystem_unregister(s);
30 }
31 
32 int __init firmware_init(void)
33 {
34 	firmware_kset = kset_create_and_add("firmware", NULL, NULL);
35 	if (!firmware_kset)
36 		return -ENOMEM;
37 	return 0;
38 }
39 
40 EXPORT_SYMBOL_GPL(firmware_register);
41 EXPORT_SYMBOL_GPL(firmware_unregister);
42