diff --git a/Kconfig b/Kconfig
index e10b3ee084d4..745bc773f567 100644
--- a/Kconfig
+++ b/Kconfig
@@ -5,8 +5,6 @@
#
mainmenu "Linux/$(ARCH) $(KERNELVERSION) Kernel Configuration"
-comment "Compiler: $(CC_VERSION_TEXT)"
-
source "scripts/Kconfig.include"
source "init/Kconfig"
diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml
index d798d258de56..3ca8c00c964d 100644
--- a/android/abi_gki_aarch64.xml
+++ b/android/abi_gki_aarch64.xml
@@ -119,6 +119,7 @@
+
@@ -552,6 +553,7 @@
+
@@ -809,15 +811,19 @@
+
+
+
+
@@ -1672,6 +1678,7 @@
+
@@ -2077,6 +2084,7 @@
+
@@ -3614,6 +3622,14 @@
+
+
+
+
+
+
+
+
@@ -3712,13 +3728,8 @@
-
-
-
-
-
@@ -3949,6 +3960,7 @@
+
@@ -4551,6 +4563,7 @@
+
@@ -14520,6 +14533,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -15221,7 +15249,22 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -15873,6 +15916,7 @@
+
@@ -16007,22 +16051,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -18962,6 +18990,164 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -19908,164 +20094,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -26909,7 +26937,7 @@
-
+
@@ -26920,7 +26948,7 @@
-
+
@@ -31467,7 +31495,7 @@
-
+
@@ -32544,7 +32572,7 @@
-
+
@@ -33928,7 +33956,7 @@
-
+
@@ -34189,7 +34217,7 @@
-
+
@@ -34403,7 +34431,6 @@
-
@@ -35195,7 +35222,7 @@
-
+
@@ -37909,6 +37936,7 @@
+
@@ -42848,7 +42876,6 @@
-
@@ -55901,6 +55928,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -56045,6 +56102,8 @@
+
+
@@ -56052,6 +56111,8 @@
+
+
@@ -58621,9 +58682,6 @@
-
-
-
@@ -58686,7 +58744,7 @@
-
+
@@ -58923,10 +58981,10 @@
-
+
-
+
@@ -59538,7 +59596,7 @@
-
+
@@ -59550,7 +59608,7 @@
-
+
@@ -59561,7 +59619,7 @@
-
+
@@ -59583,7 +59641,7 @@
-
+
@@ -59757,7 +59815,7 @@
-
+
@@ -59812,7 +59870,7 @@
-
+
@@ -60399,7 +60457,7 @@
-
+
@@ -60606,7 +60664,7 @@
-
+
@@ -60695,7 +60753,7 @@
-
+
@@ -60703,7 +60761,7 @@
-
+
@@ -60711,7 +60769,7 @@
-
+
@@ -60719,7 +60777,7 @@
-
+
@@ -60923,7 +60981,7 @@
-
+
@@ -60937,7 +60995,7 @@
-
+
@@ -60951,7 +61009,7 @@
-
+
@@ -60959,7 +61017,7 @@
-
+
@@ -60993,7 +61051,7 @@
-
+
@@ -61242,33 +61300,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -62196,7 +62227,7 @@
-
+
@@ -62214,7 +62245,7 @@
-
+
@@ -62747,7 +62778,7 @@
-
+
@@ -62878,8 +62909,7 @@
-
-
+
@@ -62903,7 +62933,6 @@
-
@@ -62924,16 +62953,12 @@
-
-
-
-
@@ -63016,7 +63041,6 @@
-
@@ -63028,8 +63052,7 @@
-
-
+
@@ -63043,10 +63066,8 @@
-
-
-
+
@@ -63152,7 +63173,7 @@
-
+
@@ -63247,7 +63268,7 @@
-
+
@@ -63327,7 +63348,7 @@
-
+
@@ -63341,7 +63362,7 @@
-
+
@@ -63406,11 +63427,11 @@
-
+
-
+
@@ -63730,7 +63751,7 @@
-
+
@@ -63822,7 +63843,7 @@
-
+
@@ -63851,11 +63872,11 @@
-
+
-
+
@@ -63960,7 +63981,7 @@
-
+
@@ -63971,7 +63992,7 @@
-
+
@@ -63979,7 +64000,7 @@
-
+
@@ -63995,7 +64016,7 @@
-
+
@@ -64011,7 +64032,7 @@
-
+
@@ -64019,7 +64040,7 @@
-
+
@@ -64033,7 +64054,7 @@
-
+
@@ -64044,7 +64065,7 @@
-
+
@@ -64052,7 +64073,7 @@
-
+
@@ -64060,7 +64081,7 @@
-
+
@@ -64068,7 +64089,7 @@
-
+
@@ -64076,7 +64097,7 @@
-
+
@@ -64095,7 +64116,7 @@
-
+
@@ -64868,6 +64889,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -64906,6 +64940,10 @@
+
+
+
+
@@ -66297,6 +66335,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -79275,6 +79394,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -80982,17 +81112,6 @@
-
-
-
-
-
-
-
-
-
-
-
@@ -81025,6 +81144,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -84205,8 +84335,6 @@
-
-
@@ -84324,6 +84452,10 @@
+
+
+
+
@@ -84510,7 +84642,6 @@
-
@@ -84533,13 +84664,6 @@
-
-
-
-
-
-
-
@@ -84839,10 +84963,6 @@
-
-
-
-
@@ -84877,18 +84997,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
@@ -84971,13 +85079,642 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -84986,11 +85723,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -87651,6 +88453,12 @@
+
+
+
+
+
+
@@ -88002,14 +88810,6 @@
-
-
-
-
-
-
-
-
@@ -88065,17 +88865,6 @@
-
-
-
-
-
-
-
-
-
-
-
@@ -88101,6 +88890,14 @@
+
+
+
+
+
+
+
+
@@ -88139,14 +88936,6 @@
-
-
-
-
-
-
-
-
@@ -90307,12 +91096,12 @@
-
+
-
+
-
+
@@ -91185,7 +91974,6 @@
-
@@ -91195,24 +91983,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
@@ -91553,6 +92329,11 @@
+
+
+
+
+
@@ -91927,9 +92708,9 @@
-
-
-
+
+
+
@@ -92021,36 +92802,36 @@
-
-
-
-
+
+
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -92459,15 +93240,15 @@
-
-
-
+
+
+
-
-
-
-
+
+
+
+
@@ -92894,44 +93675,44 @@
-
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
+
-
-
+
+
@@ -93110,7 +93891,6 @@
-
@@ -93124,10 +93904,8 @@
-
-
@@ -97231,7 +98009,7 @@
-
+
@@ -97573,13 +98351,13 @@
-
+
-
+
@@ -97906,7 +98684,7 @@
-
+
@@ -97984,10 +98762,10 @@
-
+
-
+
@@ -102263,23 +103041,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -102419,9 +103180,9 @@
-
+
-
+
@@ -102505,7 +103266,7 @@
-
+
@@ -103666,25 +104427,25 @@
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
@@ -104094,7 +104855,16 @@
+
+
+
+
+
+
+
+
+
@@ -104105,6 +104875,12 @@
+
+
+
+
+
+
@@ -104156,16 +104932,16 @@
-
-
+
+
-
-
+
+
-
-
+
+
@@ -104442,7 +105218,7 @@
-
+
@@ -104452,7 +105228,7 @@
-
+
@@ -104463,7 +105239,7 @@
-
+
@@ -104475,7 +105251,7 @@
-
+
@@ -104488,7 +105264,7 @@
-
+
@@ -104502,7 +105278,7 @@
-
+
@@ -104517,7 +105293,7 @@
-
+
@@ -105860,6 +106636,13 @@
+
+
+
+
+
+
+
@@ -107905,6 +108688,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -108149,7 +108943,7 @@
-
+
@@ -108592,7 +109386,7 @@
-
+
@@ -108659,93 +109453,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -108754,7 +109461,6 @@
-
@@ -109448,7 +110154,7 @@
-
+
@@ -109486,7 +110192,7 @@
-
+
@@ -110973,7 +111679,7 @@
-
+
@@ -110988,19 +111694,19 @@
-
+
-
+
-
+
@@ -111008,7 +111714,7 @@
-
+
@@ -111016,7 +111722,7 @@
-
+
@@ -111038,7 +111744,7 @@
-
+
@@ -111590,9 +112296,6 @@
-
-
-
@@ -111734,15 +112437,7 @@
-
-
-
-
-
-
-
-
-
+
@@ -111750,20 +112445,18 @@
-
+
-
+
-
-
-
-
-
-
+
-
+
+
+
+
@@ -112617,7 +113310,7 @@
-
+
@@ -112781,7 +113474,7 @@
-
+
@@ -113527,25 +114220,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -113684,6 +114358,14 @@
+
+
+
+
+
+
+
+
@@ -113746,26 +114428,61 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -114667,7 +115384,7 @@
-
+
@@ -114719,7 +115436,7 @@
-
+
@@ -115071,8 +115788,6 @@
-
-
@@ -115082,6 +115797,7 @@
+
@@ -115094,7 +115810,6 @@
-
@@ -115274,6 +115989,7 @@
+
@@ -115427,7 +116143,7 @@
-
+
@@ -115508,6 +116224,7 @@
+
@@ -116051,24 +116768,13 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -121447,6 +122153,14 @@
+
+
+
+
+
+
+
+
@@ -122170,6 +122884,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -122893,44 +123640,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -128265,14 +128974,6 @@
-
-
-
-
-
-
-
-
@@ -128471,6 +129172,14 @@
+
+
+
+
+
+
+
+
@@ -129175,6 +129884,6 @@
diff --git a/android/abi_gki_aarch64_exynos b/android/abi_gki_aarch64_exynos
index 97cf3901b7a1..0b41a3f16cad 100644
--- a/android/abi_gki_aarch64_exynos
+++ b/android/abi_gki_aarch64_exynos
@@ -7,6 +7,7 @@
alarm_cancel
alarm_init
alarm_start
+ alarm_start_relative
alloc_chrdev_region
alloc_etherdev_mqs
alloc_netdev_mqs
@@ -28,6 +29,7 @@
atomic_notifier_call_chain
atomic_notifier_chain_register
atomic_notifier_chain_unregister
+ autoremove_wake_function
backlight_device_unregister
_bcd2bin
bcmp
@@ -66,15 +68,43 @@
cancel_delayed_work
cancel_delayed_work_sync
cancel_work_sync
+ capable
cdev_add
cdev_alloc
cdev_del
cdev_device_add
cdev_device_del
cdev_init
+ __cfg80211_alloc_event_skb
+ __cfg80211_alloc_reply_skb
+ cfg80211_chandef_create
+ cfg80211_ch_switch_notify
+ cfg80211_classify8021d
+ cfg80211_connect_done
+ cfg80211_del_sta_sinfo
+ cfg80211_disconnected
+ cfg80211_external_auth_request
+ cfg80211_find_elem_match
+ cfg80211_find_vendor_elem
+ cfg80211_get_bss
+ cfg80211_inform_bss_frame_data
+ cfg80211_mgmt_tx_status
+ cfg80211_michael_mic_failure
+ cfg80211_new_sta
+ cfg80211_put_bss
+ cfg80211_ready_on_channel
+ cfg80211_remain_on_channel_expired
+ cfg80211_roamed
+ cfg80211_rx_mgmt
+ cfg80211_scan_done
+ cfg80211_sched_scan_results
+ cfg80211_sched_scan_stopped
+ __cfg80211_send_event_skb
+ cfg80211_vendor_cmd_reply
__cfi_slowpath
__check_object_size
__class_create
+ class_create_file_ns
class_destroy
class_find_device
__class_register
@@ -130,6 +160,7 @@
__const_udelay
consume_skb
contig_page_data
+ _copy_from_iter_full
__cpu_active_mask
cpu_all_bits
cpu_bit_bitmap
@@ -166,20 +197,25 @@
cpu_subsys
cpu_topology
cpu_up
+ crc32_le
crypto_alloc_shash
crypto_destroy_tfm
crypto_shash_digest
crypto_shash_final
crypto_shash_update
+ csum_partial
+ csum_tcpudp_nofold
_ctype
dapm_pinctrl_event
dapm_regulator_event
+ datagram_poll
default_llseek
default_wake_function
delayed_work_timer_fn
del_timer
del_timer_sync
destroy_workqueue
+ dev_alloc_name
_dev_crit
dev_driver_string
_dev_emerg
@@ -201,6 +237,7 @@
device_create
device_create_bin_file
device_create_file
+ device_del
device_destroy
device_find_child
device_for_each_child
@@ -241,6 +278,7 @@
devm_gpiochip_add_data
devm_gpiod_get_optional
devm_gpio_request_one
+ devm_iio_channel_get
devm_iio_device_alloc
devm_input_allocate_device
devm_ioremap
@@ -253,6 +291,7 @@
devm_kmalloc
devm_kmemdup
devm_kstrdup
+ devm_led_classdev_register_ext
__devm_of_phy_provider_register
devm_phy_create
devm_phy_get
@@ -261,6 +300,7 @@
devm_pinctrl_put
devm_pinctrl_register
devm_platform_ioremap_resource
+ __devm_regmap_init
__devm_regmap_init_i2c
__devm_regmap_init_mmio_clk
devm_regulator_bulk_get
@@ -275,6 +315,7 @@
devm_snd_dmaengine_pcm_register
devm_snd_soc_register_card
devm_snd_soc_register_component
+ devm_thermal_zone_of_sensor_register
devm_usb_get_phy
devm_usb_get_phy_by_phandle
_dev_notice
@@ -297,6 +338,7 @@
devres_add
devres_alloc_node
devres_free
+ devres_release
dev_set_mac_address
dev_set_name
_dev_warn
@@ -364,6 +406,7 @@
dma_set_coherent_mask
dma_set_mask
do_SAK
+ do_wait_intr
down
downgrade_write
down_interruptible
@@ -384,6 +427,7 @@
enable_irq
enable_percpu_irq
end_buffer_read_sync
+ ether_setup
eth_mac_addr
ethtool_op_get_link
eth_type_trans
@@ -395,6 +439,8 @@
fb_mode_option
fd_install
fget
+ filp_close
+ filp_open
find_get_pid
find_next_bit
find_next_zero_bit
@@ -423,6 +469,9 @@
fwnode_property_read_u16_array
generic_file_llseek
generic_handle_irq
+ genlmsg_put
+ genl_register_family
+ genl_unregister_family
gen_pool_add_owner
gen_pool_alloc_algo_owner
gen_pool_avail
@@ -486,6 +535,7 @@
hwrng_register
hwrng_unregister
i2c_adapter_type
+ i2c_add_adapter
i2c_add_numbered_adapter
i2c_bus_type
i2c_del_adapter
@@ -511,12 +561,18 @@
ida_free
idr_alloc
idr_remove
+ ieee80211_channel_to_freq_khz
+ ieee80211_freq_khz_to_channel
+ ieee80211_get_channel_khz
ignore_console_lock_warning
iio_channel_get
iio_channel_release
+ iio_device_alloc
+ iio_device_free
__iio_device_register
iio_device_unregister
iio_read_channel_processed
+ iio_read_channel_raw
in4_pton
in6_pton
init_dummy_netdev
@@ -582,6 +638,7 @@
__ioremap
iounmap
__iowrite32_copy
+ ip_send_check
__irq_alloc_descs
irq_create_mapping
__irq_domain_add
@@ -591,6 +648,7 @@
irq_domain_xlate_onetwocell
irq_domain_xlate_twocell
irq_find_mapping
+ irq_get_irqchip_state
irq_get_irq_data
irq_modify_status
irq_of_parse_and_map
@@ -601,6 +659,7 @@
irq_set_chip_data
__irq_set_handler
irq_set_handler_data
+ irq_set_irqchip_state
irq_set_irq_wake
irq_to_desc
irq_work_queue
@@ -613,6 +672,7 @@
jiffies_to_usecs
kasprintf
kernel_kobj
+ kernel_read
kernel_write
keyslot_manager_create_passthrough
keyslot_manager_private
@@ -620,10 +680,12 @@
__kfifo_free
__kfifo_in
__kfifo_out
+ __kfifo_to_user
kfree
kfree_call_rcu
kfree_const
kfree_skb
+ kfree_skb_list
kimage_vaddr
kimage_voffset
__kmalloc
@@ -637,6 +699,7 @@
kmemdup
kobject_add
kobject_create_and_add
+ kobject_get
kobject_init
kobject_init_and_add
kobject_put
@@ -687,7 +750,9 @@
__list_del_entry_valid
list_sort
llist_add_batch
+ __local_bh_enable_ip
__lock_buffer
+ lock_sock_nested
loops_per_jiffy
map_vm_area
match_string
@@ -701,6 +766,7 @@
media_entity_remove_links
media_remove_intf_links
memchr
+ memcmp
memcpy
__memcpy_fromio
__memcpy_toio
@@ -737,6 +803,7 @@
module_put
__msecs_to_jiffies
msleep
+ msleep_interruptible
__mutex_init
mutex_is_locked
mutex_lock
@@ -755,11 +822,24 @@
netif_carrier_off
netif_carrier_on
netif_napi_add
+ netif_napi_del
netif_receive_skb
netif_receive_skb_list
netif_rx
+ netif_rx_ni
+ netif_tx_stop_all_queues
netif_tx_wake_queue
+ netlink_broadcast
+ netlink_register_notifier
+ netlink_unicast
+ netlink_unregister_notifier
+ nla_memcpy
+ __nla_parse
+ nla_put
+ nla_put_nohdr
+ nla_strlcpy
no_llseek
+ nonseekable_open
noop_llseek
nr_cpu_ids
nr_irqs
@@ -811,6 +891,7 @@
of_match_node
of_node_name_eq
of_parse_phandle
+ of_parse_phandle_with_args
of_parse_phandle_with_fixed_args
of_phandle_iterator_init
of_phandle_iterator_next
@@ -843,6 +924,7 @@
param_ops_charp
param_ops_int
param_ops_long
+ param_ops_string
param_ops_uint
param_ops_ullong
param_ops_ulong
@@ -951,19 +1033,26 @@
power_supply_get_property
power_supply_put
power_supply_register
+ power_supply_set_property
power_supply_unregister
preempt_schedule
preempt_schedule_notrace
prepare_to_wait_event
print_hex_dump
printk
+ __printk_ratelimit
+ printk_timed_ratelimit
proc_create
proc_create_data
proc_create_seq_private
proc_mkdir
proc_remove
proc_set_size
+ proc_set_user
proc_symlink
+ proto_register
+ proto_unregister
+ __pskb_copy_fclone
__put_cred
put_device
__put_page
@@ -987,8 +1076,10 @@
raw_notifier_chain_register
raw_notifier_chain_unregister
_raw_read_lock
+ _raw_read_lock_bh
_raw_read_lock_irqsave
_raw_read_unlock
+ _raw_read_unlock_bh
_raw_read_unlock_irqrestore
_raw_spin_lock
_raw_spin_lock_bh
@@ -999,7 +1090,11 @@
_raw_spin_unlock_bh
_raw_spin_unlock_irq
_raw_spin_unlock_irqrestore
+ _raw_write_lock
+ _raw_write_lock_bh
_raw_write_lock_irqsave
+ _raw_write_unlock
+ _raw_write_unlock_bh
_raw_write_unlock_irqrestore
rb_erase
rb_first
@@ -1013,6 +1108,7 @@
rdev_get_id
reboot_mode
refcount_dec_and_test_checked
+ refcount_dec_checked
refcount_inc_checked
refcount_inc_not_zero_checked
__refrigerator
@@ -1025,7 +1121,10 @@
register_chrdev_region
register_console
register_die_notifier
+ register_inet6addr_notifier
+ register_inetaddr_notifier
register_netdev
+ register_netdevice
register_oom_notifier
register_pm_notifier
register_reboot_notifier
@@ -1034,6 +1133,7 @@
register_syscore_ops
regmap_async_complete
regmap_bulk_read
+ regmap_bulk_write
regmap_multi_reg_write
regmap_multi_reg_write_bypassed
regmap_raw_read
@@ -1059,6 +1159,7 @@
release_firmware
release_pages
__release_region
+ release_sock
remap_pfn_range
remap_vmalloc_range
remove_proc_entry
@@ -1075,6 +1176,10 @@
reset_control_put
reset_control_reset
return_address
+ rfkill_alloc
+ rfkill_destroy
+ rfkill_register
+ rfkill_unregister
rps_needed
rtc_class_close
rtc_class_open
@@ -1083,6 +1188,7 @@
rtc_tm_to_time64
rtc_update_irq
rtc_valid_tm
+ rtnl_is_locked
rtnl_lock
rtnl_unlock
sched_clock
@@ -1100,6 +1206,7 @@
scsi_print_sense_hdr
sdev_prefix_printk
sdio_signal_irq
+ security_sock_graft
seq_lseek
seq_printf
seq_puts
@@ -1130,8 +1237,14 @@
simple_write_to_buffer
single_open
single_release
+ sk_alloc
+ skb_clone
+ skb_copy
+ skb_copy_bits
+ skb_copy_datagram_iter
skb_copy_expand
skb_dequeue
+ skb_free_datagram
skb_pull
skb_push
skb_put
@@ -1139,7 +1252,10 @@
skb_queue_purge
skb_queue_tail
skb_realloc_headroom
+ skb_recv_datagram
skb_trim
+ skb_unlink
+ sk_free
smpboot_register_percpu_thread
smp_call_function
smp_call_function_many
@@ -1182,6 +1298,7 @@
snd_soc_component_write
snd_soc_dai_set_bclk_ratio
snd_soc_dai_set_channel_map
+ snd_soc_dai_set_fmt
snd_soc_dai_set_sysclk
snd_soc_dai_set_tdm_slot
snd_soc_dapm_add_routes
@@ -1194,6 +1311,8 @@
snd_soc_dapm_ignore_suspend
snd_soc_dapm_info_pin_switch
snd_soc_dapm_kcontrol_dapm
+ snd_soc_dapm_mixer_update_power
+ snd_soc_dapm_mux_update_power
snd_soc_dapm_new_control
snd_soc_dapm_new_controls
snd_soc_dapm_put_enum_double
@@ -1235,6 +1354,23 @@
snd_vendor_set_ops
snprintf
soc_device_register
+ sock_alloc_send_skb
+ sock_init_data
+ sock_no_accept
+ sock_no_bind
+ sock_no_connect
+ sock_no_getname
+ sock_no_getsockopt
+ sock_no_ioctl
+ sock_no_listen
+ sock_no_mmap
+ sock_no_sendmsg
+ sock_no_setsockopt
+ sock_no_shutdown
+ sock_no_socketpair
+ sock_queue_rcv_skb
+ sock_register
+ sock_unregister
softnet_data
sort
__spi_alloc_controller
@@ -1277,6 +1413,7 @@
strncmp
strncpy
strnlen
+ strnstr
strpbrk
strrchr
strsep
@@ -1312,6 +1449,7 @@
system_unbound_wq
system_wq
sys_tz
+ __tasklet_hi_schedule
tasklet_init
tasklet_kill
__tasklet_schedule
@@ -1399,7 +1537,10 @@
unmap_mapping_range
__unregister_chrdev
unregister_chrdev_region
+ unregister_inet6addr_notifier
+ unregister_inetaddr_notifier
unregister_netdev
+ unregister_netdevice_queue
unregister_pm_notifier
unregister_reboot_notifier
unregister_restart_handler
@@ -1553,6 +1694,7 @@
vfree
vfs_fsync
vfs_llseek
+ vfs_statx
video_devdata
video_device_alloc
video_device_release
@@ -1593,4 +1735,9 @@
watchdog_register_device
watchdog_set_restart_priority
watchdog_unregister_device
+ wiphy_apply_custom_regulatory
+ wiphy_free
+ wiphy_new_nm
+ wiphy_register
+ wiphy_unregister
work_busy
diff --git a/android/abi_gki_aarch64_hikey960 b/android/abi_gki_aarch64_hikey960
index f4997bb0639b..128ac45e94b9 100644
--- a/android/abi_gki_aarch64_hikey960
+++ b/android/abi_gki_aarch64_hikey960
@@ -1,6 +1,5 @@
[abi_symbol_list]
# commonly used symbols
- add_uevent_var
alloc_chrdev_region
__alloc_disk_node
__alloc_pages_nodemask
@@ -89,11 +88,9 @@
device_property_present
device_property_read_string
device_property_read_u32_array
- device_register
device_release_driver
device_remove_file
device_set_wakeup_capable
- device_unregister
device_wakeup_enable
_dev_info
devm_clk_get
@@ -172,7 +169,6 @@
free_irq
__free_pages
free_pages
- fwnode_property_present
get_device
__get_free_pages
get_random_bytes
@@ -203,7 +199,6 @@
irq_of_parse_and_map
irq_set_irq_wake
jiffies
- jiffies_to_msecs
kfree
kfree_const
kfree_skb
@@ -213,7 +208,6 @@
kmalloc_order_trace
kmem_cache_alloc_trace
kmemdup
- kstrtobool
kstrtoint
kstrtouint
kstrtoull
@@ -462,6 +456,8 @@
usb_hub_clear_tt_buffer
usb_put_hcd
usb_remove_hcd
+ usb_role_switch_register
+ usb_role_switch_unregister
usb_root_hub_lost_power
__usecs_to_jiffies
usleep_range
@@ -700,6 +696,12 @@
# required by hi655x-regulator.ko
regulator_list_voltage_linear
+# required by hisi_hikey_usb.ko
+ usb_role_switch_get
+ usb_role_switch_get_role
+ usb_role_switch_put
+ usb_role_switch_set_role
+
# required by hisi_powerkey.ko
devm_input_allocate_device
devm_request_any_context_irq
@@ -716,6 +718,8 @@
# required by hwmon.ko
__class_register
class_unregister
+ device_register
+ device_unregister
kstrtoll
strpbrk
@@ -1058,6 +1062,7 @@
spi_sync_locked
# required by nvme-core.ko
+ add_uevent_var
blk_freeze_queue_start
blk_mq_alloc_request
blk_mq_alloc_request_hctx
@@ -1161,6 +1166,7 @@
kmem_cache_create
kmem_cache_destroy
kstrndup
+ kstrtobool
kstrtou16
mempool_alloc_slab
mempool_create
@@ -1211,15 +1217,6 @@
rfkill_register
rfkill_unregister
-# required by roles.ko
- class_find_device
- device_connection_find_match
- device_match_fwnode
- device_match_name
- fwnode_connection_find_match
- fwnode_get_parent
- __sysfs_match_string
-
# required by rtc-efi.ko
devm_rtc_device_register
efi
@@ -1291,54 +1288,18 @@
# required by tcpci.ko
device_get_named_child_node
+ tcpm_cc_change
+ tcpm_pd_hard_reset
+ tcpm_pd_receive
+ tcpm_pd_transmit_complete
+ tcpm_register_port
+ tcpm_tcpc_reset
+ tcpm_unregister_port
+ tcpm_vbus_change
# required by tcpci_rt1711h.ko
i2c_smbus_read_word_data
-# required by tcpm.ko
- devm_power_supply_register
- fwnode_property_read_string
- fwnode_property_read_u32_array
- power_supply_changed
- power_supply_get_drvdata
- typec_altmode_attention
- typec_altmode_notify
- typec_altmode_update_active
- typec_altmode_vdm
- typec_find_port_data_role
- typec_find_port_power_role
- typec_find_power_role
- typec_get_drvdata
- typec_match_altmode
- typec_partner_register_altmode
- typec_partner_set_identity
- typec_port_register_altmode
- typec_register_partner
- typec_register_port
- typec_set_data_role
- typec_set_mode
- typec_set_orientation
- typec_set_pwr_opmode
- typec_set_pwr_role
- typec_set_vconn_role
- typec_unregister_altmode
- typec_unregister_partner
- typec_unregister_port
-
-# required by ufs-hisi.ko
- devm_platform_ioremap_resource
- ufshcd_dme_get_attr
- ufshcd_dme_set_attr
- ufshcd_get_pwr_dev_param
- ufshcd_pltfrm_init
- ufshcd_pltfrm_resume
- ufshcd_pltfrm_runtime_idle
- ufshcd_pltfrm_runtime_resume
- ufshcd_pltfrm_runtime_suspend
- ufshcd_pltfrm_shutdown
- ufshcd_pltfrm_suspend
- ufshcd_remove
-
# required by wl18xx.ko
__cfg80211_alloc_event_skb
__cfg80211_send_event_skb
@@ -1388,6 +1349,7 @@
ieee80211_unregister_hw
ieee80211_wake_queue
ieee80211_wake_queues
+ jiffies_to_msecs
jiffies_to_usecs
__local_bh_enable_ip
__netdev_alloc_skb
diff --git a/android/abi_gki_aarch64_qcom b/android/abi_gki_aarch64_qcom
index a1b98f3e267d..1580a6ba2422 100644
--- a/android/abi_gki_aarch64_qcom
+++ b/android/abi_gki_aarch64_qcom
@@ -166,8 +166,10 @@
cfg80211_unlink_bss
cfg80211_update_owe_info_event
cfg80211_vendor_cmd_reply
+ __cfi_slowpath
check_disk_change
__check_object_size
+ check_zeroed_user
__class_create
class_destroy
class_find_device
@@ -1008,6 +1010,7 @@
hrtimer_init
hrtimer_start_range_ns
hrtimer_try_to_cancel
+ hrtimer_init_sleeper
hvc_alloc
hvc_instantiate
hvc_kick
@@ -1488,6 +1491,7 @@
of_drm_find_panel
of_find_compatible_node
of_find_device_by_node
+ of_find_i2c_device_by_node
of_find_matching_node_and_match
of_find_node_by_name
of_find_node_by_phandle
diff --git a/android/abi_gki_aarch64_sunxi b/android/abi_gki_aarch64_sunxi
index 9fb7727b17a4..890759b51caf 100644
--- a/android/abi_gki_aarch64_sunxi
+++ b/android/abi_gki_aarch64_sunxi
@@ -302,3 +302,9 @@
# required by sun6i-dma.ko
dma_get_any_slave_channel
+
+# required by sun50i-cpufreq-nvmem.ko
+ dev_pm_opp_of_get_opp_desc_node
+ dev_pm_opp_put_prop_name
+ dev_pm_opp_put_supported_hw
+ dev_pm_opp_set_prop_name
diff --git a/android/abi_gki_aarch64_xiaomi b/android/abi_gki_aarch64_xiaomi
new file mode 100644
index 000000000000..8d1df4df7ba0
--- /dev/null
+++ b/android/abi_gki_aarch64_xiaomi
@@ -0,0 +1,80 @@
+[abi_symbol_list]
+# required by cs35l41_dlkm.ko
+ regmap_async_complete
+ regmap_multi_reg_write
+ regmap_multi_reg_write_bypassed
+ regmap_raw_write
+ regmap_raw_write_async
+ regulator_bulk_enable
+ snd_pcm_format_physical_width
+ snd_soc_get_volsw_range
+ snd_soc_info_volsw_range
+ snd_soc_put_volsw_range
+
+# required by q6_dlkm.ko
+ down_interruptible
+ __kfifo_alloc
+ __kfifo_free
+ __kfifo_from_user
+ snd_soc_bytes_info_ext
+
+# required by aw8697.ko
+ devm_gpio_free
+
+# required by msm_drm.ko
+ kobject_set_name
+
+# required by exfat.ko
+ block_write_full_page
+ __blockdev_direct_IO
+ __bread_gfp
+ __brelse
+ cont_write_begin
+ d_find_alias
+ d_move
+ filemap_fdatawait_range
+ filemap_fdatawrite_range
+ full_name_hash
+ generic_block_bmap
+ generic_cont_expand_simple
+ generic_fh_to_dentry
+ generic_fh_to_parent
+ generic_file_fsync
+ generic_file_write_iter
+ generic_fillattr
+ generic_write_end
+ __getblk_gfp
+ ilookup
+ in_group_p
+ inc_nlink
+ invalidate_bdev
+ invalidate_inode_buffers
+ iunique
+ __insert_inode_hash
+ kill_block_super
+ load_nls
+ __lock_buffer
+ mark_buffer_dirty
+ match_octal
+ match_strdup
+ mount_bdev
+ mpage_readpage
+ mpage_readpages
+ mpage_writepages
+ __mark_inode_dirty
+ nf_register_net_hooks
+ nf_unregister_net_hooks
+ sb_min_blocksize
+ sb_set_blocksize
+ setattr_copy
+ sync_blockdev
+ sync_dirty_buffer
+ sync_mapping_buffers
+ __remove_inode_hash
+ touch_buffer
+ truncate_pagecache
+ unload_nls
+ unlock_buffer
+ utf16s_to_utf8s
+ utf8s_to_utf16s
+ write_inode_now
diff --git a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
index 32f373f19a73..cb9c7c6b746f 100644
--- a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
+++ b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
@@ -654,12 +654,23 @@
status = "ok";
compatible = "adi,adv7533";
reg = <0x39>;
+ v1p2-supply = <&ldo3>;
+ vdd-supply = <&ldo3>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <1 2>;
+ pd-gpio = <&gpio5 1 0>;
+ sel-gpio = <&gpio2 4 0>;
adi,dsi-lanes = <4>;
+ adi,disable-timing-generator;
+ #sound-dai-cells = <0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
+ adv7533_in: endpoint@0 {
+ remote-endpoint = <&dsi_out0>;
+ };
};
port@1 {
reg = <1>;
diff --git a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
index f6a501e4963b..0637e5883a9b 100644
--- a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
@@ -446,26 +446,6 @@
pinctrl-0 = <&i2c1_pmx_func &i2c1_cfg_func>;
status = "ok";
- adv7533: adv7533@39 {
- status = "ok";
- compatible = "adi,adv7533";
- reg = <0x39>;
- v1p2-supply = <&ldo3>;
- vdd-supply = <&ldo3>;
- interrupt-parent = <&gpio1>;
- interrupts = <1 2>;
- pd-gpio = <&gpio5 1 0>;
- sel-gpio = <&gpio2 4 0>;
- adi,dsi-lanes = <4>;
- adi,disable-timing-generator;
- #sound-dai-cells = <0>;
-
- port {
- adv7533_in: endpoint {
- remote-endpoint = <&dsi_out0>;
- };
- };
- };
};
i2c3: i2c@fdf0c000 {
diff --git a/build.config.allmodconfig.aarch64 b/build.config.allmodconfig.aarch64
index 863ab1caddab..2fbe380e030a 100644
--- a/build.config.allmodconfig.aarch64
+++ b/build.config.allmodconfig.aarch64
@@ -1,4 +1,4 @@
-. ${ROOT_DIR}/common/build.config.common
-. ${ROOT_DIR}/common/build.config.aarch64
-. ${ROOT_DIR}/common/build.config.allmodconfig
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.common
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.aarch64
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.allmodconfig
diff --git a/build.config.allmodconfig.arm b/build.config.allmodconfig.arm
index 5dd94819c871..e92744a9b518 100644
--- a/build.config.allmodconfig.arm
+++ b/build.config.allmodconfig.arm
@@ -1,4 +1,4 @@
-. ${ROOT_DIR}/common/build.config.common
-. ${ROOT_DIR}/common/build.config.arm
-. ${ROOT_DIR}/common/build.config.allmodconfig
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.common
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.arm
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.allmodconfig
diff --git a/build.config.allmodconfig.x86_64 b/build.config.allmodconfig.x86_64
index bedb3869d99b..f06b30c8426f 100644
--- a/build.config.allmodconfig.x86_64
+++ b/build.config.allmodconfig.x86_64
@@ -1,4 +1,4 @@
-. ${ROOT_DIR}/common/build.config.common
-. ${ROOT_DIR}/common/build.config.x86_64
-. ${ROOT_DIR}/common/build.config.allmodconfig
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.common
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.x86_64
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.allmodconfig
diff --git a/build.config.common b/build.config.common
index c8cefce4bc90..3936fc8ef5c5 100644
--- a/build.config.common
+++ b/build.config.common
@@ -1,6 +1,5 @@
BRANCH=android11-5.4
KMI_GENERATION=0
-KERNEL_DIR=common
CC=clang
LD=ld.lld
diff --git a/build.config.db845c b/build.config.db845c
index 4a38befde6f0..e4e25e3d8f7e 100644
--- a/build.config.db845c
+++ b/build.config.db845c
@@ -1,10 +1,10 @@
-. ${ROOT_DIR}/common/build.config.common
-. ${ROOT_DIR}/common/build.config.aarch64
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.common
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.aarch64
BUILD_INITRAMFS=1
DEFCONFIG=db845c_gki_defconfig
-PRE_DEFCONFIG_CMDS="KCONFIG_CONFIG=${ROOT_DIR}/common/arch/arm64/configs/${DEFCONFIG} ${ROOT_DIR}/common/scripts/kconfig/merge_config.sh -m -r ${ROOT_DIR}/common/arch/arm64/configs/gki_defconfig ${ROOT_DIR}/common/arch/arm64/configs/db845c_gki.fragment"
-POST_DEFCONFIG_CMDS="rm ${ROOT_DIR}/common/arch/arm64/configs/${DEFCONFIG}"
+PRE_DEFCONFIG_CMDS="KCONFIG_CONFIG=${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/${DEFCONFIG} ${ROOT_DIR}/${KERNEL_DIR}/scripts/kconfig/merge_config.sh -m -r ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/gki_defconfig ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/db845c_gki.fragment"
+POST_DEFCONFIG_CMDS="rm ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/${DEFCONFIG}"
FILES="
arch/arm64/boot/Image.gz
diff --git a/build.config.gki-debug.aarch64 b/build.config.gki-debug.aarch64
index 58cee7a6362b..c1fe2f03a279 100644
--- a/build.config.gki-debug.aarch64
+++ b/build.config.gki-debug.aarch64
@@ -1,3 +1,3 @@
-. ${ROOT_DIR}/common/build.config.gki.aarch64
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.gki.aarch64
TRIM_NONLISTED_KMI=""
KMI_SYMBOL_LIST_STRICT_MODE=""
diff --git a/build.config.gki-debug.x86_64 b/build.config.gki-debug.x86_64
index 9ee51e7de18c..d89b7ad4e804 100644
--- a/build.config.gki-debug.x86_64
+++ b/build.config.gki-debug.x86_64
@@ -1,3 +1,3 @@
-. ${ROOT_DIR}/common/build.config.gki.x86_64
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.gki.x86_64
TRIM_NONLISTED_KMI=""
KMI_SYMBOL_LIST_STRICT_MODE=""
diff --git a/build.config.gki.aarch64 b/build.config.gki.aarch64
index 3a875c99c702..cd27f0ad7076 100644
--- a/build.config.gki.aarch64
+++ b/build.config.gki.aarch64
@@ -1,6 +1,6 @@
-. ${ROOT_DIR}/common/build.config.common
-. ${ROOT_DIR}/common/build.config.aarch64
-. ${ROOT_DIR}/common/build.config.gki
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.common
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.aarch64
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.gki
ABI_DEFINITION=android/abi_gki_aarch64.xml
KMI_SYMBOL_LIST=android/abi_gki_aarch64
@@ -18,6 +18,7 @@ android/abi_gki_aarch64_sunxi
android/abi_gki_aarch64_unisoc
android/abi_gki_aarch64_vivo
android/abi_gki_aarch64_workarounds
+android/abi_gki_aarch64_xiaomi
"
TRIM_NONLISTED_KMI=1
KMI_SYMBOL_LIST_ADD_ONLY=1
diff --git a/build.config.gki.x86_64 b/build.config.gki.x86_64
index 627d1e1c27ab..0e04fc692df2 100644
--- a/build.config.gki.x86_64
+++ b/build.config.gki.x86_64
@@ -1,4 +1,4 @@
-. ${ROOT_DIR}/common/build.config.common
-. ${ROOT_DIR}/common/build.config.x86_64
-. ${ROOT_DIR}/common/build.config.gki
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.common
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.x86_64
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.gki
diff --git a/build.config.gki_kasan b/build.config.gki_kasan
index e682b0d490bd..b3273b10a01c 100644
--- a/build.config.gki_kasan
+++ b/build.config.gki_kasan
@@ -1,6 +1,5 @@
DEFCONFIG=gki_defconfig
POST_DEFCONFIG_CMDS="check_defconfig && update_kasan_config"
-KERNEL_DIR=common
function update_kasan_config() {
${KERNEL_DIR}/scripts/config --file ${OUT_DIR}/.config \
-e CONFIG_KASAN \
diff --git a/build.config.gki_kasan.aarch64 b/build.config.gki_kasan.aarch64
index 6277fd662863..9fd2560c45e8 100644
--- a/build.config.gki_kasan.aarch64
+++ b/build.config.gki_kasan.aarch64
@@ -1,4 +1,3 @@
-. ${ROOT_DIR}/common/build.config.common
-. ${ROOT_DIR}/common/build.config.aarch64
-. ${ROOT_DIR}/common/build.config.gki_kasan
-
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.common
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.aarch64
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.gki_kasan
diff --git a/build.config.gki_kasan.x86_64 b/build.config.gki_kasan.x86_64
index 6a379eceeb31..eec645805f39 100644
--- a/build.config.gki_kasan.x86_64
+++ b/build.config.gki_kasan.x86_64
@@ -1,4 +1,4 @@
-. ${ROOT_DIR}/common/build.config.common
-. ${ROOT_DIR}/common/build.config.x86_64
-. ${ROOT_DIR}/common/build.config.gki_kasan
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.common
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.x86_64
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.gki_kasan
diff --git a/build.config.hikey960 b/build.config.hikey960
index 8a4acc616bb8..d57ce98eb95c 100644
--- a/build.config.hikey960
+++ b/build.config.hikey960
@@ -1,9 +1,9 @@
-. ${ROOT_DIR}/common/build.config.common
-. ${ROOT_DIR}/common/build.config.aarch64
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.common
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.aarch64
DEFCONFIG=hikey960_gki_defconfig
-PRE_DEFCONFIG_CMDS="cat ./common/arch/arm64/configs/gki_defconfig ./common/arch/arm64/configs/hikey960_gki.fragment > ./common/arch/arm64/configs/${DEFCONFIG};"
-POST_DEFCONFIG_CMDS="rm ./common/arch/arm64/configs/${DEFCONFIG}"
+PRE_DEFCONFIG_CMDS="cat ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/gki_defconfig ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/hikey960_gki.fragment > ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/${DEFCONFIG};"
+POST_DEFCONFIG_CMDS="rm ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/${DEFCONFIG}"
EXT_MODULES="
hikey-modules/midgard
diff --git a/drivers/base/arch_topology.c b/drivers/base/arch_topology.c
index f6802ee94bbf..0d10ee372515 100644
--- a/drivers/base/arch_topology.c
+++ b/drivers/base/arch_topology.c
@@ -34,7 +34,7 @@ void arch_set_freq_scale(struct cpumask *cpus, unsigned long cur_freq,
scale = (cur_freq << SCHED_CAPACITY_SHIFT) / max_freq;
- trace_android_vh_arch_set_freq_scale(cur_freq, max_freq, &scale);
+ trace_android_vh_arch_set_freq_scale(cpus, cur_freq, max_freq, &scale);
for_each_cpu(i, cpus){
per_cpu(freq_scale, i) = scale;
@@ -57,7 +57,7 @@ void arch_set_max_freq_scale(struct cpumask *cpus,
scale = (policy_max_freq << SCHED_CAPACITY_SHIFT) / max_freq;
- trace_android_vh_arch_set_freq_scale(policy_max_freq, max_freq, &scale);
+ trace_android_vh_arch_set_freq_scale(cpus, policy_max_freq, max_freq, &scale);
for_each_cpu(cpu, cpus)
per_cpu(max_freq_scale, cpu) = scale;
diff --git a/include/linux/kconfig.h b/include/linux/kconfig.h
index cc8fa109cfa3..9d12c970f18f 100644
--- a/include/linux/kconfig.h
+++ b/include/linux/kconfig.h
@@ -2,6 +2,8 @@
#ifndef __LINUX_KCONFIG_H
#define __LINUX_KCONFIG_H
+/* CONFIG_CC_VERSION_TEXT (Do not delete this comment. See help in Kconfig) */
+
#include
#ifdef CONFIG_CPU_BIG_ENDIAN
diff --git a/include/trace/hooks/topology.h b/include/trace/hooks/topology.h
index 65ee1962b833..32b44c7e5130 100644
--- a/include/trace/hooks/topology.h
+++ b/include/trace/hooks/topology.h
@@ -9,16 +9,18 @@
#include
#include
+#include
#if defined(CONFIG_TRACEPOINTS) && defined(CONFIG_ANDROID_VENDOR_HOOKS)
DECLARE_HOOK(android_vh_arch_set_freq_scale,
- TP_PROTO(unsigned long freq, unsigned long max, unsigned long *scale),
- TP_ARGS(freq, max, scale));
+ TP_PROTO(struct cpumask *cpus, unsigned long freq, unsigned long max,
+ unsigned long *scale),
+ TP_ARGS(cpus, freq, max, scale));
#else
-#define trace_android_vh_arch_set_freq_scale(freq, max, scale)
+#define trace_android_vh_arch_set_freq_scale(cpus, freq, max, scale)
#endif
diff --git a/init/Kconfig b/init/Kconfig
index 2e28155b461f..455105d007cd 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -9,6 +9,23 @@ config DEFCONFIG_LIST
default ARCH_DEFCONFIG
default "arch/$(ARCH)/defconfig"
+config CC_VERSION_TEXT
+ string
+ default "$(CC_VERSION_TEXT)"
+ help
+ This is used in unclear ways:
+
+ - Re-run Kconfig when the compiler is updated
+ The 'default' property references the environment variable,
+ CC_VERSION_TEXT so it is recorded in include/config/auto.conf.cmd.
+ When the compiler is updated, Kconfig will be invoked.
+
+ - Ensure full rebuild when the compier is updated
+ include/linux/kconfig.h contains this option in the comment line so
+ fixdep adds include/config/cc/version/text.h into the auto-generated
+ dependency. When the compiler is updated, syncconfig will touch it
+ and then every file will be rebuilt.
+
config CC_IS_GCC
def_bool $(success,$(CC) --version | head -n 1 | grep -q gcc)
diff --git a/init/Makefile b/init/Makefile
index 30aa8ab11120..57499b1ff471 100644
--- a/init/Makefile
+++ b/init/Makefile
@@ -35,4 +35,4 @@ include/generated/compile.h: FORCE
@$($(quiet)chk_compile.h)
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkcompile_h $@ \
"$(UTS_MACHINE)" "$(CONFIG_SMP)" "$(CONFIG_PREEMPT)" \
- "$(CONFIG_PREEMPT_RT)" "$(CC) $(KBUILD_CFLAGS)" "$(LD)"
+ "$(CONFIG_PREEMPT_RT)" $(CONFIG_CC_VERSION_TEXT) "$(LD)"
diff --git a/kernel/kthread.c b/kernel/kthread.c
index bfbfa481be3a..1e9bf63a30de 100644
--- a/kernel/kthread.c
+++ b/kernel/kthread.c
@@ -886,7 +886,9 @@ static void __kthread_queue_delayed_work(struct kthread_worker *worker,
struct timer_list *timer = &dwork->timer;
struct kthread_work *work = &dwork->work;
+#ifndef CONFIG_CFI_CLANG
WARN_ON_ONCE(timer->function != kthread_delayed_work_timer_fn);
+#endif
/*
* If @delay is 0, queue @dwork->work immediately. This is for
diff --git a/kernel/pid.c b/kernel/pid.c
index 0a9f2e437217..f4649916e7fc 100644
--- a/kernel/pid.c
+++ b/kernel/pid.c
@@ -354,6 +354,7 @@ struct task_struct *find_task_by_vpid(pid_t vnr)
{
return find_task_by_pid_ns(vnr, task_active_pid_ns(current));
}
+EXPORT_SYMBOL_GPL(find_task_by_vpid);
struct task_struct *find_get_task_by_vpid(pid_t nr)
{
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 3616ae6eb12d..b137b6c5a3a8 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -42,6 +42,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(pelt_se_tp);
EXPORT_TRACEPOINT_SYMBOL_GPL(sched_overutilized_tp);
DEFINE_PER_CPU_SHARED_ALIGNED(struct rq, runqueues);
+EXPORT_SYMBOL_GPL(runqueues);
#if defined(CONFIG_SCHED_DEBUG) && defined(CONFIG_JUMP_LABEL)
/*
diff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c
index fc49c1e169d9..a147909bcf16 100644
--- a/kernel/sched/cputime.c
+++ b/kernel/sched/cputime.c
@@ -471,6 +471,7 @@ void thread_group_cputime_adjusted(struct task_struct *p, u64 *ut, u64 *st)
*ut = cputime.utime;
*st = cputime.stime;
}
+EXPORT_SYMBOL_GPL(thread_group_cputime_adjusted);
#else /* !CONFIG_VIRT_CPU_ACCOUNTING_NATIVE: */
@@ -685,6 +686,8 @@ void thread_group_cputime_adjusted(struct task_struct *p, u64 *ut, u64 *st)
thread_group_cputime(p, &cputime);
cputime_adjust(&cputime, &p->signal->prev_cputime, ut, st);
}
+EXPORT_SYMBOL_GPL(thread_group_cputime_adjusted);
+
#endif /* !CONFIG_VIRT_CPU_ACCOUNTING_NATIVE */
#ifdef CONFIG_VIRT_CPU_ACCOUNTING_GEN
diff --git a/kernel/sched/loadavg.c b/kernel/sched/loadavg.c
index de22da666ac7..b1dfb50f60b5 100644
--- a/kernel/sched/loadavg.c
+++ b/kernel/sched/loadavg.c
@@ -75,6 +75,7 @@ void get_avenrun(unsigned long *loads, unsigned long offset, int shift)
loads[1] = (avenrun[1] + offset) << shift;
loads[2] = (avenrun[2] + offset) << shift;
}
+EXPORT_SYMBOL_GPL(get_avenrun);
long calc_load_fold_active(struct rq *this_rq, long adjust)
{
diff --git a/kernel/signal.c b/kernel/signal.c
index 595a36ab87d0..7a9592b4b4d7 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -1396,6 +1396,7 @@ struct sighand_struct *__lock_task_sighand(struct task_struct *tsk,
return sighand;
}
+EXPORT_SYMBOL_GPL(__lock_task_sighand);
/*
* send signal info to all the members of a group
diff --git a/kernel/time/time.c b/kernel/time/time.c
index 83f403e7a15c..7353f04dba36 100644
--- a/kernel/time/time.c
+++ b/kernel/time/time.c
@@ -776,6 +776,7 @@ u64 nsec_to_clock_t(u64 x)
return div_u64(x * 9, (9ull * NSEC_PER_SEC + (USER_HZ / 2)) / USER_HZ);
#endif
}
+EXPORT_SYMBOL_GPL(nsec_to_clock_t);
u64 jiffies64_to_nsecs(u64 j)
{
diff --git a/scripts/mkcompile_h b/scripts/mkcompile_h
index 528edd041cdf..4578e413bf13 100755
--- a/scripts/mkcompile_h
+++ b/scripts/mkcompile_h
@@ -6,7 +6,7 @@ ARCH=$2
SMP=$3
PREEMPT=$4
PREEMPT_RT=$5
-CC=$6
+CC_VERSION="$6"
LD=$7
vecho() { [ "${quiet}" = "silent_" ] || echo "$@" ; }
@@ -75,7 +75,6 @@ UTS_TRUNCATE="cut -b -$UTS_LEN"
echo \#define LINUX_COMPILE_BY \"`echo $LINUX_COMPILE_BY | $UTS_TRUNCATE`\"
echo \#define LINUX_COMPILE_HOST \"`echo $LINUX_COMPILE_HOST | $UTS_TRUNCATE`\"
- CC_VERSION=$($CC -v 2>&1 | grep ' version ' | sed 's/[[:space:]]*$//')
LD_VERSION=$($LD -v | head -n1 | sed 's/(compatible with [^)]*)//' \
| sed 's/[[:space:]]*$//')
printf '#define LINUX_COMPILER "%s"\n' "$CC_VERSION, $LD_VERSION"