[RESTRICT AUTOMERGE] Remove libsync usages

libsync depends on <debugfs>/sync/sw_sync to create the sync timeline.
However, because debugfs is not available on the production build,
libsync must be used only for a debugging.

This change therefore removes libsync usages from EVS manager's frame
delivery mechanism and rewrites the synchronization with a mutex and a
conditional variable.

Bug: 174580577
Test: vts-tradefed run commandAndExit vts-hal-auto
      --skip-all-system-status-check
      --primary-abi-only
      --skip-preconditions
      -m VtsHalEvsV1_1Target --test EvsHidlTest#CameraOpenClean
Change-Id: If51d5367f8e834106612e591f644d3804fe6ea87
12 files changed
tree: 73ab4b217d318eb82b4f30b61e74d94511c716a0
  1. car-bugreportd/
  2. car-default-input-service/
  3. car-internal-lib/
  4. car-lib/
  5. car-maps-placeholder/
  6. car-systemtest-lib/
  7. car-test-lib/
  8. car-usb-handler/
  9. car_product/
  10. computepipe/
  11. EncryptionRunner/
  12. evs/
  13. experimental/
  14. FrameworkPackageStubs/
  15. obd2-lib/
  16. packages/
  17. procfs-inspector/
  18. service/
  19. surround_view/
  20. tests/
  21. tools/
  22. user/
  23. vehicle-hal-support-lib/
  24. watchdog/
  25. .clang-format
  26. .gitignore
  27. Android.mk
  28. CleanSpec.mk
  29. CPPLINT.cfg
  30. OWNERS
  31. PREUPLOAD.cfg
  32. README.md
  33. TEST_MAPPING
README.md

Native (C++) code format is required to be compatible with .clang-format file. Run

git clang-format --style=file --extension='h,cpp,cc' HEAD~

Note that clang-format is not desirable for Android java files. Therefore the command line above is limited to specific extensions.