lib.h 775 B

123456789101112131415161718192021222324252627282930
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef SOUND_FIREWIRE_LIB_H_INCLUDED
  3. #define SOUND_FIREWIRE_LIB_H_INCLUDED
  4. #include <linux/firewire-constants.h>
  5. #include <linux/types.h>
  6. #include <linux/sched.h>
  7. #include <sound/rawmidi.h>
  8. struct fw_unit;
  9. #define FW_GENERATION_MASK 0x00ff
  10. #define FW_FIXED_GENERATION 0x0100
  11. #define FW_QUIET 0x0200
  12. int snd_fw_transaction(struct fw_unit *unit, int tcode,
  13. u64 offset, void *buffer, size_t length,
  14. unsigned int flags);
  15. /* returns true if retrying the transaction would not make sense */
  16. static inline bool rcode_is_permanent_error(int rcode)
  17. {
  18. return rcode == RCODE_TYPE_ERROR || rcode == RCODE_ADDRESS_ERROR;
  19. }
  20. void snd_fw_schedule_registration(struct fw_unit *unit,
  21. struct delayed_work *dwork);
  22. #endif