2 * Copyright (C) 2018 Intel Corporation <www.intel.com>
4 * SPDX-License-Identifier: GPL-2.0
12 * struct phandle_part - A place for storing phandle of node and its partition
14 * This holds information about a phandle of the block device, and its
15 * partition where the firmware would be loaded from.
17 * @phandle: Phandle of storage device node
18 * @partition: Partition of block device
26 * struct phandle_part - A place for storing all supported storage devices
28 * This holds information about all supported storage devices for driver use.
30 * @phandlepart: Attribute data for block device.
31 * @mtdpart: MTD partition for ubi partition.
32 * @ubivol: UBI volume-name for ubifsmount.
35 struct phandle_part phandlepart;
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.
48 * The firmware is loaded directly into the buffer pointed to by @buf.
50 * Return: Size of total read, negative value when error.
52 int request_firmware_into_buf(struct udevice *dev,
54 void *buf, size_t size, u32 offset);
57 * get_fs_loader() - Get the chosen filesystem loader
58 * @dev: Where to store the device
60 * This gets a filesystem loader device based on the value of
61 * /chosen/firmware-loader. If no such property exists, it returns a
62 * firmware loader which is configured by environmental variables.
64 * Return: 0 on success, negative value on error
66 int get_fs_loader(struct udevice **dev);