1 /* 2 * Copyright (C) 2018 Intel Corporation <www.intel.com> 3 * 4 * SPDX-License-Identifier: GPL-2.0 5 */ 6 #ifndef _FS_LOADER_H_ 7 #define _FS_LOADER_H_ 8 9 struct udevice; 10 11 /** 12 * struct phandle_part - A place for storing phandle of node and its partition 13 * 14 * This holds information about a phandle of the block device, and its 15 * partition where the firmware would be loaded from. 16 * 17 * @phandle: Phandle of storage device node 18 * @partition: Partition of block device 19 */ 20 struct phandle_part { 21 u32 phandle; 22 u32 partition; 23 }; 24 25 /** 26 * struct phandle_part - A place for storing all supported storage devices 27 * 28 * This holds information about all supported storage devices for driver use. 29 * 30 * @phandlepart: Attribute data for block device. 31 * @mtdpart: MTD partition for ubi partition. 32 * @ubivol: UBI volume-name for ubifsmount. 33 */ 34 struct device_plat { 35 struct phandle_part phandlepart; 36 char *mtdpart; 37 char *ubivol; 38 }; 39 40 /** 41 * request_firmware_into_buf - Load firmware into a previously allocated buffer. 42 * @dev: An instance of a driver. 43 * @name: Name of firmware file. 44 * @buf: Address of buffer to load firmware into. 45 * @size: Size of buffer. 46 * @offset: Offset of a file for start reading into buffer. 47 * 48 * The firmware is loaded directly into the buffer pointed to by @buf. 49 * 50 * Return: Size of total read, negative value when error. 51 */ 52 int request_firmware_into_buf(struct udevice *dev, 53 const char *name, 54 void *buf, size_t size, u32 offset); 55 #endif 56