xref: /openbmc/linux/drivers/base/firmware.c (revision 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2)
1*1da177e4SLinus Torvalds /*
2*1da177e4SLinus Torvalds  * firmware.c - firmware subsystem hoohaw.
3*1da177e4SLinus Torvalds  *
4*1da177e4SLinus Torvalds  * Copyright (c) 2002-3 Patrick Mochel
5*1da177e4SLinus Torvalds  * Copyright (c) 2002-3 Open Source Development Labs
6*1da177e4SLinus Torvalds  *
7*1da177e4SLinus Torvalds  * This file is released under the GPLv2
8*1da177e4SLinus Torvalds  *
9*1da177e4SLinus Torvalds  */
10*1da177e4SLinus Torvalds 
11*1da177e4SLinus Torvalds #include <linux/kobject.h>
12*1da177e4SLinus Torvalds #include <linux/module.h>
13*1da177e4SLinus Torvalds #include <linux/init.h>
14*1da177e4SLinus Torvalds 
15*1da177e4SLinus Torvalds static decl_subsys(firmware, NULL, NULL);
16*1da177e4SLinus Torvalds 
17*1da177e4SLinus Torvalds int firmware_register(struct subsystem * s)
18*1da177e4SLinus Torvalds {
19*1da177e4SLinus Torvalds 	kset_set_kset_s(s, firmware_subsys);
20*1da177e4SLinus Torvalds 	return subsystem_register(s);
21*1da177e4SLinus Torvalds }
22*1da177e4SLinus Torvalds 
23*1da177e4SLinus Torvalds void firmware_unregister(struct subsystem * s)
24*1da177e4SLinus Torvalds {
25*1da177e4SLinus Torvalds 	subsystem_unregister(s);
26*1da177e4SLinus Torvalds }
27*1da177e4SLinus Torvalds 
28*1da177e4SLinus Torvalds int __init firmware_init(void)
29*1da177e4SLinus Torvalds {
30*1da177e4SLinus Torvalds 	return subsystem_register(&firmware_subsys);
31*1da177e4SLinus Torvalds }
32*1da177e4SLinus Torvalds 
33*1da177e4SLinus Torvalds EXPORT_SYMBOL_GPL(firmware_register);
34*1da177e4SLinus Torvalds EXPORT_SYMBOL_GPL(firmware_unregister);
35