
On 27.12.2017 06:04, tien.fong.chee@intel.com wrote:
From: Tien Fong Chee tien.fong.chee@intel.com
This is file system generic loader which can be used to load the file image from the storage into target such as memory. The consumer driver would then use this loader to program whatever, ie. the FPGA device.
Signed-off-by: Tien Fong Chee tien.fong.chee@intel.com
common/Makefile | 1 + common/fs_loader.c | 309 +++++++++++++++++++++++++++++++++++++++++++++ doc/README.firmware_loader | 76 +++++++++++ include/fs_loader.h | 28 ++++ 4 files changed, 414 insertions(+) create mode 100644 common/fs_loader.c create mode 100644 doc/README.firmware_loader create mode 100644 include/fs_loader.h
diff --git a/common/Makefile b/common/Makefile index cec506f..2934221 100644 --- a/common/Makefile +++ b/common/Makefile @@ -130,3 +130,4 @@ obj-$(CONFIG_CMD_DFU) += dfu.o
<snip>
diff --git a/include/fs_loader.h b/include/fs_loader.h new file mode 100644 index 0000000..83a8b80 --- /dev/null +++ b/include/fs_loader.h @@ -0,0 +1,28 @@ +/*
- Copyright (C) 2017 Intel Corporation <www.intel.com>
- SPDX-License-Identifier: GPL-2.0
- */
+#ifndef _FS_LOADER_H_ +#define _FS_LOADER_H_
+#include <linux/types.h>
+struct firmware {
- size_t size; /* Size of a file */
- const u8 *data; /* Buffer for file */
- void *priv; /* Firmware loader private fields */
+};
+struct device_location {
- char *name; /* Such as mmc, usb,and sata. */
Would it make sense to use 'enum if_type' from blk.h here instead of a "magic" name? Or are the constants passed here "well-known" enough to hide them?
Regards, Simon
- char *devpart; /* Use the load command dev:part conventions */
- char *mtdpart; /* MTD partition for ubi part */
- char *ubivol; /* UBI volume-name for ubifsmount */
+};
+int request_firmware_into_buf(struct firmware **firmware_p,
const char *name,
struct device_location *location,
void *buf, size_t size, u32 offset);
+#endif