xref: /linux/drivers/base/firmware.c (revision 9e5f7f9abe18a4f134585a2de016974cbda80539)
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 struct kset *firmware_kset;
19 EXPORT_SYMBOL_GPL(firmware_kset);
20 
21 int firmware_register(struct kset *s)
22 {
23 	s->kobj.kset = firmware_kset;
24 	s->kobj.ktype = NULL;
25 	return subsystem_register(s);
26 }
27 
28 void firmware_unregister(struct kset *s)
29 {
30 	subsystem_unregister(s);
31 }
32 
33 int __init firmware_init(void)
34 {
35 	firmware_kset = kset_create_and_add("firmware", NULL, NULL);
36 	if (!firmware_kset)
37 		return -ENOMEM;
38 	return 0;
39 }
40 
41 EXPORT_SYMBOL_GPL(firmware_register);
42 EXPORT_SYMBOL_GPL(firmware_unregister);
43