tree 1d709ea67c2b4e1830facc33873e380183cd3c97
parent 221975092ae52427a365d67a8d0f3e963c05d447
parent 66379c1ee513f07c6f0d299b71c5ae0ddbaba2b9
author Greg Kroah-Hartman <gregkh@google.com> 1634811488 +0200
committer Greg Kroah-Hartman <gregkh@google.com> 1634814254 +0200

Merge branch 'android12-5.10' into `android12-5.10-lts`

Sync up with android12-5.10 for the following commits:

66379c1ee513 Merge tag 'android12-5.10.66_r00' into android12-5.10
93ec12dc507d FROMGIT: dma-buf: system_heap: Avoid warning on mid-order allocations
74f247e31bdc ANDROID: mm: cma: disable LRU cache early
496b17304af0 ANDROID: vendor_hooks: Add param for android_vh_cpu_up/down
9c78b0eb03b7 ANDROID: GKI: rockchip: Enable symbol for rkcif
fc1f8e404741 ANDROID: GKI: rockchip: Enable symbols for display IF
69c931581f41 ANDROID: vendor_hooks: export hooks of mem_cgroup subsystem
44447dec6eff ANDROID: sched: move blocked reason trace point to cover all class
c36e5828d041 ANDROID: GKI: rockchip: Enable symbols for rockchip cpufreq
897e5dd0f008 ANDROID: GKI: rockchip: Sync symbols
c264cbbec4c5 ANDROID: GKI: rockchip: Remove symbol for slip
2cb6fc0554c9 ANDROID: GKI: rockchip: Enable symbol for rknpu
142d4b0ce255 ANDROID: GKI: rockchip: Enable symbols for rkisp
db3e01ecf044 ANDROID: cpuhp: pause: reduce running priority pause/resume
2b8b5e76c787 ANDROID: qcom: Add another neighbor related symbol
0eb2083a6d40 ANDROID: GKI: rockchip: Enable symbols for dw_8250
ed493d61fe41 FROMGIT: f2fs: fix to use WHINT_MODE

The following symbols are also added to the .xml file to be tracked:

Leaf changes summary: 22 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 21 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 1 Added variable

21 Added functions:

  [A] 'function void cec_queue_pin_hpd_event(cec_adapter*, bool, ktime_t)'
  [A] 'function void dev_pm_opp_put_prop_name(opp_table*)'
  [A] 'function opp_table* dev_pm_opp_register_set_opp_helper(device*, int (dev_pm_set_opp_data*)*)'
  [A] 'function int drm_dp_start_crc(drm_dp_aux*, drm_crtc*)'
  [A] 'function int drm_dp_stop_crc(drm_dp_aux*)'
  [A] 'function int drm_gem_handle_delete(drm_file*, u32)'
  [A] 'function bool drm_mode_is_420(const drm_display_info*, const drm_display_mode*)'
  [A] 'function drm_connector* drm_panel_bridge_connector(drm_bridge*)'
  [A] 'function int drm_property_replace_global_blob(drm_device*, drm_property_blob**, size_t, void*, drm_mode_object*, drm_property*)'
  [A] 'function int media_entity_setup_link(media_link*, u32)'
  [A] 'function int neigh_resolve_output(neighbour*, sk_buff*)'
  [A] 'function bool of_device_is_big_endian(const device_node*)'
  [A] 'function void serial8250_clear_and_reinit_fifos(uart_8250_port*)'
  [A] 'function void serial8250_do_pm(uart_port*, unsigned int, unsigned int)'
  [A] 'function void serial8250_do_set_divisor(uart_port*, unsigned int, unsigned int, unsigned int)'
  [A] 'function void serial8250_do_set_ldisc(uart_port*, ktermios*)'
  [A] 'function int serial8250_handle_irq(uart_port*, unsigned int)'
  [A] 'function void serial8250_update_uartclk(uart_port*, unsigned int)'
  [A] 'function void sha1_init(__u32*)'
  [A] 'function int v4l2_pipeline_pm_get(media_entity*)'
  [A] 'function void v4l2_pipeline_pm_put(media_entity*)'

1 Added variable:

  [A] 'const char* v4l2_type_names[15]'

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I24b1e7c72660a22ece0605d2969d7596f740a767
