fallback.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef __FIRMWARE_FALLBACK_H
  3. #define __FIRMWARE_FALLBACK_H
  4. #include <linux/firmware.h>
  5. #include <linux/device.h>
  6. #include "firmware.h"
  7. #include "sysfs.h"
  8. #ifdef CONFIG_FW_LOADER_USER_HELPER
  9. int firmware_fallback_sysfs(struct firmware *fw, const char *name,
  10. struct device *device,
  11. u32 opt_flags,
  12. int ret);
  13. void kill_pending_fw_fallback_reqs(bool only_kill_custom);
  14. void fw_fallback_set_cache_timeout(void);
  15. void fw_fallback_set_default_timeout(void);
  16. #else /* CONFIG_FW_LOADER_USER_HELPER */
  17. static inline int firmware_fallback_sysfs(struct firmware *fw, const char *name,
  18. struct device *device,
  19. u32 opt_flags,
  20. int ret)
  21. {
  22. /* Keep carrying over the same error */
  23. return ret;
  24. }
  25. static inline void kill_pending_fw_fallback_reqs(bool only_kill_custom) { }
  26. static inline void fw_fallback_set_cache_timeout(void) { }
  27. static inline void fw_fallback_set_default_timeout(void) { }
  28. #endif /* CONFIG_FW_LOADER_USER_HELPER */
  29. #ifdef CONFIG_EFI_EMBEDDED_FIRMWARE
  30. int firmware_fallback_platform(struct fw_priv *fw_priv);
  31. #else
  32. static inline int firmware_fallback_platform(struct fw_priv *fw_priv)
  33. {
  34. return -ENOENT;
  35. }
  36. #endif
  37. #endif /* __FIRMWARE_FALLBACK_H */