powerhint: provide android-mainline versions for Oriole & Raven

The android-mainline kernel doesn't provide the scheduler vendor hooks,
and therefore the pixel drivers don't expose anything below
/proc/vendor_sched/. This causes powerpower-libperfmgr to emit *a lot*
of warnings to logcat regarding failures to write to nodes below
/proc/vendor_sched/.

As a solution, provide a -mainline version of powerhint.json for the
two platforms supported by android-mainline.
The new files are based on revision f56bbd1bfbba ("disable vendor idle
balancer") of powerhint.json and have all nodes and actions referring
to /proc/vendor_sched/ removed using the following jq commands:
    for f in powerhint-oriole.json powerhint-raven.json ; do \
        fdst="$(basename "${f}" .json)-mainline.json"
        names=$(jq '."Nodes"[] | select(."Path" | startswith("/proc/vendor_sched/")).Name' "${f}" \
                | tr '\n' ' ' \
                | sed -e 's|" "|", "|g')
        jq '. | del( ."Actions"[] | select(."Node"==('"${names}"')))' "${f}" > "${fdst}"
        jq '. | del( ."Nodes"[] | select(."Path" | startswith("/proc/vendor_sched/")) )' "${fdst}" > "${fdst}2"
        mv "${fdst}2" "${fdst}"
    done

The -mainline version will be picked based on a boot property set by
the mainline kernel.

Bug: 265961701
Test: adb shell -nT getprop vendor.powerhal.config
      adb logcat -b all -D 'libperfmgr:V powerhal-libperfmgr:V *:S'
      m libperfmgr_test \
      && adb push \
             out/target/product/oriole/data/nativetest64/libperfmgr_test/libperfmgr_test \
             /data/libperfmgr_test \
      && adb shell /data/libperfmgr_test
Change-Id: Ice07444e38194e5fcf2127e935afdd4d29ff8e87
Signed-off-by: André Draszik <draszik@google.com>
6 files changed
tree: 755e0af5d7642667ca95e6863053bcdec31d9b91
  1. audio/
  2. bluetooth/
  3. conf/
  4. factory-images_oriole/
  5. factory-images_raven/
  6. factory_oriole/
  7. factory_raven/
  8. location/
  9. nfc/
  10. oriole/
  11. powerstats/
  12. radio/
  13. raven/
  14. self-extractors_oriole/
  15. self-extractors_raven/
  16. slider/
  17. uwb/
  18. whitefin/
  19. .clang-format
  20. Android.bp
  21. Android.mk
  22. AndroidProducts.mk
  23. aosp_oriole.mk
  24. aosp_oriole_64.mk
  25. aosp_oriole_hwasan.mk
  26. aosp_oriole_pgagnostic_64.mk
  27. aosp_oriole_pkvm.mk
  28. aosp_raven.mk
  29. aosp_raven_64.mk
  30. aosp_raven_hwasan.mk
  31. aosp_raven_pgagnostic_64.mk
  32. aosp_raven_pkvm.mk
  33. aosp_slider.mk
  34. aosp_slider_hwasan.mk
  35. aosp_whitefin.mk
  36. aosp_whitefin_64.mk
  37. aosp_whitefin_hwasan.mk
  38. aosp_whitefin_pkvm.mk
  39. bluetooth_power_limits_G9S9B_EU.csv
  40. bluetooth_power_limits_G9S9B_US.csv
  41. bluetooth_power_limits_GB7N6_EU.csv
  42. bluetooth_power_limits_GB7N6_US.csv
  43. bluetooth_power_limits_oriole.csv
  44. bluetooth_power_limits_oriole_jp.csv
  45. bluetooth_power_limits_raven.csv
  46. bluetooth_power_limits_raven_eu.csv
  47. bluetooth_power_limits_raven_jp.csv
  48. bluetooth_power_limits_raven_us.csv
  49. board-info.txt
  50. CleanSpec.mk
  51. device-oriole.mk
  52. device-raven.mk
  53. device-slider.mk
  54. device-whitefin.mk
  55. factory_oriole.mk
  56. factory_raven.mk
  57. factory_slider.mk
  58. factory_whitefin.mk
  59. full_slider.mk
  60. haiku.mk
  61. init.insmod.oriole.cfg
  62. init.insmod.raven.cfg
  63. init.insmod.slider.cfg
  64. init.insmod.whitefin.cfg
  65. media_profiles_oriole.xml
  66. media_profiles_raven.xml
  67. media_profiles_slider.xml
  68. media_profiles_whitefin.xml
  69. NOTICE
  70. OWNERS
  71. powerhint-oriole-mainline.json
  72. powerhint-oriole.json
  73. powerhint-raven-mainline.json
  74. powerhint-raven.json
  75. powerhint-slider.json
  76. powerhint-whitefin.json
  77. thermal_info_config_charge_oriole.json
  78. thermal_info_config_charge_raven.json
  79. thermal_info_config_oriole.json
  80. thermal_info_config_oriole_WHI_A.json
  81. thermal_info_config_raven.json
  82. thermal_info_config_slider.json
  83. thermal_info_config_whitefin.json