Linux 4.14.171
[linux/fpc-iii.git] / sound / oss / sound_firmware.h
blobebcbded0e8c244e0a839b9bc4cb592b08611d854
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #include <linux/fs.h>
4 /**
5 * mod_firmware_load - load sound driver firmware
6 * @fn: filename
7 * @fp: return for the buffer.
9 * Load the firmware for a sound module (up to 128K) into a buffer.
10 * The buffer is returned in *fp. It is allocated with vmalloc so is
11 * virtually linear and not DMAable. The caller should free it with
12 * vfree when finished.
14 * The length of the buffer is returned on a successful load, the
15 * value zero on a failure.
17 * Caution: This API is not recommended. Firmware should be loaded via
18 * request_firmware.
20 static inline int mod_firmware_load(const char *fn, char **fp)
22 loff_t size;
23 int err;
25 err = kernel_read_file_from_path(fn, (void **)fp, &size,
26 131072, READING_FIRMWARE);
27 if (err < 0)
28 return 0;
29 return size;