From fdfa3340936bbc27c9ad741f25fd991c228c0a2a Mon Sep 17 00:00:00 2001 From: Todd Kjos Date: Tue, 11 Aug 2020 17:18:08 -0700 Subject: [PATCH 01/21] ANDROID: GKI: enable LEDS_CLASS_FLASH Set CONFIG_LEDS_CLASS_FLASH=y to enable the flash LED sysfs class in /sys/class/leds Bug: 163582665 Signed-off-by: Todd Kjos Change-Id: I19fa50c328ed0ddda7a11a0ab49f878544ac9b46 --- arch/arm64/configs/gki_defconfig | 1 + arch/x86/configs/gki_defconfig | 1 + 2 files changed, 2 insertions(+) diff --git a/arch/arm64/configs/gki_defconfig b/arch/arm64/configs/gki_defconfig index 13b6ac7536b0..9bb4baae2f5d 100644 --- a/arch/arm64/configs/gki_defconfig +++ b/arch/arm64/configs/gki_defconfig @@ -407,6 +407,7 @@ CONFIG_MMC=y CONFIG_MMC_CRYPTO=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_LEDS_CLASS_FLASH=y CONFIG_EDAC=y CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_PL030=y diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig index dccc7a8dd54c..8e114cf82fa3 100644 --- a/arch/x86/configs/gki_defconfig +++ b/arch/x86/configs/gki_defconfig @@ -361,6 +361,7 @@ CONFIG_MMC=y CONFIG_MMC_CRYPTO=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_LEDS_CLASS_FLASH=y CONFIG_RTC_CLASS=y CONFIG_DMADEVICES=y CONFIG_UIO=y From 90fe836c583eb7d4a0409362b47579a491296d26 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 12 Aug 2020 12:16:29 +0200 Subject: [PATCH 02/21] ANDROID: GKI: enabled CONFIG_USB_CONFIGFS_NCM=y It's needed by devices, so add it to the gki defconfig files Bug: 163679730 Signed-off-by: Greg Kroah-Hartman Change-Id: Ia9c77c07e7e4c590b2f82355a9db24e9bd8ab1b2 --- arch/arm64/configs/gki_defconfig | 1 + arch/x86/configs/gki_defconfig | 1 + 2 files changed, 2 insertions(+) diff --git a/arch/arm64/configs/gki_defconfig b/arch/arm64/configs/gki_defconfig index 9bb4baae2f5d..df5d544542e4 100644 --- a/arch/arm64/configs/gki_defconfig +++ b/arch/arm64/configs/gki_defconfig @@ -392,6 +392,7 @@ CONFIG_USB_CONFIGFS=y CONFIG_USB_CONFIGFS_UEVENT=y CONFIG_USB_CONFIGFS_SERIAL=y CONFIG_USB_CONFIGFS_ACM=y +CONFIG_USB_CONFIGFS_NCM=y CONFIG_USB_CONFIGFS_RNDIS=y CONFIG_USB_CONFIGFS_MASS_STORAGE=y CONFIG_USB_CONFIGFS_F_FS=y diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig index 8e114cf82fa3..0690db9aa840 100644 --- a/arch/x86/configs/gki_defconfig +++ b/arch/x86/configs/gki_defconfig @@ -348,6 +348,7 @@ CONFIG_USB_CONFIGFS=y CONFIG_USB_CONFIGFS_UEVENT=y CONFIG_USB_CONFIGFS_SERIAL=y CONFIG_USB_CONFIGFS_ACM=y +CONFIG_USB_CONFIGFS_NCM=y CONFIG_USB_CONFIGFS_RNDIS=y CONFIG_USB_CONFIGFS_MASS_STORAGE=y CONFIG_USB_CONFIGFS_F_FS=y From e1c8b315a8c85c8eb9546a210ac7cf25ac7c7c34 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 12 Aug 2020 12:20:35 +0200 Subject: [PATCH 03/21] ANDROID: GKI: enable USB UVC drivers Some devices need the USB UVC drivers built in, so enable the following config options to do so: CONFIG_MEDIA_USB_SUPPORT=y CONFIG_USB_VIDEO_CLASS=y CONFIG_USB_GSPCA=y Bug: 163679730 Signed-off-by: Greg Kroah-Hartman Change-Id: I2e1a80eceef8d3effe4efe452c94f1e98d1a3bdc --- arch/arm64/configs/gki_defconfig | 3 +++ arch/x86/configs/gki_defconfig | 3 +++ 2 files changed, 6 insertions(+) diff --git a/arch/arm64/configs/gki_defconfig b/arch/arm64/configs/gki_defconfig index df5d544542e4..effa673e60db 100644 --- a/arch/arm64/configs/gki_defconfig +++ b/arch/arm64/configs/gki_defconfig @@ -346,6 +346,9 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CONTROLLER=y CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_MEDIA_USB_SUPPORT=y +CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_GSPCA=y CONFIG_V4L_PLATFORM_DRIVERS=y # CONFIG_VGA_ARB is not set CONFIG_DRM=y diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig index 0690db9aa840..55bdf4cd8982 100644 --- a/arch/x86/configs/gki_defconfig +++ b/arch/x86/configs/gki_defconfig @@ -304,6 +304,9 @@ CONFIG_MFD_SYSCON=y CONFIG_REGULATOR=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_USB_SUPPORT=y +CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_GSPCA=y CONFIG_V4L_PLATFORM_DRIVERS=y CONFIG_DRM=y # CONFIG_DRM_FBDEV_EMULATION is not set From 7d9aa46031a6fbffa080ae02ca43e2470c785634 Mon Sep 17 00:00:00 2001 From: "nanich.lee" Date: Wed, 12 Aug 2020 20:32:07 +0900 Subject: [PATCH 04/21] BACKPORT: scsi: ufs: Fix and simplify setup_xfer_req variant operation Add missing setup_xfer_req() call in ufshcd_issue_devman_upiu_cmd() in ufs-bsg path. Relocate existing setup_xfer_req() calls to a common place, i.e., ufshcd_send_command(), to simplify the driver. Bug: 163100328 Link: https://lore.kernel.org/r/20200706060707.32608-3-stanley.chu@mediatek.com Acked-by: Avri Altman Signed-off-by: Stanley Chu Signed-off-by: Martin K. Petersen Change-Id: Ibe16a421e5f3f003529379b1ac96b0a9306b0fe0 (cherry picked from commit 6edfdcfe285e499994b94a0f93e1f46ab2398162) Signed-off-by: nanich.lee Signed-off-by: Greg Kroah-Hartman --- drivers/scsi/ufs/ufshcd.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 9407693f83b5..f4fd6194e074 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -1986,8 +1986,11 @@ static void ufshcd_clk_scaling_update_busy(struct ufs_hba *hba) static inline void ufshcd_send_command(struct ufs_hba *hba, unsigned int task_tag) { - hba->lrb[task_tag].issue_time_stamp = ktime_get(); - hba->lrb[task_tag].compl_time_stamp = ktime_set(0, 0); + struct ufshcd_lrb *lrbp = &hba->lrb[task_tag]; + + lrbp->issue_time_stamp = ktime_get(); + lrbp->compl_time_stamp = ktime_set(0, 0); + ufshcd_vops_setup_xfer_req(hba, task_tag, (lrbp->cmd ? true : false)); ufshcd_clk_scaling_start_busy(hba); __set_bit(task_tag, &hba->outstanding_reqs); ufshcd_writel(hba, 1 << task_tag, REG_UTP_TRANSFER_REQ_DOOR_BELL); @@ -2618,7 +2621,6 @@ static int ufshcd_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *cmd) /* issue command to the controller */ spin_lock_irqsave(hba->host->host_lock, flags); - ufshcd_vops_setup_xfer_req(hba, tag, (lrbp->cmd ? true : false)); ufshcd_send_command(hba, tag); out_unlock: spin_unlock_irqrestore(hba->host->host_lock, flags); @@ -2838,7 +2840,6 @@ static int ufshcd_exec_dev_cmd(struct ufs_hba *hba, /* Make sure descriptors are ready before ringing the doorbell */ wmb(); spin_lock_irqsave(hba->host->host_lock, flags); - ufshcd_vops_setup_xfer_req(hba, tag, (lrbp->cmd ? true : false)); ufshcd_send_command(hba, tag); spin_unlock_irqrestore(hba->host->host_lock, flags); From f4bf3eae80225dfb6bf51d14d1b1900803363b84 Mon Sep 17 00:00:00 2001 From: Chandan Uddaraju Date: Tue, 28 Jul 2020 10:09:55 -0700 Subject: [PATCH 05/21] ANDROID: include/linux: add low power mode and fps to notifier Introduce low power mode so that listeners are aware when display is going into low power mode. This requires moving notifier inside sde code to be able to retrieve the low power state. Add mode for fps change so that clients can be notified whenever there is a change in fps. Include the current vrefresh in the msm_drm_notifier data provided to registered clients. Include the index id in the drm_panel_notifier data provided to registered clients. Bug: 155453628 Co-Developed-by: Adrian Salido Co-Developed-by: Steve Pfetsch Co-Developed-by: Krishna Manikandan Co-Developed-by: Samantha Tran Co-Developed-by: Dhaval Patel [chandanu@codeaurora.org: Squashed four different gerrits into one change] Change-Id: I8e29ab65991b5777c3bd64182ce989e80d2462bf Signed-off-by: Chandan Uddaraju --- include/drm/drm_panel.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/drm/drm_panel.h b/include/drm/drm_panel.h index 8997244fc9cf..1f977fff325b 100644 --- a/include/drm/drm_panel.h +++ b/include/drm/drm_panel.h @@ -39,10 +39,16 @@ enum { DRM_PANEL_BLANK_UNBLANK, /* panel: power off */ DRM_PANEL_BLANK_POWERDOWN, + /* panel: low power mode */ + DRM_PANEL_BLANK_LP, + /* fps change */ + DRM_PANEL_BLANK_FPS_CHANGE, }; struct drm_panel_notifier { + int refresh_rate; void *data; + uint32_t id; }; struct device_node; From 0d875fbc0a58b0b791ada4b3938d7af3a51f6303 Mon Sep 17 00:00:00 2001 From: "hajun.sung" Date: Mon, 10 Aug 2020 09:51:32 +0900 Subject: [PATCH 06/21] ANDROID: GKI: Update abi_gki_aarch64_exynos Leaf changes summary: 39 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 35 Added functions Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 4 Added variables 35 Added functions: [A] 'function int __devm_irq_alloc_descs(device*, int, unsigned int, unsigned int, int, module*, const irq_affinity_desc*)' [A] 'function void __irq_set_handler(unsigned int, irq_flow_handler_t, int, const char*)' [A] 'function void bitmap_to_arr32(u32*, const unsigned long int*, unsigned int)' [A] 'function void devm_extcon_dev_unregister(device*, extcon_dev*)' [A] 'function void devm_phy_put(device*, phy*)' [A] 'function pid* find_get_pid(int)' [A] 'function unsigned long int gen_pool_first_fit_align(unsigned long int*, unsigned long int, unsigned long int, unsigned int, void*, gen_pool*, unsigned long int)' [A] 'function long long unsigned int get_cpu_idle_time(unsigned int, long long unsigned int*, int)' [A] 'function thermal_instance* get_thermal_instance(thermal_zone_device*, thermal_cooling_device*, int)' [A] 'function int irq_domain_xlate_onetwocell(irq_domain*, device_node*, const u32*, unsigned int, unsigned long int*, unsigned int*)' [A] 'function int irq_set_chip(unsigned int, irq_chip*)' [A] 'function bool irq_work_queue(irq_work*)' [A] 'function int kstrtoull_from_user(const char*, unsigned long int, unsigned int, long long unsigned int*)' [A] 'function int of_alias_get_highest_id(const char*)' [A] 'function int of_get_videomode(device_node*, videomode*, int)' [A] 'function int param_set_uint(const char*, const kernel_param*)' [A] 'function int phy_configure(phy*, phy_configure_opts*)' [A] 'function void proc_set_size(proc_dir_entry*, long long int)' [A] 'function proc_dir_entry* proc_symlink(const char*, proc_dir_entry*, const char*)' [A] 'function void regcache_cache_bypass(regmap*, bool)' [A] 'function void smp_call_function_many(const cpumask*, void (void*)*, void*, bool)' [A] 'function int smp_call_on_cpu(unsigned int, int (void*)*, void*, bool)' [A] 'function int snd_vendor_set_ops(snd_usb_audio_vendor_ops*)' [A] 'function int trace_output_call(trace_iterator*, char*, char*, ...)' [A] 'function int tracepoint_probe_register(tracepoint*, void*, void*)' [A] 'function int usb_choose_configuration(usb_device*)' [A] 'function void usb_deregister_dev(usb_interface*, usb_class_driver*)' [A] 'function usb_interface* usb_find_interface(usb_driver*, int)' [A] 'function void usb_kill_anchored_urbs(usb_anchor*)' [A] 'function void usb_poison_anchored_urbs(usb_anchor*)' [A] 'function int usb_register_dev(usb_interface*, usb_class_driver*)' [A] 'function void usb_unanchor_urb(urb*)' [A] 'function int v4l2_device_set_name(v4l2_device*, const char*, atomic_t*)' [A] 'function bool v4l2_match_dv_timings(const v4l2_dv_timings*, const v4l2_dv_timings*, unsigned int, bool)' [A] 'function void v4l2_print_dv_timings(const char*, const char*, const v4l2_dv_timings*, bool)' 4 Added variables: [A] 'tracepoint __tracepoint_device_pm_callback_end' [A] 'tracepoint __tracepoint_device_pm_callback_start' [A] 'tracepoint __tracepoint_pelt_cfs_tp' [A] 'tracepoint __tracepoint_suspend_resume' Bug: 159342895 Change-Id: I718b5cd3182b71188cc73372d2c0c9111dfb9529 Signed-off-by: hajun.sung Signed-off-by: Greg Kroah-Hartman --- android/abi_gki_aarch64.xml | 2371 ++++++++++++++++++++------------ android/abi_gki_aarch64_exynos | 242 ++++ 2 files changed, 1771 insertions(+), 842 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 711eec745b0c..c9820b98ae57 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -61,6 +61,7 @@ + @@ -114,6 +115,7 @@ + @@ -352,6 +354,7 @@ + @@ -890,6 +893,7 @@ + @@ -933,6 +937,7 @@ + @@ -1423,6 +1428,7 @@ + @@ -1477,6 +1483,7 @@ + @@ -1510,6 +1517,7 @@ + @@ -1519,6 +1527,7 @@ + @@ -1912,6 +1921,7 @@ + @@ -1922,6 +1932,7 @@ + @@ -1930,6 +1941,7 @@ + @@ -2024,6 +2036,7 @@ + @@ -2334,6 +2347,7 @@ + @@ -2399,6 +2413,7 @@ + @@ -2470,6 +2485,7 @@ + @@ -2564,6 +2580,7 @@ + @@ -2726,7 +2743,9 @@ + + @@ -2780,6 +2799,7 @@ + @@ -3197,7 +3217,9 @@ + + @@ -3362,6 +3384,7 @@ + @@ -3528,6 +3551,7 @@ + @@ -3536,6 +3560,7 @@ + @@ -3728,6 +3753,7 @@ + @@ -3737,6 +3763,7 @@ + @@ -3757,6 +3784,7 @@ + @@ -3803,6 +3831,7 @@ + @@ -3812,11 +3841,13 @@ + + @@ -3840,6 +3871,7 @@ + @@ -3904,6 +3936,7 @@ + @@ -3923,6 +3956,8 @@ + + @@ -4135,7 +4170,11 @@ + + + + @@ -5122,6 +5161,17 @@ + + + + + + + + + + + @@ -14178,17 +14228,6 @@ - - - - - - - - - - - @@ -17133,7 +17172,7 @@ - + @@ -23082,6 +23121,11 @@ + + + + + @@ -28226,6 +28270,11 @@ + + + + + @@ -36471,57 +36520,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -38743,12 +38743,6 @@ - - - - - - @@ -39734,6 +39728,8 @@ + + @@ -39847,8 +39843,6 @@ - - @@ -44371,6 +44365,17 @@ + + + + + + + + + + + @@ -44417,17 +44422,6 @@ - - - - - - - - - - - @@ -44839,10 +44833,10 @@ - + - + @@ -44854,7 +44848,7 @@ - + @@ -44879,7 +44873,7 @@ - + @@ -45090,7 +45084,7 @@ - + @@ -46055,10 +46049,10 @@ - + - + @@ -49047,6 +49041,12 @@ + + + + + + @@ -49069,6 +49069,24 @@ + + + + + + + + + + + + + + + + + + @@ -49466,7 +49484,7 @@ - + @@ -50129,7 +50147,7 @@ - + @@ -51089,7 +51107,7 @@ - + @@ -52647,7 +52665,7 @@ - + @@ -52672,10 +52690,10 @@ - + - + @@ -56940,10 +56958,10 @@ - + - + @@ -57406,17 +57424,6 @@ - - - - - - - - - - - @@ -61730,7 +61737,7 @@ - + @@ -61865,7 +61872,7 @@ - + @@ -62649,6 +62656,11 @@ + + + + + @@ -62934,11 +62946,6 @@ - - - - - @@ -64172,6 +64179,11 @@ + + + + + @@ -64198,6 +64210,11 @@ + + + + + @@ -64543,7 +64560,7 @@ - + @@ -64554,7 +64571,7 @@ - + @@ -66947,10 +66964,10 @@ - + - + @@ -67345,7 +67362,7 @@ - + @@ -68346,7 +68363,7 @@ - + @@ -71285,39 +71302,39 @@ - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - + + - - + + @@ -71463,7 +71480,7 @@ - + @@ -71472,7 +71489,7 @@ - + @@ -71581,6 +71598,10 @@ + + + + @@ -72074,7 +72095,7 @@ - + @@ -72121,7 +72142,7 @@ - + @@ -72381,7 +72402,7 @@ - + @@ -72428,6 +72449,12 @@ + + + + + + @@ -73071,6 +73098,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -73676,7 +73762,7 @@ - + @@ -73697,7 +73783,7 @@ - + @@ -76612,6 +76698,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -76686,6 +76818,10 @@ + + + + @@ -77122,6 +77258,10 @@ + + + + @@ -77145,6 +77285,11 @@ + + + + + @@ -77188,16 +77333,6 @@ - - - - - - - - - - @@ -77212,15 +77347,6 @@ - - - - - - - - - @@ -77393,7 +77519,7 @@ - + @@ -79019,11 +79145,6 @@ - - - - - @@ -79045,6 +79166,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -79169,213 +79497,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -81162,6 +81283,10 @@ + + + + @@ -81210,6 +81335,10 @@ + + + + @@ -81920,7 +82049,7 @@ - + @@ -82649,7 +82778,7 @@ - + @@ -83118,6 +83247,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -83701,7 +83887,7 @@ - + @@ -83720,7 +83906,7 @@ - + @@ -84222,7 +84408,7 @@ - + @@ -84909,7 +85095,7 @@ - + @@ -85224,10 +85410,10 @@ - + - + @@ -85352,7 +85538,7 @@ - + @@ -85489,12 +85675,19 @@ + + + + + + + - + @@ -85637,30 +85830,13 @@ - - - - - - - - - - - - + - + - - - - - - @@ -85729,10 +85905,10 @@ - + - + @@ -85741,6 +85917,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -85895,7 +86171,7 @@ - + @@ -85907,15 +86183,15 @@ - + - + - + - + @@ -85932,7 +86208,7 @@ - + @@ -86063,7 +86339,7 @@ - + @@ -86177,7 +86453,7 @@ - + @@ -86192,7 +86468,7 @@ - + @@ -86251,7 +86527,7 @@ - + @@ -86409,17 +86685,17 @@ - - - - - + + + + + - - - - + + + + @@ -86586,7 +86862,7 @@ - + @@ -86962,7 +87238,7 @@ - + @@ -87066,6 +87342,11 @@ + + + + + @@ -87578,7 +87859,7 @@ - + @@ -87626,7 +87907,7 @@ - + @@ -87656,30 +87937,30 @@ - - + + - - + + - - + + - - - - + + + + - - - - - - + + + + + + @@ -87772,7 +88053,7 @@ - + @@ -87912,6 +88193,10 @@ + + + + @@ -88003,6 +88288,11 @@ + + + + + @@ -88028,6 +88318,13 @@ + + + + + + + @@ -88082,6 +88379,18 @@ + + + + + + + + + + + + @@ -88177,6 +88486,15 @@ + + + + + + + + + @@ -88275,7 +88593,7 @@ - + @@ -88700,7 +89018,7 @@ - + @@ -88733,6 +89051,11 @@ + + + + + @@ -88788,7 +89111,7 @@ - + @@ -89250,6 +89573,7 @@ + @@ -89304,6 +89628,10 @@ + + + + @@ -89323,6 +89651,15 @@ + + + + + + + + + @@ -89479,7 +89816,7 @@ - + @@ -89491,9 +89828,9 @@ - - - + + + @@ -90362,7 +90699,7 @@ - + @@ -90588,7 +90925,7 @@ - + @@ -90606,7 +90943,7 @@ - + @@ -93981,10 +94318,10 @@ - + - + @@ -98502,7 +98839,7 @@ - + @@ -99503,7 +99840,7 @@ - + @@ -99597,7 +99934,7 @@ - + @@ -99693,6 +100030,13 @@ + + + + + + + @@ -99887,7 +100231,7 @@ - + @@ -100638,6 +100982,11 @@ + + + + + @@ -100683,16 +101032,6 @@ - - - - - - - - - - @@ -100728,6 +101067,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -100742,6 +101220,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -100753,6 +101288,12 @@ + + + + + + @@ -100864,7 +101405,7 @@ - + @@ -100909,7 +101450,7 @@ - + @@ -101159,6 +101700,12 @@ + + + + + + @@ -101253,10 +101800,10 @@ - + - + @@ -101321,6 +101868,16 @@ + + + + + + + + + + @@ -101936,16 +102493,16 @@ - + - + - + @@ -101953,7 +102510,7 @@ - + @@ -102287,7 +102844,7 @@ - + @@ -102408,7 +102965,7 @@ - + @@ -102497,7 +103054,7 @@ - + @@ -102825,7 +103382,7 @@ - + @@ -103354,7 +103911,7 @@ - + @@ -103782,7 +104339,7 @@ - + @@ -103811,6 +104368,13 @@ + + + + + + + @@ -103833,26 +104397,7 @@ - - - - - - - - - - - - - - - - - - - - + @@ -103863,8 +104408,8 @@ - - + + @@ -103882,7 +104427,7 @@ - + @@ -103950,17 +104495,6 @@ - - - - - - - - - - - @@ -104078,6 +104612,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -104478,7 +105041,7 @@ - + @@ -104558,7 +105121,7 @@ - + @@ -105265,10 +105828,10 @@ - + - + @@ -105318,15 +105881,6 @@ - - - - - - - - - @@ -105586,7 +106140,7 @@ - + @@ -106276,7 +106830,7 @@ - + @@ -106284,7 +106838,7 @@ - + @@ -106298,7 +106852,7 @@ - + @@ -106306,7 +106860,7 @@ - + @@ -107206,10 +107760,10 @@ - + - + @@ -108086,7 +108640,7 @@ - + @@ -108094,7 +108648,7 @@ - + @@ -108469,7 +109023,7 @@ - + @@ -108478,7 +109032,7 @@ - + @@ -109381,10 +109935,10 @@ - + - + @@ -109406,10 +109960,10 @@ - + - + @@ -109748,6 +110302,17 @@ + + + + + + + + + + + @@ -109765,7 +110330,7 @@ - + @@ -109775,6 +110340,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -109783,7 +110416,7 @@ - + @@ -109905,6 +110538,7 @@ + @@ -109930,7 +110564,7 @@ - + @@ -110071,10 +110705,10 @@ - + - + @@ -110089,7 +110723,7 @@ - + @@ -110187,7 +110821,7 @@ - + @@ -110392,15 +111026,15 @@ - + - + - + - + @@ -110415,7 +111049,7 @@ - + @@ -110434,7 +111068,7 @@ - + @@ -110856,7 +111490,7 @@ - + @@ -110885,7 +111519,7 @@ - + @@ -110943,7 +111577,7 @@ - + @@ -112554,7 +113188,7 @@ - + @@ -112573,10 +113207,10 @@ - + - + @@ -112584,7 +113218,7 @@ - + @@ -114167,7 +114801,7 @@ - + @@ -114179,7 +114813,7 @@ - + @@ -115695,15 +116329,7 @@ - - - - - - - - - + @@ -115711,7 +116337,7 @@ - + @@ -115719,7 +116345,7 @@ - + @@ -115727,7 +116353,7 @@ - + @@ -115735,7 +116361,7 @@ - + @@ -115749,7 +116375,18 @@ - + + + + + + + + + + + + @@ -115757,7 +116394,7 @@ - + @@ -115768,7 +116405,7 @@ - + @@ -115779,7 +116416,7 @@ - + @@ -115787,7 +116424,7 @@ - + @@ -116601,10 +117238,10 @@ - + - + @@ -116740,10 +117377,10 @@ - + - + @@ -117237,6 +117874,14 @@ + + + + + + + + @@ -117305,7 +117950,7 @@ - + @@ -117482,13 +118127,13 @@ - + - + @@ -117612,7 +118257,7 @@ - + @@ -118406,17 +119051,17 @@ - + - + - + @@ -118469,7 +119114,7 @@ - + @@ -118486,7 +119131,7 @@ - + @@ -118495,15 +119140,15 @@ - + - + - + @@ -118512,7 +119157,7 @@ - + @@ -118528,7 +119173,7 @@ - + @@ -118637,13 +119282,13 @@ - + - + @@ -118745,24 +119390,6 @@ - - - - - - - - - - - - - - - - - - @@ -118875,27 +119502,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -119551,7 +120157,7 @@ - + @@ -119719,7 +120325,7 @@ - + @@ -120403,7 +121009,7 @@ - + @@ -120520,10 +121126,10 @@ - + - + @@ -120608,10 +121214,10 @@ - + - + @@ -120630,10 +121236,10 @@ - + - + @@ -121481,7 +122087,7 @@ - + @@ -122695,7 +123301,7 @@ - + @@ -122738,6 +123344,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -122883,181 +123698,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -123281,16 +123921,27 @@ + + + + + + + + + + + @@ -123299,6 +123950,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -123310,7 +123997,7 @@ - + diff --git a/android/abi_gki_aarch64_exynos b/android/abi_gki_aarch64_exynos index 920675645d63..ea6ba5648bea 100644 --- a/android/abi_gki_aarch64_exynos +++ b/android/abi_gki_aarch64_exynos @@ -2,6 +2,7 @@ add_timer add_timer_on add_uevent_var + add_wait_queue adjust_managed_page_count alarm_cancel alarm_init @@ -36,6 +37,7 @@ __bitmap_parse bitmap_parselist __bitmap_set + bitmap_to_arr32 __bitmap_weight blkdev_get_by_dev blkdev_get_by_path @@ -48,8 +50,13 @@ bpf_trace_run2 bpf_trace_run3 bpf_trace_run4 + bpf_trace_run5 + bpf_trace_run6 + bpf_trace_run7 bpf_trace_run9 build_skb + bus_find_device + bus_for_each_dev bus_register bus_register_notifier bus_set_iommu @@ -60,6 +67,7 @@ cancel_delayed_work_sync cancel_work_sync cdev_add + cdev_alloc cdev_del cdev_device_add cdev_device_del @@ -103,6 +111,8 @@ clk_set_parent clk_set_rate clk_unprepare + clockevents_config_and_register + __clocksource_register_scale __close_fd cma_alloc cma_get_name @@ -113,11 +123,13 @@ complete_and_exit completion_done config_ep_by_speed + config_group_init_type_name console_lock console_trylock console_unlock __const_udelay consume_skb + contig_page_data __cpu_active_mask cpu_all_bits cpu_bit_bitmap @@ -131,7 +143,9 @@ cpufreq_frequency_table_verify cpufreq_generic_attr cpufreq_quick_get + cpufreq_quick_get_max cpufreq_register_driver + cpufreq_register_notifier cpufreq_table_index_unsorted __cpuhp_setup_state __cpuhp_setup_state_cpuslocked @@ -153,9 +167,11 @@ crypto_destroy_tfm crypto_shash_final crypto_shash_update + _ctype dapm_pinctrl_event dapm_regulator_event default_llseek + default_wake_function delayed_work_timer_fn del_timer del_timer_sync @@ -172,6 +188,7 @@ devfreq_unregister_opp_notifier devfreq_update_status dev_fwnode + dev_get_by_name dev_get_regmap dev_get_stats device_add @@ -196,25 +213,35 @@ device_property_read_u8_array device_register device_remove_file + device_set_wakeup_enable device_show_bool device_show_int device_store_bool device_store_int device_unregister + device_wakeup_enable _dev_info __dev_kfree_skb_any + devm_add_action devm_backlight_device_register devm_clk_get + devm_clk_get_optional + devm_clk_put + devm_extcon_dev_allocate + devm_extcon_dev_register + devm_extcon_dev_unregister devm_extcon_register_notifier devm_free_irq devm_gpiochip_add_data devm_gpiod_get_optional devm_gpio_request_one devm_iio_device_alloc + devm_input_allocate_device devm_ioremap devm_ioremap_nocache devm_ioremap_resource devm_iounmap + __devm_irq_alloc_descs devm_kasprintf devm_kfree devm_kmalloc @@ -223,7 +250,9 @@ __devm_of_phy_provider_register devm_phy_create devm_phy_get + devm_phy_put devm_pinctrl_get + devm_pinctrl_put devm_pinctrl_register devm_platform_ioremap_resource __devm_regmap_init_i2c @@ -231,6 +260,7 @@ devm_regulator_bulk_get devm_regulator_get devm_regulator_register + __devm_release_region __devm_request_region devm_request_threaded_irq devm_reset_control_array_get @@ -245,15 +275,19 @@ dev_pm_opp_add dev_pm_opp_disable dev_pm_opp_find_freq_ceil + dev_pm_opp_find_freq_exact dev_pm_opp_find_freq_floor dev_pm_opp_get_freq + dev_pm_opp_get_opp_count dev_pm_opp_get_voltage dev_pm_opp_of_add_table + dev_pm_opp_of_register_em dev_pm_opp_of_remove_table dev_pm_opp_put dev_pm_opp_put_regulators dev_pm_opp_set_regulators dev_printk + dev_queue_xmit devres_add devres_alloc_node devres_free @@ -262,6 +296,7 @@ _dev_warn disable_irq disable_irq_nosync + disable_percpu_irq dma_alloc_attrs dma_async_device_register dma_async_device_unregister @@ -306,6 +341,10 @@ dma_get_slave_channel dmam_alloc_attrs dma_mmap_attrs + dma_pool_alloc + dma_pool_create + dma_pool_destroy + dma_pool_free dma_release_channel dma_request_chan dma_request_slave_channel @@ -314,6 +353,7 @@ do_SAK down downgrade_write + down_interruptible down_read down_trylock down_write @@ -328,6 +368,7 @@ dw_pcie_setup_rc dw_pcie_write enable_irq + enable_percpu_irq end_buffer_read_sync eth_mac_addr ethtool_op_get_link @@ -336,14 +377,17 @@ event_triggers_call extcon_get_edev_by_phandle extcon_get_state + extcon_set_state_sync fb_mode_option fd_install fget + find_get_pid find_next_bit find_next_zero_bit find_vma finish_wait firmware_request_nowarn + flush_dcache_page flush_delayed_work flush_work flush_workqueue @@ -355,25 +399,36 @@ free_netdev __free_pages free_pages + free_percpu + free_percpu_irq freezing_slow_path freq_qos_add_request + freq_qos_remove_request freq_qos_update_request fwnode_property_present fwnode_property_read_u16_array + generic_file_llseek generic_handle_irq gen_pool_add_owner gen_pool_alloc_algo_owner + gen_pool_avail gen_pool_create gen_pool_destroy + gen_pool_first_fit_align gen_pool_free_owner + gen_pool_size __getblk_gfp get_cpu_device + get_cpu_idle_time get_device __get_free_pages + get_pid_task get_random_bytes + get_random_u32 __get_task_comm get_task_exe_file get_task_mm + get_thermal_instance get_unused_fd_flags get_user_pages get_user_pages_fast @@ -406,6 +461,7 @@ handle_level_irq handle_nested_irq handle_sysrq + hex_dump_to_buffer hex_to_bin hrtimer_active hrtimer_cancel @@ -439,6 +495,8 @@ ida_alloc_range ida_destroy ida_free + idr_alloc + idr_remove ignore_console_lock_warning iio_channel_get iio_channel_release @@ -448,6 +506,7 @@ in4_pton in6_pton init_dummy_netdev + init_net __init_rwsem init_task init_timer_key @@ -463,6 +522,7 @@ input_set_abs_params input_set_capability input_unregister_device + int_sqrt iomem_resource iommu_attach_group iommu_device_link @@ -496,9 +556,13 @@ iommu_unregister_device_fault_handler ion_alloc ion_buffer_prep_noncached + ion_buffer_zero __ion_device_add_heap ion_device_remove_heap + ion_free + ion_heap_map_kernel ion_heap_map_user + ion_heap_unmap_kernel ion_query_heaps_kernel __ioread32_copy __ioremap @@ -507,7 +571,10 @@ __irq_alloc_descs irq_create_mapping __irq_domain_add + irq_domain_get_irq_data irq_domain_remove + irq_domain_set_info + irq_domain_xlate_onetwocell irq_domain_xlate_twocell irq_find_mapping irq_get_irq_data @@ -515,11 +582,14 @@ irq_of_parse_and_map irq_set_affinity_hint irq_set_chained_handler_and_data + irq_set_chip irq_set_chip_and_handler_name irq_set_chip_data + __irq_set_handler irq_set_handler_data irq_set_irq_wake irq_to_desc + irq_work_queue is_console_locked jiffies jiffies_64 @@ -538,6 +608,7 @@ kfree kfree_call_rcu kfree_const + kfree_skb kimage_vaddr kimage_voffset __kmalloc @@ -549,7 +620,9 @@ kmem_cache_destroy kmem_cache_free kmemdup + kobject_add kobject_create_and_add + kobject_init kobject_init_and_add kobject_put kobject_uevent @@ -559,17 +632,26 @@ kstrdup kstrndup kstrtobool + kstrtobool_from_user kstrtoint kstrtoint_from_user + kstrtoll + kstrtou16 kstrtou8 + kstrtouint kstrtoull + kstrtoull_from_user kthread_bind + kthread_cancel_delayed_work_sync kthread_cancel_work_sync kthread_create_on_node kthread_create_worker + kthread_delayed_work_timer_fn kthread_destroy_worker + kthread_flush_work kthread_flush_worker __kthread_init_worker + kthread_mod_delayed_work kthread_queue_work kthread_should_stop kthread_stop @@ -578,6 +660,7 @@ ktime_get_mono_fast_ns ktime_get_raw_ts64 ktime_get_real_ts64 + ktime_get_ts64 ktime_get_with_offset kvasprintf kvfree @@ -585,6 +668,8 @@ kzfree __list_add_valid __list_del_entry_valid + list_sort + llist_add_batch __lock_buffer loops_per_jiffy match_string @@ -602,6 +687,7 @@ __memcpy_fromio __memcpy_toio memdup_user + memmove memset __memset_io mfd_add_devices @@ -626,6 +712,7 @@ mmput mm_trace_rss_stat mod_delayed_work_on + mod_node_page_state mod_timer __module_get module_layout @@ -633,12 +720,14 @@ __msecs_to_jiffies msleep __mutex_init + mutex_is_locked mutex_lock mutex_lock_interruptible mutex_trylock mutex_unlock __napi_alloc_skb napi_complete_done + napi_disable napi_gro_flush napi_gro_receive __napi_schedule @@ -656,14 +745,17 @@ nr_irqs nsecs_to_jiffies ns_to_timespec + ns_to_timespec64 ns_to_timeval __num_online_cpus of_address_to_resource + of_alias_get_highest_id of_alias_get_id of_clk_add_hw_provider of_clk_add_provider of_clk_del_provider of_clk_get + of_clk_get_by_name of_clk_get_parent_count of_clk_hw_onecell_get of_clk_src_onecell_get @@ -680,19 +772,26 @@ of_find_node_by_type of_find_node_opts_by_path of_find_property + of_fwnode_ops of_genpd_add_provider_simple of_get_child_by_name + of_get_cpu_node of_get_dma_window of_get_named_gpio_flags of_get_next_available_child of_get_next_child of_get_property of_get_regulator_init_data + of_get_videomode of_iomap + of_irq_get_byname + of_irq_parse_one + of_machine_is_compatible of_match_device of_match_node of_node_name_eq of_parse_phandle + of_parse_phandle_with_fixed_args of_phandle_iterator_init of_phandle_iterator_next of_platform_depopulate @@ -712,29 +811,44 @@ of_reserved_mem_lookup of_reset_control_array_get of_root + of_thermal_get_ntrips of_usb_get_phy_mode + of_usb_host_tpl_support oops_in_progress panic panic_notifier_list + param_array_ops param_ops_bool param_ops_byte + param_ops_charp param_ops_int param_ops_long param_ops_uint + param_ops_ullong param_ops_ulong + param_set_uint + pci_alloc_irq_vectors_affinity + pci_bus_type + pci_d3cold_disable pci_find_bus + pci_free_irq_vectors pci_get_device + pci_irq_vector pci_load_saved_state pcim_enable_device + pci_read_config_byte pci_read_config_dword __pci_register_driver pci_rescan_bus pci_restore_state pci_save_state pci_set_master + pci_set_mwi + pci_set_power_state pci_store_saved_state pci_unregister_driver pci_write_config_dword + PDE_DATA __per_cpu_offset perf_event_create_kernel_counter perf_event_disable @@ -745,6 +859,7 @@ perf_trace_run_bpf_submit pfn_valid phy_calibrate + phy_configure phy_exit phy_init phy_power_off @@ -773,6 +888,7 @@ platform_device_register platform_device_register_full platform_device_unregister + __platform_driver_probe __platform_driver_register platform_driver_unregister platform_get_irq @@ -781,8 +897,10 @@ platform_get_resource platform_get_resource_byname __platform_register_drivers + pm_genpd_add_subdomain pm_genpd_init pm_power_off + pm_qos_add_request pm_qos_remove_request pm_qos_update_request __pm_relax @@ -819,7 +937,13 @@ prepare_to_wait_event print_hex_dump printk + proc_create + proc_create_data proc_create_seq_private + proc_mkdir + proc_remove + proc_set_size + proc_symlink __put_cred put_device __put_page @@ -833,6 +957,11 @@ pwm_set_chip_data queue_delayed_work_on queue_work_on + radix_tree_delete + radix_tree_insert + radix_tree_lookup + radix_tree_maybe_preload + ___ratelimit __raw_notifier_call_chain raw_notifier_call_chain raw_notifier_chain_register @@ -867,6 +996,7 @@ refcount_inc_checked refcount_inc_not_zero_checked __refrigerator + regcache_cache_bypass regcache_cache_only regcache_drop_region regcache_mark_dirty @@ -876,6 +1006,7 @@ register_console register_die_notifier register_netdev + register_oom_notifier register_pm_notifier register_reboot_notifier register_restart_handler @@ -898,20 +1029,25 @@ regulator_force_disable regulator_get regulator_get_optional + regulator_get_voltage regulator_is_enabled regulator_list_voltage_linear regulator_map_voltage_linear regulator_put + regulator_set_mode + regulator_set_voltage release_firmware release_pages __release_region remap_pfn_range remap_vmalloc_range remove_proc_entry + remove_wait_queue request_firmware request_firmware_direct request_firmware_nowait __request_module + __request_percpu_irq __request_region request_threaded_irq reset_control_assert @@ -935,6 +1071,7 @@ sched_show_task schedule schedule_timeout + schedule_timeout_uninterruptible scnprintf scsi_block_when_processing_errors scsi_device_get @@ -945,10 +1082,12 @@ sdio_signal_irq seq_lseek seq_printf + seq_puts seq_read set_cpus_allowed_ptr set_normalized_timespec64 set_page_dirty_lock + setup_irq sg_alloc_table sg_alloc_table_from_pages sg_copy_to_buffer @@ -960,10 +1099,15 @@ sg_miter_stop sg_nents_for_len sg_next + __sg_page_iter_next + __sg_page_iter_start + sg_pcopy_from_buffer + sg_pcopy_to_buffer simple_open simple_read_from_buffer simple_strtol simple_strtoul + simple_write_to_buffer single_open single_release skb_copy_expand @@ -978,9 +1122,13 @@ skb_trim smpboot_register_percpu_thread smp_call_function + smp_call_function_many smp_call_function_single + smp_call_on_cpu snd_compr_stop_error + snd_ctl_add snd_ctl_boolean_mono_info + snd_ctl_new1 snd_ctl_notify snd_device_free snd_dma_alloc_pages @@ -989,6 +1137,7 @@ snd_hwdep_new snd_pcm_format_physical_width snd_pcm_format_width + snd_pcm_hw_constraint_integer snd_pcm_hw_constraint_list snd_pcm_lib_free_pages snd_pcm_lib_ioctl @@ -1024,6 +1173,7 @@ snd_soc_dapm_get_volsw snd_soc_dapm_ignore_suspend snd_soc_dapm_info_pin_switch + snd_soc_dapm_kcontrol_dapm snd_soc_dapm_new_control snd_soc_dapm_new_controls snd_soc_dapm_put_enum_double @@ -1062,10 +1212,13 @@ snd_soc_tplg_widget_bind_event snd_soc_unregister_card snd_soc_unregister_component + snd_vendor_set_ops snprintf soc_device_register + softnet_data sort __spi_alloc_controller + spi_bus_type spi_controller_resume spi_controller_suspend spi_finalize_current_message @@ -1087,6 +1240,7 @@ static_key_initialized static_key_slow_dec static_key_slow_inc + strcasecmp strcat strchr strchrnul @@ -1094,14 +1248,17 @@ strcpy strcspn stream_open + strim strlcat strlcpy strlen + strncasecmp strncat strncmp strncpy strnlen strpbrk + strrchr strsep strstr submit_bh @@ -1115,12 +1272,15 @@ synchronize_rcu syscon_regmap_lookup_by_phandle sysfs_add_file_to_group + sysfs_create_bin_file sysfs_create_file_ns + sysfs_create_files sysfs_create_group sysfs_create_groups sysfs_create_link __sysfs_match_string sysfs_notify + sysfs_remove_bin_file sysfs_remove_file_ns sysfs_remove_group sysfs_remove_link @@ -1135,6 +1295,13 @@ tasklet_init tasklet_kill __tasklet_schedule + thermal_cooling_device_unregister + thermal_of_cooling_device_register + thermal_zone_device_update + thermal_zone_get_temp + thermal_zone_get_zone_by_name + thermal_zone_of_sensor_register + thermal_zone_of_sensor_unregister time64_to_tm _totalram_pages touch_softlockup_watchdog @@ -1145,6 +1312,15 @@ trace_event_raw_init trace_event_reg trace_handle_return + trace_output_call + __tracepoint_device_pm_callback_end + __tracepoint_device_pm_callback_start + __tracepoint_pelt_cfs_tp + tracepoint_probe_register + __tracepoint_suspend_resume + trace_print_array_seq + trace_print_flags_seq + trace_print_symbols_seq __trace_puts trace_raw_output_prep trace_seq_printf @@ -1205,10 +1381,31 @@ up_write usb_add_function usb_add_gadget_udc + usb_add_hcd + usb_alloc_urb + usb_amd_dev_put + usb_amd_pt_check_port + usb_amd_quirk_pll_check + usb_amd_quirk_pll_disable + usb_amd_quirk_pll_enable + usb_anchor_urb + usb_asmedia_modifyflowcontrol usb_assign_descriptors + usb_autopm_get_interface + usb_autopm_put_interface + usb_choose_configuration + usb_control_msg usb_copy_descriptors + __usb_create_hcd + usb_create_shared_hcd usb_decode_ctrl usb_del_gadget_udc + usb_deregister + usb_deregister_dev + usb_disabled + usb_disable_xhci_ports + usb_enable_autosuspend + usb_enable_intel_xhci_ports usb_ep_alloc_request usb_ep_autoconfig usb_ep_dequeue @@ -1218,7 +1415,10 @@ usb_ep_queue usb_ep_set_halt usb_ep_set_maxpacket_limit + usb_find_common_endpoints + usb_find_interface usb_free_all_descriptors + usb_free_urb usb_function_register usb_function_unregister usb_gadget_giveback_request @@ -1229,17 +1429,48 @@ usb_gadget_vbus_connect usb_gadget_vbus_disconnect usb_get_dr_mode + usb_get_intf usb_get_maximum_speed usb_gstrings_attach + usb_hcd_check_unlink_urb + usb_hcd_end_port_resume + usb_hcd_giveback_urb + usb_hc_died + usb_hcd_irq + usb_hcd_is_primary_hcd + usb_hcd_link_urb_to_ep + usb_hcd_map_urb_for_dma + usb_hcd_pci_pm_ops + usb_hcd_pci_probe + usb_hcd_pci_remove + usb_hcd_pci_shutdown + usb_hcd_platform_shutdown + usb_hcd_poll_rh_status + usb_hcd_resume_root_hub + usb_hcd_start_port_resume + usb_hcd_unlink_urb_from_ep + usb_hub_clear_tt_buffer usb_hub_find_child usb_interface_id + usb_kill_anchored_urbs usb_os_desc_prepare_interf_dir usb_otg_state_string + usb_poison_anchored_urbs usb_put_function_instance + usb_put_hcd + usb_put_intf + usb_register_dev + usb_register_driver usb_register_notify + usb_remove_hcd + usb_root_hub_lost_power + usb_set_interface usb_speed_string usb_string_id + usb_submit_urb + usb_unanchor_urb usb_unregister_notify + usb_wakeup_notification __usecs_to_jiffies usleep_range v4l2_ctrl_handler_free @@ -1252,6 +1483,7 @@ v4l2_device_register v4l2_device_register_subdev v4l2_device_register_subdev_nodes + v4l2_device_set_name v4l2_device_unregister v4l2_device_unregister_subdev v4l2_event_pending @@ -1259,12 +1491,18 @@ v4l2_fh_del v4l2_fh_exit v4l2_fh_init + v4l2_i2c_subdev_init + v4l2_match_dv_timings + v4l2_print_dv_timings v4l2_subdev_call_wrappers v4l2_subdev_init v4l_bound_align_image vabits_actual vb2_buffer_done + vb2_common_vm_ops vb2_create_bufs + vb2_create_framevec + vb2_destroy_framevec vb2_dqbuf vb2_expbuf vb2_mmap @@ -1284,6 +1522,8 @@ vb2_streamon vb2_wait_for_all_buffers vfree + vfs_fsync + vfs_llseek video_devdata video_device_alloc video_device_release @@ -1301,7 +1541,9 @@ vm_map_pages vm_map_ram vm_unmap_ram + vscnprintf vsnprintf + vsprintf vunmap vzalloc wait_for_completion From b519ac423787d38f467ca479d2126b7204d6f498 Mon Sep 17 00:00:00 2001 From: Sangmoon Kim Date: Wed, 5 Aug 2020 22:13:43 +0900 Subject: [PATCH 07/21] ANDROID: vendor_hooks: add waiting information for blocked tasks - Add the hook to get mutex/rwsem information that the tasks are waiting for. - Add the hook to print messages for sched_show_task. - ANDROID_VENDOR_DATA_ARRAY added to task_struct Bug: 162776704 Signed-off-by: Sangmoon Kim Change-Id: Ib436fbd8d0ad509c3b5a73ea8f5170e0761a13fd --- drivers/android/vendor_hooks.c | 8 +++++ include/linux/sched.h | 3 ++ include/trace/hooks/dtask.h | 53 ++++++++++++++++++++++++++++++++++ kernel/locking/mutex.c | 5 ++++ kernel/locking/rwsem.c | 8 +++++ kernel/sched/core.c | 4 +++ 6 files changed, 81 insertions(+) create mode 100644 include/trace/hooks/dtask.h diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index cf75759e4c3f..a62235c8e058 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -8,9 +8,17 @@ #define CREATE_TRACE_POINTS #include +#include /* * Export tracepoints that act as a bare tracehook (ie: have no trace event * associated with them) to allow external modules to probe them. */ +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mutex_wait_start); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mutex_wait_finish); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_read_wait_start); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_read_wait_finish); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_write_wait_start); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_write_wait_finish); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_show_task); diff --git a/include/linux/sched.h b/include/linux/sched.h index 3865142b31a7..a99ebd816867 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -32,6 +32,7 @@ #include #include #include +#include /* task_struct member predeclarations (sorted alphabetically): */ struct audit_context; @@ -1291,6 +1292,8 @@ struct task_struct { unsigned long prev_lowest_stack; #endif + ANDROID_VENDOR_DATA_ARRAY(1, 2); + ANDROID_KABI_RESERVE(1); ANDROID_KABI_RESERVE(2); ANDROID_KABI_RESERVE(3); diff --git a/include/trace/hooks/dtask.h b/include/trace/hooks/dtask.h new file mode 100644 index 000000000000..f4fafbfedc23 --- /dev/null +++ b/include/trace/hooks/dtask.h @@ -0,0 +1,53 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#undef TRACE_SYSTEM +#define TRACE_SYSTEM dtask +#define TRACE_INCLUDE_PATH trace/hooks + +#if !defined(_TRACE_HOOK_DTASK_H) || defined(TRACE_HEADER_MULTI_READ) +#define _TRACE_HOOK_DTASK_H +#include +#include +/* + * Following tracepoints are not exported in tracefs and provide a + * mechanism for vendor modules to hook and extend functionality + */ +#if defined(CONFIG_TRACEPOINTS) && defined(CONFIG_ANDROID_VENDOR_HOOKS) +struct mutex; +DECLARE_HOOK(android_vh_mutex_wait_start, + TP_PROTO(struct mutex *lock), + TP_ARGS(lock)); +DECLARE_HOOK(android_vh_mutex_wait_finish, + TP_PROTO(struct mutex *lock), + TP_ARGS(lock)); + +struct rw_semaphore; +DECLARE_HOOK(android_vh_rwsem_read_wait_start, + TP_PROTO(struct rw_semaphore *sem), + TP_ARGS(sem)); +DECLARE_HOOK(android_vh_rwsem_read_wait_finish, + TP_PROTO(struct rw_semaphore *sem), + TP_ARGS(sem)); +DECLARE_HOOK(android_vh_rwsem_write_wait_start, + TP_PROTO(struct rw_semaphore *sem), + TP_ARGS(sem)); +DECLARE_HOOK(android_vh_rwsem_write_wait_finish, + TP_PROTO(struct rw_semaphore *sem), + TP_ARGS(sem)); + +struct task_struct; +DECLARE_HOOK(android_vh_sched_show_task, + TP_PROTO(struct task_struct *task), + TP_ARGS(task)); +#else +#define trace_android_vh_mutex_wait_start(lock) +#define trace_android_vh_mutex_wait_finish(lock) +#define trace_android_vh_rwsem_read_wait_start(sem) +#define trace_android_vh_rwsem_read_wait_finish(sem) +#define trace_android_vh_rwsem_write_wait_start(sem) +#define trace_android_vh_rwsem_write_wait_finish(sem) +#define trace_android_vh_sched_show_task(task) +#endif + +#endif /* _TRACE_HOOK_DTASK_H */ +/* This part must be outside protection */ +#include diff --git a/kernel/locking/mutex.c b/kernel/locking/mutex.c index 468a9b8422e3..5227d478672f 100644 --- a/kernel/locking/mutex.c +++ b/kernel/locking/mutex.c @@ -36,6 +36,8 @@ # include "mutex.h" #endif +#include + void __mutex_init(struct mutex *lock, const char *name, struct lock_class_key *key) { @@ -1002,6 +1004,7 @@ __mutex_lock_common(struct mutex *lock, long state, unsigned int subclass, waiter.task = current; + trace_android_vh_mutex_wait_start(lock); set_current_state(state); for (;;) { /* @@ -1057,6 +1060,7 @@ __mutex_lock_common(struct mutex *lock, long state, unsigned int subclass, spin_lock(&lock->wait_lock); acquired: __set_current_state(TASK_RUNNING); + trace_android_vh_mutex_wait_finish(lock); if (use_ww_ctx && ww_ctx) { /* @@ -1087,6 +1091,7 @@ skip_wait: err: __set_current_state(TASK_RUNNING); + trace_android_vh_mutex_wait_finish(lock); mutex_remove_waiter(lock, &waiter, current); err_early_kill: spin_unlock(&lock->wait_lock); diff --git a/kernel/locking/rwsem.c b/kernel/locking/rwsem.c index baafa1dd9fcc..fe9cf499b1d7 100644 --- a/kernel/locking/rwsem.c +++ b/kernel/locking/rwsem.c @@ -31,6 +31,8 @@ #include "rwsem.h" #include "lock_events.h" +#include + /* * The least significant 3 bits of the owner value has the following * meanings when set. @@ -1085,6 +1087,7 @@ queue: wake_up_q(&wake_q); /* wait to be given the lock */ + trace_android_vh_rwsem_read_wait_start(sem); for (;;) { set_current_state(state); if (!smp_load_acquire(&waiter.task)) { @@ -1104,6 +1107,7 @@ queue: } __set_current_state(TASK_RUNNING); + trace_android_vh_rwsem_read_wait_finish(sem); lockevent_inc(rwsem_rlock); return sem; @@ -1115,6 +1119,7 @@ out_nolock: } raw_spin_unlock_irq(&sem->wait_lock); __set_current_state(TASK_RUNNING); + trace_android_vh_rwsem_read_wait_finish(sem); lockevent_inc(rwsem_rlock_fail); return ERR_PTR(-EINTR); } @@ -1209,6 +1214,7 @@ rwsem_down_write_slowpath(struct rw_semaphore *sem, int state) wait: /* wait until we successfully acquire the lock */ + trace_android_vh_rwsem_write_wait_start(sem); set_current_state(state); for (;;) { if (rwsem_try_write_lock(sem, wstate)) { @@ -1268,6 +1274,7 @@ trylock_again: raw_spin_lock_irq(&sem->wait_lock); } __set_current_state(TASK_RUNNING); + trace_android_vh_rwsem_write_wait_finish(sem); list_del(&waiter.list); rwsem_disable_reader_optspin(sem, disable_rspin); raw_spin_unlock_irq(&sem->wait_lock); @@ -1277,6 +1284,7 @@ trylock_again: out_nolock: __set_current_state(TASK_RUNNING); + trace_android_vh_rwsem_write_wait_finish(sem); raw_spin_lock_irq(&sem->wait_lock); list_del(&waiter.list); diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 53d2f7451495..c7bfaf6fef14 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -24,6 +24,9 @@ #define CREATE_TRACE_POINTS #include +#undef CREATE_TRACE_POINTS +#include + /* * Export tracepoints that act as a bare tracehook (ie: have no trace event * associated with them) to allow external modules to probe them. @@ -5930,6 +5933,7 @@ void sched_show_task(struct task_struct *p) (unsigned long)task_thread_info(p)->flags); print_worker_info(KERN_INFO, p); + trace_android_vh_sched_show_task(p); show_stack(p, NULL); put_task_stack(p); } From be8320cc17de241b5e1deee7c98b1aa6cdd4e170 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 12 Aug 2020 17:42:04 +0200 Subject: [PATCH 08/21] ANDROID: GKI: add some padding to some driver core structures It was requested that the following structures get some padding in order to be able to handle future issues/bugs/fixes that might arise: struct dev_links_info struct device_link struct fwnode_handle Leaf changes summary: 2989 artifacts changed (4 filtered out) Changed leaf types summary: 71 leaf types changed Removed/Changed/Added functions summary: 0 Removed, 2896 Changed (4 filtered out), 0 Added function Removed/Changed/Added variables summary: 0 Removed, 22 Changed, 0 Added variable Bug: 163662096 Signed-off-by: Greg Kroah-Hartman Change-Id: Ie26f422c590f9ddbe99f0885f36da3feec64e9a6 --- android/abi_gki_aarch64.xml | 8132 ++++++++++++++++++----------------- include/linux/device.h | 10 + include/linux/fwnode.h | 6 + 3 files changed, 4100 insertions(+), 4048 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index c9820b98ae57..9f35e099f1f2 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -3,12 +3,12 @@ - + - - + + - + @@ -23,32 +23,32 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - - + + - + - + @@ -56,66 +56,66 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - + - - - - + + + + - - + + - + - - - - - + + + + + - - + + - + - - + + @@ -129,133 +129,133 @@ - - - - - - - - + + + + + + + + - - - - + + + + - - + + - - - - + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - - - + + + + - + - - - - - - + + + + + + - + - + - - - - - + + + + + - - - - + + + + - + - + - - + + - + - + - - - + + + - + - + - - - - - - + + + + + + @@ -282,15 +282,15 @@ - - - + + + - + @@ -298,291 +298,291 @@ - + - - - - + + + + - + - - - - + + + + - + - + - - - - - - - - - - + + + + + + + + + + - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - - - + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - - - + + + - - - - - + + + + + - - - - - - - - - + + + + + + + + + - + - - - - - - - + + + + + + + - - + + - + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + - - - - - - - - - + + + + + + + + + - + - - - + + + @@ -590,73 +590,73 @@ - + - - + + - + - + - + - - - - - - - - + + + + + + + + - + - - + + - + - - - - + + + + - - + + - - + + - - + + - - + + @@ -668,66 +668,66 @@ - - - - + + + + - + - + - - + + - + - - - - - + + + + + - + - + - + - - - + + + - - - - - + + + + + - + - - - + + + - + @@ -739,287 +739,287 @@ - - - - - + + + + + - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1034,20 +1034,20 @@ - - - - - - - + + + + + + + - + - - - + + + @@ -1056,16 +1056,16 @@ - - - - - - - + + + + + + + - + @@ -1076,244 +1076,244 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - + + + + + - + - - - - + + + + - - - - + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - + + + + - - - + + + - - + + - - - - + + + + @@ -1322,158 +1322,158 @@ - - + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - + + + + + + + + + - - - - - - + + + + + + - - - - + + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - + + + - + - + - + - + - + - - + + - - - - - - - - + + + + + + + + @@ -1488,129 +1488,129 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - + - + - - - - - + + + + + - - - + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - - - + + + + - + @@ -1626,58 +1626,58 @@ - - + + - - + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + @@ -1690,10 +1690,10 @@ - - - - + + + + @@ -1701,272 +1701,272 @@ - + - - - - + + + + - - - - - - - - - + + + + + + + + + - - - + + + - - - - - - + + + + + + - - + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - + + + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - - - + + + - + - - - + + + - - - - + + + + - - - - + + + + - + @@ -1975,30 +1975,30 @@ - - + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + @@ -2011,8 +2011,8 @@ - - + + @@ -2071,80 +2071,80 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2166,97 +2166,97 @@ - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - + + + + + + @@ -2265,219 +2265,219 @@ - - - - - - - - - + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - + - - + + - - - + + + - - - + + + - - - - + + + + - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - + @@ -2486,190 +2486,190 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2677,56 +2677,56 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - + + - + - - - - + + + + - - - + + + - - + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + @@ -2746,28 +2746,28 @@ - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + + - + @@ -2789,9 +2789,9 @@ - - - + + + @@ -2799,125 +2799,125 @@ - - - - - - + + + + + + - + - + - - - + + + - - + + - + - + - - - + + + - - - - + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - + + + + + - + - - + + @@ -2928,153 +2928,153 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - + + - + - + - - + + - + - - - + + + - - - - + + + + - - - + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -3088,35 +3088,35 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - + + + @@ -3135,80 +3135,80 @@ - + - + - - - + + + - - - - - - - - + + + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3221,228 +3221,228 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3451,10 +3451,10 @@ - + - + @@ -3462,7 +3462,7 @@ - + @@ -3484,25 +3484,25 @@ - - - - + + + + - - + + - - + + - - - + + + @@ -3521,51 +3521,51 @@ - - - - - + + + + + - - - - - - - - - - + + + + + + + + + + - + - + - - - - - - + + + + + + - + - + - - - - + + + + @@ -3582,196 +3582,196 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - + + + + + + + + - - + + - + - + - + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - + + - + - + - - + + - - + + - - - + + + - - - - - - - - - + + + + + + + + + - + - - - - - - - - - - + + + + + + + + + + - - - - + + + + - - + + - - - - + + + + - - - - + + + + - + @@ -3784,130 +3784,130 @@ - - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + - - - + + + - - - - - - - + + + + + + + - - - - - - + + + + + + - + - - - - - + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -3915,60 +3915,60 @@ - - - + + + - - - + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - + + + - - + + - - + + @@ -3982,95 +3982,95 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + - - - + + + - - + + - - + + @@ -4084,27 +4084,27 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - + + @@ -4113,43 +4113,43 @@ - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -4178,9 +4178,9 @@ - + - + @@ -4193,7 +4193,7 @@ - + @@ -4211,31 +4211,31 @@ - - + + - - + + - + - + - + - - + + @@ -4253,9 +4253,9 @@ - + - + @@ -4265,13 +4265,13 @@ - - + + - - - + + + @@ -4286,14 +4286,14 @@ - + - + - + @@ -15375,7 +15375,7 @@ - + @@ -15394,22 +15394,22 @@ - + - + - + - + - + - + @@ -17550,76 +17550,76 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -22541,122 +22541,122 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -23439,229 +23439,229 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -24695,14 +24695,14 @@ - + - + - + @@ -24989,178 +24989,178 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -25171,85 +25171,85 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -25282,124 +25282,124 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -26366,7 +26366,7 @@ - + @@ -26450,7 +26450,7 @@ - + @@ -28295,7 +28295,7 @@ - + @@ -28308,37 +28308,37 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -29208,47 +29208,47 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -29364,29 +29364,29 @@ - + - + - + - + - + - + - + - + @@ -29641,44 +29641,44 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -29702,28 +29702,28 @@ - + - + - + - + - + - + @@ -34524,41 +34524,41 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -34843,7 +34843,7 @@ - + @@ -34889,22 +34889,22 @@ - + - + - + - + - + - + @@ -36191,32 +36191,32 @@ - + - + - + - + - + - + - + - + @@ -38332,7 +38332,7 @@ - + @@ -38357,61 +38357,61 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -39000,11 +39000,11 @@ - + - + @@ -39020,85 +39020,85 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -39878,17 +39878,17 @@ - + - + - + @@ -40027,7 +40027,7 @@ - + @@ -40151,25 +40151,25 @@ - + - + - + - + - + - + - + @@ -41117,7 +41117,7 @@ - + @@ -41175,10 +41175,10 @@ - + - + @@ -42265,7 +42265,7 @@ - + @@ -42335,29 +42335,29 @@ - + - + - + - + - + - + - + @@ -42508,16 +42508,16 @@ - + - + - + - + @@ -42586,7 +42586,7 @@ - + @@ -42628,58 +42628,58 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -44652,7 +44652,7 @@ - + @@ -44662,19 +44662,19 @@ - + - + - + - + - + @@ -45454,7 +45454,7 @@ - + @@ -45473,67 +45473,67 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -50958,7 +50958,7 @@ - + @@ -50974,17 +50974,17 @@ - + - + - + - + @@ -51015,31 +51015,31 @@ - + - + - + - + - + - + - + - + - + @@ -53045,17 +53045,17 @@ - + - + - + - + @@ -53097,124 +53097,124 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -53248,22 +53248,22 @@ - + - + - + - + - + - + @@ -54619,7 +54619,7 @@ - + @@ -54665,22 +54665,22 @@ - + - + - + - + - + - + @@ -54909,7 +54909,7 @@ - + @@ -54952,37 +54952,37 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -55024,34 +55024,34 @@ - + - + - + - + - + - + - + - + - + - + @@ -55063,40 +55063,40 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -62661,29 +62661,29 @@ - + - + - + - + - + - + - + - + @@ -63044,26 +63044,26 @@ - + - + - + - + - + - + - + @@ -63919,41 +63919,41 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -63980,10 +63980,10 @@ - + - + @@ -64255,39 +64255,51 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -64342,7 +64354,7 @@ - + @@ -64383,7 +64395,7 @@ - + @@ -65157,7 +65169,7 @@ - + @@ -65738,7 +65750,7 @@ - + @@ -66413,7 +66425,7 @@ - + @@ -66456,28 +66468,28 @@ - + - + - + - + - + - + - + - + @@ -66486,7 +66498,7 @@ - + @@ -66829,7 +66841,7 @@ - + @@ -66839,7 +66851,7 @@ - + @@ -67274,29 +67286,29 @@ - + - + - + - + - + - + - + - + @@ -67438,17 +67450,17 @@ - + - + - + @@ -67638,7 +67650,7 @@ - + @@ -67755,92 +67767,92 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -68557,7 +68569,7 @@ - + @@ -68792,43 +68804,43 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -68924,7 +68936,7 @@ - + @@ -69102,16 +69114,16 @@ - + - + - + - + @@ -69310,7 +69322,7 @@ - + @@ -69593,46 +69605,46 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -69647,7 +69659,7 @@ - + @@ -69660,13 +69672,13 @@ - + - + - + @@ -69684,28 +69696,28 @@ - + - + - + - + - + - + - + - + @@ -70517,7 +70529,7 @@ - + @@ -70527,67 +70539,67 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -71672,31 +71684,31 @@ - + - + - + - + - + - + - + - + @@ -72575,7 +72587,7 @@ - + @@ -72639,7 +72651,7 @@ - + @@ -72649,28 +72661,28 @@ - + - + - + - + - + - + - + - + @@ -72694,7 +72706,7 @@ - + @@ -72704,85 +72716,85 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -74232,37 +74244,37 @@ - + - + - + - + - + - + - + - + - + - + @@ -75418,17 +75430,17 @@ - + - + - + @@ -76222,7 +76234,7 @@ - + @@ -76249,7 +76261,7 @@ - + @@ -76351,7 +76363,7 @@ - + @@ -76482,35 +76494,35 @@ - + - + - + - + - + - + - + - + - + @@ -78185,13 +78197,13 @@ - + - + @@ -78219,29 +78231,29 @@ - + - + - + - + - + - + - + - + @@ -78943,7 +78955,7 @@ - + @@ -78983,67 +78995,67 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -79107,7 +79119,7 @@ - + @@ -79545,7 +79557,7 @@ - + @@ -79701,7 +79713,7 @@ - + @@ -79732,19 +79744,19 @@ - + - + - + - + - + @@ -79798,19 +79810,19 @@ - + - + - + - + - + @@ -80871,15 +80883,15 @@ - + - + - + @@ -81302,7 +81314,7 @@ - + @@ -81425,50 +81437,50 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -81501,20 +81513,20 @@ - + - + - + - + @@ -81583,26 +81595,26 @@ - + - + - + - + - + - + @@ -81626,20 +81638,20 @@ - + - + - + - + @@ -81851,7 +81863,7 @@ - + @@ -81911,7 +81923,7 @@ - + @@ -81933,10 +81945,10 @@ - + - + @@ -86078,7 +86090,7 @@ - + @@ -86091,25 +86103,25 @@ - + - + - + - + - + - + - + @@ -86282,7 +86294,7 @@ - + @@ -90291,159 +90303,159 @@ - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - - - - - - - - - - + + - + - + - - - - + - + - + - + + + + - + - + - - - - + - + - - - - + - + - + + + + - + + + + - + - - - - + - + - + - - - - - - - - - - - - - - + + - + - + - + - - + + + + + + + + + + + + + + - + - + - + - + + + + + + + + + + + + + @@ -95225,7 +95237,7 @@ - + @@ -95253,52 +95265,52 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -95316,7 +95328,7 @@ - + @@ -95335,40 +95347,40 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -97788,7 +97800,7 @@ - + @@ -97807,6 +97819,18 @@ + + + + + + + + + + + + @@ -98326,7 +98350,7 @@ - + @@ -98339,113 +98363,125 @@ - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - + - + + + + + + + + + + + + + + + @@ -101578,7 +101614,7 @@ - + @@ -101619,7 +101655,7 @@ - + @@ -103430,7 +103466,7 @@ - + @@ -105679,7 +105715,7 @@ - + @@ -105719,10 +105755,10 @@ - + - + @@ -111775,7 +111811,7 @@ - + @@ -111944,61 +111980,61 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -112007,13 +112043,13 @@ - + - + - + @@ -118859,29 +118895,29 @@ - + - + - + - + - + - + - + @@ -119533,7 +119569,7 @@ - + @@ -119567,13 +119603,13 @@ - + - + - + diff --git a/include/linux/device.h b/include/linux/device.h index e1628d2101c4..659624b4eddd 100644 --- a/include/linux/device.h +++ b/include/linux/device.h @@ -1155,6 +1155,11 @@ struct dev_links_info { struct list_head defer_hook; bool need_for_probe; enum dl_dev_state status; + + ANDROID_KABI_RESERVE(1); + ANDROID_KABI_RESERVE(2); + ANDROID_KABI_RESERVE(3); + ANDROID_KABI_RESERVE(4); }; /** @@ -1372,6 +1377,11 @@ struct device_link { struct rcu_head rcu_head; #endif bool supplier_preactivated; /* Owned by consumer probe. */ + + ANDROID_KABI_RESERVE(1); + ANDROID_KABI_RESERVE(2); + ANDROID_KABI_RESERVE(3); + ANDROID_KABI_RESERVE(4); }; static inline struct device *kobj_to_dev(struct kobject *kobj) diff --git a/include/linux/fwnode.h b/include/linux/fwnode.h index 7cb05b1faa24..3ee8bbde1783 100644 --- a/include/linux/fwnode.h +++ b/include/linux/fwnode.h @@ -10,6 +10,7 @@ #define _LINUX_FWNODE_H_ #include +#include struct fwnode_operations; struct device; @@ -18,6 +19,11 @@ struct fwnode_handle { struct fwnode_handle *secondary; const struct fwnode_operations *ops; struct device *dev; + + ANDROID_KABI_RESERVE(1); + ANDROID_KABI_RESERVE(2); + ANDROID_KABI_RESERVE(3); + ANDROID_KABI_RESERVE(4); }; /** From 93acf354909f4d677719e2a6a09195c1f8321d5f Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 13 Aug 2020 10:28:54 +0200 Subject: [PATCH 09/21] ANDROID: GKI: fix up abi .xml file due to previous changes. b519ac423787 ("ANDROID: vendor_hooks: add waiting information for blocked tasks") changed the abi, but the definition xml file never got updated. Bug: 162776704 Cc: Sangmoon Kim Fixes: b519ac423787 ("ANDROID: vendor_hooks: add waiting information for blocked tasks") Signed-off-by: Greg Kroah-Hartman Change-Id: Ibb92f7c0e29a7a05a997e16a07b05053a6c05ae3 --- android/abi_gki_aarch64.xml | 8625 +++++++++++++++++------------------ 1 file changed, 4214 insertions(+), 4411 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 9f35e099f1f2..4586e15d2277 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -2,13 +2,13 @@ - - + + - - + + - + @@ -23,32 +23,32 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - - - - - + + + + + - + @@ -56,66 +56,66 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - + - - - - + + + + - - + + - + - - - - - + + + + + - - + + - + - - + + @@ -125,137 +125,137 @@ - + - - - - - - - - + + + + + + + + - - - - + + + + - - + + - - - - + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - - - + + + + - + - - - - - - - - - + + + + + + + + + - + - - - - - + + + + + - - - - + + + + - + - + - - + + - + - + - - - + + + - + - + - - - - - - - - - + + + + + + + + + @@ -282,15 +282,15 @@ - - - + + + - + @@ -298,291 +298,291 @@ - + - - - - + + + + - + - - - - - - + + + + + + - + - + - - - - - - - - - - + + + + + + + + + + - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - - - + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - - - + + + - - - - - + + + + + - - - - - - - - - + + + + + + + + + - + - - - - - - - + + + + + + + - - + + - + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + - - - - - - - - - + + + + + + + + + - + - - - + + + @@ -590,73 +590,73 @@ - + - - + + - + - - + + - + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - - + + - + - - - - + + + + - - + + - - + + - - + + - - - + + + @@ -668,358 +668,358 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1034,38 +1034,38 @@ - - - - - - - + + + + + + + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + @@ -1074,406 +1074,406 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - + + + + + - + - - - - + + + + - - - - + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - + + + + - - - + + + - - + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - + - - - - - - + + + + + + - - - - + + + + - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - + + + + - + - + - + - + - + - - - + + + - - - - - - - - + + + + + + + + @@ -1488,129 +1488,129 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + - + - - - - - + + + + + - - - + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - - - + + + + - + @@ -1626,58 +1626,58 @@ - - + + - - + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + @@ -1690,10 +1690,10 @@ - - - - + + + + @@ -1701,325 +1701,325 @@ - + - - - - + + + + - - - - - - - - - + + + + + + + + + - - - + + + - - - - - - + + + + + + - - + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - + + + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - - - + + + - + - + - - - + + + - - - - + + + + - - + + - - - - + + + + - - - - + + + + - - - + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - + + - + @@ -2037,25 +2037,25 @@ - - - - - + + + + + - - - + + + - - + + - - + + - - + + @@ -2071,80 +2071,80 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2166,97 +2166,97 @@ - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - + + + + + + @@ -2265,411 +2265,411 @@ - - - - - - - - - + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - + - - + + - - - + + + - - - - + + + + - - - - + + + + - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2677,97 +2677,97 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - - - + + + + - - - - + + + + - - - + + + - - + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - + @@ -2789,9 +2789,9 @@ - - - + + + @@ -2799,125 +2799,125 @@ - - - - - - + + + + + + - + - + - - - + + + - - + + - + - + - - - + + + - - - - + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - + - - + + @@ -2928,287 +2928,287 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - + - - + + - + - - - - + + + + - - - - + + + + - - - + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - + + + + + - + - - - - + + + + - + - + - - - - - + + + + + - - - - - - - - + + + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3220,229 +3220,229 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3451,10 +3451,10 @@ - + - + @@ -3462,7 +3462,7 @@ - + @@ -3484,294 +3484,294 @@ - - - - + + + + - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - + + + + + + + + + + - + - + - - - - - - + + + + + + - + - + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - + + + + + + + + - - + + - + - + - + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + - + - - + + - - + + - - - + + + - + - - - - - - - - - + + + + + + + + + - + - - - - - - - - - - + + + + + + + + + + - - - - + + + + - - + + - - - - + + + + - - - - + + + + - + @@ -3784,293 +3784,293 @@ - - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - + + + + + - - - + + + - - - - - - - + + + + + + + - - - - - - + + + + + + - + - - - - - + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - + - - - - + + + + - - + + - - + + @@ -4084,72 +4084,72 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - + + + + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -4178,84 +4178,84 @@ - + - + - + - + - - - + + + - + - + - - + + - - - + + + - - - + + + - + - + - + - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + - + @@ -4265,13 +4265,13 @@ - - + + - - - + + + @@ -4283,17 +4283,17 @@ - + - - + + - + - - + + @@ -4466,7 +4466,7 @@ - + @@ -4547,6 +4547,9 @@ + + + @@ -4888,12 +4891,12 @@ - + - + - + @@ -7731,570 +7734,573 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - + - + - + - + - + - + - + + + + - + + + + @@ -8331,267 +8337,267 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -8722,18 +8728,18 @@ - + - + - + - + - + @@ -8742,32 +8748,32 @@ - + - + - + - + - + - + - + - + - + - + @@ -9040,15 +9046,15 @@ - + - + - + - + @@ -9652,9 +9658,9 @@ - + - + @@ -11096,23 +11102,6 @@ - - - - - - - - - - - - - - - - - @@ -14100,12 +14089,29 @@ - + - + - + + + + + + + + + + + + + + + + + + @@ -17172,7 +17178,7 @@ - + @@ -20471,7 +20477,7 @@ - + @@ -36130,6 +36136,14 @@ + + + + + + + + @@ -36660,6 +36674,23 @@ + + + + + + + + + + + + + + + + + @@ -36736,7 +36767,7 @@ - + @@ -37122,7 +37153,7 @@ - + @@ -37145,7 +37176,7 @@ - + @@ -38307,7 +38338,7 @@ - + @@ -39728,8 +39759,6 @@ - - @@ -39843,6 +39872,8 @@ + + @@ -41252,7 +41283,7 @@ - + @@ -41585,7 +41616,7 @@ - + @@ -41605,7 +41636,7 @@ - + @@ -41714,167 +41745,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -42182,7 +42052,7 @@ - + @@ -42194,18 +42064,18 @@ - + - + - + - + @@ -42231,7 +42101,7 @@ - + @@ -44365,7 +44235,7 @@ - + @@ -44569,7 +44439,7 @@ - + @@ -44715,7 +44585,7 @@ - + @@ -44836,7 +44706,7 @@ - + @@ -44873,7 +44743,7 @@ - + @@ -44892,7 +44762,7 @@ - + @@ -45079,12 +44949,12 @@ - + - + @@ -46049,10 +45919,10 @@ - + - + @@ -46673,7 +46543,7 @@ - + @@ -46689,7 +46559,7 @@ - + @@ -46697,13 +46567,13 @@ - + - + - + @@ -46711,7 +46581,7 @@ - + @@ -49484,7 +49354,7 @@ - + @@ -49499,7 +49369,7 @@ - + @@ -50147,7 +50017,7 @@ - + @@ -50163,7 +50033,7 @@ - + @@ -50461,7 +50331,7 @@ - + @@ -50848,7 +50718,7 @@ - + @@ -51107,7 +50977,7 @@ - + @@ -51120,7 +50990,7 @@ - + @@ -51144,13 +51014,13 @@ - + - + @@ -51169,7 +51039,7 @@ - + @@ -51316,7 +51186,6 @@ - @@ -51427,7 +51296,7 @@ - + @@ -51534,6 +51403,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -51885,11 +51808,11 @@ - + - + @@ -51898,7 +51821,7 @@ - + @@ -51914,7 +51837,7 @@ - + @@ -51922,21 +51845,32 @@ - + - + - + - + + + + + + + + + + + + @@ -52140,17 +52074,6 @@ - - - - - - - - - - - @@ -52665,7 +52588,7 @@ - + @@ -52690,15 +52613,15 @@ - + - + - + @@ -52707,7 +52630,7 @@ - + @@ -54163,7 +54086,7 @@ - + @@ -54198,7 +54121,7 @@ - + @@ -55473,7 +55396,7 @@ - + @@ -56958,13 +56881,13 @@ - + - + - + @@ -56988,7 +56911,7 @@ - + @@ -57235,7 +57158,7 @@ - + @@ -58739,7 +58662,7 @@ - + @@ -58762,7 +58685,7 @@ - + @@ -61737,7 +61660,7 @@ - + @@ -61772,7 +61695,7 @@ - + @@ -61788,7 +61711,7 @@ - + @@ -61872,7 +61795,7 @@ - + @@ -62077,7 +62000,7 @@ - + @@ -64572,7 +64495,7 @@ - + @@ -64583,7 +64506,7 @@ - + @@ -66976,18 +66899,18 @@ - + - + - + - + @@ -67374,7 +67297,7 @@ - + @@ -68356,7 +68279,7 @@ - + @@ -68375,30 +68298,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - @@ -69132,7 +69031,7 @@ - + @@ -70030,10 +69929,10 @@ - + - + @@ -70086,10 +69985,10 @@ - + - + @@ -70691,7 +70590,7 @@ - + @@ -71442,7 +71341,7 @@ - + @@ -71454,7 +71353,7 @@ - + @@ -72414,12 +72313,12 @@ - + - + - + @@ -76736,7 +76635,7 @@ - + @@ -77531,23 +77430,6 @@ - - - - - - - - - - - - - - - - - @@ -82061,7 +81943,7 @@ - + @@ -82790,7 +82672,7 @@ - + @@ -83112,13 +82994,13 @@ - + - + @@ -83803,6 +83685,7 @@ + @@ -83826,7 +83709,7 @@ - + @@ -84022,7 +83905,7 @@ - + @@ -84165,7 +84048,7 @@ - + @@ -84200,6 +84083,7 @@ + @@ -84420,14 +84304,6 @@ - - - - - - - - @@ -84991,7 +84867,7 @@ - + @@ -85107,7 +84983,7 @@ - + @@ -85259,6 +85135,23 @@ + + + + + + + + + + + + + + + + + @@ -85406,7 +85299,7 @@ - + @@ -85422,10 +85315,10 @@ - + - + @@ -85433,7 +85326,7 @@ - + @@ -85452,10 +85345,10 @@ - + - + @@ -85500,9 +85393,9 @@ - + - + @@ -85698,12 +85591,11 @@ - - + - + @@ -85712,7 +85604,7 @@ - + @@ -85746,13 +85638,13 @@ - + - + @@ -85766,15 +85658,15 @@ - + - + - + @@ -85787,7 +85679,6 @@ - @@ -85814,7 +85705,7 @@ - + @@ -85956,7 +85847,7 @@ - + @@ -86004,7 +85895,7 @@ - + @@ -86183,7 +86074,7 @@ - + @@ -86195,15 +86086,15 @@ - + - + - + @@ -86351,7 +86242,7 @@ - + @@ -86365,6 +86256,14 @@ + + + + + + + + @@ -86399,6 +86298,23 @@ + + + + + + + + + + + + + + + + + @@ -86465,7 +86381,7 @@ - + @@ -86480,7 +86396,7 @@ - + @@ -86539,7 +86455,7 @@ - + @@ -86930,7 +86846,7 @@ - + @@ -87233,7 +87149,7 @@ - + @@ -87250,17 +87166,6 @@ - - - - - - - - - - - @@ -87871,7 +87776,7 @@ - + @@ -87919,7 +87824,7 @@ - + @@ -88065,7 +87970,7 @@ - + @@ -88092,7 +87997,7 @@ - + @@ -88101,7 +88006,7 @@ - + @@ -88605,7 +88510,7 @@ - + @@ -88677,7 +88582,7 @@ - + @@ -88757,28 +88662,28 @@ - - - - + + + + - - + + - - + + - - - + + + - - - + + + @@ -88798,14 +88703,14 @@ - - - - + + + + - - + + @@ -89030,7 +88935,7 @@ - + @@ -89123,49 +89028,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -89547,6 +89409,167 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -89586,39 +89609,39 @@ - - - - + + + + - - - - - + + + + + - - - - + + + + - - - + + + - + - - + + @@ -89967,9 +89990,6 @@ - - - @@ -92073,7 +92093,7 @@ - + @@ -92090,10 +92110,10 @@ - + - + @@ -92138,7 +92158,7 @@ - + @@ -92162,7 +92182,7 @@ - + @@ -92244,6 +92264,23 @@ + + + + + + + + + + + + + + + + + @@ -93481,7 +93518,7 @@ - + @@ -93548,7 +93585,7 @@ - + @@ -94235,7 +94272,7 @@ - + @@ -94282,7 +94319,7 @@ - + @@ -94330,10 +94367,10 @@ - + - + @@ -95146,7 +95183,7 @@ - + @@ -95761,7 +95798,7 @@ - + @@ -98943,6 +98980,7 @@ + @@ -99908,7 +99946,7 @@ - + @@ -99970,51 +100008,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -100075,7 +100068,7 @@ - + @@ -100129,7 +100122,7 @@ - + @@ -100267,7 +100260,7 @@ - + @@ -100336,6 +100329,21 @@ + + + + + + + + + + + + + + + @@ -100387,6 +100395,8 @@ + + @@ -101203,7 +101213,7 @@ - + @@ -101441,7 +101451,7 @@ - + @@ -101486,7 +101496,7 @@ - + @@ -101680,7 +101690,7 @@ - + @@ -101836,10 +101846,10 @@ - + - + @@ -102529,16 +102539,16 @@ - + - + - + @@ -102546,7 +102556,7 @@ - + @@ -102624,7 +102634,7 @@ - + @@ -102641,12 +102651,12 @@ - + - + @@ -102880,14 +102890,6 @@ - - - - - - - - @@ -103000,23 +103002,6 @@ - - - - - - - - - - - - - - - - - @@ -103090,7 +103075,7 @@ - + @@ -103108,10 +103093,10 @@ - + - + @@ -103130,7 +103115,7 @@ - + @@ -103160,7 +103145,7 @@ - + @@ -103418,20 +103403,6 @@ - - - - - - - - - - - - - - @@ -103672,7 +103643,7 @@ - + @@ -103947,7 +103918,7 @@ - + @@ -103955,6 +103926,20 @@ + + + + + + + + + + + + + + @@ -104375,7 +104360,7 @@ - + @@ -104648,35 +104633,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -105864,10 +105820,10 @@ - + - + @@ -105932,6 +105888,25 @@ + + + + + + + + + + + + + + + + + + + @@ -106176,7 +106151,7 @@ - + @@ -106866,7 +106841,7 @@ - + @@ -106874,7 +106849,7 @@ - + @@ -106896,7 +106871,7 @@ - + @@ -106904,7 +106879,7 @@ - + @@ -106912,7 +106887,7 @@ - + @@ -106929,7 +106904,7 @@ - + @@ -106937,7 +106912,7 @@ - + @@ -108684,7 +108659,7 @@ - + @@ -108692,7 +108667,7 @@ - + @@ -108700,7 +108675,7 @@ - + @@ -108708,7 +108683,7 @@ - + @@ -108716,7 +108691,7 @@ - + @@ -109059,7 +109034,7 @@ - + @@ -109068,7 +109043,7 @@ - + @@ -109996,10 +109971,10 @@ - + - + @@ -110338,7 +110313,7 @@ - + @@ -110366,7 +110341,7 @@ - + @@ -110376,74 +110351,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -110452,7 +110359,7 @@ - + @@ -110526,7 +110433,7 @@ - + @@ -110555,10 +110462,10 @@ - + - + @@ -110566,7 +110473,7 @@ - + @@ -110574,7 +110481,6 @@ - @@ -110600,7 +110506,7 @@ - + @@ -110741,7 +110647,7 @@ - + @@ -110759,7 +110665,7 @@ - + @@ -111062,7 +110968,7 @@ - + @@ -111085,7 +110991,7 @@ - + @@ -111252,7 +111158,7 @@ - + @@ -111291,7 +111197,7 @@ - + @@ -111373,7 +111279,7 @@ - + @@ -111388,7 +111294,7 @@ - + @@ -111400,7 +111306,7 @@ - + @@ -111409,7 +111315,7 @@ - + @@ -111507,7 +111413,7 @@ - + @@ -111526,109 +111432,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -113224,9 +113027,9 @@ - + - + @@ -113235,7 +113038,7 @@ - + @@ -113254,7 +113057,7 @@ - + @@ -113273,10 +113076,10 @@ - + - + @@ -114837,7 +114640,7 @@ - + @@ -114849,7 +114652,7 @@ - + @@ -116365,7 +116168,15 @@ - + + + + + + + + + @@ -116373,7 +116184,7 @@ - + @@ -116381,7 +116192,7 @@ - + @@ -116389,7 +116200,7 @@ - + @@ -116397,7 +116208,7 @@ - + @@ -116411,7 +116222,7 @@ - + @@ -116422,7 +116233,7 @@ - + @@ -116430,7 +116241,7 @@ - + @@ -116441,7 +116252,7 @@ - + @@ -116452,7 +116263,7 @@ - + @@ -116460,7 +116271,7 @@ - + @@ -117274,18 +117085,18 @@ - + - + - + - + @@ -117326,12 +117137,12 @@ - + - + @@ -117413,10 +117224,10 @@ - + - + @@ -117910,14 +117721,6 @@ - - - - - - - - @@ -117986,7 +117789,7 @@ - + @@ -118138,7 +117941,7 @@ - + @@ -118163,13 +117966,13 @@ - + - + @@ -118293,7 +118096,7 @@ - + @@ -118353,7 +118156,7 @@ - + @@ -119087,25 +118890,25 @@ - + - + - + - + - + @@ -119122,7 +118925,7 @@ - + @@ -119133,7 +118936,7 @@ - + @@ -119150,7 +118953,7 @@ - + @@ -119178,22 +118981,22 @@ - + - + - + - + @@ -119201,7 +119004,7 @@ - + @@ -119217,7 +119020,7 @@ - + @@ -119240,7 +119043,7 @@ - + @@ -120193,7 +119996,7 @@ - + @@ -120361,7 +120164,7 @@ - + @@ -120486,7 +120289,7 @@ - + @@ -121045,7 +120848,7 @@ - + @@ -121162,10 +120965,10 @@ - + - + @@ -121250,10 +121053,10 @@ - + - + @@ -122123,7 +121926,7 @@ - + @@ -123337,7 +123140,7 @@ - + @@ -124033,9 +123836,9 @@ - + - + From 385cd1914787f4381044c9d4d03b8c0b9a2ccb33 Mon Sep 17 00:00:00 2001 From: Steve Muckle Date: Mon, 10 Aug 2020 15:56:19 -0700 Subject: [PATCH 10/21] ANDROID: GKI: add abi_gki_aarch64_oplus Leaf changes summary: 4 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 4 Added functions Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 4 Added functions: [A] 'function long long unsigned int drm_crtc_vblank_count(drm_crtc*)' [A] 'function wait_queue_head_t* drm_crtc_vblank_waitqueue(drm_crtc*)' [A] 'function int remove_proc_subtree(const char*, proc_dir_entry*)' [A] 'function long int wait_for_completion_killable_timeout(completion*, unsigned long int)' Bug: 163074366 Change-Id: I2b3ef4e9e59ebd8168064a88375afd0e6c9769b0 Signed-off-by: Steve Muckle Signed-off-by: Greg Kroah-Hartman --- android/abi_gki_aarch64.xml | 22 ++++ android/abi_gki_aarch64_oplus | 205 ++++++++++++++++++++++++++++++++++ build.config.gki.aarch64 | 1 + 3 files changed, 228 insertions(+) create mode 100644 android/abi_gki_aarch64_oplus diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 4586e15d2277..5f1604018676 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -1169,11 +1169,13 @@ + + @@ -2902,6 +2904,7 @@ + @@ -4082,6 +4085,7 @@ + @@ -29914,6 +29918,10 @@ + + + + @@ -37469,6 +37477,10 @@ + + + + @@ -85740,6 +85752,11 @@ + + + + + @@ -89391,6 +89408,11 @@ + + + + + diff --git a/android/abi_gki_aarch64_oplus b/android/abi_gki_aarch64_oplus new file mode 100644 index 000000000000..39e7e1905b82 --- /dev/null +++ b/android/abi_gki_aarch64_oplus @@ -0,0 +1,205 @@ +[abi_whitelist] +# commonly used symbols + alloc_workqueue + __arch_copy_from_user + __arch_copy_to_user + arm64_const_caps_ready + __cfi_slowpath + __check_object_size + __class_create + class_destroy + cpu_hwcap_keys + cpu_hwcaps + delayed_work_timer_fn + destroy_workqueue + device_create + device_destroy + devm_kfree + devm_kmalloc + disable_irq_nosync + enable_irq + finish_wait + gpiod_direction_output_raw + gpiod_get_raw_value + gpio_to_desc + init_timer_key + init_wait_entry + kfree + __kmalloc + kmalloc_caches + kmem_cache_alloc_trace + kobject_create_and_add + ktime_get + __list_add_valid + memcpy + memset + module_layout + msleep + __mutex_init + mutex_lock + mutex_unlock + of_find_property + of_property_read_variable_u32_array + PDE_DATA + prepare_to_wait_event + printk + proc_create + proc_create_data + proc_mkdir + __put_task_struct + queue_delayed_work_on + regulator_set_voltage + remove_proc_entry + schedule_timeout + seq_printf + seq_read + simple_open + simple_read_from_buffer + single_open + single_release + snprintf + sprintf + sscanf + __stack_chk_fail + __stack_chk_guard + strcmp + strcpy + strlcat + strlen + strncmp + strncpy + strstr + sysfs_create_group + sysfs_remove_group + usleep_range + +# required by oplus_project.ko + __ioremap + iounmap + kimage_vaddr + of_find_node_by_name + +# required by sec_drivers_s6sy791.ko + __const_udelay + i2c_del_driver + i2c_register_driver + strlcpy + vfree + vzalloc + +# required by oplus_lcd.ko + alloc_chrdev_region + blocking_notifier_call_chain + blocking_notifier_chain_register + blocking_notifier_chain_unregister + cdev_add + cdev_del + cdev_init + drm_atomic_commit + drm_atomic_get_crtc_state + drm_atomic_state_alloc + __drm_atomic_state_free + drm_crtc_vblank_count + drm_crtc_vblank_get + drm_crtc_vblank_put + drm_crtc_vblank_waitqueue + drm_crtc_wait_one_vblank + drm_dev_dbg + drm_dev_printk + drm_modeset_lock_all + drm_modeset_unlock_all + kernel_kobj + kmemdup + kobject_put + kthread_create_on_node + kthread_flush_worker + __kthread_init_worker + kthread_queue_work + kthread_stop + kthread_worker_fn + mipi_dsi_dcs_set_display_brightness + mipi_dsi_dcs_write + mod_delayed_work_on + module_put + __msecs_to_jiffies + refcount_dec_and_test_checked + regulator_get_voltage + scnprintf + sysfs_create_link + sysfs_remove_link + try_module_get + unregister_chrdev_region + __usecs_to_jiffies + wake_up_process + +# required by oplus_tp_project.ko + param_ops_string + +# required by oplus_sensor.ko + of_get_next_child + of_property_count_elems_of_size + __platform_driver_register + +# required by oplus_touch_comon.ko + cancel_delayed_work + cancel_delayed_work_sync + cancel_work_sync + complete + _dev_err + devm_free_irq + devm_gpio_request + devm_input_allocate_device + devm_pinctrl_get + devm_request_threaded_irq + disable_irq + drm_panel_notifier_register + dump_stack + flush_workqueue + free_irq + gpiod_to_irq + hrtimer_active + hrtimer_cancel + hrtimer_init + hrtimer_start_range_ns + i2c_transfer + __init_waitqueue_head + input_event + input_free_device + input_mt_init_slots + input_mt_report_slot_state + input_register_device + input_set_abs_params + int_sqrt + irq_set_irq_wake + irq_to_desc + __kfifo_alloc + kstrtoint + ktime_get_real_ts64 + __list_del_entry_valid + of_count_phandle_with_args + of_drm_find_panel + of_get_named_gpio_flags + of_parse_phandle + of_property_read_string + of_property_read_variable_u8_array + pinctrl_lookup_state + pm_qos_add_request + pm_qos_update_request + queue_work_on + _raw_spin_lock_irqsave + _raw_spin_unlock_irqrestore + regulator_count_voltages + regulator_disable + regulator_enable + regulator_get + regulator_put + regulator_set_load + release_firmware + remove_proc_subtree + request_firmware + rtc_time64_to_tm + spi_sync + strcat + system_wq + wait_for_completion_killable_timeout + __wake_up diff --git a/build.config.gki.aarch64 b/build.config.gki.aarch64 index 02fee05f1e98..2b13bdb31245 100644 --- a/build.config.gki.aarch64 +++ b/build.config.gki.aarch64 @@ -10,6 +10,7 @@ android/abi_gki_aarch64_db845c android/abi_gki_aarch64_exynos android/abi_gki_aarch64_goldfish android/abi_gki_aarch64_hikey960 +android/abi_gki_aarch64_oplus android/abi_gki_aarch64_qcom android/abi_gki_aarch64_sunxi android/abi_gki_aarch64_unisoc From 3d0a2a4b2bf7d00de909c2a8fa79bdfd0ed13a80 Mon Sep 17 00:00:00 2001 From: Guru Das Srinagesh Date: Wed, 12 Aug 2020 14:33:34 -0700 Subject: [PATCH 11/21] ANDROID: GKI: enable CONFIG_LEDS_TRIGGER_TIMER Set CONFIG_LEDS_TRIGGER_TIMER=y to enable the "timer" trigger for the LED subsystem. This creates the sysfs parameters "delay_on" and "delay_off" for LEDs, which can then be used to specify a blinking pattern for them. Bug: 163765274 Change-Id: I66ada688aa5026253e76588ae1d6d85eb4cd8536 Signed-off-by: Guru Das Srinagesh [fixed up arm64 config location as it was incorrect - gregkh] Signed-off-by: Greg Kroah-Hartman --- arch/arm64/configs/gki_defconfig | 1 + arch/x86/configs/gki_defconfig | 1 + 2 files changed, 2 insertions(+) diff --git a/arch/arm64/configs/gki_defconfig b/arch/arm64/configs/gki_defconfig index effa673e60db..500b5c19d085 100644 --- a/arch/arm64/configs/gki_defconfig +++ b/arch/arm64/configs/gki_defconfig @@ -412,6 +412,7 @@ CONFIG_MMC_CRYPTO=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_PLTFM=y CONFIG_LEDS_CLASS_FLASH=y +CONFIG_LEDS_TRIGGER_TIMER=y CONFIG_EDAC=y CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_PL030=y diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig index 55bdf4cd8982..59954ad4be59 100644 --- a/arch/x86/configs/gki_defconfig +++ b/arch/x86/configs/gki_defconfig @@ -366,6 +366,7 @@ CONFIG_MMC_CRYPTO=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_PLTFM=y CONFIG_LEDS_CLASS_FLASH=y +CONFIG_LEDS_TRIGGER_TIMER=y CONFIG_RTC_CLASS=y CONFIG_DMADEVICES=y CONFIG_UIO=y From 6e8e201587240f433c0e37357f744b7135c182b9 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 13 Aug 2020 15:32:20 +0200 Subject: [PATCH 12/21] Revert "Revert "genetlink: remove genl_bind"" This reverts commit 68815d5b7ec32edb761493f43afb61f9b8d1c37d which was commit 0845447d9c783a502bd3e13af0f38aa4c7655a77 in 4.19.y and is commit 1e82a62fec613844da9e558f3493540a5b7a7b67 upstream. It was reported that this issue affects Android devices and a vendor wishes it to be applied back, ABI is not an issue here. Leaf changes summary: 5 artifacts changed Changed leaf types summary: 1 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 4 Changed, 0 Added function Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 4 functions with some sub-type change: [C] 'function void genl_notify(const genl_family*, sk_buff*, genl_info*, u32, gfp_t)' at genetlink.c:1109:1 has some sub-type changes: [C] 'function int genl_register_family(genl_family*)' at genetlink.h:145:1 has some sub-type changes: [C] 'function int genl_unregister_family(const genl_family*)' at genetlink.h:146:1 has some sub-type changes: [C] 'function void* genlmsg_put(sk_buff*, unsigned int, unsigned int, const genl_family*, int, unsigned char)' at genetlink.h:150:1 has some sub-type changes: 'struct genl_family at genetlink.h:52:1' changed: type size changed from 1024 to 896 (in bits) 2 data member deletions: 'int (net*, int)* genl_family::mcast_bind', at offset 512 (in bits) at genetlink.h:67:1 'void (net*, int)* genl_family::mcast_unbind', at offset 576 (in bits) at genetlink.h:68:1 there are data member changes: 'nlattr** genl_family::attrbuf' offset changed from 640 to 512 (in bits) (by -128 bits) 'const genl_ops* genl_family::ops' offset changed from 704 to 576 (in bits) (by -128 bits) 'const genl_multicast_group* genl_family::mcgrps' offset changed from 768 to 640 (in bits) (by -128 bits) 'unsigned int genl_family::n_ops' offset changed from 832 to 704 (in bits) (by -128 bits) 'unsigned int genl_family::n_mcgrps' offset changed from 864 to 736 (in bits) (by -128 bits) 'unsigned int genl_family::mcgrp_offset' offset changed from 896 to 768 (in bits) (by -128 bits) 'module* genl_family::module' offset changed from 960 to 832 (in bits) (by -128 bits) 4 impacted interfaces Bug: 163861691 Cc: Sean Tranchetti Cc: Will McVicker Cc: Saravana Kannan Signed-off-by: Greg Kroah-Hartman Change-Id: Ieaa81ed2445ff12a9a8e00f69d64c78baeec07e5 --- android/abi_gki_aarch64.xml | 2062 ++++++++++++++++------------------- include/net/genetlink.h | 8 - net/netlink/genetlink.c | 49 - 3 files changed, 936 insertions(+), 1183 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 5f1604018676..001a19ad8d7b 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -1511,10 +1511,10 @@ - - - - + + + + @@ -4470,7 +4470,7 @@ - + @@ -11106,6 +11106,23 @@ + + + + + + + + + + + + + + + + + @@ -14093,23 +14110,6 @@ - - - - - - - - - - - - - - - - - @@ -15994,20 +15994,6 @@ - - - - - - - - - - - - - - @@ -16051,7 +16037,6 @@ - @@ -17195,7 +17180,7 @@ - + @@ -23106,6 +23091,14 @@ + + + + + + + + @@ -23900,7 +23893,7 @@ - + @@ -24089,6 +24082,14 @@ + + + + + + + + @@ -24695,12 +24696,12 @@ - + - + @@ -29283,13 +29284,13 @@ - + - + @@ -30157,6 +30158,7 @@ + @@ -30279,7 +30281,7 @@ - + @@ -30387,7 +30389,6 @@ - @@ -30576,7 +30577,7 @@ - + @@ -32735,7 +32736,7 @@ - + @@ -32826,7 +32827,7 @@ - + @@ -33579,7 +33580,7 @@ - + @@ -33807,7 +33808,7 @@ - + @@ -33816,12 +33817,12 @@ - + - + @@ -33859,7 +33860,7 @@ - + @@ -33884,7 +33885,7 @@ - + @@ -34124,11 +34125,11 @@ - + - + @@ -34290,7 +34291,7 @@ - + @@ -34380,28 +34381,28 @@ - + - + - + - + - + @@ -35496,7 +35497,7 @@ - + @@ -36144,14 +36145,6 @@ - - - - - - - - @@ -36682,23 +36675,6 @@ - - - - - - - - - - - - - - - - - @@ -36775,7 +36751,7 @@ - + @@ -37158,13 +37134,13 @@ - + - + - + @@ -37184,7 +37160,7 @@ - + @@ -37324,7 +37300,7 @@ - + @@ -37354,7 +37330,7 @@ - + @@ -37363,7 +37339,7 @@ - + @@ -37461,7 +37437,7 @@ - + @@ -37848,6 +37824,14 @@ + + + + + + + + @@ -39250,7 +39234,7 @@ - + @@ -39342,7 +39326,7 @@ - + @@ -40302,7 +40286,7 @@ - + @@ -40321,7 +40305,7 @@ - + @@ -41606,7 +41590,7 @@ - + @@ -41623,12 +41607,12 @@ - + - + - + @@ -41637,7 +41621,7 @@ - + @@ -41648,7 +41632,7 @@ - + @@ -41757,6 +41741,167 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -42062,9 +42207,9 @@ - + - + @@ -42076,18 +42221,18 @@ - + - + - + - + @@ -42113,7 +42258,7 @@ - + @@ -43943,33 +44088,31 @@ - - - - - + + + - - - + + + + + + + + + - - - - + + + + - - - - + + - - - - @@ -44247,7 +44390,7 @@ - + @@ -44451,7 +44594,7 @@ - + @@ -44597,7 +44740,7 @@ - + @@ -44715,10 +44858,10 @@ - + - + @@ -44730,7 +44873,7 @@ - + @@ -44755,7 +44898,7 @@ - + @@ -44774,7 +44917,7 @@ - + @@ -44961,12 +45104,12 @@ - + - + @@ -45931,10 +46074,10 @@ - + - + @@ -46555,7 +46698,7 @@ - + @@ -46571,7 +46714,7 @@ - + @@ -46579,13 +46722,13 @@ - + - + - + @@ -46593,7 +46736,7 @@ - + @@ -49207,6 +49350,14 @@ + + + + + + + + @@ -49366,7 +49517,7 @@ - + @@ -49381,7 +49532,7 @@ - + @@ -50029,7 +50180,7 @@ - + @@ -50045,7 +50196,7 @@ - + @@ -50343,7 +50494,7 @@ - + @@ -50730,7 +50881,7 @@ - + @@ -50989,7 +51140,7 @@ - + @@ -51002,7 +51153,7 @@ - + @@ -51026,13 +51177,13 @@ - + - + @@ -51051,7 +51202,7 @@ - + @@ -51198,6 +51349,7 @@ + @@ -51308,7 +51460,7 @@ - + @@ -51415,60 +51567,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -51820,245 +51918,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -52600,7 +52459,7 @@ - + @@ -52625,15 +52484,15 @@ - + - + - + @@ -52642,7 +52501,7 @@ - + @@ -54098,7 +53957,7 @@ - + @@ -54133,7 +53992,7 @@ - + @@ -55408,7 +55267,7 @@ - + @@ -56893,13 +56752,13 @@ - + - + - + @@ -56923,7 +56782,7 @@ - + @@ -56978,7 +56837,7 @@ - + @@ -57170,7 +57029,7 @@ - + @@ -58674,7 +58533,7 @@ - + @@ -58697,7 +58556,7 @@ - + @@ -61672,7 +61531,7 @@ - + @@ -61707,12 +61566,12 @@ - + - + @@ -61723,7 +61582,7 @@ - + @@ -61807,7 +61666,7 @@ - + @@ -62012,7 +61871,7 @@ - + @@ -64507,7 +64366,7 @@ - + @@ -64518,7 +64377,7 @@ - + @@ -66911,18 +66770,18 @@ - + - + - + - + @@ -67309,7 +67168,7 @@ - + @@ -68291,7 +68150,7 @@ - + @@ -68310,6 +68169,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -69043,7 +68926,7 @@ - + @@ -69941,10 +69824,10 @@ - + - + @@ -69997,10 +69880,10 @@ - + - + @@ -70602,7 +70485,7 @@ - + @@ -70656,10 +70539,10 @@ - + - + @@ -71353,19 +71236,19 @@ - + - + - + @@ -71384,7 +71267,7 @@ - + @@ -71403,7 +71286,7 @@ - + @@ -71412,7 +71295,7 @@ - + @@ -72018,7 +71901,7 @@ - + @@ -72065,7 +71948,7 @@ - + @@ -72325,7 +72208,7 @@ - + @@ -73016,7 +72899,7 @@ - + @@ -73685,7 +73568,7 @@ - + @@ -73706,7 +73589,7 @@ - + @@ -76636,7 +76519,7 @@ - + @@ -76647,7 +76530,7 @@ - + @@ -77442,6 +77325,23 @@ + + + + + + + + + + + + + + + + + @@ -81955,7 +81855,7 @@ - + @@ -82684,7 +82584,7 @@ - + @@ -83006,13 +82906,13 @@ - + - + @@ -83081,7 +82981,7 @@ - + @@ -83115,7 +83015,7 @@ - + @@ -83697,7 +83597,6 @@ - @@ -83721,7 +83620,7 @@ - + @@ -83794,7 +83693,7 @@ - + @@ -83813,7 +83712,7 @@ - + @@ -83917,7 +83816,7 @@ - + @@ -84060,7 +83959,7 @@ - + @@ -84095,7 +83994,6 @@ - @@ -84316,6 +84214,14 @@ + + + + + + + + @@ -84879,7 +84785,7 @@ - + @@ -84951,7 +84857,7 @@ - + @@ -84995,7 +84901,7 @@ - + @@ -85147,23 +85053,6 @@ - - - - - - - - - - - - - - - - - @@ -85311,7 +85200,7 @@ - + @@ -85327,10 +85216,10 @@ - + - + @@ -85338,34 +85227,17 @@ - - - - - - - - - - - - - - - - - - + - + - + @@ -85385,7 +85257,7 @@ - + @@ -85405,9 +85277,9 @@ - + - + @@ -85603,11 +85475,12 @@ - + + - + @@ -85616,7 +85489,7 @@ - + @@ -85632,7 +85505,7 @@ - + @@ -85650,13 +85523,13 @@ - + - + @@ -85670,15 +85543,15 @@ - + - + - + @@ -85691,6 +85564,7 @@ + @@ -85709,7 +85583,7 @@ - + @@ -85717,7 +85591,7 @@ - + @@ -85864,7 +85738,7 @@ - + @@ -85912,7 +85786,7 @@ - + @@ -86091,7 +85965,7 @@ - + @@ -86103,15 +85977,15 @@ - + - + - + - + @@ -86128,7 +86002,7 @@ - + @@ -86259,7 +86133,7 @@ - + @@ -86273,14 +86147,6 @@ - - - - - - - - @@ -86315,23 +86181,6 @@ - - - - - - - - - - - - - - - - - @@ -86398,7 +86247,7 @@ - + @@ -86413,7 +86262,7 @@ - + @@ -86466,13 +86315,30 @@ + + + + + + + + + + + + + + + + + - + @@ -86863,7 +86729,7 @@ - + @@ -87166,7 +87032,7 @@ - + @@ -87183,6 +87049,17 @@ + + + + + + + + + + + @@ -87793,7 +87670,7 @@ - + @@ -87841,7 +87718,7 @@ - + @@ -87987,7 +87864,7 @@ - + @@ -88014,7 +87891,7 @@ - + @@ -88023,7 +87900,7 @@ - + @@ -88527,7 +88404,7 @@ - + @@ -88952,7 +88829,7 @@ - + @@ -89431,167 +89308,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -89877,7 +89593,7 @@ - + @@ -90753,7 +90469,7 @@ - + @@ -90979,7 +90695,7 @@ - + @@ -90997,7 +90713,7 @@ - + @@ -91711,10 +91427,10 @@ - + - + @@ -91801,7 +91517,7 @@ - + @@ -91825,7 +91541,7 @@ - + @@ -92115,7 +91831,7 @@ - + @@ -92132,10 +91848,10 @@ - + - + @@ -92180,7 +91896,7 @@ - + @@ -92204,7 +91920,7 @@ - + @@ -92286,23 +92002,6 @@ - - - - - - - - - - - - - - - - - @@ -93540,7 +93239,7 @@ - + @@ -93607,7 +93306,7 @@ - + @@ -94294,7 +93993,7 @@ - + @@ -94341,7 +94040,7 @@ - + @@ -94389,10 +94088,10 @@ - + - + @@ -95205,7 +94904,7 @@ - + @@ -95535,7 +95234,7 @@ - + @@ -95820,7 +95519,7 @@ - + @@ -98955,7 +98654,7 @@ - + @@ -99002,7 +98701,6 @@ - @@ -99936,7 +99634,7 @@ - + @@ -99968,7 +99666,7 @@ - + @@ -100030,6 +99728,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -100157,118 +99900,112 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - + - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -100282,7 +100019,7 @@ - + @@ -100305,11 +100042,9 @@ - - - + @@ -100318,7 +100053,7 @@ - + @@ -100328,11 +100063,6 @@ - - - - - @@ -100344,28 +100074,8 @@ - - - - - - - - - - - - - - - - - - - - @@ -100417,8 +100127,6 @@ - - @@ -101235,7 +100943,7 @@ - + @@ -101473,7 +101181,7 @@ - + @@ -101518,7 +101226,7 @@ - + @@ -101868,10 +101576,10 @@ - + - + @@ -102561,16 +102269,16 @@ - + - + - + @@ -102578,7 +102286,7 @@ - + @@ -102656,7 +102364,7 @@ - + @@ -102673,12 +102381,12 @@ - + - + @@ -102912,6 +102620,14 @@ + + + + + + + + @@ -103024,6 +102740,23 @@ + + + + + + + + + + + + + + + + + @@ -103097,7 +102830,7 @@ - + @@ -103115,10 +102848,10 @@ - + - + @@ -103137,15 +102870,15 @@ - + - + - + @@ -103167,7 +102900,7 @@ - + @@ -103257,23 +102990,6 @@ - - - - - - - - - - - - - - - - - @@ -103425,6 +103141,28 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -103529,13 +103267,13 @@ - + - + @@ -103665,7 +103403,7 @@ - + @@ -103928,54 +103666,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -104382,7 +104072,7 @@ - + @@ -104916,7 +104606,7 @@ - + @@ -105137,13 +104827,13 @@ - + - + @@ -105272,7 +104962,7 @@ - + @@ -105335,7 +105025,7 @@ - + @@ -105583,7 +105273,7 @@ - + @@ -105842,10 +105532,10 @@ - + - + @@ -105910,7 +105600,7 @@ - + @@ -105918,7 +105608,7 @@ - + @@ -106173,7 +105863,7 @@ - + @@ -106793,7 +106483,7 @@ - + @@ -106863,7 +106553,7 @@ - + @@ -106871,7 +106561,7 @@ - + @@ -106901,7 +106591,7 @@ - + @@ -106909,7 +106599,7 @@ - + @@ -106926,7 +106616,7 @@ - + @@ -106934,7 +106624,7 @@ - + @@ -106945,7 +106635,7 @@ - + @@ -107798,7 +107488,7 @@ - + @@ -107816,7 +107506,7 @@ - + @@ -107965,7 +107655,7 @@ - + @@ -107975,7 +107665,7 @@ - + @@ -108689,7 +108379,7 @@ - + @@ -108697,7 +108387,7 @@ - + @@ -108705,7 +108395,7 @@ - + @@ -108713,7 +108403,7 @@ - + @@ -109002,13 +108692,13 @@ - + - + @@ -109020,7 +108710,7 @@ - + @@ -109030,7 +108720,7 @@ - + @@ -109056,7 +108746,7 @@ - + @@ -109065,7 +108755,7 @@ - + @@ -110335,7 +110025,7 @@ - + @@ -110455,7 +110145,7 @@ - + @@ -110484,10 +110174,10 @@ - + - + @@ -110495,7 +110185,7 @@ - + @@ -110520,7 +110210,7 @@ - + @@ -110528,7 +110218,7 @@ - + @@ -110669,10 +110359,10 @@ - + - + @@ -110687,7 +110377,7 @@ - + @@ -110785,7 +110475,7 @@ - + @@ -110936,9 +110626,11 @@ + + @@ -110962,19 +110654,29 @@ + + + + + + + + + + - - - - - - + + + + + + @@ -110990,7 +110692,7 @@ - + @@ -111013,9 +110715,9 @@ - + - + @@ -111024,7 +110726,7 @@ - + @@ -111180,7 +110882,7 @@ - + @@ -111219,7 +110921,7 @@ - + @@ -111301,7 +111003,7 @@ - + @@ -111316,7 +111018,7 @@ - + @@ -111328,7 +111030,7 @@ - + @@ -111337,7 +111039,7 @@ - + @@ -111389,7 +111091,7 @@ - + @@ -111435,7 +111137,7 @@ - + @@ -111446,7 +111148,7 @@ - + @@ -111454,6 +111156,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -111872,7 +111677,7 @@ - + @@ -113049,9 +112854,9 @@ - + - + @@ -113060,7 +112865,7 @@ - + @@ -113130,6 +112935,14 @@ + + + + + + + + @@ -114662,7 +114475,7 @@ - + @@ -114674,7 +114487,7 @@ - + @@ -116198,7 +116011,7 @@ - + @@ -116206,7 +116019,7 @@ - + @@ -116219,10 +116032,10 @@ - + - + @@ -116230,7 +116043,7 @@ - + @@ -116244,18 +116057,7 @@ - - - - - - - - - - - - + @@ -116263,7 +116065,7 @@ - + @@ -116274,7 +116076,7 @@ - + @@ -117107,24 +116909,24 @@ - + - + - + - + - + - + @@ -117145,7 +116947,7 @@ - + @@ -117159,7 +116961,7 @@ - + @@ -117175,7 +116977,7 @@ - + @@ -117246,10 +117048,10 @@ - + - + @@ -117811,7 +117613,7 @@ - + @@ -117963,7 +117765,7 @@ - + @@ -117988,13 +117790,13 @@ - + - + @@ -118178,12 +117980,20 @@ - + + + + + + + + + @@ -118912,22 +118722,22 @@ - + - + - + - + - + @@ -118936,7 +118746,7 @@ - + @@ -118947,7 +118757,7 @@ - + @@ -118975,7 +118785,7 @@ - + @@ -119006,13 +118816,13 @@ - + - + - + @@ -119026,7 +118836,7 @@ - + @@ -119034,7 +118844,7 @@ - + @@ -119042,7 +118852,7 @@ - + @@ -119065,7 +118875,7 @@ - + @@ -120018,7 +119828,7 @@ - + @@ -120186,7 +119996,7 @@ - + @@ -120311,7 +120121,7 @@ - + @@ -120987,10 +120797,10 @@ - + - + @@ -121075,10 +120885,10 @@ - + - + @@ -123162,7 +122972,7 @@ - + @@ -123530,7 +123340,7 @@ - + @@ -123750,7 +123560,7 @@ - + @@ -123858,9 +123668,9 @@ - + - + @@ -123874,6 +123684,6 @@ diff --git a/include/net/genetlink.h b/include/net/genetlink.h index 9292f1c588b7..2d9e67a69cbe 100644 --- a/include/net/genetlink.h +++ b/include/net/genetlink.h @@ -35,12 +35,6 @@ struct genl_info; * do additional, common, filtering and return an error * @post_doit: called after an operation's doit callback, it may * undo operations done by pre_doit, for example release locks - * @mcast_bind: a socket bound to the given multicast group (which - * is given as the offset into the groups array) - * @mcast_unbind: a socket was unbound from the given multicast group. - * Note that unbind() will not be called symmetrically if the - * generic netlink family is removed while there are still open - * sockets. * @attrbuf: buffer to store parsed attributes (private) * @mcgrps: multicast groups used by this family * @n_mcgrps: number of multicast groups @@ -64,8 +58,6 @@ struct genl_family { void (*post_doit)(const struct genl_ops *ops, struct sk_buff *skb, struct genl_info *info); - int (*mcast_bind)(struct net *net, int group); - void (*mcast_unbind)(struct net *net, int group); struct nlattr ** attrbuf; /* private */ const struct genl_ops * ops; const struct genl_multicast_group *mcgrps; diff --git a/net/netlink/genetlink.c b/net/netlink/genetlink.c index efccd1ac9a66..102b8d6b5612 100644 --- a/net/netlink/genetlink.c +++ b/net/netlink/genetlink.c @@ -989,60 +989,11 @@ static struct genl_family genl_ctrl __ro_after_init = { .netnsok = true, }; -static int genl_bind(struct net *net, int group) -{ - struct genl_family *f; - int err = -ENOENT; - unsigned int id; - - down_read(&cb_lock); - - idr_for_each_entry(&genl_fam_idr, f, id) { - if (group >= f->mcgrp_offset && - group < f->mcgrp_offset + f->n_mcgrps) { - int fam_grp = group - f->mcgrp_offset; - - if (!f->netnsok && net != &init_net) - err = -ENOENT; - else if (f->mcast_bind) - err = f->mcast_bind(net, fam_grp); - else - err = 0; - break; - } - } - up_read(&cb_lock); - - return err; -} - -static void genl_unbind(struct net *net, int group) -{ - struct genl_family *f; - unsigned int id; - - down_read(&cb_lock); - - idr_for_each_entry(&genl_fam_idr, f, id) { - if (group >= f->mcgrp_offset && - group < f->mcgrp_offset + f->n_mcgrps) { - int fam_grp = group - f->mcgrp_offset; - - if (f->mcast_unbind) - f->mcast_unbind(net, fam_grp); - break; - } - } - up_read(&cb_lock); -} - static int __net_init genl_pernet_init(struct net *net) { struct netlink_kernel_cfg cfg = { .input = genl_rcv, .flags = NL_CFG_F_NONROOT_RECV, - .bind = genl_bind, - .unbind = genl_unbind, }; /* we'll bump the group number right afterwards */ From e1f6aaaa0e8b020f4343b01acca6984b4fabdfae Mon Sep 17 00:00:00 2001 From: Dmitry Shmidt Date: Tue, 11 Aug 2020 13:39:37 -0700 Subject: [PATCH 13/21] ANDROID: GKI: add built-in BCM Bluetooth driver Bug: 163596438 Bug: 157965270 Change-Id: Ie126f6ab9ab1bce9d2019eb59cb6bc4b88d0a54f Signed-off-by: Dmitry Shmidt --- arch/arm64/configs/gki_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/gki_defconfig b/arch/arm64/configs/gki_defconfig index 500b5c19d085..50db48b210aa 100644 --- a/arch/arm64/configs/gki_defconfig +++ b/arch/arm64/configs/gki_defconfig @@ -217,6 +217,7 @@ CONFIG_BT_HIDP=y CONFIG_BT_HCIBTSDIO=y CONFIG_BT_HCIUART=y CONFIG_BT_HCIUART_LL=y +CONFIG_BT_HCIUART_BCM=y CONFIG_BT_HCIUART_QCA=y CONFIG_CFG80211=y # CONFIG_CFG80211_DEFAULT_PS is not set From 61cc929dd15c300b6306b3cb614c74c2e50ec3e4 Mon Sep 17 00:00:00 2001 From: Kiwoong Kim Date: Fri, 7 Aug 2020 15:31:36 +0900 Subject: [PATCH 14/21] FROMLIST: ufs: change the way to complete fDeviceInit Currently, UFS driver checks if fDeviceInit is cleared at several times, not period. This patch is to wait its completion with the period, not retrying. Many device vendors usually provides the specification on it with just period, not a combination of a number of retrying and period. So it could be proper to regard to the information coming from device vendors. v1 -> v2: switch the method to get time from jiffies to ktime Bug: 163478167 Change-Id: I167d8a3480b1a75f6fadb3e73d15d67807608e93 Link: https://lore.kernel.org/linux-scsi/SN6PR04MB4640676A86C1A3C598CD804AFC440@SN6PR04MB4640.namprd04.prod.outlook.com/T/#t Tested-by: Kiwoong Kim Signed-off-by: Kiwoong Kim Reviewed-by: Avri Altman Signed-off-by: Greg Kroah-Hartman --- drivers/scsi/ufs/ufshcd.c | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index f4fd6194e074..b6459297f55c 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -101,6 +101,9 @@ /* Default value of wait time before gating device ref clock */ #define UFSHCD_REF_CLK_GATING_WAIT_US 0xFF /* microsecs */ +/* Polling time to wait for fDeviceInit */ +#define FDEVICEINIT_COMPL_TIMEOUT 1500 /* millisecs */ + #define ufshcd_toggle_vreg(_dev, _vreg, _on) \ ({ \ int _ret; \ @@ -4355,9 +4358,9 @@ EXPORT_SYMBOL_GPL(ufshcd_config_pwr_mode); */ static int ufshcd_complete_dev_init(struct ufs_hba *hba) { - int i; int err; bool flag_res = 1; + ktime_t timeout; err = ufshcd_query_flag_retry(hba, UPIU_QUERY_OPCODE_SET_FLAG, QUERY_FLAG_IDN_FDEVICEINIT, 0, NULL); @@ -4368,20 +4371,26 @@ static int ufshcd_complete_dev_init(struct ufs_hba *hba) goto out; } - /* poll for max. 1000 iterations for fDeviceInit flag to clear */ - for (i = 0; i < 1000 && !err && flag_res; i++) - err = ufshcd_query_flag_retry(hba, UPIU_QUERY_OPCODE_READ_FLAG, - QUERY_FLAG_IDN_FDEVICEINIT, 0, &flag_res); + /* Poll fDeviceInit flag to be cleared */ + timeout = ktime_add_ms(ktime_get(), FDEVICEINIT_COMPL_TIMEOUT); + do { + err = ufshcd_query_flag(hba, UPIU_QUERY_OPCODE_READ_FLAG, + QUERY_FLAG_IDN_FDEVICEINIT, 0, &flag_res); + if (!flag_res) + break; + usleep_range(5000, 10000); + } while (ktime_before(ktime_get(), timeout)); - if (err) + if (err) { dev_err(hba->dev, - "%s reading fDeviceInit flag failed with error %d\n", - __func__, err); - else if (flag_res) + "%s reading fDeviceInit flag failed with error %d\n", + __func__, err); + } else if (flag_res) { dev_err(hba->dev, - "%s fDeviceInit was not cleared by the device\n", - __func__); - + "%s fDeviceInit was not cleared by the device\n", + __func__); + err = -EBUSY; + } out: return err; } From 45c452ab9a70cca510f4a2737b792a549b1b10e8 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 14 Aug 2020 13:05:28 +0200 Subject: [PATCH 15/21] UPSTREAM: update to latest version of scripts/checkpatch.pl A number of upstream patches are getting rejected by checkpatch in treehugger despite following the correct checkpatch rules as they have changed since the 5.4 release. So update to the latest version, from 5.9-rc1, to quiet things that are now valid. Bug: 164355829 Signed-off-by: Greg Kroah-Hartman (cherry picked from commit a1d21081a60dfb7fddf4a38b66d9cef603b317a9) Change-Id: Ic3768ec45972d43885fd3170f96ad03dd9d852fc --- scripts/checkpatch.pl | 400 ++++++++++++++++++++++++++++++------------ 1 file changed, 292 insertions(+), 108 deletions(-) diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 6fcc66afb088..2cbeae6d9aee 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -51,7 +51,7 @@ my %ignore_type = (); my @ignore = (); my $help = 0; my $configuration_file = ".checkpatch.conf"; -my $max_line_length = 80; +my $max_line_length = 100; my $ignore_perl_version = 0; my $minimum_perl_version = 5.10.0; my $min_conf_desc_length = 4; @@ -59,11 +59,12 @@ my $spelling_file = "$D/spelling.txt"; my $codespell = 0; my $codespellfile = "/usr/share/codespell/dictionary.txt"; my $conststructsfile = "$D/const_structs.checkpatch"; -my $typedefsfile = ""; +my $typedefsfile; my $color = "auto"; my $allow_c99_comments = 1; # Can be overridden by --ignore C99_COMMENT_TOLERANCE # git output parsing needs US English output, so first set backtick child process LANGUAGE my $git_command ='export LANGUAGE=en_US.UTF-8; git'; +my $tabsize = 8; sub help { my ($exitcode) = @_; @@ -96,8 +97,11 @@ Options: --types TYPE(,TYPE2...) show only these comma separated message types --ignore TYPE(,TYPE2...) ignore various comma separated message types --show-types show the specific message type in the output - --max-line-length=n set the maximum line length, if exceeded, warn + --max-line-length=n set the maximum line length, (default $max_line_length) + if exceeded, warn on patches + requires --strict for use with --file --min-conf-desc-length=n set the min description length, if shorter, warn + --tab-size=n set the number of spaces for tab (default $tabsize) --root=PATH PATH to the kernel tree root --no-summary suppress the per-file summary --mailback only produce a report in case of warnings/errors @@ -215,6 +219,7 @@ GetOptions( 'list-types!' => \$list_types, 'max-line-length=i' => \$max_line_length, 'min-conf-desc-length=i' => \$min_conf_desc_length, + 'tab-size=i' => \$tabsize, 'root=s' => \$root, 'summary!' => \$summary, 'mailback!' => \$mailback, @@ -241,6 +246,8 @@ list_types(0) if ($list_types); $fix = 1 if ($fix_inplace); $check_orig = $check; +die "$P: --git cannot be used with --file or --fix\n" if ($git && ($file || $fix)); + my $exit = 0; my $perl_version_ok = 1; @@ -264,9 +271,12 @@ if ($color =~ /^[01]$/) { } elsif ($color =~ /^auto$/i) { $color = (-t STDOUT); } else { - die "Invalid color mode: $color\n"; + die "$P: Invalid color mode: $color\n"; } +# skip TAB size 1 to avoid additional checks on $tabsize - 1 +die "$P: Invalid TAB size: $tabsize\n" if ($tabsize < 2); + sub hash_save_array_words { my ($hashRef, $arrayRef) = @_; @@ -473,7 +483,7 @@ our $allocFunctions = qr{(?x: (?:kv|k|v)[czm]alloc(?:_node|_array)? | kstrdup(?:_const)? | kmemdup(?:_nul)?) | - (?:\w+)?alloc_skb(?:ip_align)? | + (?:\w+)?alloc_skb(?:_ip_align)? | # dev_alloc_skb/netdev_alloc_skb, et al dma_alloc_coherent )}; @@ -578,6 +588,8 @@ our @mode_permission_funcs = ( ["__ATTR", 2], ); +my $word_pattern = '\b[A-Z]?[a-z]{2,}\b'; + #Create a search pattern for all these functions to speed up a loop below our $mode_perms_search = ""; foreach my $entry (@mode_permission_funcs) { @@ -746,7 +758,7 @@ sub read_words { next; } - $$wordsRef .= '|' if ($$wordsRef ne ""); + $$wordsRef .= '|' if (defined $$wordsRef); $$wordsRef .= $line; } close($file); @@ -756,16 +768,18 @@ sub read_words { return 0; } -my $const_structs = ""; -read_words(\$const_structs, $conststructsfile) - or warn "No structs that should be const will be found - file '$conststructsfile': $!\n"; +my $const_structs; +if (show_type("CONST_STRUCT")) { + read_words(\$const_structs, $conststructsfile) + or warn "No structs that should be const will be found - file '$conststructsfile': $!\n"; +} -my $typeOtherTypedefs = ""; -if (length($typedefsfile)) { +if (defined($typedefsfile)) { + my $typeOtherTypedefs; read_words(\$typeOtherTypedefs, $typedefsfile) or warn "No additional types will be considered - file '$typedefsfile': $!\n"; + $typeTypedefs .= '|' . $typeOtherTypedefs if (defined $typeOtherTypedefs); } -$typeTypedefs .= '|' . $typeOtherTypedefs if ($typeOtherTypedefs ne ""); sub build_types { my $mods = "(?x: \n" . join("|\n ", (@modifierList, @modifierListFile)) . "\n)"; @@ -804,12 +818,12 @@ sub build_types { }x; $Type = qr{ $NonptrType - (?:(?:\s|\*|\[\])+\s*const|(?:\s|\*\s*(?:const\s*)?|\[\])+|(?:\s*\[\s*\])+)? + (?:(?:\s|\*|\[\])+\s*const|(?:\s|\*\s*(?:const\s*)?|\[\])+|(?:\s*\[\s*\])+){0,4} (?:\s+$Inline|\s+$Modifier)* }x; $TypeMisordered = qr{ $NonptrTypeMisordered - (?:(?:\s|\*|\[\])+\s*const|(?:\s|\*\s*(?:const\s*)?|\[\])+|(?:\s*\[\s*\])+)? + (?:(?:\s|\*|\[\])+\s*const|(?:\s|\*\s*(?:const\s*)?|\[\])+|(?:\s*\[\s*\])+){0,4} (?:\s+$Inline|\s+$Modifier)* }x; $Declare = qr{(?:$Storage\s+(?:$Inline\s+)?)?$Type}; @@ -830,7 +844,6 @@ our $FuncArg = qr{$Typecast{0,1}($LvalOrFunc|$Constant|$String)}; our $declaration_macros = qr{(?x: (?:$Storage\s+)?(?:[A-Z_][A-Z0-9]*_){0,2}(?:DEFINE|DECLARE)(?:_[A-Z0-9]+){1,6}\s*\(| (?:$Storage\s+)?[HLP]?LIST_HEAD\s*\(| - (?:$Storage\s+)?${Type}\s+uninitialized_var\s*\(| (?:SKCIPHER_REQUEST|SHASH_DESC|AHASH_REQUEST)_ON_STACK\s*\( )}; @@ -874,14 +887,18 @@ sub seed_camelcase_file { } } +our %maintained_status = (); + sub is_maintained_obsolete { my ($filename) = @_; return 0 if (!$tree || !(-e "$root/scripts/get_maintainer.pl")); - my $status = `perl $root/scripts/get_maintainer.pl --status --nom --nol --nogit --nogit-fallback -f $filename 2>&1`; + if (!exists($maintained_status{$filename})) { + $maintained_status{$filename} = `perl $root/scripts/get_maintainer.pl --status --nom --nol --nogit --nogit-fallback -f $filename 2>&1`; + } - return $status =~ /obsolete/i; + return $maintained_status{$filename} =~ /obsolete/i; } sub is_SPDX_License_valid { @@ -1048,6 +1065,7 @@ for my $filename (@ARGV) { while (<$FILE>) { chomp; push(@rawlines, $_); + $vname = qq("$1") if ($filename eq '-' && $_ =~ m/^Subject:\s+(.+)/i); } close($FILE); @@ -1114,6 +1132,7 @@ sub parse_email { my ($formatted_email) = @_; my $name = ""; + my $name_comment = ""; my $address = ""; my $comment = ""; @@ -1146,6 +1165,10 @@ sub parse_email { $name = trim($name); $name =~ s/^\"|\"$//g; + $name =~ s/(\s*\([^\)]+\))\s*//; + if (defined($1)) { + $name_comment = trim($1); + } $address = trim($address); $address =~ s/^\<|\>$//g; @@ -1154,7 +1177,7 @@ sub parse_email { $name = "\"$name\""; } - return ($name, $address, $comment); + return ($name, $name_comment, $address, $comment); } sub format_email { @@ -1180,6 +1203,23 @@ sub format_email { return $formatted_email; } +sub reformat_email { + my ($email) = @_; + + my ($email_name, $name_comment, $email_address, $comment) = parse_email($email); + return format_email($email_name, $email_address); +} + +sub same_email_addresses { + my ($email1, $email2) = @_; + + my ($email1_name, $name1_comment, $email1_address, $comment1) = parse_email($email1); + my ($email2_name, $name2_comment, $email2_address, $comment2) = parse_email($email2); + + return $email1_name eq $email2_name && + $email1_address eq $email2_address; +} + sub which { my ($bin) = @_; @@ -1213,7 +1253,7 @@ sub expand_tabs { if ($c eq "\t") { $res .= ' '; $n++; - for (; ($n % 8) != 0; $n++) { + for (; ($n % $tabsize) != 0; $n++) { $res .= ' '; } next; @@ -1642,8 +1682,16 @@ sub ctx_statement_level { sub ctx_locate_comment { my ($first_line, $end_line) = @_; + # If c99 comment on the current line, or the line before or after + my ($current_comment) = ($rawlines[$end_line - 1] =~ m@^\+.*(//.*$)@); + return $current_comment if (defined $current_comment); + ($current_comment) = ($rawlines[$end_line - 2] =~ m@^[\+ ].*(//.*$)@); + return $current_comment if (defined $current_comment); + ($current_comment) = ($rawlines[$end_line] =~ m@^[\+ ].*(//.*$)@); + return $current_comment if (defined $current_comment); + # Catch a comment on the end of the line itself. - my ($current_comment) = ($rawlines[$end_line - 1] =~ m@.*(/\*.*\*/)\s*(?:\\\s*)?$@); + ($current_comment) = ($rawlines[$end_line - 1] =~ m@.*(/\*.*\*/)\s*(?:\\\s*)?$@); return $current_comment if (defined $current_comment); # Look through the context and try and figure out if there is a @@ -2226,7 +2274,7 @@ sub string_find_replace { sub tabify { my ($leading) = @_; - my $source_indent = 8; + my $source_indent = $tabsize; my $max_spaces_before_tab = $source_indent - 1; my $spaces_to_tab = " " x $source_indent; @@ -2268,6 +2316,19 @@ sub pos_last_openparen { return length(expand_tabs(substr($line, 0, $last_openparen))) + 1; } +sub get_raw_comment { + my ($line, $rawline) = @_; + my $comment = ''; + + for my $i (0 .. (length($line) - 1)) { + if (substr($line, $i, 1) eq "$;") { + $comment .= substr($rawline, $i, 1); + } + } + + return $comment; +} + sub process { my $filename = shift; @@ -2290,6 +2351,7 @@ sub process { my $is_binding_patch = -1; my $in_header_lines = $file ? 0 : 1; my $in_commit_log = 0; #Scanning lines before patch + my $has_patch_separator = 0; #Found a --- line my $has_commit_log = 0; #Encountered lines before patch my $commit_log_lines = 0; #Number of commit log lines my $commit_log_possible_stack_dump = 0; @@ -2348,7 +2410,7 @@ sub process { if ($rawline=~/^\+\+\+\s+(\S+)/) { $setup_docs = 0; - if ($1 =~ m@Documentation/admin-guide/kernel-parameters.rst$@) { + if ($1 =~ m@Documentation/admin-guide/kernel-parameters.txt$@) { $setup_docs = 1; } #next; @@ -2429,6 +2491,7 @@ sub process { $sline =~ s/$;/ /g; #with comments as spaces my $rawline = $rawlines[$linenr - 1]; + my $raw_comment = get_raw_comment($line, $rawline); # check if it's a mode change, rename or start of a patch if (!$in_commit_log && @@ -2547,7 +2610,7 @@ sub process { if (($last_binding_patch != -1) && ($last_binding_patch ^ $is_binding_patch)) { WARN("DT_SPLIT_BINDING_PATCH", - "DT binding docs and includes should be a separate patch. See: Documentation/devicetree/bindings/submitting-patches.txt\n"); + "DT binding docs and includes should be a separate patch. See: Documentation/devicetree/bindings/submitting-patches.rst\n"); } } @@ -2600,21 +2663,26 @@ sub process { $author = $1; $author = encode("utf8", $author) if ($line =~ /=\?utf-8\?/i); $author =~ s/"//g; + $author = reformat_email($author); } # Check the patch for a signoff: - if ($line =~ /^\s*signed-off-by:/i) { + if ($line =~ /^\s*signed-off-by:\s*(.*)/i) { $signoff++; $in_commit_log = 0; if ($author ne '') { - my $l = $line; - $l =~ s/"//g; - if ($l =~ /^\s*signed-off-by:\s*\Q$author\E/i) { - $authorsignoff = 1; + if (same_email_addresses($1, $author)) { + $authorsignoff = 1; } } } +# Check for patch separator + if ($line =~ /^---$/) { + $has_patch_separator = 1; + $in_commit_log = 0; + } + # Check if MAINTAINERS is being updated. If so, there's probably no need to # emit the "does MAINTAINERS need updating?" message on file add/move/delete if ($line =~ /^\s*MAINTAINERS\s*\|/) { @@ -2660,7 +2728,7 @@ sub process { } } - my ($email_name, $email_address, $comment) = parse_email($email); + my ($email_name, $name_comment, $email_address, $comment) = parse_email($email); my $suggested_email = format_email(($email_name, $email_address)); if ($suggested_email eq "") { ERROR("BAD_SIGN_OFF", @@ -2671,9 +2739,7 @@ sub process { $dequoted =~ s/" $comment" ne $email && - "$suggested_email$comment" ne $email) { + if (!same_email_addresses($email, $suggested_email)) { WARN("BAD_SIGN_OFF", "email address '$email' might be better as '$suggested_email$comment'\n" . $herecurr); } @@ -2716,10 +2782,10 @@ sub process { "A patch subject line should describe the change not the tool that found it\n" . $herecurr); } -# Check for unwanted Gerrit info - if ($in_commit_log && $line =~ /^\s*change-id:/i) { +# Check for Gerrit Change-Ids not in any patch context + if ($realfile eq '' && !$has_patch_separator && $line =~ /^\s*change-id:/i) { ERROR("GERRIT_CHANGE_ID", - "Remove Gerrit Change-Id's before submitting upstream.\n" . $herecurr); + "Remove Gerrit Change-Id's before submitting upstream\n" . $herecurr); } # Check if the commit log is in a possible stack dump @@ -2757,7 +2823,7 @@ sub process { # Check for git id commit length and improperly formed commit descriptions if ($in_commit_log && !$commit_log_possible_stack_dump && - $line !~ /^\s*(?:Link|Patchwork|http|https|BugLink):/i && + $line !~ /^\s*(?:Link|Patchwork|http|https|BugLink|base-commit):/i && $line !~ /^This reverts commit [0-9a-f]{7,40}/ && ($line =~ /\bcommit\s+[0-9a-f]{5,}\b/i || ($line =~ /(?:\s|^)[0-9a-f]{12,40}(?:[\s"'\(\[]|$)/i && @@ -2826,6 +2892,14 @@ sub process { "added, moved or deleted file(s), does MAINTAINERS need updating?\n" . $herecurr); } +# Check for adding new DT bindings not in schema format + if (!$in_commit_log && + ($line =~ /^new file mode\s*\d+\s*$/) && + ($realfile =~ m@^Documentation/devicetree/bindings/.*\.txt$@)) { + WARN("DT_SCHEMA_BINDING_PATCH", + "DT bindings should be in DT schema format. See: Documentation/devicetree/writing-schema.rst\n"); + } + # Check for wrappage within a valid hunk of the file if ($realcnt != 0 && $line !~ m{^(?:\+|-| |\\ No newline|$)}) { ERROR("CORRUPTED_PATCH", @@ -3002,14 +3076,43 @@ sub process { #print "is_start<$is_start> is_end<$is_end> length<$length>\n"; } -# check for MAINTAINERS entries that don't have the right form - if ($realfile =~ /^MAINTAINERS$/ && - $rawline =~ /^\+[A-Z]:/ && - $rawline !~ /^\+[A-Z]:\t\S/) { - if (WARN("MAINTAINERS_STYLE", - "MAINTAINERS entries use one tab after TYPE:\n" . $herecurr) && - $fix) { - $fixed[$fixlinenr] =~ s/^(\+[A-Z]):\s*/$1:\t/; +# check MAINTAINERS entries + if ($realfile =~ /^MAINTAINERS$/) { +# check MAINTAINERS entries for the right form + if ($rawline =~ /^\+[A-Z]:/ && + $rawline !~ /^\+[A-Z]:\t\S/) { + if (WARN("MAINTAINERS_STYLE", + "MAINTAINERS entries use one tab after TYPE:\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/^(\+[A-Z]):\s*/$1:\t/; + } + } +# check MAINTAINERS entries for the right ordering too + my $preferred_order = 'MRLSWQBCPTFXNK'; + if ($rawline =~ /^\+[A-Z]:/ && + $prevrawline =~ /^[\+ ][A-Z]:/) { + $rawline =~ /^\+([A-Z]):\s*(.*)/; + my $cur = $1; + my $curval = $2; + $prevrawline =~ /^[\+ ]([A-Z]):\s*(.*)/; + my $prev = $1; + my $prevval = $2; + my $curindex = index($preferred_order, $cur); + my $previndex = index($preferred_order, $prev); + if ($curindex < 0) { + WARN("MAINTAINERS_STYLE", + "Unknown MAINTAINERS entry type: '$cur'\n" . $herecurr); + } else { + if ($previndex >= 0 && $curindex < $previndex) { + WARN("MAINTAINERS_STYLE", + "Misordered MAINTAINERS entry - list '$cur:' before '$prev:'\n" . $hereprev); + } elsif ((($prev eq 'F' && $cur eq 'F') || + ($prev eq 'X' && $cur eq 'X')) && + ($prevval cmp $curval) > 0) { + WARN("MAINTAINERS_STYLE", + "Misordered MAINTAINERS entry - list file patterns in alphabetic order\n" . $hereprev); + } + } } } @@ -3075,7 +3178,7 @@ sub process { $comment = '/*'; } elsif ($realfile =~ /\.(c|dts|dtsi)$/) { $comment = '//'; - } elsif (($checklicenseline == 2) || $realfile =~ /\.(sh|pl|py|awk|tc)$/) { + } elsif (($checklicenseline == 2) || $realfile =~ /\.(sh|pl|py|awk|tc|yaml)$/) { $comment = '#'; } elsif ($realfile =~ /\.rst$/) { $comment = '..'; @@ -3099,6 +3202,17 @@ sub process { WARN("SPDX_LICENSE_TAG", "'$spdx_license' is not supported in LICENSES/...\n" . $herecurr); } + if ($realfile =~ m@^Documentation/devicetree/bindings/@ && + not $spdx_license =~ /GPL-2\.0.*BSD-2-Clause/) { + my $msg_level = \&WARN; + $msg_level = \&CHK if ($file); + if (&{$msg_level}("SPDX_LICENSE_TAG", + + "DT binding documents should be licensed (GPL-2.0-only OR BSD-2-Clause)\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/SPDX-License-Identifier: .*/SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)/; + } + } } } } @@ -3171,8 +3285,10 @@ sub process { if ($msg_type ne "" && (show_type("LONG_LINE") || show_type($msg_type))) { - WARN($msg_type, - "line over $max_line_length characters\n" . $herecurr); + my $msg_level = \&WARN; + $msg_level = \&CHK if ($file); + &{$msg_level}($msg_type, + "line length of $length exceeds $max_line_length columns\n" . $herecurr); } } @@ -3186,7 +3302,7 @@ sub process { next if ($realfile !~ /\.(h|c|pl|dtsi|dts)$/); # at the beginning of a line any tabs must come first and anything -# more than 8 must use tabs. +# more than $tabsize must use tabs. if ($rawline =~ /^\+\s* \t\s*\S/ || $rawline =~ /^\+\s* \s*/) { my $herevet = "$here\n" . cat_vet($rawline) . "\n"; @@ -3198,6 +3314,42 @@ sub process { } } +# check for repeated words separated by a single space + if ($rawline =~ /^\+/) { + while ($rawline =~ /\b($word_pattern) (?=($word_pattern))/g) { + + my $first = $1; + my $second = $2; + + if ($first =~ /(?:struct|union|enum)/) { + pos($rawline) += length($first) + length($second) + 1; + next; + } + + next if ($first ne $second); + next if ($first eq 'long'); + + if (WARN("REPEATED_WORD", + "Possible repeated word: '$first'\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\b$first $second\b/$first/; + } + } + + # if it's a repeated word on consecutive lines in a comment block + if ($prevline =~ /$;+\s*$/ && + $prevrawline =~ /($word_pattern)\s*$/) { + my $last_word = $1; + if ($rawline =~ /^\+\s*\*\s*$last_word /) { + if (WARN("REPEATED_WORD", + "Possible repeated word: '$last_word'\n" . $hereprev) && + $fix) { + $fixed[$fixlinenr] =~ s/(\+\s*\*\s*)$last_word /$1/; + } + } + } + } + # check for space before tabs. if ($rawline =~ /^\+/ && $rawline =~ / \t/) { my $herevet = "$here\n" . cat_vet($rawline) . "\n"; @@ -3205,7 +3357,7 @@ sub process { "please, no space before tabs\n" . $herevet) && $fix) { while ($fixed[$fixlinenr] =~ - s/(^\+.*) {8,8}\t/$1\t\t/) {} + s/(^\+.*) {$tabsize,$tabsize}\t/$1\t\t/) {} while ($fixed[$fixlinenr] =~ s/(^\+.*) +\t/$1\t/) {} } @@ -3227,11 +3379,11 @@ sub process { if ($perl_version_ok && $sline =~ /^\+\t+( +)(?:$c90_Keywords\b|\{\s*$|\}\s*(?:else\b|while\b|\s*$)|$Declare\s*$Ident\s*[;=])/) { my $indent = length($1); - if ($indent % 8) { + if ($indent % $tabsize) { if (WARN("TABSTOP", "Statements should start on a tabstop\n" . $herecurr) && $fix) { - $fixed[$fixlinenr] =~ s@(^\+\t+) +@$1 . "\t" x ($indent/8)@e; + $fixed[$fixlinenr] =~ s@(^\+\t+) +@$1 . "\t" x ($indent/$tabsize)@e; } } } @@ -3249,8 +3401,8 @@ sub process { my $newindent = $2; my $goodtabindent = $oldindent . - "\t" x ($pos / 8) . - " " x ($pos % 8); + "\t" x ($pos / $tabsize) . + " " x ($pos % $tabsize); my $goodspaceindent = $oldindent . " " x $pos; if ($newindent ne $goodtabindent && @@ -3721,11 +3873,11 @@ sub process { #print "line<$line> prevline<$prevline> indent<$indent> sindent<$sindent> check<$check> continuation<$continuation> s<$s> cond_lines<$cond_lines> stat_real<$stat_real> stat<$stat>\n"; if ($check && $s ne '' && - (($sindent % 8) != 0 || + (($sindent % $tabsize) != 0 || ($sindent < $indent) || ($sindent == $indent && ($s !~ /^\s*(?:\}|\{|else\b)/)) || - ($sindent > $indent + 8))) { + ($sindent > $indent + $tabsize))) { WARN("SUSPECT_CODE_INDENT", "suspect code indent for conditional statements ($indent, $sindent)\n" . $herecurr . "$stat_real\n"); } @@ -4002,7 +4154,7 @@ sub process { } # check for function declarations without arguments like "int foo()" - if ($line =~ /(\b$Type\s+$Ident)\s*\(\s*\)/) { + if ($line =~ /(\b$Type\s*$Ident)\s*\(\s*\)/) { if (ERROR("FUNCTION_WITHOUT_ARGS", "Bad function definition - $1() should probably be $1(void)\n" . $herecurr) && $fix) { @@ -4113,15 +4265,6 @@ sub process { "Prefer [subsystem eg: netdev]_$level2([subsystem]dev, ... then dev_$level2(dev, ... then pr_$level(... to printk(KERN_$orig ...\n" . $herecurr); } - if ($line =~ /\bpr_warning\s*\(/) { - if (WARN("PREFER_PR_LEVEL", - "Prefer pr_warn(... to pr_warning(...\n" . $herecurr) && - $fix) { - $fixed[$fixlinenr] =~ - s/\bpr_warning\b/pr_warn/; - } - } - if ($line =~ /\bdev_printk\s*\(\s*KERN_([A-Z]+)/) { my $orig = $1; my $level = lc($orig); @@ -4139,6 +4282,17 @@ sub process { "ENOSYS means 'invalid syscall nr' and nothing else\n" . $herecurr); } +# ENOTSUPP is not a standard error code and should be avoided in new patches. +# Folks usually mean EOPNOTSUPP (also called ENOTSUP), when they type ENOTSUPP. +# Similarly to ENOSYS warning a small number of false positives is expected. + if (!$file && $line =~ /\bENOTSUPP\b/) { + if (WARN("ENOTSUPP", + "ENOTSUPP is not a SUSV4 error code, prefer EOPNOTSUPP\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\bENOTSUPP\b/EOPNOTSUPP/; + } + } + # function brace can't be on same line, except for #defines of do while, # or if closed on same line if ($perl_version_ok && @@ -4579,7 +4733,7 @@ sub process { ($op eq '>' && $ca =~ /<\S+\@\S+$/)) { - $ok = 1; + $ok = 1; } # for asm volatile statements @@ -4906,15 +5060,37 @@ sub process { my ($s, $c) = ($stat, $cond); if ($c =~ /\bif\s*\(.*[^<>!=]=[^=].*/s) { - ERROR("ASSIGN_IN_IF", - "do not use assignment in if condition\n" . $herecurr); + if (ERROR("ASSIGN_IN_IF", + "do not use assignment in if condition\n" . $herecurr) && + $fix && $perl_version_ok) { + if ($rawline =~ /^\+(\s+)if\s*\(\s*(\!)?\s*\(\s*(($Lval)\s*=\s*$LvalOrFunc)\s*\)\s*(?:($Compare)\s*($FuncArg))?\s*\)\s*(\{)?\s*$/) { + my $space = $1; + my $not = $2; + my $statement = $3; + my $assigned = $4; + my $test = $8; + my $against = $9; + my $brace = $15; + fix_delete_line($fixlinenr, $rawline); + fix_insert_line($fixlinenr, "$space$statement;"); + my $newline = "${space}if ("; + $newline .= '!' if defined($not); + $newline .= '(' if (defined $not && defined($test) && defined($against)); + $newline .= "$assigned"; + $newline .= " $test $against" if (defined($test) && defined($against)); + $newline .= ')' if (defined $not && defined($test) && defined($against)); + $newline .= ')'; + $newline .= " {" if (defined($brace)); + fix_insert_line($fixlinenr + 1, $newline); + } + } } # Find out what is on the end of the line after the # conditional. substr($s, 0, length($c), ''); $s =~ s/\n.*//g; - $s =~ s/$;//g; # Remove any comments + $s =~ s/$;//g; # Remove any comments if (length($c) && $s !~ /^\s*{?\s*\\*\s*$/ && $c !~ /}\s*while\s*/) { @@ -4953,7 +5129,7 @@ sub process { # if and else should not have general statements after it if ($line =~ /^.\s*(?:}\s*)?else\b(.*)/) { my $s = $1; - $s =~ s/$;//g; # Remove any comments + $s =~ s/$;//g; # Remove any comments if ($s !~ /^\s*(?:\sif|(?:{|)\s*\\?\s*$)/) { ERROR("TRAILING_STATEMENTS", "trailing statements should be on next line\n" . $herecurr); @@ -5030,8 +5206,9 @@ sub process { $var =~ /[A-Z][a-z]|[a-z][A-Z]/ && #Ignore Page variants $var !~ /^(?:Clear|Set|TestClear|TestSet|)Page[A-Z]/ && -#Ignore SI style variants like nS, mV and dB (ie: max_uV, regulator_min_uA_show) - $var !~ /^(?:[a-z_]*?)_?[a-z][A-Z](?:_[a-z_]+)?$/ && +#Ignore SI style variants like nS, mV and dB +#(ie: max_uV, regulator_min_uA_show, RANGE_mA_VALUE) + $var !~ /^(?:[a-z0-9_]*|[A-Z0-9_]*)?_?[a-z][A-Z](?:_[a-z0-9_]+|_[A-Z0-9_]+)?$/ && #Ignore some three character SI units explicitly, like MiB and KHz $var !~ /^(?:[a-z_]*?)_?(?:[KMGT]iB|[KMGT]?Hz)(?:_[a-z_]+)?$/) { while ($var =~ m{($Ident)}g) { @@ -5128,7 +5305,7 @@ sub process { { } - # Flatten any obvious string concatentation. + # Flatten any obvious string concatenation. while ($dstat =~ s/($String)\s*$Ident/$1/ || $dstat =~ s/$Ident\s*($String)/$1/) { @@ -5787,8 +5964,7 @@ sub process { my $barriers = qr{ mb| rmb| - wmb| - read_barrier_depends + wmb }x; my $barrier_stems = qr{ mb__before_atomic| @@ -5829,10 +6005,12 @@ sub process { } } -# check for smp_read_barrier_depends and read_barrier_depends - if (!$file && $line =~ /\b(smp_|)read_barrier_depends\s*\(/) { - WARN("READ_BARRIER_DEPENDS", - "$1read_barrier_depends should only be used in READ_ONCE or DEC Alpha code\n" . $herecurr); +# check for data_race without a comment. + if ($line =~ /\bdata_race\s*\(/) { + if (!ctx_has_comment($first_line, $linenr)) { + WARN("DATA_RACE", + "data_race without comment\n" . $herecurr); + } } # check of hardware specific defines @@ -6015,14 +6193,18 @@ sub process { for (my $count = $linenr; $count <= $lc; $count++) { my $specifier; my $extension; + my $qualifier; my $bad_specifier = ""; my $fmt = get_quoted_string($lines[$count - 1], raw_line($count, 0)); $fmt =~ s/%%//g; - while ($fmt =~ /(\%[\*\d\.]*p(\w))/g) { + while ($fmt =~ /(\%[\*\d\.]*p(\w)(\w*))/g) { $specifier = $1; $extension = $2; - if ($extension !~ /[SsBKRraEhMmIiUDdgVCbGNOxt]/) { + $qualifier = $3; + if ($extension !~ /[SsBKRraEehMmIiUDdgVCbGNOxtf]/ || + ($extension eq "f" && + defined $qualifier && $qualifier !~ /^w/)) { $bad_specifier = $specifier; last; } @@ -6039,7 +6221,6 @@ sub process { my $ext_type = "Invalid"; my $use = ""; if ($bad_specifier =~ /p[Ff]/) { - $ext_type = "Deprecated"; $use = " - use %pS instead"; $use =~ s/pS/ps/ if ($bad_specifier =~ /pf/); } @@ -6203,8 +6384,7 @@ sub process { if (defined $cond) { substr($s, 0, length($cond), ''); } - if ($s =~ /^\s*;/ && - $function_name ne 'uninitialized_var') + if ($s =~ /^\s*;/) { WARN("AVOID_EXTERNS", "externs should be avoided in .c files\n" . $herecurr); @@ -6265,7 +6445,7 @@ sub process { if (!grep(/$name/, @setup_docs)) { CHK("UNDOCUMENTED_SETUP", - "__setup appears un-documented -- check Documentation/admin-guide/kernel-parameters.rst\n" . $herecurr); + "__setup appears un-documented -- check Documentation/admin-guide/kernel-parameters.txt\n" . $herecurr); } } @@ -6347,6 +6527,12 @@ sub process { } } +# check for IS_ENABLED() without CONFIG_ ($rawline for comments too) + if ($rawline =~ /\bIS_ENABLED\s*\(\s*(\w+)\s*\)/ && $1 !~ /^CONFIG_/) { + WARN("IS_ENABLED_CONFIG", + "IS_ENABLED($1) is normally used as IS_ENABLED(CONFIG_$1)\n" . $herecurr); + } + # check for #if defined CONFIG_ || defined CONFIG__MODULE if ($line =~ /^\+\s*#\s*if\s+defined(?:\s*\(?\s*|\s+)(CONFIG_[A-Z_]+)\s*\)?\s*\|\|\s*defined(?:\s*\(?\s*|\s+)\1_MODULE\s*\)?\s*$/) { my $config = $1; @@ -6357,28 +6543,25 @@ sub process { } } -# check for case / default statements not preceded by break/fallthrough/switch - if ($line =~ /^.\s*(?:case\s+(?:$Ident|$Constant)\s*|default):/) { - my $has_break = 0; - my $has_statement = 0; - my $count = 0; - my $prevline = $linenr; - while ($prevline > 1 && ($file || $count < 3) && !$has_break) { - $prevline--; - my $rline = $rawlines[$prevline - 1]; - my $fline = $lines[$prevline - 1]; - last if ($fline =~ /^\@\@/); - next if ($fline =~ /^\-/); - next if ($fline =~ /^.(?:\s*(?:case\s+(?:$Ident|$Constant)[\s$;]*|default):[\s$;]*)*$/); - $has_break = 1 if ($rline =~ /fall[\s_-]*(through|thru)/i); - next if ($fline =~ /^.[\s$;]*$/); - $has_statement = 1; - $count++; - $has_break = 1 if ($fline =~ /\bswitch\b|\b(?:break\s*;[\s$;]*$|exit\s*\(\b|return\b|goto\b|continue\b)/); - } - if (!$has_break && $has_statement) { - WARN("MISSING_BREAK", - "Possible switch case/default not preceded by break or fallthrough comment\n" . $herecurr); +# check for /* fallthrough */ like comment, prefer fallthrough; + my @fallthroughs = ( + 'fallthrough', + '@fallthrough@', + 'lint -fallthrough[ \t]*', + 'intentional(?:ly)?[ \t]*fall(?:(?:s | |-)[Tt]|t)hr(?:ough|u|ew)', + '(?:else,?\s*)?FALL(?:S | |-)?THR(?:OUGH|U|EW)[ \t.!]*(?:-[^\n\r]*)?', + 'Fall(?:(?:s | |-)[Tt]|t)hr(?:ough|u|ew)[ \t.!]*(?:-[^\n\r]*)?', + 'fall(?:s | |-)?thr(?:ough|u|ew)[ \t.!]*(?:-[^\n\r]*)?', + ); + if ($raw_comment ne '') { + foreach my $ft (@fallthroughs) { + if ($raw_comment =~ /$ft/) { + my $msg_level = \&WARN; + $msg_level = \&CHK if ($file); + &{$msg_level}("PREFER_FALLTHROUGH", + "Prefer 'fallthrough;' over fallthrough comment\n" . $herecurr); + last; + } } } @@ -6475,7 +6658,8 @@ sub process { # check for various structs that are normally const (ops, kgdb, device_tree) # and avoid what seem like struct definitions 'struct foo {' - if ($line !~ /\bconst\b/ && + if (defined($const_structs) && + $line !~ /\bconst\b/ && $line =~ /\bstruct\s+($const_structs)\b(?!\s*\{)/) { WARN("CONST_STRUCT", "struct $1 should normally be const\n" . $herecurr); From b5fc23d9021bba43dd30df354bcfa3bced8e6b38 Mon Sep 17 00:00:00 2001 From: Steve Muckle Date: Sun, 16 Aug 2020 11:28:27 -0700 Subject: [PATCH 16/21] ANDROID: update ABI ac2e6c2e7e42 ("BACKPORT: cfg80211: express channels with a KHz component") added ieee80211_get_channel_khz and introduced a dependency on it in cuttlefish. Add this symbol to the ABI. Leaf changes summary: 1 artifact changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added function Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 1 Added function: [A] 'function ieee80211_channel* ieee80211_get_channel_khz(wiphy*, u32)' Bug: 163218447 Signed-off-by: Steve Muckle Change-Id: I3a4ca99eea0cb65ab82ef4e78fe0d83e2da5af12 --- android/abi_gki_aarch64.xml | 1342 ++++++++++++++++++---------- android/abi_gki_aarch64_cuttlefish | 1 + 2 files changed, 852 insertions(+), 491 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 001a19ad8d7b..33da0122829e 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -1707,6 +1707,7 @@ + @@ -15994,6 +15995,20 @@ + + + + + + + + + + + + + + @@ -16037,6 +16052,7 @@ + @@ -17180,7 +17196,7 @@ - + @@ -30158,7 +30174,6 @@ - @@ -30281,7 +30296,7 @@ - + @@ -30389,6 +30404,7 @@ + @@ -30577,7 +30593,7 @@ - + @@ -32736,7 +32752,7 @@ - + @@ -32827,7 +32843,7 @@ - + @@ -33580,7 +33596,7 @@ - + @@ -33808,7 +33824,7 @@ - + @@ -33817,12 +33833,12 @@ - + - + @@ -33860,7 +33876,7 @@ - + @@ -33885,7 +33901,7 @@ - + @@ -34125,11 +34141,11 @@ - + - + @@ -34291,7 +34307,7 @@ - + @@ -34381,28 +34397,28 @@ - + - + - + - + - + @@ -34847,6 +34863,23 @@ + + + + + + + + + + + + + + + + + @@ -35497,7 +35530,7 @@ - + @@ -36145,7 +36178,7 @@ - + @@ -36751,6 +36784,167 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -37134,13 +37328,13 @@ - + - + @@ -37300,7 +37494,7 @@ - + @@ -37330,7 +37524,7 @@ - + @@ -37339,7 +37533,7 @@ - + @@ -37824,14 +38018,6 @@ - - - - - - - - @@ -39234,7 +39420,7 @@ - + @@ -39326,7 +39512,7 @@ - + @@ -40286,7 +40472,7 @@ - + @@ -40305,7 +40491,7 @@ - + @@ -41590,7 +41776,7 @@ - + @@ -41607,9 +41793,9 @@ - + - + @@ -41621,7 +41807,7 @@ - + @@ -41741,167 +41927,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -42207,7 +42232,7 @@ - + @@ -44858,7 +44883,7 @@ - + @@ -44873,7 +44898,7 @@ - + @@ -46698,7 +46723,7 @@ - + @@ -46714,7 +46739,7 @@ - + @@ -49350,14 +49375,6 @@ - - - - - - - - @@ -50494,7 +50511,7 @@ - + @@ -50881,7 +50898,7 @@ - + @@ -51153,7 +51170,7 @@ - + @@ -51315,8 +51332,6 @@ - - @@ -51351,8 +51366,6 @@ - - @@ -51460,7 +51473,7 @@ - + @@ -51918,6 +51931,234 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -51945,6 +52186,17 @@ + + + + + + + + + + + @@ -52459,7 +52711,7 @@ - + @@ -52492,7 +52744,7 @@ - + @@ -52501,7 +52753,7 @@ - + @@ -53957,7 +54209,7 @@ - + @@ -53992,7 +54244,7 @@ - + @@ -56752,13 +57004,13 @@ - + - + @@ -56782,7 +57034,7 @@ - + @@ -56837,7 +57089,7 @@ - + @@ -57029,7 +57281,7 @@ - + @@ -61531,7 +61783,7 @@ - + @@ -61566,12 +61818,12 @@ - + - + @@ -61582,7 +61834,7 @@ - + @@ -61871,7 +62123,7 @@ - + @@ -66770,18 +67022,18 @@ - + - + - + - + @@ -67168,7 +67420,7 @@ - + @@ -68150,7 +68402,7 @@ - + @@ -68169,7 +68421,7 @@ - + @@ -68177,7 +68429,7 @@ - + @@ -68185,7 +68437,7 @@ - + @@ -68926,7 +69178,7 @@ - + @@ -69824,10 +70076,10 @@ - + - + @@ -69880,10 +70132,10 @@ - + - + @@ -70485,7 +70737,7 @@ - + @@ -70539,10 +70791,10 @@ - + - + @@ -71088,59 +71340,59 @@ - - - - - + + + + + - - + + - - - + + + - - + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - + + - - + + @@ -71236,19 +71488,19 @@ - + - + - + @@ -71267,7 +71519,7 @@ - + @@ -71286,7 +71538,7 @@ - + @@ -71295,7 +71547,7 @@ - + @@ -71901,7 +72153,7 @@ - + @@ -71948,7 +72200,7 @@ - + @@ -72208,7 +72460,7 @@ - + @@ -73568,7 +73820,7 @@ - + @@ -73589,7 +73841,7 @@ - + @@ -76519,7 +76771,7 @@ - + @@ -76530,7 +76782,7 @@ - + @@ -77325,23 +77577,6 @@ - - - - - - - - - - - - - - - - - @@ -82906,13 +83141,13 @@ - + - + @@ -82981,7 +83216,7 @@ - + @@ -83015,7 +83250,7 @@ - + @@ -83693,7 +83928,7 @@ - + @@ -83712,7 +83947,7 @@ - + @@ -83816,7 +84051,7 @@ - + @@ -84214,9 +84449,9 @@ - + - + @@ -84785,7 +85020,7 @@ - + @@ -84857,7 +85092,7 @@ - + @@ -84909,6 +85144,23 @@ + + + + + + + + + + + + + + + + + @@ -85216,10 +85468,10 @@ - + - + @@ -85229,15 +85481,15 @@ - + - + - + @@ -85257,7 +85509,7 @@ - + @@ -85476,11 +85728,11 @@ - + - + @@ -85489,7 +85741,7 @@ - + @@ -85505,7 +85757,7 @@ - + @@ -85523,13 +85775,13 @@ - + - + @@ -85543,7 +85795,7 @@ - + @@ -85583,7 +85835,7 @@ - + @@ -85591,7 +85843,7 @@ - + @@ -85738,7 +85990,7 @@ - + @@ -85786,7 +86038,7 @@ - + @@ -85965,7 +86217,7 @@ - + @@ -85977,12 +86229,12 @@ - + - + @@ -86002,7 +86254,7 @@ - + @@ -86133,7 +86385,7 @@ - + @@ -86247,7 +86499,7 @@ - + @@ -86262,7 +86514,7 @@ - + @@ -86315,30 +86567,13 @@ - - - - - - - - - - - - - - - - - - + @@ -87032,7 +87267,7 @@ - + @@ -87530,6 +87765,8 @@ + + @@ -87670,7 +87907,7 @@ - + @@ -87718,7 +87955,7 @@ - + @@ -87864,7 +88101,7 @@ - + @@ -88404,7 +88641,7 @@ - + @@ -88829,7 +89066,7 @@ - + @@ -89593,7 +89830,7 @@ - + @@ -90469,7 +90706,7 @@ - + @@ -90695,7 +90932,7 @@ - + @@ -90713,7 +90950,7 @@ - + @@ -91517,7 +91754,7 @@ - + @@ -91541,7 +91778,7 @@ - + @@ -91848,10 +92085,10 @@ - + - + @@ -95234,7 +95471,7 @@ - + @@ -98654,7 +98891,7 @@ - + @@ -99634,7 +99871,7 @@ - + @@ -99728,7 +99965,7 @@ - + @@ -100019,7 +100256,7 @@ - + @@ -100943,7 +101180,7 @@ - + @@ -101181,7 +101418,7 @@ - + @@ -101226,7 +101463,7 @@ - + @@ -101576,10 +101813,10 @@ - + - + @@ -102126,6 +102363,8 @@ + + @@ -102269,7 +102508,7 @@ - + @@ -102278,7 +102517,7 @@ - + @@ -102381,6 +102620,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -102461,6 +102743,25 @@ + + + + + + + + + + + + + + + + + + + @@ -102741,7 +103042,7 @@ - + @@ -102870,7 +103171,7 @@ - + @@ -102900,7 +103201,7 @@ - + @@ -102990,6 +103291,23 @@ + + + + + + + + + + + + + + + + + @@ -103141,15 +103459,7 @@ - - - - - - - - - + @@ -103666,6 +103976,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -104072,14 +104416,6 @@ - - - - - - - - @@ -104130,7 +104466,7 @@ - + @@ -104141,7 +104477,7 @@ - + @@ -104606,7 +104942,7 @@ - + @@ -104745,7 +105081,7 @@ - + @@ -104825,7 +105161,7 @@ - + @@ -104962,7 +105298,7 @@ - + @@ -105025,7 +105361,7 @@ - + @@ -105273,7 +105609,7 @@ - + @@ -105374,6 +105710,17 @@ + + + + + + + + + + + @@ -105863,7 +106210,7 @@ - + @@ -106561,7 +106908,7 @@ - + @@ -106583,7 +106930,7 @@ - + @@ -106591,7 +106938,7 @@ - + @@ -106616,7 +106963,7 @@ - + @@ -107483,12 +107830,12 @@ - + - + - + @@ -107506,7 +107853,7 @@ - + @@ -107655,7 +108002,7 @@ - + @@ -107665,7 +108012,7 @@ - + @@ -108371,7 +108718,7 @@ - + @@ -108379,7 +108726,7 @@ - + @@ -108395,7 +108742,7 @@ - + @@ -108471,6 +108818,14 @@ + + + + + + + + @@ -108698,7 +109053,7 @@ - + @@ -108720,7 +109075,7 @@ - + @@ -109683,10 +110038,10 @@ - + - + @@ -110025,17 +110380,6 @@ - - - - - - - - - - - @@ -110145,7 +110489,7 @@ - + @@ -110210,7 +110554,7 @@ - + @@ -110671,6 +111015,17 @@ + + + + + + + + + + + @@ -110734,7 +111089,7 @@ - + @@ -111148,7 +111503,7 @@ - + @@ -111218,10 +111573,10 @@ - + - + @@ -112884,7 +113239,7 @@ - + @@ -112903,10 +113258,10 @@ - + - + @@ -116011,7 +116366,7 @@ - + @@ -116027,15 +116382,15 @@ - + - + - + @@ -116920,7 +117275,7 @@ - + @@ -116966,7 +117321,7 @@ - + @@ -117562,6 +117917,11 @@ + + + + + @@ -117765,7 +118125,7 @@ - + @@ -117920,7 +118280,7 @@ - + @@ -117980,13 +118340,13 @@ - + - + @@ -118740,7 +119100,7 @@ - + @@ -118768,7 +119128,7 @@ - + @@ -118813,22 +119173,22 @@ - + - + - + - + @@ -118836,7 +119196,7 @@ - + @@ -118852,7 +119212,7 @@ - + @@ -118953,13 +119313,13 @@ - + - + @@ -120680,7 +121040,7 @@ - + @@ -121758,7 +122118,7 @@ - + diff --git a/android/abi_gki_aarch64_cuttlefish b/android/abi_gki_aarch64_cuttlefish index 5dca8eeb1442..289794edf98a 100644 --- a/android/abi_gki_aarch64_cuttlefish +++ b/android/abi_gki_aarch64_cuttlefish @@ -499,6 +499,7 @@ wiphy_unregister # required by virt_wifi_sim.ko + ieee80211_get_channel_khz kstrtoull release_firmware request_firmware From 5ab49e4b85a45bc4dab45785d90f1b9058289588 Mon Sep 17 00:00:00 2001 From: "Isaac J. Manjarres" Date: Wed, 12 Aug 2020 23:46:17 -0700 Subject: [PATCH 17/21] ANDROID: iommu/io-pgtable: Allow IOMMU drivers to allocate/free page-table memory The page-table memory is currently allocated and freed by the io-pgtable layer, and there is no intervention from the IOMMU driver during this process. However, in some environments, where the IOMMU driver may need to be aware of the pages that are used for its page-tables, it is useful to allow the IOMMU driver to manage the allocation and freeing of the page table memory. Thus, add support in the io-pgtable layer to allow IOMMU drivers to allocate and free page-table memory. Bug: 147086566 Change-Id: I7b38a72da1654273a4312e04c776b10612c57bdc Signed-off-by: Isaac J. Manjarres --- drivers/iommu/io-pgtable-arm.c | 37 ++++++++++++++------------- drivers/iommu/io-pgtable.c | 33 ++++++++++++++++++++++++ include/linux/io-pgtable.h | 46 ++++++++++++++++++++++++++++++++++ 3 files changed, 99 insertions(+), 17 deletions(-) diff --git a/drivers/iommu/io-pgtable-arm.c b/drivers/iommu/io-pgtable-arm.c index ca51036aa53c..6ebfcc0f9acc 100644 --- a/drivers/iommu/io-pgtable-arm.c +++ b/drivers/iommu/io-pgtable-arm.c @@ -228,21 +228,18 @@ static dma_addr_t __arm_lpae_dma_addr(void *pages) } static void *__arm_lpae_alloc_pages(size_t size, gfp_t gfp, - struct io_pgtable_cfg *cfg) + struct io_pgtable_cfg *cfg, void *cookie) { struct device *dev = cfg->iommu_dev; int order = get_order(size); - struct page *p; dma_addr_t dma; void *pages; VM_BUG_ON((gfp & __GFP_HIGHMEM)); - p = alloc_pages_node(dev ? dev_to_node(dev) : NUMA_NO_NODE, - gfp | __GFP_ZERO, order); - if (!p) + pages = io_pgtable_alloc_pages(cfg, cookie, order, gfp | __GFP_ZERO); + if (!pages) return NULL; - pages = page_address(p); if (!cfg->coherent_walk) { dma = dma_map_single(dev, pages, size, DMA_TO_DEVICE); if (dma_mapping_error(dev, dma)) @@ -262,17 +259,17 @@ out_unmap: dev_err(dev, "Cannot accommodate DMA translation for IOMMU page tables\n"); dma_unmap_single(dev, dma, size, DMA_TO_DEVICE); out_free: - __free_pages(p, order); + io_pgtable_free_pages(cfg, cookie, pages, order); return NULL; } static void __arm_lpae_free_pages(void *pages, size_t size, - struct io_pgtable_cfg *cfg) + struct io_pgtable_cfg *cfg, void *cookie) { if (!cfg->coherent_walk) dma_unmap_single(cfg->iommu_dev, __arm_lpae_dma_addr(pages), size, DMA_TO_DEVICE); - free_pages((unsigned long)pages, get_order(size)); + io_pgtable_free_pages(cfg, cookie, pages, get_order(size)); } static void __arm_lpae_sync_pte(arm_lpae_iopte *ptep, @@ -387,6 +384,7 @@ static int __arm_lpae_map(struct arm_lpae_io_pgtable *data, unsigned long iova, size_t block_size = ARM_LPAE_BLOCK_SIZE(lvl, data); size_t tblsz = ARM_LPAE_GRANULE(data); struct io_pgtable_cfg *cfg = &data->iop.cfg; + void *cookie = data->iop.cookie; /* Find our entry at the current level */ ptep += ARM_LPAE_LVL_IDX(iova, lvl, data); @@ -402,13 +400,13 @@ static int __arm_lpae_map(struct arm_lpae_io_pgtable *data, unsigned long iova, /* Grab a pointer to the next level */ pte = READ_ONCE(*ptep); if (!pte) { - cptep = __arm_lpae_alloc_pages(tblsz, GFP_ATOMIC, cfg); + cptep = __arm_lpae_alloc_pages(tblsz, GFP_ATOMIC, cfg, cookie); if (!cptep) return -ENOMEM; pte = arm_lpae_install_table(cptep, ptep, 0, cfg); if (pte) - __arm_lpae_free_pages(cptep, tblsz, cfg); + __arm_lpae_free_pages(cptep, tblsz, cfg, cookie); } else if (!cfg->coherent_walk && !(pte & ARM_LPAE_PTE_SW_SYNC)) { __arm_lpae_sync_pte(ptep, cfg); } @@ -507,6 +505,7 @@ static void __arm_lpae_free_pgtable(struct arm_lpae_io_pgtable *data, int lvl, { arm_lpae_iopte *start, *end; unsigned long table_size; + void *cookie = data->iop.cookie; if (lvl == ARM_LPAE_START_LVL(data)) table_size = data->pgd_size; @@ -530,7 +529,7 @@ static void __arm_lpae_free_pgtable(struct arm_lpae_io_pgtable *data, int lvl, __arm_lpae_free_pgtable(data, lvl + 1, iopte_deref(pte, data)); } - __arm_lpae_free_pages(start, table_size, &data->iop.cfg); + __arm_lpae_free_pages(start, table_size, &data->iop.cfg, cookie); } static void arm_lpae_free_pgtable(struct io_pgtable *iop) @@ -553,11 +552,12 @@ static size_t arm_lpae_split_blk_unmap(struct arm_lpae_io_pgtable *data, size_t tablesz = ARM_LPAE_GRANULE(data); size_t split_sz = ARM_LPAE_BLOCK_SIZE(lvl, data); int i, unmap_idx = -1; + void *cookie = data->iop.cookie; if (WARN_ON(lvl == ARM_LPAE_MAX_LEVELS)) return 0; - tablep = __arm_lpae_alloc_pages(tablesz, GFP_ATOMIC, cfg); + tablep = __arm_lpae_alloc_pages(tablesz, GFP_ATOMIC, cfg, cookie); if (!tablep) return 0; /* Bytes unmapped */ @@ -577,7 +577,7 @@ static size_t arm_lpae_split_blk_unmap(struct arm_lpae_io_pgtable *data, pte = arm_lpae_install_table(tablep, ptep, blk_pte, cfg); if (pte != blk_pte) { - __arm_lpae_free_pages(tablep, tablesz, cfg); + __arm_lpae_free_pages(tablep, tablesz, cfg, cookie); /* * We may race against someone unmapping another part of this * block, but anything else is invalid. We can't misinterpret @@ -868,7 +868,8 @@ arm_64_lpae_alloc_pgtable_s1(struct io_pgtable_cfg *cfg, void *cookie) cfg->arm_lpae_s1_cfg.mair[1] = 0; /* Looking good; allocate a pgd */ - data->pgd = __arm_lpae_alloc_pages(data->pgd_size, GFP_KERNEL, cfg); + data->pgd = __arm_lpae_alloc_pages(data->pgd_size, GFP_KERNEL, cfg, + cookie); if (!data->pgd) goto out_free_data; @@ -965,7 +966,8 @@ arm_64_lpae_alloc_pgtable_s2(struct io_pgtable_cfg *cfg, void *cookie) cfg->arm_lpae_s2_cfg.vtcr = reg; /* Allocate pgd pages */ - data->pgd = __arm_lpae_alloc_pages(data->pgd_size, GFP_KERNEL, cfg); + data->pgd = __arm_lpae_alloc_pages(data->pgd_size, GFP_KERNEL, cfg, + cookie); if (!data->pgd) goto out_free_data; @@ -1053,7 +1055,8 @@ arm_mali_lpae_alloc_pgtable(struct io_pgtable_cfg *cfg, void *cookie) (ARM_MALI_LPAE_MEMATTR_IMP_DEF << ARM_LPAE_MAIR_ATTR_SHIFT(ARM_LPAE_MAIR_ATTR_IDX_DEV)); - data->pgd = __arm_lpae_alloc_pages(data->pgd_size, GFP_KERNEL, cfg); + data->pgd = __arm_lpae_alloc_pages(data->pgd_size, GFP_KERNEL, cfg, + cookie); if (!data->pgd) goto out_free_data; diff --git a/drivers/iommu/io-pgtable.c b/drivers/iommu/io-pgtable.c index ced53e5b72b5..f0733cdbe993 100644 --- a/drivers/iommu/io-pgtable.c +++ b/drivers/iommu/io-pgtable.c @@ -68,3 +68,36 @@ void free_io_pgtable_ops(struct io_pgtable_ops *ops) io_pgtable_init_table[iop->fmt]->free(iop); } EXPORT_SYMBOL_GPL(free_io_pgtable_ops); + +void *io_pgtable_alloc_pages(struct io_pgtable_cfg *cfg, void *cookie, + int order, gfp_t gfp_mask) +{ + struct device *dev; + struct page *p; + + if (!cfg) + return NULL; + + if (cfg->iommu_pgtable_ops && cfg->iommu_pgtable_ops->alloc_pgtable) + return cfg->iommu_pgtable_ops->alloc_pgtable(cookie, order, + gfp_mask); + + dev = cfg->iommu_dev; + p = alloc_pages_node(dev ? dev_to_node(dev) : NUMA_NO_NODE, + gfp_mask, order); + if (!p) + return NULL; + return page_address(p); +} + +void io_pgtable_free_pages(struct io_pgtable_cfg *cfg, void *cookie, void *virt, + int order) +{ + if (!cfg) + return; + + if (cfg->iommu_pgtable_ops && cfg->iommu_pgtable_ops->free_pgtable) + cfg->iommu_pgtable_ops->free_pgtable(cookie, virt, order); + else + free_pages((unsigned long)virt, order); +} diff --git a/include/linux/io-pgtable.h b/include/linux/io-pgtable.h index ec7a13405f10..cd6b768d3735 100644 --- a/include/linux/io-pgtable.h +++ b/include/linux/io-pgtable.h @@ -46,6 +46,19 @@ struct iommu_flush_ops { unsigned long iova, size_t granule, void *cookie); }; +/** + * struct iommu_pgtable_ops - IOMMU callbacks for page table memory management. + * + * @alloc_pgtable: Allocate page table memory, and return a page-aligned + * cacheable linear mapping address of the start of a physically + * contiguous region of memory. + * @free_pgtable: Free page table memory. + */ +struct iommu_pgtable_ops { + void *(*alloc_pgtable)(void *cookie, int order, gfp_t gfp_mask); + void (*free_pgtable)(void *cookie, void *virt, int order); +}; + /** * struct io_pgtable_cfg - Configuration data for a set of page tables. * @@ -58,6 +71,8 @@ struct iommu_flush_ops { * @coherent_walk A flag to indicate whether or not page table walks made * by the IOMMU are coherent with the CPU caches. * @tlb: TLB management callbacks for this set of tables. + * @iommu_pgtable_ops: IOMMU page table memory management callbacks (optional; + * defaults to the buddy allocator if not present). * @iommu_dev: The device representing the DMA configuration for the * page table walker. */ @@ -95,6 +110,7 @@ struct io_pgtable_cfg { unsigned int oas; bool coherent_walk; const struct iommu_flush_ops *tlb; + const struct iommu_pgtable_ops *iommu_pgtable_ops; struct device *iommu_dev; /* Low-level data specific to the table format */ @@ -166,6 +182,36 @@ struct io_pgtable_ops *alloc_io_pgtable_ops(enum io_pgtable_fmt fmt, */ void free_io_pgtable_ops(struct io_pgtable_ops *ops); +/** + * io_pgtable_alloc_pages - Allocate memory for page tables using an IOMMU + * driver's provided callback, or the buddy allocator. + * + * @cfg: The page table configuration. This will be used to determine if + * the page table memory should be allocated through the IOMMU + * driver's callback, or the buddy allocator. + * @cookie: An opaque pointer used by the IOMMU driver's callback. + * @order: The order of the size of the allocation. + * @gfp_mask: The GFP mask to be used with the allocation + * + * Returns a cacheable linear mapping address to a physically contiguous region + * of memory. The start of the region must be page-aligned. + */ +void *io_pgtable_alloc_pages(struct io_pgtable_cfg *cfg, void *cookie, + int order, gfp_t gfp_mask); + +/** + * io_pgtable_free_pages - Free memory for page tables using an IOMMU + * driver's provided callback, or the buddy allocator. + * + * @cfg: The page table configuration. This will be used to determine if + * the page table memory should be allocated through the IOMMU + * driver's callback, or the buddy allocator. + * @cookie: An opage pointer used by the IOMMU driver's callback. + * @virt: The virtual address of the memory to free. + * @order: The order of the size of the allocation. + */ +void io_pgtable_free_pages(struct io_pgtable_cfg *cfg, void *cookie, void *virt, + int order); /* * Internal structures for page table allocator implementations. From 38dde62b69ca9ad26afeb78a548663f030e5ceec Mon Sep 17 00:00:00 2001 From: "Isaac J. Manjarres" Date: Mon, 17 Aug 2020 09:49:20 -0700 Subject: [PATCH 18/21] ANDROID: ABI: Update ABI snapshot after additions to struct io_pgtable_cfg Update the ABI snapshot after the additions made to struct io_pgtable_cfg for adding support for IOMMU drivers to allocate/free page-table memory. Leaf changes summary: 2 artifacts changed Changed leaf types summary: 1 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 1 Changed, 0 Added function Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 1 function with some sub-type change: [C] 'function io_pgtable_ops* alloc_io_pgtable_ops(io_pgtable_fmt, io_pgtable_cfg*, void*)' at io-pgtable.c:29:1 has some sub-type changes: CRC value (modversions) changed from 0xe49d2ea to 0x153c3f3b 'struct io_pgtable_cfg at io-pgtable.h:64:1' changed: type size changed from 704 to 768 (in bits) 1 data member insertion: 'const iommu_pgtable_ops* io_pgtable_cfg::iommu_pgtable_ops', at offset 320 (in bits) at io-pgtable.h:113:1 there are data member changes: 'device* io_pgtable_cfg::iommu_dev' offset changed from 320 to 384 (in bits) (by +64 bits) anonymous data member 'union {struct {u64 ttbr[2]; u64 tcr; u64 mair[2];} arm_lpae_s1_cfg; struct {u64 vttbr; u64 vtcr;} arm_lpae_s2_cfg; struct {u32 ttbr[2]; u32 tcr; u32 nmrr; u32 prrr;} arm_v7s_cfg; struct {u64 transtab; u64 memattr;} arm_mali_lpae_cfg;}' offset changed from 384 to 448 (in bits) (by +64 bits) one impacted interface: function io_pgtable_ops* alloc_io_pgtable_ops(io_pgtable_fmt, io_pgtable_cfg*, void*) Bug: 147086566 Change-Id: I17904a2dde3bf17e5917a6af8ef886c4fdcd3c95 Signed-off-by: Isaac J. Manjarres --- android/abi_gki_aarch64.xml | 1233 +++++++++++++++++------------------ 1 file changed, 591 insertions(+), 642 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 33da0122829e..0d7f61d296b8 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -301,7 +301,7 @@ - + @@ -11107,23 +11107,6 @@ - - - - - - - - - - - - - - - - - @@ -14111,6 +14094,23 @@ + + + + + + + + + + + + + + + + + @@ -17188,7 +17188,7 @@ - + @@ -27164,7 +27164,7 @@ - + @@ -34863,23 +34863,6 @@ - - - - - - - - - - - - - - - - - @@ -35722,6 +35705,23 @@ + + + + + + + + + + + + + + + + + @@ -36784,167 +36784,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -37328,13 +37167,13 @@ - + - + @@ -39420,7 +39259,7 @@ - + @@ -39512,7 +39351,7 @@ - + @@ -41732,15 +41571,15 @@ - + - + - + - + @@ -41753,30 +41592,33 @@ - + - + - + - + - + - + - + - + - + + + + @@ -41793,63 +41635,73 @@ - + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + @@ -41857,6 +41709,7 @@ + @@ -41901,6 +41754,12 @@ + + + + + + @@ -41927,6 +41786,167 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -44151,7 +44171,7 @@ - + @@ -44195,44 +44215,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -44246,41 +44233,41 @@ - + - + - + - + - + - + - + - + @@ -51332,6 +51319,8 @@ + + @@ -51366,6 +51355,8 @@ + + @@ -52711,20 +52702,6 @@ - - - - - - - - - - - - - - @@ -52736,10 +52713,10 @@ - + - + @@ -53476,8 +53453,8 @@ - - + + @@ -53505,6 +53482,20 @@ + + + + + + + + + + + + + + @@ -54260,6 +54251,17 @@ + + + + + + + + + + + @@ -57007,7 +57009,7 @@ - + @@ -60590,7 +60592,7 @@ - + @@ -60599,7 +60601,7 @@ - + @@ -61918,7 +61920,7 @@ - + @@ -64618,7 +64620,7 @@ - + @@ -64629,7 +64631,7 @@ - + @@ -67022,10 +67024,10 @@ - + - + @@ -67420,7 +67422,7 @@ - + @@ -68421,7 +68423,7 @@ - + @@ -71538,7 +71540,7 @@ - + @@ -71547,7 +71549,7 @@ - + @@ -72153,7 +72155,7 @@ - + @@ -72200,7 +72202,7 @@ - + @@ -72460,7 +72462,7 @@ - + @@ -73820,7 +73822,7 @@ - + @@ -73841,7 +73843,7 @@ - + @@ -77577,6 +77579,23 @@ + + + + + + + + + + + + + + + + + @@ -82090,7 +82109,7 @@ - + @@ -82819,7 +82838,7 @@ - + @@ -83928,7 +83947,7 @@ - + @@ -83947,7 +83966,7 @@ - + @@ -84449,14 +84468,6 @@ - - - - - - - - @@ -85092,7 +85103,7 @@ - + @@ -85136,7 +85147,7 @@ - + @@ -85144,23 +85155,6 @@ - - - - - - - - - - - - - - - - - @@ -85479,6 +85473,23 @@ + + + + + + + + + + + + + + + + + @@ -85728,7 +85739,7 @@ - + @@ -85757,7 +85768,7 @@ - + @@ -85835,7 +85846,7 @@ - + @@ -86231,13 +86242,13 @@ - + - + @@ -86433,6 +86444,23 @@ + + + + + + + + + + + + + + + + + @@ -86966,7 +86994,7 @@ - + @@ -87765,8 +87793,6 @@ - - @@ -88101,7 +88127,7 @@ - + @@ -90932,7 +90958,7 @@ - + @@ -90950,7 +90976,7 @@ - + @@ -98579,23 +98605,6 @@ - - - - - - - - - - - - - - - - - @@ -99965,23 +99974,9 @@ - - - - - - - - - - - - - - - + @@ -99996,20 +99991,6 @@ - - - - - - - - - - - - - - @@ -100256,7 +100237,7 @@ - + @@ -101180,7 +101161,7 @@ - + @@ -101418,7 +101399,7 @@ - + @@ -101463,7 +101444,7 @@ - + @@ -101813,10 +101794,10 @@ - + - + @@ -102363,8 +102344,6 @@ - - @@ -102508,16 +102487,16 @@ - + - + - + @@ -102525,7 +102504,7 @@ - + @@ -102603,7 +102582,7 @@ - + @@ -102620,58 +102599,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -102743,25 +102671,6 @@ - - - - - - - - - - - - - - - - - - - @@ -102921,7 +102830,50 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -102940,6 +102892,25 @@ + + + + + + + + + + + + + + + + + + + @@ -103078,6 +103049,23 @@ + + + + + + + + + + + + + + + + + @@ -103131,7 +103119,7 @@ - + @@ -103149,10 +103137,10 @@ - + - + @@ -103171,7 +103159,7 @@ - + @@ -103201,7 +103189,7 @@ - + @@ -103291,23 +103279,6 @@ - - - - - - - - - - - - - - - - - @@ -103459,7 +103430,7 @@ - + @@ -103713,7 +103684,7 @@ - + @@ -104033,7 +104004,7 @@ - + @@ -104466,7 +104437,26 @@ - + + + + + + + + + + + + + + + + + + + + @@ -104477,8 +104467,8 @@ - - + + @@ -104496,7 +104486,7 @@ - + @@ -104646,7 +104636,7 @@ - + @@ -105081,7 +105071,7 @@ - + @@ -105161,7 +105151,7 @@ - + @@ -105710,17 +105700,6 @@ - - - - - - - - - - - @@ -105947,25 +105926,6 @@ - - - - - - - - - - - - - - - - - - - @@ -106210,7 +106170,7 @@ - + @@ -106908,7 +106868,7 @@ - + @@ -106922,7 +106882,7 @@ - + @@ -106930,7 +106890,7 @@ - + @@ -106946,7 +106906,7 @@ - + @@ -106971,7 +106931,7 @@ - + @@ -107830,10 +107790,10 @@ - + - + @@ -108710,7 +108670,7 @@ - + @@ -108718,7 +108678,7 @@ - + @@ -108734,7 +108694,7 @@ - + @@ -108750,7 +108710,7 @@ - + @@ -108818,7 +108778,7 @@ - + @@ -110013,10 +109973,10 @@ - + - + @@ -110038,10 +109998,10 @@ - + - + @@ -110518,10 +110478,10 @@ - + - + @@ -110529,7 +110489,7 @@ - + @@ -110706,7 +110666,7 @@ - + @@ -110819,7 +110779,7 @@ - + @@ -110927,6 +110887,17 @@ + + + + + + + + + + + @@ -111015,17 +110986,6 @@ - - - - - - - - - - - @@ -111089,7 +111049,7 @@ - + @@ -111492,7 +111452,7 @@ - + @@ -111511,11 +111471,11 @@ - + - + @@ -111540,7 +111500,7 @@ - + @@ -111568,7 +111528,7 @@ - + @@ -111598,7 +111558,7 @@ - + @@ -113209,7 +113169,7 @@ - + @@ -113228,10 +113188,10 @@ - + - + @@ -113239,7 +113199,7 @@ - + @@ -116358,7 +116318,7 @@ - + @@ -116366,7 +116326,7 @@ - + @@ -116374,7 +116334,7 @@ - + @@ -116382,7 +116342,7 @@ - + @@ -116412,7 +116372,7 @@ - + @@ -116431,7 +116391,7 @@ - + @@ -117403,10 +117363,10 @@ - + - + @@ -118125,17 +118085,6 @@ - - - - - - - - - - - @@ -118150,13 +118099,13 @@ - + - + @@ -118280,7 +118229,7 @@ - + @@ -118340,13 +118289,13 @@ - + - + @@ -119082,17 +119031,17 @@ - + - + - + @@ -119145,7 +119094,7 @@ - + @@ -119162,7 +119111,7 @@ - + @@ -119171,24 +119120,24 @@ - + - + - + - + - + @@ -119204,7 +119153,7 @@ - + @@ -119212,7 +119161,7 @@ - + @@ -119235,7 +119184,7 @@ - + @@ -119313,13 +119262,13 @@ - + - + @@ -120188,7 +120137,7 @@ - + @@ -120356,7 +120305,7 @@ - + @@ -121040,7 +120989,7 @@ - + @@ -121157,10 +121106,10 @@ - + - + @@ -121245,10 +121194,10 @@ - + - + @@ -121267,10 +121216,10 @@ - + - + @@ -122118,7 +122067,7 @@ - + @@ -123332,7 +123281,7 @@ - + @@ -124028,7 +123977,7 @@ - + From b2054b2d8720b37c290f0ff767fc4af9078c206a Mon Sep 17 00:00:00 2001 From: Dmitry Shmidt Date: Thu, 13 Aug 2020 14:57:15 -0700 Subject: [PATCH 19/21] ANDROID: GKI: Enable CEC support CONFIG_MEDIA_CEC_SUPPORT CONFIG_CEC_PLATFORM_DRIVERS Bug: 162507365 Bug: 164180803 Change-Id: If6d4a6fbe0aebb27952c8db250db99183e211493 Signed-off-by: Dmitry Shmidt --- arch/arm64/configs/gki_defconfig | 2 ++ arch/x86/configs/gki_defconfig | 2 ++ 2 files changed, 4 insertions(+) diff --git a/arch/arm64/configs/gki_defconfig b/arch/arm64/configs/gki_defconfig index 50db48b210aa..f34a00de5655 100644 --- a/arch/arm64/configs/gki_defconfig +++ b/arch/arm64/configs/gki_defconfig @@ -345,12 +345,14 @@ CONFIG_MFD_SYSCON=y CONFIG_REGULATOR=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_CEC_SUPPORT=y CONFIG_MEDIA_CONTROLLER=y CONFIG_VIDEO_V4L2_SUBDEV_API=y CONFIG_MEDIA_USB_SUPPORT=y CONFIG_USB_VIDEO_CLASS=y CONFIG_USB_GSPCA=y CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_CEC_PLATFORM_DRIVERS=y # CONFIG_VGA_ARB is not set CONFIG_DRM=y # CONFIG_DRM_FBDEV_EMULATION is not set diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig index 59954ad4be59..296be48739f3 100644 --- a/arch/x86/configs/gki_defconfig +++ b/arch/x86/configs/gki_defconfig @@ -304,10 +304,12 @@ CONFIG_MFD_SYSCON=y CONFIG_REGULATOR=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_CEC_SUPPORT=y CONFIG_MEDIA_USB_SUPPORT=y CONFIG_USB_VIDEO_CLASS=y CONFIG_USB_GSPCA=y CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_DRM=y # CONFIG_DRM_FBDEV_EMULATION is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y From 9c97bcd075a6cc2bb72955fcc7b4b7da704f1bce Mon Sep 17 00:00:00 2001 From: Alistair Delva Date: Mon, 17 Aug 2020 09:39:47 -0700 Subject: [PATCH 20/21] ANDROID: GKI: Build CEC_{CORE,NOTIFIER,PIN} in CEC_{CORE,NOTIFIER,PIN} are hidden options which are selected by drivers. Select them here so the ABI surface is available to modules. Bug: 162507365 Bug: 164180803 Change-Id: Idf8d072388b387442d967bf1c6d3be1f9a734ab6 Signed-off-by: Alistair Delva --- init/Kconfig.gki | 3 +++ 1 file changed, 3 insertions(+) diff --git a/init/Kconfig.gki b/init/Kconfig.gki index 115a58f23431..996132481ad1 100644 --- a/init/Kconfig.gki +++ b/init/Kconfig.gki @@ -87,6 +87,9 @@ config GKI_HIDDEN_MEDIA_CONFIGS select MEDIA_SUPPORT select FRAME_VECTOR select VIDEOBUF2_DMA_CONTIG + select CEC_CORE + select CEC_NOTIFIER + select CEC_PIN help Dummy config option used to enable hidden media configs. These are normally selected implicitly when a module From 33cc3e7400a3423709c08798082214f48cd72bee Mon Sep 17 00:00:00 2001 From: Todd Kjos Date: Fri, 14 Aug 2020 17:28:20 -0700 Subject: [PATCH 21/21] ANDROID: db845c: set BUILD_INITRAMFS=1 To create boot images for multiple kernels for CI testing, we need the initramfs image. To generate initramfs, vmlinux and System.map were also added to the list of artifacts. Bug: 162034308 Signed-off-by: Todd Kjos Change-Id: I08fc4a45402dfff78da4d322ee70c2f63a262468 --- build.config.db845c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build.config.db845c b/build.config.db845c index c6be07d937ed..1d2aa08fd886 100644 --- a/build.config.db845c +++ b/build.config.db845c @@ -1,6 +1,7 @@ . ${ROOT_DIR}/common/build.config.common . ${ROOT_DIR}/common/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}" @@ -8,4 +9,6 @@ POST_DEFCONFIG_CMDS="rm ${ROOT_DIR}/common/arch/arm64/configs/${DEFCONFIG}" FILES=" arch/arm64/boot/Image.gz arch/arm64/boot/dts/qcom/sdm845-db845c.dtb +vmlinux +System.map "