Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
[sfrench/cifs-2.6.git] / include / linux / firmware.h
1 #ifndef _LINUX_FIRMWARE_H
2 #define _LINUX_FIRMWARE_H
3 #include <linux/module.h>
4 #include <linux/types.h>
5 #define FIRMWARE_NAME_MAX 30 
6 #define FW_ACTION_NOHOTPLUG 0
7 #define FW_ACTION_HOTPLUG 1
8
9 struct firmware {
10         size_t size;
11         u8 *data;
12 };
13
14 struct device;
15
16 #if defined(CONFIG_FW_LOADER) || defined(CONFIG_FW_LOADER_MODULE)
17 int request_firmware(const struct firmware **fw, const char *name,
18                      struct device *device);
19 int request_firmware_nowait(
20         struct module *module, int uevent,
21         const char *name, struct device *device, void *context,
22         void (*cont)(const struct firmware *fw, void *context));
23
24 void release_firmware(const struct firmware *fw);
25 #else
26 static inline int request_firmware(const struct firmware **fw,
27                                    const char *name,
28                                    struct device *device)
29 {
30         return -EINVAL;
31 }
32 static inline int request_firmware_nowait(
33         struct module *module, int uevent,
34         const char *name, struct device *device, void *context,
35         void (*cont)(const struct firmware *fw, void *context))
36 {
37         return -EINVAL;
38 }
39
40 static inline void release_firmware(const struct firmware *fw)
41 {
42 }
43 #endif
44
45 #endif