diff --git a/android/GKI_VERSION b/android/GKI_VERSION
index d28f35e18ffe..919dab00c71b 100644
--- a/android/GKI_VERSION
+++ b/android/GKI_VERSION
@@ -1 +1 @@
-LTS_5.4.61_4271ad6e8ade
+LTS_5.4.61_559c23e691b8
\ No newline at end of file
diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml
index d543c4c34dd6..53ce71943135 100644
--- a/android/abi_gki_aarch64.xml
+++ b/android/abi_gki_aarch64.xml
@@ -1244,6 +1244,7 @@
+
@@ -3515,6 +3516,7 @@
+
@@ -3942,6 +3944,7 @@
+
@@ -4703,6 +4706,7 @@
+
@@ -5147,14 +5151,6 @@
-
-
-
-
-
-
-
-
@@ -9943,6 +9939,14 @@
+
+
+
+
+
+
+
+
@@ -14950,7 +14954,7 @@
-
+
@@ -15400,6 +15404,11 @@
+
+
+
+
+
@@ -16231,6 +16240,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -23661,6 +23686,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -28686,7 +28731,6 @@
-
@@ -31604,6 +31648,11 @@
+
+
+
+
+
@@ -39966,7 +40015,7 @@
-
+
@@ -40196,6 +40245,7 @@
+
@@ -51842,7 +51892,6 @@
-
@@ -51915,7 +51964,6 @@
-
@@ -54717,6 +54765,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -57242,17 +57301,6 @@
-
-
-
-
-
-
-
-
-
-
-
@@ -60490,6 +60538,167 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -69191,7 +69400,7 @@
-
+
@@ -76249,14 +76458,6 @@
-
-
-
-
-
-
-
-
@@ -76290,7 +76491,7 @@
-
+
@@ -76326,7 +76527,7 @@
-
+
@@ -76336,10 +76537,10 @@
-
+
-
+
@@ -76748,7 +76949,7 @@
-
+
@@ -76816,7 +77017,7 @@
-
+
@@ -76826,36 +77027,36 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -76910,7 +77111,7 @@
-
+
@@ -76934,7 +77135,7 @@
-
+
@@ -76957,7 +77158,7 @@
-
+
@@ -76999,7 +77200,7 @@
-
+
@@ -88518,7 +88719,7 @@
-
+
@@ -89150,7 +89351,7 @@
-
+
@@ -89656,6 +89857,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -90902,42 +91139,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -93693,17 +93894,6 @@
-
-
-
-
-
-
-
-
-
-
-
@@ -94456,7 +94646,7 @@
-
+
@@ -95317,7 +95507,7 @@
-
+
@@ -96497,7 +96687,7 @@
-
+
@@ -96619,7 +96809,7 @@
-
+
@@ -96658,7 +96848,7 @@
-
+
@@ -103761,7 +103951,7 @@
-
+
@@ -103870,6 +104060,7 @@
+
@@ -105160,22 +105351,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -108892,6 +109067,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -109510,21 +109707,10 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -109691,18 +109877,15 @@
-
+
-
+
-
+
-
-
-
-
+
@@ -109710,7 +109893,7 @@
-
+
@@ -110003,7 +110186,7 @@
-
+
@@ -118323,6 +118506,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -118382,62 +118621,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -118472,23 +118655,12 @@
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -118503,14 +118675,14 @@
-
+
-
+
@@ -118536,7 +118708,7 @@
-
+
@@ -118553,25 +118725,25 @@
-
+
-
+
-
+
-
+
@@ -118579,7 +118751,7 @@
-
+
@@ -124917,7 +125089,7 @@
-
+
@@ -124925,7 +125097,7 @@
-
+
@@ -125350,6 +125522,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -127020,6 +127214,10 @@
+
+
+
+
@@ -130913,6 +131111,6 @@
diff --git a/android/abi_gki_aarch64_d6430e6763.xml b/android/abi_gki_aarch64_d6430e6763.xml
index d8491bc164ec..fb55483a32af 100644
--- a/android/abi_gki_aarch64_d6430e6763.xml
+++ b/android/abi_gki_aarch64_d6430e6763.xml
@@ -785,9 +785,11 @@
+
+
@@ -1017,6 +1019,7 @@
+
@@ -1593,8 +1596,10 @@
+
+
@@ -7095,6 +7100,7 @@
+
@@ -13681,6 +13687,11 @@
+
+
+
+
+
@@ -19164,6 +19175,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -20136,6 +20169,10 @@
+
+
+
+
@@ -20870,6 +20907,11 @@
+
+
+
+
+
@@ -30963,6 +31005,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -33351,6 +33404,14 @@
+
+
+
+
+
+
+
+
@@ -34918,14 +34979,6 @@
-
-
-
-
-
-
-
-
@@ -35270,6 +35323,12 @@
+
+
+
+
+
+
@@ -40794,18 +40853,18 @@
-
+
-
+
-
+
-
+
-
+
@@ -40813,7 +40872,22 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -40982,22 +41056,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -41022,6 +41080,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -52560,6 +52634,12 @@
+
+
+
+
+
+
@@ -61806,13 +61886,13 @@
-
+
-
+
-
+
@@ -61854,7 +61934,7 @@
-
+
@@ -66013,7 +66093,7 @@
-
+
@@ -69932,7 +70012,7 @@
-
+
@@ -69997,7 +70077,7 @@
-
+
@@ -70072,7 +70152,7 @@
-
+
@@ -70083,7 +70163,7 @@
-
+
@@ -70105,7 +70185,7 @@
-
+
@@ -97776,14 +97856,6 @@
-
-
-
-
-
-
-
-
@@ -98494,55 +98566,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -99916,6 +99939,14 @@
+
+
+
+
+
+
+
+
diff --git a/android/abi_gki_aarch64_exynosauto b/android/abi_gki_aarch64_exynosauto
index 084429b560c2..bff65a71356a 100644
--- a/android/abi_gki_aarch64_exynosauto
+++ b/android/abi_gki_aarch64_exynosauto
@@ -6,6 +6,7 @@
__arch_copy_from_user
__arch_copy_to_user
arm64_const_caps_ready
+ __arm_smccc_smc
atomic_notifier_call_chain
atomic_notifier_chain_register
__bitmap_and
@@ -41,7 +42,6 @@
cpu_bit_bitmap
cpu_hwcap_keys
cpu_hwcaps
- cpumask_next
cpu_number
__cpu_online_mask
__cpu_possible_mask
@@ -78,7 +78,12 @@
devm_phy_get
devm_pinctrl_get
devm_platform_ioremap_resource
+ __devm_regmap_init_i2c
+ devm_regulator_bulk_get
+ __devm_request_region
devm_request_threaded_irq
+ devm_snd_soc_register_card
+ devm_snd_soc_register_component
devm_usb_get_phy_by_phandle
_dev_notice
dev_pm_opp_add
@@ -193,6 +198,7 @@
init_wait_entry
__init_waitqueue_head
iomem_resource
+ iommu_get_domain_for_dev
iommu_register_device_fault_handler
iommu_unregister_device_fault_handler
ion_alloc
@@ -306,6 +312,7 @@
of_property_read_variable_u32_array
of_property_read_variable_u8_array
of_prop_next_string
+ of_reserved_mem_device_init_by_idx
of_reserved_mem_lookup
of_root
panic
@@ -329,6 +336,7 @@
phy_stop
physvirt_offset
pinctrl_lookup_state
+ pinctrl_pm_select_default_state
pinctrl_pm_select_sleep_state
pinctrl_select_state
platform_bus_type
@@ -354,6 +362,7 @@
__pm_runtime_set_status
__pm_runtime_suspend
__pm_runtime_use_autosuspend
+ pm_wakeup_dev_event
preempt_schedule
preempt_schedule_notrace
prepare_to_wait_event
@@ -380,6 +389,8 @@
refcount_inc_checked
refcount_inc_not_zero_checked
__refrigerator
+ regcache_mark_dirty
+ regcache_sync
register_pm_notifier
register_reboot_notifier
register_restart_handler
@@ -387,6 +398,8 @@
regmap_read
regmap_update_bits_base
regmap_write
+ regulator_bulk_disable
+ regulator_bulk_enable
regulator_disable
regulator_enable
regulator_get_optional
@@ -415,6 +428,15 @@
sg_next
simple_read_from_buffer
simple_strtoul
+ snd_pcm_format_width
+ snd_soc_component_update_bits
+ snd_soc_component_write
+ snd_soc_dai_set_fmt
+ snd_soc_info_volsw
+ snd_soc_of_get_dai_link_codecs
+ snd_soc_of_get_dai_name
+ snd_soc_of_parse_audio_routing
+ snd_soc_pm_ops
snprintf
sprintf
sscanf
@@ -429,7 +451,6 @@
strncpy
strnlen
strstr
- subsys_system_register
__sw_hweight32
__sw_hweight64
sync_file_create
@@ -522,19 +543,13 @@
cec_transmit_attempt_done_ts
cec_transmit_done_ts
cec_unregister_adapter
- __devm_regmap_init_i2c
- devm_regulator_bulk_get
drm_detect_hdmi_monitor
drm_do_get_edid
hdmi_avi_infoframe_init
hdmi_avi_infoframe_pack
i2c_new_ancillary_device
- regcache_mark_dirty
- regcache_sync
regmap_bulk_write
regmap_register_patch
- regulator_bulk_disable
- regulator_bulk_enable
# required by bufq.ko
kstrndup
@@ -563,11 +578,9 @@
of_clk_add_provider
of_clk_src_onecell_get
-# required by cmupmucal.ko
- pm_qos_add_request
-
# required by dss.ko
__alloc_percpu
+ cpumask_next
init_task
kstat
nr_irqs
@@ -674,18 +687,13 @@
# required by exynos-chipid_v2.ko
of_find_node_opts_by_path
soc_device_register
+ subsys_system_register
# required by exynos-pd.ko
of_genpd_add_provider_simple
pm_genpd_add_subdomain
pm_genpd_init
-# required by exynos-pd_el3.ko
- __arm_smccc_smc
-
-# required by exynos-pmu-if.ko
- cpu_topology
-
# required by exynos-reboot.ko
pm_power_off
@@ -875,7 +883,6 @@
# required by exynos_mfc.ko
iommu_dma_reserve_iova
- iommu_get_domain_for_dev
iommu_map_sg
iommu_unmap
mutex_lock_interruptible
@@ -920,6 +927,10 @@
# required by exynosauto9-itmon.ko
atomic_notifier_chain_unregister
+# required by exynosauto9-sadk-tas6424.ko
+ snd_soc_dai_set_tdm_slot
+ snd_soc_dai_set_tristate
+
# required by g2d.ko
__arch_copy_in_user
compat_alloc_user_space
@@ -970,7 +981,6 @@
kthread_should_stop
list_sort
mod_node_page_state
- of_reserved_mem_device_init_by_idx
of_reserved_mem_device_release
register_oom_notifier
sched_setscheduler
@@ -1212,6 +1222,7 @@
kthread_flush_worker
ktime_get_ts64
ktime_get_with_offset
+ map_vm_area
mutex_trylock
ns_to_timespec
param_ops_string
@@ -1222,6 +1233,7 @@
regulator_is_enabled
regulator_set_voltage
sched_setscheduler_nocheck
+ unmap_kernel_range
v4l2_device_register_subdev
v4l2_device_set_name
v4l2_device_unregister_subdev
@@ -1290,9 +1302,7 @@
phy_resume
phy_start_aneg
phy_suspend
- pinctrl_pm_select_default_state
platform_get_irq_byname
- pm_wakeup_dev_event
_raw_spin_lock_bh
_raw_spin_unlock_bh
register_netdev
@@ -1345,6 +1355,49 @@
v4l2_ctrl_new_std
v4l_bound_align_image
+# required by snd-soc-s3c-dma.ko
+ devm_snd_dmaengine_pcm_register
+ snd_dmaengine_pcm_prepare_slave_config
+
+# required by snd-soc-samsung-abox-core.ko
+ devm_iounmap
+ devm_kasprintf
+ devm_kmemdup
+ __devm_regmap_init
+ __devm_regmap_init_mmio_clk
+ dma_mmap_attrs
+ iommu_attach_device
+ __platform_register_drivers
+ platform_unregister_drivers
+ pm_runtime_no_callbacks
+ request_firmware_nowait
+ snd_pcm_hw_constraint_integer
+ snd_pcm_lib_free_pages
+ snd_pcm_lib_ioctl
+ snd_pcm_lib_malloc_pages
+ snd_pcm_lib_preallocate_free_for_all
+ snd_pcm_lib_preallocate_pages
+ snd_pcm_period_elapsed
+ snd_pcm_release_substream
+ snd_soc_component_exit_regmap
+ snd_soc_component_init_regmap
+ snd_soc_component_read
+ snd_soc_dapm_add_routes
+ snd_soc_dapm_get_enum_double
+ snd_soc_dapm_new_control
+ snd_soc_dapm_new_controls
+ snd_soc_dapm_put_enum_double
+ snd_soc_info_enum_double
+ snd_soc_register_component
+ snd_soc_set_runtime_hwparams
+ snd_soc_unregister_component
+
+# required by snd-soc-tas6424.ko
+ _dev_crit
+ regcache_cache_only
+ snd_soc_get_volsw
+ snd_soc_put_volsw
+
# required by spi-exynosauto.ko
loops_per_jiffy
__spi_alloc_controller
diff --git a/android/abi_gki_aarch64_qcom b/android/abi_gki_aarch64_qcom
index 082a890a6bb1..bb024bf3a5d1 100644
--- a/android/abi_gki_aarch64_qcom
+++ b/android/abi_gki_aarch64_qcom
@@ -668,9 +668,11 @@
drm_connector_unregister
drm_connector_update_edid_property
drm_crtc_cleanup
+ drm_crtc_from_index
drm_crtc_handle_vblank
drm_crtc_init_with_planes
drm_crtc_send_vblank_event
+ drm_crtc_set_max_vblank_count
drm_crtc_vblank_off
drm_crtc_vblank_on
drm_crtc_vblank_reset
@@ -906,6 +908,7 @@
fsl8250_handle_irq
fs_kobj
fsstack_copy_attr_all
+ full_name_hash
fwnode_connection_find_match
fwnode_get_parent
fwnode_handle_put
@@ -1540,6 +1543,8 @@
of_graph_get_next_endpoint
of_graph_get_remote_node
of_graph_get_remote_port_parent
+ of_graph_get_remote_port
+ of_graph_get_endpoint_by_regs
of_graph_parse_endpoint
of_hwspin_lock_get_id
of_icc_get
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index ef257c136f11..b5c86d85f7b3 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -72,10 +72,10 @@
#if defined(CONFIG_LD_DEAD_CODE_DATA_ELIMINATION) || defined(CONFIG_LTO_CLANG)
#define TEXT_MAIN .text .text.[0-9a-zA-Z_]*
#define TEXT_CFI_MAIN .text.[0-9a-zA-Z_]*.cfi
-#define DATA_MAIN .data .data.[0-9a-zA-Z_]* .data..LPBX*
+#define DATA_MAIN .data .data.[0-9a-zA-Z_]* .data..L* .data..compoundliteral*
#define SDATA_MAIN .sdata .sdata.[0-9a-zA-Z_]*
-#define RODATA_MAIN .rodata .rodata.[0-9a-zA-Z_]*
-#define BSS_MAIN .bss .bss.[0-9a-zA-Z_]*
+#define RODATA_MAIN .rodata .rodata.[0-9a-zA-Z_]* .rodata..L*
+#define BSS_MAIN .bss .bss.[0-9a-zA-Z_]* .bss..compoundliteral*
#define SBSS_MAIN .sbss .sbss.[0-9a-zA-Z_]*
#else
#define TEXT_MAIN .text