6a4e494042f6269aacf51baa31fe1a5a25858080
[linux-2.6-block.git] / drivers / base / firmware.c
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);