sound_firmware.h 815 B

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