blob: 2d716080be4af7bd98fad2a5a45cd4b884812cd0 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#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
Abhay Salunke6e3eaab2005-09-06 15:17:13 -07006#define FW_ACTION_NOHOTPLUG 0
7#define FW_ACTION_HOTPLUG 1
8
Linus Torvalds1da177e2005-04-16 15:20:36 -07009struct firmware {
10 size_t size;
11 u8 *data;
12};
13struct device;
14int request_firmware(const struct firmware **fw, const char *name,
15 struct device *device);
16int request_firmware_nowait(
Kay Sievers312c0042005-11-16 09:00:00 +010017 struct module *module, int uevent,
Linus Torvalds1da177e2005-04-16 15:20:36 -070018 const char *name, struct device *device, void *context,
19 void (*cont)(const struct firmware *fw, void *context));
20
21void release_firmware(const struct firmware *fw);
22void register_firmware(const char *name, const u8 *data, size_t size);
23#endif