792b143158
* origin/msm-5.4 at kernel.lnx.5.4-200305.1 soc: qcom: pmic_glink: add debugfs to filter logs msm: kgsl: Enable the CX GSDC before accessing IOMMU registers msm: kgsl: Move the IOMMU clocks to the KGSL device msm: kgsl: Move GMU to a component device msm: kgsl: Minor cleanups for kgsl bus probe msm: pcie: Revert "scale CX and rate change after DRV resume" defconfig: Enable CPU isolation cooling device for lahaina NFC: Add driver to configure NFC-I3C controller GPIOs soc: qcom: Kconfig: Fix the dependencies for minidump defconfig: lahaina-qgki: Move minidump to QGKI defconfig: lahaina: Enable qbt_handler DLKM qbt_handler: Make the qbt driver as DLKM for GKI msm: cvp: avoid OOB write while accessing memory clk: qcom: update the DisplayPort clocks scsi: ufs: crypto fix on QTI ufs iommu/arm-smmu: Cleanup qsmmuv500_iova_to_phys_hard() iommu/arm-smmu: Remove DOMAIN_ATTR_DEBUG iommu/arm-smmu: Cleanup arm_smmu_init() iommu/arm-smmu: Rationalize TLB sync timeout handling msm: kgsl: Make a device specific scales_bandwidth function msm-poweroff: Correct the SCM_DLOAD_BOTHDUMPS definition qcom_scm: Add entry for minidump download mode phy: ufs: Refactor phy_power_on and phy_calibrate callbacks dt-bindings: clock: Add support for clock ids for SHIMA drm: Add DisplayPort colorspace property creation function drm: Rename HDMI colorspace property creation function arm64: mm: improve the mem-offline device node availability check arm64: Honor limits set by boot parameter msm: cvp: Add AXI reset pulse msm: kgsl: Set default bus control to true defconfig: lahaina: Enable gpu devfreq governors on lahaina slim-msm-ngd: Check current state of sub system restart notifier slim-msm-ngd: Prevent system suspend during initialization defconfig: lahaina: enable QBT_HANDLER leds: qti-flash: Add maximum available flash current prediction qbt_handler: Change return type of qbt_poll scripts: gki: Ensure HOSTLD and HOSTAR are not changed scsi: ufs-qcom: Refactor phy_power_on/off calls scsi: ufs-qcom: Adjust the order of bus bandwidth voting and unvoting mm/oom-kill: Remove obsolete IS_ENABLED check mm/oom-kill: Add option to panic when killing foreground app defconfig: lahaina: Expose additional page debugging info mm, page_owner: set page owner info for tail pages mm/Kconfig: Re-add HAVE_USERSPACE_LOW_MEMORY_KILLER cnss2: Avoid double calling MHI force wake put cnss2: Add meta into as a segment to firmware RAM dump cnss2: Retry if PCI link training fails ANDROID: kbuild: avoid excessively long argument lists iommu/arm-smmu: Cleanup context fault logging logic trace/sched: Fix compilation issues on !SMP scsi: ufshcd-qti: Always allow vendor to configure clocks scsi: ufs-qcom: Get low power levels from devicetree scsi: ufshcd-qti: enable runtime-pm arm64: defconfig: Enable the pinctrl-shima driver pinctrl: qcom: Add support for Shima SoC pin control drivers: soc: qti: Add support for fingerprint driver ASoC: compare CPU DAI stream name to find BE DAI cnss2: Expose APIs to prevent and allow PCIe L1 state msm: pcie: add option to disable L1ss TO for DRV suspend msm: pcie: cache l1ss timeout in drv_info msm: pcie: scale CX and rate change after DRV resume msm: pcie: provide APIs to prevent and allow PCIe ASPM L1 mmc: sdhci-msm: Support Retention of SDCC Regs in CX Collapse mmc: sdhci-msm: Add SD card DLL setting for SRD104 Mode mmc: sdhci-msm: Add support for bus bandwidth voting cnss2: Extend idle restart timeout msm: ADSPRPC: Enable Asynchronous RPC cnss2: Avoid idle restart completely if reboot is in progress cnss2: Add sysfs entry for system shutdown cnss2: Set WLAON_QFPROM_PWR_CTRL_REG during power on and off cnss2: Add sanity check for cnss pm runtime APIs cnss2: check wlfw mac before switching to mission mode msm: adsprpc: Initialize adsp memory region scsi: ufshcd-qti: Fix null pointer check defconfig: arm64: enable required configs for trusted VM defconfig: arm64: Enable data defconfigs Revert "mm: oom-kill: Add lmk_kill possible for ULMK" iommu/arm-smmu: Add support for active-only interconnect votes sched: walt: Improve the scheduler memshare: Modify the driver to be dynamically loadable msm: ipa: create ipa framework arm64: defconfig: Enable Shima platform arm64: Kconfig: Add config option for Shima slim-msm-ngd: Depend on PIL driver notification instead of qmi msm: kgsl: Initialize LPAC registers interconnect: Print the tag in the debugfs summary ucsi: start usb host mode when partner type is power cable/ufp msm: kgsl: Remove the extra recovery hop msm: kgsl: Set bus scaling function during gmu probe msm: kgsl: Keep a copy of CP INIT cmdstream msm: kgsl: Clear halt before gmu boot qseecom: change qseecom_process_listener_from_smcinvoke firmware: qcom_scm: fix for missing listener id Merge fbe changes from upstream 5.4 msm: kgsl: Override UBWC configuration for A660 based on DDR type msm: kgsl: Add A660 hardware clock gating register values msm: ipa: Fix ipa3_wwan_xmit return type sched: walt: Improve the scheduler sched: walt: Improve the scheduler sched: walt: move walt_stats member in cfs_rq under CFS_BANDWIDTH sched: use rq_clock if WALT is not enabled trace: Add trace points for tasklet entry/exit defconfig: lahaina-qgki: Remove CONFIG_IIO config from QGKI defconfig: enable msm_performance driver on Lahaina interconnect: Move internal structs into a separate file interconnect: qcom: Add multiple voter support defconfig: Enable UFS BSG driver defconfig: lahaina-gki: enable the glink debug spmi controller driver spmi: add glink debug spmi controller driver haven: doorbell: Remove locks around read/send defconfig: arm64: Remove QTEE_SHM_BRIDGE scripts: gki: Add proper MAKE PATH pinctrl: qcom: Correctly configure the SDC2 pins ANDROID: Kconfig.gki: Remove most of the built in qcom clks include: regulator: Add header for RPM-SMD voltage levels dt-bindings: clock: update DisplayPort clock names for Lahaina drivers: llcc: Remove programming of cache override registers serial: msm_geni_serial: Set clock freq correctly for RUMI crypto: msm: add compat_qcedev to support 32bit process msm: adsprpc: protect access of context table soc: qcom: msm_perf: Add msm_performance module ion: don't wakeup refill threads for order-0 requests ion: Reduce secure system heap allocation time by stealing pages usb: dwc3: Do not initiate remote wakeup from core layer clk: qcom: remove flags for byte div clk src slim-msm-ngd: Add qmi deferred response check in pm resume slim-msm-ngd: Add wake lock to avoid race with suspend and SSR dt-bindings: ipcc: Add MPROC signal for TZ scsi: ufshcd-qti: Add quirk to disable fastauto mode scsi: ufshcd-qti: Fix hibern8 timeout during scaling clk: qcom: gpucc-lahaina: Remove CLK_IS_CRITICAL msm-geni-serial: Use dma_alloc_coherent to avoid dma map/unmap usb: gadget: f_fs: set req->num_sgs as 0 for non-sg transfer msm: kgsl: Enable I/O coherency on A660 kernel_headers: Add missing mem-buf.h UAPI header file memshare: Add snapshot of memshare driver thermal: adc-tm: Fix ADC_TM channel mapping thermal: adc-tm: Fix compilation recipe in makefile iio: adc: qcom-spmi-adc5: Add SID in ADC IIO channel properties ion: Fix pool refill error dt-bindings: interconnect: Add disp specific nodes for Lahaina iio: adc: Add full-scale voltage for PMIC7 ADC msm: ipa: Update debugfs to print rules correctly clk: qcom: clk-alpha-pll: Remove already enabled warning in PLL configs msm: ipa: Update WLAN pipes to use WLAN2 clients cnss2: Replace "%p" with "%pK" iio: adc: qcom-vadc-common: Change ADC7 die_temp output unit to mC defconfig: arm64: Enable QCOM_SCM driver arm64: Kconfig: Add ARCH_QCOM dependency for ARCH_QTI_VM defconfig: arm64: Add ARCH_QCOM config haven: Pass doorbell irq number to client callback interconnect: qcom: Remove duplicate compatible string interconnect: qcom: Configure QoS when provider is sync stated interconnect: qcom: Enable the QoS ports iommu: iommu-debug: Fix race with respect to test buffer allocation iommu: qti: Track iommu domains iommu: iommu-debug: Remove CONFIG_IOMMU_DEBUG_TRACKING arm64: defconfig: Disable CONFIG_IOMMU_DEBUG_TRACKING net: wireless: Add snapshot of db.txt Revert "cfg80211: reg: remove support for built-in regdb" interconnect: qcom: Do not set any QoS for the NSP defconfig: msm: Enable QUPv3 drivers on Lahaina QGKI perf image arm64: defconfig: Enable CPUFREQ-HW for Lahaina leds: qti-flash: Add support for qti_flash_led_prepare() msm: adsprpc: Cache invalidate optimization Revert "pinctrl: msm: Configure interrupts as input and gpio mode" msm: adsprpc: Cache flush operation optimization arm64: defconfig: Enable the mem-buf driver on Lahaina QGKI soc: qcom: mem-buf: Add support for inter-VM memory sharing msm: kgsl: Do not mark all buffers as iocoherent arm64: defconfig: Enable CONFIG_PANIC_ON_OOPS arm64: defconfig: Add LOCALVERSION strings for Lahaina clk: qcom: Cache vdd vote if clk is unprepared arm64: defconfig: Enable QCOM watchdog for Lahaina radio: RTC6226: fill device capabilities in video_device thermal: adc-tm: Correct a macro expression for PMIC7 ADC_TM msm: adsprpc: Remove output buffers from cache flush logic msm: adsprpc: Add error handling checks msm: adsprpc: Add force no flush and invalidate flag adsprpc: use uint for counters and maintain consistency in datatypes msm: adsprpc: Remove remote mappings after PD is up clk: qcom: gcc-lahaina: Enable gpu_memnoc_gfx and gpu_snoc_dvm_gfx always msm: cvp: buffer managerment optimization for Lahaina soc: qcom: Add forever loop after non-secure bite configuration defconfig: lahaina: enable FSA driver on Lahaina sched: Provide stub definitions for WALT haven: Add support for MEM_NOTIFY haven: Add support for MEM_SHARE/MEM_LEND haven: Add support for the MEM_ACCEPT call haven: Add support for the MEM_RELEASE/MEM_RECLAIM calls haven: Add support for the MEM_QCOM_LOOKUP_SGL call haven: Add support for the mem-buf driver's message queue haven: Add the memparcel handle as a well known haven type PM / devfreq: Remove dependencies between sysfs nodes and suspend count soc: qcom: Remove incorrect error check from Guest VM PIL Loader eud: Handle multiple events with eud interrupt i3c: i3c-master-msm-geni: Support for 3.4 Mhz,400 Khz kernel_headers: Fix headers not detected in incremental builds dma-mapping-fast: Align memory allocation to dma_alloc_attrs expectations msm: cvp: Disable CVP power collapse leds: qti-flash: Add individual APIs to enable and disable switch defconfig: lahaina-gki: Enable USB Audio QMI Service driver sound: usb: Fix incorrect type assignments arm64: defconfig: Enable USB_F_FS_IPC_LOGGING for lahaina_debug, take 3 power: supply: qti_battery_charger: Handle generic notification soc: qcom: qti_battery_debug: Update QBG device context dump length arm64: defconfig: Enable new touchscreen on Lahaina arm64: defconfig: Enable touchscreen on Lahaina defconfig: lahaina: Enable KGSL driver serial: msm_geni_serial: Cover console under GENI_CONSOLE config defconfig: lahaina: Enable DYNAMIC_DEBUG firmware: shmbridge: Enable shmbridge by default serial: msm_geni_serial: Manage HSUART clocks when read HW Ver arm64: defconfig: Enable QCOM EUD driver clk: qcom: clk-rpmh: Wait for completion when enabling clocks ANDROID: serdev: Fix platform device support msm: tsens: Add code to support thermal framework changes soc: qcom: rpmh: Add completion status to rpmh debug information msm: kgsl: Add rgmu_init() for firmware loading leds: qti-flash: Update interrupt names ASoC: Update the widgets power up/down sequence msm: cvp: Enable CVP auto PIL thermal: adc-tm: Fix match table description and Makefile ASoC: pcm: update the start-up sequence for playback msm: synx: redesign callback registration and dispatch ion: msm: Add support for secure allocations for the Trusted UI(TUI) VMID soc: qcom: secure_buffer: Add support for the Trusted UI(TUI) VMID lib/list_sort: fix function type mismatches kernel_headers: Add missing header for lahaina crypto: msm: Rename qcrypto module crypto: msm: Build qcedev and qcedev-smmu together crypto: msm: Fix compile errors crypto: msm: Fix incorrect boolean logic Revert "defconfig: lahaina: enable FSA driver on Lahaina" Add hdcp_qseecom driver snapshot for Lahaina mm: set the watermark_boost before updating the low and high wmarks mm, oom: check LMK enabled for pagefault_out_of_memory() mm: oom: enable the sysctl_reap_mem_on_sigkill by default defconfig: Enable userspace low memory killer for Lahaina mm, oom: Modify default value of panic_on_oom mm: oom-kill: Add lmk_kill possible for ULMK defconfig: arm64: Add SELinux configs defconfig: lahaina: Enable CONFIG_EDAC_QGKI flag drivers: edac: Avoid configuring interrupt register in polling mode arm64: defconfig: Enable Haven HVC Driver tty: Add Haven RM Console driver haven: rm: Add VM Services - Console APIs haven: rm: Add IRQ Management APIs for IRQ lending msm: kgsl: Fix gdsc disable timeout during reset msm: kgsl: Always boot GMU with default CM3 config ion: msm: Add support for the Trusted UI(TUI) dynamic carveout heap coresight-etm4x: Don't set LPOVERRIDE bit when tupwr-disable is true ASoC: pcm: update arch_setup_dma_ops to of_dma_configure for hostless mm: make faultaround produce old ptes wil6210: prevent ioctl access while in reset or suspend drivers: edac: Defer work for the polling EDAC driver edac: Allow the option of creating a deferrable work for polling ASoC: dt-bindings: update soundwire port configurations defconfig: lahaina: Enable hv-haptics driver input: qcom-hv-haptics: correct pattern source checking logic defconfig: lahaina: enable FSA driver on Lahaina defconfig: lahaina: Enable the Type-C alternate mode driver soc: qcom: Add Type-C alternate mode driver ion: Add support for dynamic carveout heaps i3c: i3c-master-msm-geni: Propagate tip changes from 4.19 leds: qti-flash: Fix updating flags when disabling flash/torch device sound: usb: Add snapshot for usb audio qmi driver ion: msm: Add support for addition/removal of memory to ION heaps ion: msm: Add support for querying the security state of heaps ion: msm: Add support for mapping VMIDs to ION flags Bluetooth: Remove unused regulator entries msm: cvp: Relocate Synx init/uninit calls qseecom: add compat_qseecom to support 32bit process drivers: llcc: edac: Add a config flag for non GKI variants msm: cvp: Enable CVP power collapse and LLC defconfig: arm64: Enable wakelock feature for lahaina defconfig: Enable ARCH_QTI_VM config arm64: Kconfig: Add config option for QTI's virtual machine soc: qcom: ipcc: Do not reset the device during probe power: reset: use nvmem restart_reason sched/fair: bonus vruntime for task boost 3 defconfig: Split CNSS configs to GKI and debug devfreq: memlat: Add CPU Hotplug and Idle awareness in memlat input: touchscreen: Enable new Focaltech touch driver soc: qcom: rpmh: Correct rpm_msg pointer offset and add list_del drivers: cpuidle: lpm-levels: Move local_irq_enable drivers: soc: qcom: rpmh: Correctly set dirty flag include/linux: add HDCP QSEECOM header file arm64: defconfig: Enable USB Mass Storage drivers on Lahaina arm64: defconfig: lahaina: Enable GuestVM PIL support soc: qcom: Add Guest VM PIL loader dwc3-msm: Add USB role switch handling ucsi: Add usage of USB role switch functionality scsi: ufs: Fix phy init sequence haven: Add VM management support for clients arm64: defconfig: Enable haven doorbell driver haven: Add haven doorbell driver arm64: defconfig: Enable Haven virtualization drivers haven: Add Haven Resource Manager Driver arm64: defconfig: Enable extcon USB GPIO driver on Lahaina msm: kgsl: Make the scratch privileged clk: qcom: gdsc-regulator: Add support for proxy consumers msm: kgsl: Set busmon driver data msm: kgsl: Do not call dispatcher functions directly drivers: thermal: Avoid trip evaluation for disabled thermal zone haven: Add Haven Message Queue driver arch: arm64: hh: Add Haven arm64 hypercall interface haven: hcall: Add Haven hypercall interface haven: Add common Haven types and macros Revert "rpmsg: glink: Set tail pointer to 0 at end of FIFO" Revert "PM / QoS: Redefine FREQ_QOS_MAX_DEFAULT_VALUE to S32_MAX" Revert "UPSTREAM: firmware/qcom_scm: Add scm call to handle smmu errata" Revert "UPSTREAM: firmware: qcom_scm-64: Add atomic version of qcom_scm_call" Revert "UPSTREAM: cpufreq: qcom-hw: Move driver initialization earlier" msm: kgsl: Dump maximum possible IB1 size in snapshot scsi: ufs-qti: Remove the second init in hba probe path ufs: ufs-qcom: Clean up UFS PHY mode and submode selection msm: kgsl: Handle error from nvmem_cell_read while reading speed_bin fuse coresight: csr: read MSR start address and size from dt regulator: Add snapshot of qpnp-amoled regulator driver msm: cvp: fix DSP probe crash sched: micro optimization for sched_energy_present extcon: usb-gpio: Add support for optional VBUS output enable GPIO msm: ipa4: debug patch gsi interrupt issue usb: ep0: complete the pending control request before soft-disconnect mhi: dev: uci: add support for DIAG and DCI clients msm: cvp: Add debug node control power collapse msm: pcie: always enable BDF to SID for PCIe RC mode msm: adsprpc: detect privileged processes based on group ID eud: Set pdev->id value to 0 and add set_mctrl() API usb: dwc3: Remove extra format specifier psi: Improve ftrace events soc: qcom: spcom: propagate print macro parameters to pr_*() psi: print threshold time in decimal psi: use proper accessor msm: adsprpc: Separate header and non-ion copy buffer sched/uclamp: Fix a bug in propagating uclamp value in new cgroups input: qti-hv-haptics: Add debugfs parameters to configure effects input: qcom,hv-haptics: Add DT definitions input: misc: Add initial driver to support QTI HV haptics clk: qcom: clk-alpha-pll: Fix zonda set_rate failure when PLL is disabled arm64: Call idle notifiers in CPU idle ANDROID: idle_notifier: Add generic idle notifiers defconfig: lahaina: enable QTI battery debug driver soc: qcom: add initial version of qti_battery_debug driver kernel_headers: Add missing kernel headers to lahaina defconfig: enable QSEECOM as a GKI module qseecom: use of_reserved_mem_lookup to get heap base and size iommu/arm-smmu: Use an atomic context when fastmap is set on GKI msm: pcie: remove PCI_MSM_MSI dependencies msm: pcie: add support to control pipe clk mux for LPM msm: pcie: add support for gcc_aggre_noc_pcie_*_axi_clk qseeecom: Fix possible unused function clk: qcom: gpucc: Enable cx_gmu, hub_cx_int_clk always usb: gadget: configfs: Add max_speed setting iommu-debug: allocate test_virt_addr when reading it iommu: iommu-debug: Fix return code for iommu_debug_dma_unmap_write Add support BT/FM CHK 3.2 chip f_fs: Return correct USB endpoint descriptor to user space daemon usb: gadget: Update functions for SSP descriptors defconfig: lahaina: correct PMIC ADC driver config enablement defconfig: lahaina: remove disablement of SPMI temp alarm driver clk: qcom: gpucc: Add support for HLOS1_VOTE_GPU_SMMU_CLK dt-bindings: clock: Add support for HLOS1_VOTE_SMMU_CLK hrtimer: fix issue during core isolation kernel headers: Update comparison logic scsi: ufs: Make crypto updates on QTI ufs arm64: defconfig: Enable MSM PCIe and MHI Host driver for lahaina msm: pcie: configure PCIe and MSI as modules in Makefile iommu: io-pgtable-fast: Fix IOMMU configuration usage in self-tests dwc3-msm: Add dwc3_msm_release_ss_lane() API msm: cvp: Support releasing persistent buffer msm: kgsl: Move secvid programming to gpudev msm: kgsl: Do dispatcher init at first open msm: kgsl: Move APRIV config to a6xx start msm: kgsl: Move preemption start to ringbuffer start msm: kgsl: Move ringbuffer global allocations to init time msm: kgsl: Fix memory leak in a6xx_init msm: kgsl: Create first_open and last_close msm: kgsl: Add function to get context bank number Revert "devfreq: bimc_bwmon: Add support to enable BWMON clks" arm64: defconfig: Enable memory debug configs on Lahaina usb: dwc3-msm: Fix out-of-bounds access in bus voting pwm: pwm-qti-lpg: Refactor qpnp_lpg_parse_dt() for readability soc: fsa4480-i2c: Register with UCSI for audio accessory notifications ucsi: ucsi_glink: Notify upon change in connector status linux: scm: Update the API for assign memory to subsys arm64: defconfig: enable flash LED driver on Lahaina leds: add support for QTI flash LED driver ANDROID: Re-use SUGOV_RT_MAX_FREQ to control uclamp rt behavior ANDROID: cpufreq/schedutil: Select frequency using util_avg for RT pwm: pwm-qti-lpg: Handle nvmem device lookup failure properly clk: qcom: clk-rpmh: Mark rfclka2 as optional for Lahaina tracing: rework sched_preempt_disable trace point implementation sched: core: reset preemption/irqsoff disable timestamp defconfig: enable schedutil governor on Lahaina msm: cvp: Use compiler data type in uapi sched/core: Fix size of rq::uclamp initialization iommu/arm-smmu: log outstanding transactions on sync timeout msm: gsi: Fix the WARNING for gsi_write_channel_scratch arm64: defconfig: Enable QRTR MHI on lahaina_debug interconnect: qcom: Add QoS config support net: qrtr: Introduce MHI transport for qrtr PM / devfreq: Make governor registration less verbose regulator: qcom_pm8008-regulator: correct chip-en chip variable type cpuidle: lpm-levels: update lpm_disallowed() with sched hints mhi: Export more symbols mhi: Fix compile errors msm: pcie: update PCIe RC and MSI driver to compile as GKI modules regulator: qcom_pm8008: correct parent supply voltage voting arm64: defconfig: Enable CFI_PERMISSIVE flag scripts: gki: Add LD to make args to enable CFI/LTO soc: qcom: glink_pkt: Fix minor version in device creation Revert "usb: dwc3: gadget: Fix logical condition" arm64: defconfig: Enable SG support in Lahaina GKI defconfig: lahaina: enable the battery charger driver power: supply: Add QTI battery charger defconfig: lahaina-gki: enable the qcom_pm8008-regulator driver regulator: qcom_pm8008: allow multiple PM8008 instances with unique names regulator: qcom_pm8008: change reg property format from u16 to u32 regulator: qcom_pm8008: Add LDO OCP interrupt support regulator: add a regulator driver for the PM8008 PMIC defconfig: Add kernel hardening features dwc3: gadget: Fix dr_mode check with USB device mode APIs msm: ipa4: Fix to unmap the page if skb allocation failed defconfig: lahaina-gki: enable various USB CONFIGFS functions usb: gadget: f_cdev: Fix func_suspend usb: gadget: Make USB_CONFIGFS_NCM buildable as a module usb: gadget: f_gsi: Fix function suspend usb: gadget: Add function wakeup support cnss2: Add daemon_support dts option for QCA6390 input: touchscreen: Add new Focaltech touch driver regulator: refgen: add support for proxy consumers regulator: rpmh-regulator: support parent supply specification in subnodes msm: kgsl: Remove write-only register from snapshot arm64: defconfig: Enable TSENS driver for lahaina memory_dump: add new feature for cpuss dump iommu/iova: Limit IOVA alignment using CONFIG_ARM64_DMA_IOMMU_ALIGNMENT power: reset: Add qcom_dload command to poweroff driver msm: ipa: clear the ipa pipeline before any ep config Revert "cnss2: Add support to monitor PM QOS votes" net: cnss2: Build generic netlink support by default sched/fair: consider uclamp boost while deciding the start_cpu NFC: Add support to get NFC interface type msm: ipa: split quota stat memory between q6 and ap Example kernel headers header_lib package uapi: sound: remove redundant QGKI config checks Revert "FROMLIST: scsi: ufs-qcom: Adjust bus bandwidth voting and unvoting" msm: kgsl: Remove icc path from gmu device msm: kgsl: Add support for multiple ddr tables msm: kgsl: Setup LPAC global pagetable msm: kgsl: Check snapshot status after snapshot msm: kgsl: Update a660 CP indexed register ranges qcom: soc_sleep_stats: Correctly read accumulated sleep length iommu/arm-smmu: Replace while loop with for_each_set_bit iommu/arm-smmu: enhance tlb sync timeout handler uapi: sound: remove redundant QGKI config checks soc: qcom: pmic_glink: add support for multiple pmic_glink devices psi: Use deferrable psi_avgs_work psi: Introduce ftrace events cnss2: NULL terminate FW build ID string arm64: defconfig: Enable CMA performance optimizations on Lahaina mm: Allow only __GFP_CMA allocations from Movable zone mm: fix the use of ALLOC_CMA zram: allow zram to allocate CMA pages mm: fix cma accounting in zone_watermark_ok mm: add cma pcp list arm64: defconfig: Re-enable USB_F_FS_IPC_LOGGING for lahaina_debug cma: redirect page allocation to CMA arm64: defconfig: Enable CMA debug configs on Lahaina Revert "mm: cma: make writeable CMA debugfs optional" ion: Make MSM pool auto refill built-in only soc: qcom: Add module dependence for spss_utils input: touchscreen: Enable FTS Touch driver input: touchscreen: Add STMicroelectronics Touchscreen driver drivers: lpm-levels: Use cpu_do_idle for shallower LPM entry wil6210: add ioctl interface wil6210: fix vendor command policy for vendor unspec commands wil6210: add policy for all vendor commands NFC: Made the QTI NFC drivers GKI compliant Revert "defconfig: lahaina: Enable QRNG driver" interconnect: qcom: Add sync_state for Lahaina QNOC defconfig: Lahaina: update external display module config soc: pil: Disable error-ready timeout uapi: sound: remove redundant QGKI config checks smp: Wake up all idle CPUs when suspending to idle uapi: sound: remove redundant QGKI config checks uapi: sound: remove redundant QGKI config checks uapi: sound: remove redundant QGKI config checks arm64: defconfig: Enable CONFIG_MODULE_SIG to allow module signing defconfig: lahaina: enable QTI crypto driver msm: cvp: Avoid overflowing the stack frame arm64: defconfig: Enable RTB driver devfreq: bwmon: Export symbols driver: soc: qcom: Fix function prototype PM / devfreq: memlat: Export symbols drivers: qcom: Fix a parameter for sysfs_attr_init() PM / devfreq: Fix CONFIG check for cache HW monitor prototype clocks: Add a missing header to clk/qcom/common.h PM /devfreq: Fix function prototype PM / devfreq: memlat: Use the cpumask_pr_args macros msm: kgsl: Remove unused header from gpu_bwmon thermal: Fix trace_thermal_zone_trip dma-buf: Export missing dma_buf_ref_mod symbol iommu: dma-mapping-fast: Export symbols drivers: pinctrl: Export msm_qup_write PM / devfreq: Add MODULE_LICENSE for arm-memlat-mon PM / devfreq: Export tracepoint symbols firmware: qcom-scm: Force built in drivers to depend on QCOM SCM coresight: Remove duplicate Kconfig entries include: Fixup headers to pass KERNEL_HEADER_TEST soc: spcom: Add ipc logging engine uapi: sound: remove redundant QGKI config check msm: IPA: remove unsupport enum for uC debug stats msm: cvp: CVP DSP driver restructure for Lahaina arm64: defconfig: Enable USB role switch driver on lahaina clk: qcom: Fix accessing of clks element during the probe usb: gadget: Don't perform start xfer with USB BAM endpoint msm: cvp: FD support in fence path cpufreq: schedutil: fix CPU util when WALT is enabled drivers: thermal: Add support to change thermal zone configuration arm64: defconfig: Enable debug cc clock driver for Lahaina arm64: defconfig: Enable CONFIG_BALANCE_ANON_FILE_RECLAIM on Lahaina arm64: defconfig: Enable clean page reclaim tracking on Lahaina iommu/arm-smmu: Fix memory leak with respect to TBU data structures msm: cvp: Enable CVP driver on DSP defconfig: change default governor to performance on lahaina hwrng: update qrng driver copyright and license marking msm:ipa: Address the -Wmisleading-indentation warning socinfo: Avoid sysfs entry name changes between kernel versions clk: qcom: rcg: update the DFS macro for RCG msm: pcie: correct error check of wakeup source registration msm: kgsl: Disable GBIF_CLIENT_QOS on a660v1 msm: kgsl: Skip the intersecting vma clk: qcom: debug: Remove use of hw init clk: qcom: Add debug cc clk measure nodes for Lahaina arm64: defconfig: Remove CONFIG_SPS from lahaina_debug.config msm: ipa4: Fix using of tag_desc NFC: Add NFC hardware check and get info ioctl cpufreq: qcom-cpufreq-hw: Initialize the data type for offsets to u16 ASoC: core: Add compat ioctl support for listen driver msm: ipa: Fix using generic name for offload connect/disconnect msm: ipa: stop remote IPA channels if tethering is not enabled arm64: defconfig: Enable SMCInvoke driver for Lahaina SMCInvoke: Add SMCInvoke driver snapshot for Lahaina msm: cvp: remove version and deprecated functions qseecom: update interface as per new scm driver msm: cvp: Add flush api in uapi drivers: thermal: Add config sysfs entry support for thermal zones mm: swap: Add null pointer check selinux: stop flooding the log buffer fs/buffer.c: Revoke LRU when trying to drop buffers defconfig: arm64: Enable sched debug features on Lahaiana sched/core: Fix compilation issues when WALT is enabled sched/fair: skip 6% energy check when best_energy_cpu is idle interconnect: qcom: Change bcm voter initlevel clk: qcom: gcc-lahaina: Add PCIe and UFS clock muxes dt-bindings: clock: gcc: Add PCIe pipe and UFS symbol clocks clk: qcom: Fix incorrect mux_get_parent mapping defconfig: Lahaina: enable external display module msm: ipa: vote for device side through mhi for tethering use cases msm: ipa: tune mhip ring size shrink to 6 elements defconfig: lahaina-qgki: Enable thermal drivers msm:ipa: mhip ring size optimization msm:ipa: uc based flow control for UL tethering offload msm:ipa: stop UL IPA TX channel at the end of the probe msm:ipa: continue ODL logging on MHIP post modem SSR coresight: csr: update programming sequence of enabling etr to bam coresight: fix tmc flush timeout issue coresight: tmc: leverage etr disable/enable when switching mode coresight: tmc: add usb support to etr platform: msm: add support for external display module usb: typec: ucsi: fix spelling mistake "connetor" -> "connector" usb: typec: ucsi: Actually enable all the interface notifications usb: typec: ucsi: Store the notification mask usb: typec: ucsi: Fix the notification bit offsets PM / QoS: Reorder pm_qos/freq_qos/dev_pm_qos structs PM / QoS: Redefine FREQ_QOS_MAX_DEFAULT_VALUE to S32_MAX arm64: defconfig: Enable USB QDSS and USB BAM drivers on Lahaina msm: kgsl: Check correct register for clamps on a660 msm: kgsl: Set DMA Mask for gmu device msm: kgsl: Setup CP_CHICKEN_DBG register for a660 msm: kgsl: Add A660 to the gpulist dt-bindings: clock: add MDSS clock names for Lahaina iommu/arm-smmu: avoid possible deadlock during map_sg iommu: Fixup selftests ion: Fix API changes in dma-buf-ref.c sched: walt: Improve the scheduler sched: walt: improve the scheduler sched/fair: Don't place wakee on waker cpu if colocate enabled arm64: defconfig: Enable qseecom driver for Lahaina msm: kgsl: Don't error out if dst size is not equal to src in copy_prop arm64: defconfig: Enable SPS driver for lahaina msm:ipa: Race condition observed during client disconnect defconfig: Enable DCC driver for GKI dt-bindings: Add new port types for SWR 1.6 feature HID: Trace events for external sensor driver HID: qvr: Correct axes orientation HID:correct mag axis config for External viewer HID: qvr: wait event interruptible timeout change HID: qvr: Decrease wait event interruptible timeout value HID: qvr: Optimized Viewer Requirements HID: qvr: Code refactoring HID: Read calibration data from external sensor HID: Filtering mag data depending on timestamp HID: external sensor driver msm: adsprpc: HMX,Async-FastRPC capability sched/walt: Avoid walt irq work in offlined cpu sched/fair: Improve the scheduler interconnect: qcom: Fix MACRO fields for Lahaina iinterconnect: qcom: Hold high bandwidth vote for keepalive BCMs scsi: ufshcd-qti: Port the new crypto framework to QTI ufs msm: ipa: Add SMMU driver as soft dependency for IPA include: sound: add stub function for wcd dsp manager iommu/arm-smmu: Rename the ARM SMMU module regmap: Quit the read-loop based on position of file-offset arm64: qcom: Enable QTI config scsi: ufs-qti: Check for valid vcc before accessing iommu/arm-smmu: Use dev_iommu_fwspec_get() to retrieve IOMMU fwspec iommu/arm-smmu: Unregister TBU driver when unloading the SMMU module crypto: msm: Add QTI crypto drivers iommu/arm-smmu: Add missing iommu_device_unregister() msm: ipa: fix ipa_disable_apps_wan_cons_deaggr declaration Revert "drivers: qcom: cmd-db: modularize commandDB driver" msm: kgsl: Calculate the offset of context bank 0 arm64: defconfig: Enable poweroff driver for Lahaina GKI power: reset: Add snapshot of msm-poweroff msm: kgsl: Refactor IOMMU contexts msm: kgsl: Support global secure memory objects msm: kgsl: Add a function to map global buffers msm: ipa3: IPA clock vote ioctl msm: ipa3: IPA clock vote ioctl msm: tsens: Add Tsens driver snapshot arm64: defconfig: Enable slimbus driver config for lahaina msm: cvp: remove additional checks in response_handler defconfig: lahaina: Enable ADC drivers for lahaina coresight: tmc: etr: Add sys interface for ETR thermal: adc-tm: Add support for PMIC7 ADC_TM thermal: adc-tm: Add ADC_TM driver snapshot msm: ipa : Fix KW array index issue on dbg_buff msm: IPA: add the missing iounmap handle arm64: defconfig: Enable all memory hotplug related configs on Lahaina soc: qcom: mem-offline: Clear page-table entries after offline soc: qcom: mem-offline: Set offlinable region based on minimum DDR sizes arm64: Update dram end address while randomizing base arm64: mm/memblock: Update memory limit calculation drivers: base: expose amount allocated per block dma-mapping-fast: Remap contiguous pages only when needed arm64: mm: Fix compilation when CONFIG_MEMORY_HOTPLUG is not enabled mm, oom: Try to online memory block before killing arm64: Make section size configurable for memory hotplug mm/memory_hotplug: Add hot-added memory blocks to ZONE_MOVABLE type arm64: Override memory limit set by boot parameter soc: qcom: mem-offline: Add a snapshot of the mem-offline driver qseecom: Add qseecom driver snapshot for Lahaina defconfig: Lahaina: Enable support for WLAN arm64: defconfig: Enable TSENS driver for lahaina firmware: qcom_scm: Add changes for tsens reinit NFC: Add NFC I2C and I3C drivers for SNxxx Linux 5.4.7 iwlwifi: pcie: move power gating workaround earlier in the flow nbd: fix shutdown and recv work deadlock v2 mmc: sdhci: Add a quirk for broken command queuing mmc: sdhci: Workaround broken command queuing on Intel GLK mmc: sdhci-of-esdhc: fix P2020 errata handling mmc: sdhci: Update the tuning failed messages to pr_debug level mmc: sdhci-of-esdhc: Revert "mmc: sdhci-of-esdhc: add erratum A-009204 support" mmc: sdhci-msm: Correct the offset and value for DDR_CONFIG register ocxl: Fix concurrent AFU open and device removal powerpc/irq: fix stack overflow verification powerpc/vcpu: Assume dedicated processors as non-preempt x86/mce: Fix possibly incorrect severity calculation on AMD x86/MCE/AMD: Allow Reserved types to be overwritten in smca_banks[] x86/MCE/AMD: Do not use rdmsr_safe_on_cpu() in smca_configure() x86/intel: Disable HPET on Intel Coffee Lake H platforms KVM: arm64: Ensure 'params' is initialised when looking up sys register KVM: arm/arm64: Properly handle faulting of device mappings kvm: x86: Host feature SSBD doesn't imply guest feature AMD_SSBD kvm: x86: Host feature SSBD doesn't imply guest feature SPEC_CTRL_SSBD KVM: PPC: Book3S HV: Fix regression on big endian hosts iocost: over-budget forced IOs should schedule async delay ext4: validate the debug_want_extra_isize mount option at parse time ext4: unlock on error in ext4_expand_extra_isize() ext4: check for directory entries too close to block end ext4: fix ext4_empty_dir() for directories with holes clk: imx: pll14xx: fix clk_pll14xx_wait_lock clk: imx: clk-composite-8m: add lock to gate/mux clk: imx: clk-imx7ulp: Add missing sentinel of ulp_div_table pinctrl: baytrail: Really serialize all register accesses serial: sprd: Add clearing break interrupt operation tty/serial: atmel: fix out of range clock divider handling staging: comedi: gsc_hpdi: check dma_alloc_coherent() return value platform/x86: hp-wmi: Make buffer for HPWMI_FEATURE2_QUERY 128 bytes intel_th: msu: Fix window switching without windows intel_th: Fix freeing IRQs intel_th: pci: Add Elkhart Lake SOC support intel_th: pci: Add Comet Lake PCH-V support USB: EHCI: Do not return -EPIPE when hub is disconnected mm: vmscan: protect shrinker idr replace with CONFIG_MEMCG KEYS: asymmetric: return ENOMEM if akcipher_request_alloc() fails cpufreq: Avoid leaving stale IRQ work items during CPU offline efi/memreserve: Register reservations as 'reserved' in /proc/iomem spi: fsl: use platform_get_irq() instead of of_irq_to_resource() spi: fsl: don't map irq during probe usbip: Fix error path of vhci_recv_ret_submit() usbip: Fix receive error in vhci-hcd when using scatter-gather can: flexcan: add low power enter/exit acknowledgment helper ARM: dts: Fix vcsi regulator to be always-on for droid4 to prevent hangs s390/ftrace: fix endless recursion in function_graph tracer md: avoid invalid memory access for array sb->dev_roles RDMA/siw: Fix post_recv QP state locking ath10k: Revert "ath10k: add cleanup in ath10k_sta_state()" drm/amdgpu: fix uninitialized variable pasid_mapping_needed usb: xhci: Fix build warning seen with CONFIG_PM=n spi: cadence: Correct handling of native chipselect spi: dw: Correct handling of native chipselect selftests: net: tls: remove recv_rcvbuf test can: kvaser_usb: kvaser_usb_leaf: Fix some info-leaks to USB devices can: flexcan: poll MCR_LPM_ACK instead of GPR ACK for stop mode acknowledgment can: flexcan: fix possible deadlock and out-of-order reception after wakeup can: j1939: j1939_sk_bind(): take priv after lock is held can: m_can: tcan4x5x: add required delay after reset can: xilinx_can: Fix missing Rx can packets on CANFD2.0 iommu/vt-d: Allocate reserved region for ISA with correct permission iommu/vt-d: Set ISA bridge reserved region as relaxable iommu/vt-d: Fix dmar pte read access not set error iommu: set group default domain before creating direct mappings iommu: fix KASAN use-after-free in iommu_insert_resv_region tpm: fix invalid locking in NONBLOCKING mode tpm_tis: reserve chip for duration of tpm_tis_core_init mmc: mediatek: fix CMD_TA to 2 for MT8173 HS200/HS400 mode Revert "mmc: sdhci: Fix incorrect switch to HS mode" btrfs: don't prematurely free work in scrub_missing_raid56_worker() btrfs: don't prematurely free work in reada_start_machine_worker() MIPS: futex: Restore \n after sync instructions net: wireless: intel: iwlwifi: fix GRO_NORMAL packet stalling ibmvnic: Fix completion structure initialization RDMA/bnxt_re: Fix chip number validation Broadcom's Gen P5 series bpf: Provide better register bounds after jmp32 instructions RDMA/bnxt_re: Fix stat push into dma buffer on gen p5 devices RDMA/bnxt_re: Fix missing le16_to_cpu tools, bpf: Fix build for 'make -s tools/bpf O=<dir>' net: phy: initialise phydev speed and duplex sanely ice: Fix setting coalesce to handle DCB configuration ice: Only disable VF state when freeing each VF resources drm/amdgpu: fix bad DMA from INTERRUPT_CNTL2 mips: fix build when "48 bits virtual memory" is enabled libtraceevent: Fix memory leakage in copy_filter_type crypto: vmx - Avoid weird build failures mac80211: consider QoS Null frames for STA_NULLFUNC_ACKED crypto: sun4i-ss - Fix 64-bit size_t warnings on sun4i-ss-hash.c crypto: sun4i-ss - Fix 64-bit size_t warnings s390/cpumf: Adjust registration of s390 PMU device drivers mt76: fix possible out-of-bound access in mt7615_fill_txs/mt7603_fill_txs net: ethernet: ti: ale: clean ale tbl on init and intf restart ASoC: soc-pcm: check symmetry before hw_params fbtft: Make sure string is NULL terminated iwlwifi: check kasprintf() return value bnxt_en: Improve RX buffer error handling. s390/kasan: support memcpy_real with TRACE_IRQFLAGS s390/crypto: Fix unsigned variable compared with zero perf probe: Fix to show function entry line as probe-able perf session: Fix decompression of PERF_RECORD_COMPRESSED records brcmfmac: remove monitor interface when detaching net-af_xdp: Use correct number of channels from ethtool x86/insn: Add some Intel instructions to the opcode map ASoC: Intel: bytcr_rt5640: Update quirk for Acer Switch 10 SW5-012 2-in-1 firmware_loader: Fix labels with comma for builtin firmware net: phy: avoid matching all-ones clause 45 PHY IDs bnxt_en: Return proper error code for non-existent NVM variable selftests, bpf: Workaround an alu32 sub-register spilling issue selftests, bpf: Fix test_tc_tunnel hanging perf/core: Fix the mlock accounting, again ASoC: wm5100: add missed pm_runtime_disable spi: st-ssc4: add missed pm_runtime_disable ASoC: wm2200: add missed operations in remove and probe failure sched/uclamp: Fix overzealous type replacement btrfs: don't prematurely free work in run_ordered_work() btrfs: don't prematurely free work in end_workqueue_fn() mmc: tmio: Add MMC_CAP_ERASE to allow erase/discard/trim requests crypto: virtio - deal with unsupported input sizes xhci-pci: Allow host runtime PM as default also for Intel Ice Lake xHCI tun: fix data-race in gro_normal_list() spi: tegra20-slink: add missed clk_unprepare regulator: core: Let boot-on regulators be powered off ASoC: wm8904: fix regcache handling iwlwifi: mvm: fix unaligned read of rx_pkt_status bcache: fix deadlock in bcache_allocator tracing/kprobe: Check whether the non-suffixed symbol is notrace MIPS: ralink: enable PCI support only if driver for mt7621 SoC is selected tracing: use kvcalloc for tgid_map array allocation RDMA/efa: Clear the admin command buffer prior to its submission qtnfmac: fix using skb after free x86/crash: Add a forward declaration of struct kimage qtnfmac: fix invalid channel information output qtnfmac: fix debugfs support for multiple cards cpufreq: Register drivers only after CPU devices have been registered bcache: fix static checker warning in bcache_device_free() parport: load lowlevel driver if ports not found nvme: Discard workaround for non-conformant devices net: ethernet: ti: Add dependency for TI_DAVINCI_EMAC s390/disassembler: don't hide instruction addresses r8169: respect EEE user setting when restarting network net: dsa: sja1105: Disallow management xmit during switch reset ASoC: Intel: kbl_rt5663_rt5514_max98927: Add dmic format constraint bpf, testing: Workaround a verifier failure for test_progs iio: dac: ad5446: Add support for new AD5600 DAC ASoC: rt5677: Mark reg RT5677_PWR_ANLG2 as volatile spi: pxa2xx: Add missed security checks media: vim2m: media_device_cleanup was called too early media: vicodec: media_device_cleanup was called too early EDAC/ghes: Fix grain calculation iio: cros_ec_baro: set info_mask_shared_by_all_available field media: v4l2-ctrl: Lock main_hdl on operations of requests_queued. media: cedrus: Use helpers to access capture queue media: si470x-i2c: add missed operations in remove ice: delay less crypto: atmel - Fix authenc support when it is set to m soundwire: intel: fix PDI/stream mapping for Bulk media: pvrusb2: Fix oops on tear-down when radio support is not present selftests: net: Fix printf format warnings on arm fsi: core: Fix small accesses and unaligned offsets via sysfs ath10k: fix get invalid tx rate for Mesh metric media: exynos4-is: fix wrong mdev and v4l2 dev order in error path drm/amdgpu: Avoid accidental thread reactivation. selftests: proc: Make va_max 1MB cgroup: freezer: don't change task and cgroups status unnecessarily s390/bpf: Use kvcalloc for addrs array libbpf: Fix negative FD close() in xsk_setup_xdp_prog() perf probe: Filter out instances except for inlined subroutine and subprogram perf probe: Skip end-of-sequence and non statement lines perf probe: Fix to show calling lines of inlined functions perf probe: Return a better scope DIE if there is no best scope net: avoid potential false sharing in neighbor related code perf probe: Skip overlapped location on searching variables perf parse: If pmu configuration fails free terms xen/gntdev: Use select for DMA_SHARED_BUFFER ice: Check for null pointer dereference when setting rings drm/amdgpu: fix potential double drop fence reference drm/amd/powerplay: fix struct init in renoir_print_clk_levels drm/amdgpu: disallow direct upload save restore list from gfx driver perf tools: Splice events onto evlist even on error perf tools: Fix cross compile for ARM64 perf probe: Fix to probe a function which has no entry pc libsubcmd: Use -O0 with DEBUG=1 perf probe: Fix to show inlined function callsite without entry_pc perf probe: Fix to show ranges of variables in functions without entry_pc perf probe: Fix to probe an inline function which has no entry pc perf probe: Walk function lines in lexical blocks perf jevents: Fix resource leak in process_mapfile() and main() perf probe: Fix to list probe event with correct line number perf cs-etm: Fix definition of macro TO_CS_QUEUE_NR perf probe: Fix to find range-only function instance rtlwifi: fix memory leak in rtl92c_set_fw_rsvdpagepkt() drm: msm: a6xx: fix debug bus register configuration RDMA/core: Fix return code when modify_port isn't supported ALSA: timer: Limit max amount of slave instances spi: img-spfi: fix potential double release bnx2x: Fix PF-VF communication over multi-cos queues. spi: dw: Fix Designware SPI loopback media: vivid: media_device_cleanup was called too early ASoC: SOF: topology: set trigger order for FE DAI link nvmem: core: fix nvmem_cell_write inline function nvmem: imx-ocotp: reset error status on probe media: staging/imx: Use a shorter name for driver nvme: introduce "Command Aborted By host" status code media: v4l2-core: fix touch support in v4l_g_fmt media: rcar_drif: fix a memory disclosure cpufreq: sun50i: Fix CPU speed bin detection ixgbe: protect TX timestamping from API misuse pinctrl: amd: fix __iomem annotation in amd_gpio_irq_handler() pinctrl: qcom: sc7180: Add missing tile info in SDC_QDSD_PINGROUP/UFS_RESET ASoC: SOF: imx: fix reverse CONFIG_SND_SOC_SOF_OF dependency spi: sifive: disable clk when probe fails and remove ALSA: pcm: Fix missing check of the new non-cached buffer type Bluetooth: Fix advertising duplicated flags libbpf: Fix error handling in bpf_map__reuse_fd() iio: dln2-adc: fix iio_triggered_buffer_postenable() position ALSA: bebob: expand sleep just after breaking connections for protocol version 1 pinctrl: sh-pfc: sh7734: Fix duplicate TCLK1_B net/mlx5e: Verify that rule has at least one fwd/drop action loop: fix no-unmap write-zeroes request behavior libata: Ensure ata_port probe has completed before detach net: hns3: add struct netdev_queue debug info for TX timeout s390/mm: add mm_pxd_folded() checks to pxd_free() s390: add error handling to perf_callchain_kernel s390/time: ensure get_clock_monotonic() returns monotonic values phy: qcom-usb-hs: Fix extcon double register after power cycle phy: renesas: phy-rcar-gen2: Fix the array off by one warning net: dsa: LAN9303: select REGMAP when LAN9303 enable gpu: host1x: Allocate gather copy for host1x staging: wilc1000: check if device is initialzied before changing vif RDMA/core: Set DMA parameters correctly RDMA/qedr: Fix srqs xarray initialization RDMA/hns: Fix memory leak on 'context' on error return path RDMA/qedr: Fix memory leak in user qp and mr ACPI: button: Add DMI quirk for Medion Akoya E2215T spi: sprd: adi: Add missing lock protection when rebooting ubsan, x86: Annotate and allow __ubsan_handle_shift_out_of_bounds() in uaccess regions regulator: core: Release coupled_rdevs on regulator_init_coupling() error drm/tegra: sor: Use correct SOR index on Tegra210 net: phy: dp83867: enable robust auto-mdix i40e: Wrong 'Advertised FEC modes' after set FEC to AUTO drm/amd/display: correctly populate dpp refclk in fpga i40e: initialize ITRN registers with correct values drm/amd/display: setting the DIG_MODE to the correct value. arm64: psci: Reduce the waiting time for cpu_psci_cpu_kill() EDAC/amd64: Set grain per DIMM drm: Don't free jobs in wait_event_interruptible() md/bitmap: avoid race window between md_bitmap_resize and bitmap_file_clear_bit staging: wilc1000: potential corruption in wilc_parse_join_bss_param() md: no longer compare spare disk superblock events in super_load media: smiapp: Register sensor after enabling runtime PM on the device media: aspeed: clear garbage interrupts media: imx7-mipi-csis: Add a check for devm_regulator_get media: st-mipid02: add a check for devm_gpiod_get_optional media: ov5640: Make 2592x1944 mode only available at 15 fps media: ad5820: Define entity function media: ov6650: Fix stored frame interval not in sync with hardware drm/nouveau: Don't grab runtime PM refs for HPD IRQs media: aspeed: set hsync and vsync polarities to normal before starting mode detection media: cedrus: Fix undefined shift with a SHIFT_AND_MASK_BITS macro x86/ioapic: Prevent inconsistent state when moving an interrupt ipmi: Don't allow device module unload when in use RDMA/siw: Fix SQ/RQ drain logic rtl8xxxu: fix RTL8723BU connection failure issue after warm reboot ASoC: soc-pcm: fixup dpcm_prune_paths() loop continue drm/gma500: fix memory disclosures due to uninitialized bytes RDMA/hns: Fix wrong parameters when initial mtt of srq->idx_que net: hns3: log and clear hardware error after reset complete selftests/bpf: Make a copy of subtest name perf tests: Disable bp_signal testing for arm64 power: supply: cpcap-battery: Check voltage before orderly_poweroff staging: iio: ad9834: add a check for devm_clk_get drm/amdgpu: fix amdgpu trace event print string format error drm/amd/display: fix header for RN clk mgr drm/amd/display: enable hostvm based on roimmu active for dcn2.1 x86/mce: Lower throttling MCE messages' priority to warning bpf/stackmap: Fix deadlock with rq_lock in bpf_get_stack() Bluetooth: hci_core: fix init for HCI_USER_CHANNEL Bluetooth: Workaround directed advertising bug in Broadcom controllers Bluetooth: missed cpu_to_le16 conversion in hci_init4_req Bluetooth: btusb: avoid unused function warning iio: adc: max1027: Reset the device at probe time drm/amd/powerplay: avoid disabling ECC if RAS is enabled for VEGA20 usb: usbfs: Suppress problematic bind and unbind uevents. perf vendor events arm64: Fix Hisi hip08 DDRC PMU eventname perf test: Avoid infinite loop for task exit case perf report: Add warning when libunwind not compiled in perf test: Report failure for mmap events drm/bridge: dw-hdmi: Restore audio when setting a mode rtw88: coex: Set 4 slot mode for A2DP ath10k: Correct error handling of dma_map_single() x86/mm: Use the correct function type for native_set_fixmap() drm/amd/display: Program DWB watermarks from correct state extcon: sm5502: Reset registers during initialization drm/amd/display: Fix dongle_caps containing stale information. syscalls/x86: Use the correct function type in SYSCALL_DEFINE0 drm/amd/display: add new active dongle to existent w/a media: ti-vpe: vpe: fix a v4l2-compliance failure about invalid sizeimage drm/amd/display: wait for set pipe mcp command completion drm/amd/display: Properly round nominal frequency for SPD media: ti-vpe: vpe: ensure buffers are cleaned up properly in abort cases media: ti-vpe: vpe: fix a v4l2-compliance failure causing a kernel panic media: ti-vpe: vpe: Make sure YUYV is set as default format media: ti-vpe: vpe: fix a v4l2-compliance failure about frame sequence number media: ti-vpe: vpe: fix a v4l2-compliance warning about invalid pixel format media: ti-vpe: vpe: Fix Motion Vector vpdma stride ASoC: SOF: enable sync_write in hdac_bus misc: fastrpc: fix memory leak from miscdev->name crypto: aegis128/simd - build 32-bit ARM for v8 architecture explicitly crypto: inside-secure - Fix a maybe-uninitialized warning media: cx88: Fix some error handling path in 'cx8800_initdev()' team: call RCU read lock when walking the port_list net/smc: increase device refcount for added link group libbpf: Fix passing uninitialized bytes to setsockopt libbpf: Fix struct end padding in btf_dump selftests/bpf: Fix btf_dump padding test case drm/drm_vblank: Change EINVAL by the correct errno mwifiex: pcie: Fix memory leak in mwifiex_pcie_init_evt_ring MIPS: futex: Emit Loongson3 sync workarounds within asm drm/amdkfd: Fix MQD size calculation block: Fix writeback throttling W=1 compiler warnings samples: pktgen: fix proc_cmd command result check logic drm/bridge: dw-hdmi: Refuse DDC/CI transfers on the internal I2C controller media: meson/ao-cec: move cec_notifier_cec_adap_register after hw setup media: cec-funcs.h: add status_req checks media: flexcop-usb: fix NULL-ptr deref in flexcop_usb_transfer_init() tools/memory-model: Fix data race detection for unordered store and load regulator: max8907: Fix the usage of uninitialized variable in max8907_regulator_probe() hwrng: omap3-rom - Call clk_disable_unprepare() on exit only if not idled crypto: aegis128-neon - use Clang compatible cflags for ARM usb: renesas_usbhs: add suspend event support in gadget mode drm/amd/display: fix struct init in update_bounding_box rtw88: fix NSS of hw_cap media: venus: Fix occasionally failures to suspend drm/amd/display: set minimum abm backlight level selftests/bpf: Correct path to include msg + path drm/amd/powerplay: A workaround to GPU RESET on APU x86/math-emu: Check __copy_from_user() result drm/amdkfd: fix a potential NULL pointer dereference (v2) drm/sun4i: dsi: Fix TCON DRQ set bits pinctrl: devicetree: Avoid taking direct reference to device name string drm/amd/display: Set number of pipes to 1 if the second pipe was disabled media: vimc: Fix gpf in rmmod path when stream is active ath10k: fix offchannel tx failure when no ath10k_mac_tx_frm_has_freq media: venus: core: Fix msm8996 frequency table tools/power/cpupower: Fix initializer override in hsw_ext_cstates media: ov6650: Fix stored crop rectangle not in sync with hardware media: ov6650: Fix stored frame format not in sync with hardware media: i2c: ov2659: Fix missing 720p register config media: ov6650: Fix crop rectangle alignment not passed back media: i2c: ov2659: fix s_stream return value media: ov6650: Fix control handler not freed on init error media: max2175: Fix build error without CONFIG_REGMAP_I2C media: vim2m: Fix BUG_ON in vim2m_device_release() media: vim2m: Fix abort issue media: seco-cec: Add a missing 'release_region()' in an error handling path media: cedrus: fill in bus_info for media device media: am437x-vpfe: Setting STD to current value is not an error spi: gpio: prevent memory leak in spi_gpio_probe drm/komeda: Workaround for broken FLIP_COMPLETE timestamps IB/iser: bound protection_sg size by data_sg size ath10k: fix backtrace on coredump Revert "pinctrl: sh-pfc: r8a77990: Fix MOD_SEL1 bit31 when using SIM0_D" Revert "pinctrl: sh-pfc: r8a77990: Fix MOD_SEL1 bit30 when using SSI_SCK2 and SSI_WS2" libertas: fix a potential NULL pointer dereference rtlwifi: prevent memory leak in rtl_usb_probe staging: rtl8188eu: fix possible null dereference staging: rtl8192u: fix multiple memory leaks on error path drm/meson: vclk: use the correct G12A frac max value spi: Add call to spi_slave_abort() function when spidev driver is released ath10k: Check if station exists before forwarding tx airtime report drm/amd/display: Handle virtual signal type in disable_link() ath10k: add cleanup in ath10k_sta_state() drm/amd/display: Rebuild mapped resources after pipe split drm/ttm: return -EBUSY on pipelining with no_gpu_wait (v2) drm/amdgpu: grab the id mgr lock while accessing passid_mapping drm/amdgpu/sriov: add ring_stop before ring_create in psp v11 code iio: light: bh1750: Resolve compiler warning and make code more readable iio: max31856: add missing of_node and parent references to iio_dev drm/amd/display: OTC underflow fix drm/bridge: analogix-anx78xx: silence -EPROBE_DEFER warnings drm/amd/display: verify stream link before link test drm: Use EOPNOTSUPP, not ENOTSUPP drm: exynos: exynos_hdmi: use cec_notifier_conn_(un)register drm/panel: Add missing drm_panel_init() in panel drivers drm/mipi-dbi: fix a loop in debugfs code drm: mst: Fix query_payload ack reply struct drm/virtio: switch virtio_gpu_wait_ioctl() to gem helper. drm/vc4/vc4_hdmi: fill in connector info ALSA: hda/ca0132 - Fix work handling in delayed HP detection ALSA: hda/ca0132 - Avoid endless loop ALSA: hda/ca0132 - Keep power on during processing DSP response ALSA: pcm: Avoid possible info leaks from PCM stream buffers Btrfs: fix removal logic of the tree mod log that leads to use-after-free issues btrfs: handle ENOENT in btrfs_uuid_tree_iterate btrfs: do not leak reloc root if we fail to read the fs root btrfs: skip log replay on orphaned roots btrfs: abort transaction after failed inode updates in create_subvol btrfs: send: remove WARN_ON for readonly mount Btrfs: fix missing data checksums after replaying a log tree btrfs: return error pointer from alloc_test_extent_buffer Btrfs: make tree checker detect checksum items with overlapping ranges btrfs: do not call synchronize_srcu() in inode_tree_del btrfs: don't double lock the subvol_sem for rename exchange NFC: nxp-nci: Fix probing without ACPI net: dsa: b53: Fix egress flooding settings net: stmmac: platform: Fix MDIO init for platforms without PHY net: ethernet: ti: davinci_cpdma: fix warning "device driver frees DMA memory with different size" mlxsw: spectrum_router: Remove unlikely user-triggerable warning dpaa2-ptp: fix double free of the ptp_qoriq IRQ net: ena: fix issues in setting interrupt moderation params in ethtool net: ena: fix default tx interrupt moderation interval bonding: fix bond_neigh_init() neighbour: remove neigh_cleanup() method selftests: forwarding: Delete IPv6 address at the end sctp: fully initialize v4 addr in some functions sctp: fix memleak on err handling of stream initialization qede: Fix multicast mac configuration qede: Disable hardware gro when xdp prog is installed nfp: flower: fix stats id allocation net: usb: lan78xx: Fix suspend/resume PHY register access error net-sysfs: Call dev_hold always in rx_queue_add_kobject net: qlogic: Fix error paths in ql_alloc_large_buffers() net: phy: ensure that phy IDs are correctly typed net: nfc: nci: fix a possible sleep-in-atomic-context bug in nci_uart_tty_receive() net: hisilicon: Fix a BUG trigered by wrong bytes_compl net: gemini: Fix memory leak in gmac_setup_txqs net: dst: Force 4-byte alignment of dst_metrics mod_devicetable: fix PHY module format fjes: fix missed check in fjes_acpi_add af_packet: set defaule value for tmo arm64: defconfig: Enable CPUFREQ-HW for Lahaina arm64: Add fallback option during memory hot add mm/Kconfig: Enable MEMORY_HOTPLUG for arm64 arm64: Honor limits set by bootloader arm64: Add "remove" probe driver for memory hot-remove arm64: Hot-remove implementation for arm64 arm64: memory-hotplug: Add MEMORY_HOTPLUG, MEMORY_HOTREMOVE, MEMORY_PROBE arm64: Memory hotplug support for arm64 platform msm: IPA: uC debug stats for loadable modules ASoC: compress: add support for Vorbis and amrwb_plus ANDROID: Kconfig.gki: Add Hidden SPRD DRM configs defconfig: Enable MHI Host driver for lahaina mhi: add snapshot for MHI driver stack mhi: core: export symbols for references uapi: sound: add new meta key to get DSP render position Kconfig: add description for AUDIO_QGKI SoC: pcm: Add delay_blk feature include: Add snapshot of header files for wcd spi and dsp manager ALSA: jack: Add support to report second microphone defconfig: lahaina-qgki: enable CONFIG_AUDIO_QGKI uapi: sound: latency mode support for transcode loopback ASoC: msm: add support for different compressed formats ASoc: msm: qdspv2: Clock recovery support in compress driver dt-bindings: sound: Add snapshot of audio port types for soundwire ASoC: msm: qdsp6v2: Add TrueHD HDMI compress pass-though msm: dt-binding: add snapshot of audio external clockfor Lahaina ASoC: msm: qdsp6v2: Support to set session start delay arm64: defconfig: Enable CONFIG_BT_SLIM on Lahaina bluetooth: add change for btfm slimbus driver ASoC: msm: qdsp6v2: Support to configure render window ASoC: msm: qdsp6v2: Support to configure clk recovery mode ASoC: msm: qdsp6v2: Support to configure render mode ASoC: Cold start latency reduction SoC: soc-pcm: call pcm_new when creating new pcm ASoC: compress: update snd_soc_platform to snd_soc_component ANDROID: Add a tracepoint for mapping inode to full path Revert "drm/virtio: fix DRM_FORMAT_* handling" ANDROID: gki_defconfig: Disable TRANSPARENT_HUGEPAGE staging: android: ion: Remove unused rbtree for ion_buffer kasan: Zero shadow memory on memory hotplug defconfig: lahaina: Enable QRNG driver drivers: slimbus: Makefile: Correct makefile configuration ASoC: core: Support for compress ioctls ASoC: pcm: Add support for compat mode wil6210: notify cfg80211_new_sta upon connection before init tx ring wil6210: allow disabling EDMG through force_edmg_channel debugfs wil6210: fix update SSID when changing beacon Linux 5.4.6 ALSA: hda: Fix regression by strip mask fix drm/amdgpu: add invalidate semaphore limit for SRIOV and picasso in gmc9 drm/amdgpu: avoid using invalidate semaphore for picasso drm/i915/gvt: Fix cmd length check for MI_ATOMIC drm/amdgpu/gfx10: re-init clear state buffer after gpu reset drm/amdgpu/gfx10: explicitly wait for cp idle after halt/unhalt drm/amdgpu: invalidate mmhub semaphore workaround in gmc9/gmc10 drm/amdgpu: initialize vm_inv_eng0_sem for gfxhub and mmhub drm/amd/display: add default clocks if not able to fetch them drm/amd/display: re-enable wait in pipelock, but add timeout drm/dp_mst: Correct the bug in drm_dp_update_payload_part1() drm/radeon: fix r1xx/r2xx register checker for POT textures drm/i915/fbc: Disable fbc by default on all glk+ drm/nouveau/kms/nv50-: Limit MST BPC to 8 drm/nouveau/kms/nv50-: Store the bpc we're using in nv50_head_atom drm/nouveau/kms/nv50-: Call outp_atomic_check_view() before handling PBN scsi: qla2xxx: Fix incorrect SFUB length used for Secure Flash Update MB Cmd scsi: qla2xxx: Correctly retrieve and interpret active flash region scsi: qla2xxx: Change discovery state before PLOGI scsi: qla2xxx: Added support for MPI and PEP regions for ISP28XX scsi: qla2xxx: Initialize free_work before flushing it scsi: qla2xxx: Ignore NULL pointer in tcm_qla2xxx_free_mcmd scsi: iscsi: Fix a potential deadlock in the timeout handler scsi: ufs: Disable autohibern8 feature in Cadence UFS dm thin: Flush data device before committing metadata dm thin metadata: Add support for a pre-commit callback dm clone: Flush destination device before committing metadata dm clone metadata: Use a two phase commit dm clone metadata: Track exact changes per transaction dm btree: increase rebalance threshold in __rebalance2() dm mpath: remove harmful bio-based optimization drm: meson: venc: cvbs: fix CVBS mode matching drm/mgag200: Flag all G200 SE A machines as broken wrt <startadd> drm/mgag200: Add workaround for HW that does not support 'startadd' drm/mgag200: Store flags from PCI driver data in device structure drm/mgag200: Extract device type from flags drm/panfrost: Fix a race in panfrost_gem_free_object() drm/panfrost: Fix a BO leak in panfrost_ioctl_mmap_bo() drm/panfrost: Fix a race in panfrost_ioctl_madvise() dma-buf: Fix memory leak in sync_file_merge() vfio/pci: call irq_bypass_unregister_producer() before freeing irq ARM: tegra: Fix FLOW_CTLR_HALT register clobbering by tegra_resume() ARM: dts: s3c64xx: Fix init order of clock providers cifs: Fix retrieval of DFS referrals in cifs_mount() CIFS: Fix NULL pointer dereference in mid callback CIFS: Do not miss cancelled OPEN responses CIFS: Close open handle after interrupted close CIFS: Respect O_SYNC and O_DIRECT flags during reconnect cifs: Don't display RDMA transport on reconnect cifs: smbd: Return -ECONNABORTED when trasnport is not in connected state cifs: smbd: Return -EINVAL when the number of iovs exceeds SMBDIRECT_MAX_SGE cifs: smbd: Add messages on RDMA session destroy and reconnection cifs: smbd: Only queue work for error recovery on memory registration cifs: smbd: Return -EAGAIN when transport is reconnecting rpmsg: glink: Free pending deferred work on remove rpmsg: glink: Don't send pending rx_done during remove rpmsg: glink: Fix rpmsg_register_device err handling rpmsg: glink: Put an extra reference during cleanup rpmsg: glink: Fix use after free in open_ack TIMEOUT case rpmsg: glink: Fix reuse intents memory leak issue rpmsg: glink: Set tail pointer to 0 at end of FIFO xtensa: fix syscall_set_return_value xtensa: fix TLB sanity checker gfs2: fix glock reference problem in gfs2_trans_remove_revoke gfs2: Multi-block allocations in gfs2_page_mkwrite xtensa: use MEMBLOCK_ALLOC_ANYWHERE for KASAN shadow map block: fix "check bi_size overflow before merge" PM / QoS: Redefine FREQ_QOS_MAX_DEFAULT_VALUE to S32_MAX PCI: Apply Cavium ACS quirk to ThunderX2 and ThunderX3 PCI: rcar: Fix missing MACCTLR register setting in initialization sequence PCI: Do not use bus number zero from EA capability PCI/MSI: Fix incorrect MSI-X masking on resume PCI: Fix Intel ACS quirk UPDCR register address PCI: pciehp: Avoid returning prematurely from sysfs requests PCI/PM: Always return devices to D0 when thawing PCI/switchtec: Read all 64 bits of part_event_bitmap mmc: core: Re-work HW reset for SDIO cards mmc: core: Drop check for mmc_card_is_removable() in mmc_rescan() mmc: block: Add CMD13 polling for MMC IOCTLS with R1B response mmc: block: Make card_busy_detect() a bit more generic USB: Fix incorrect DMA allocations for local memory pool drivers ANDROID: update ABI for db845c changes BACKPORT: iommu: arm-smmu-impl: Add sdm845 implementation hook UPSTREAM: firmware/qcom_scm: Add scm call to handle smmu errata UPSTREAM: firmware: qcom_scm-64: Add atomic version of qcom_scm_call UPSTREAM: cpufreq: qcom-hw: Move driver initialization earlier UPSTREAM: cpufreq: Initialize cpufreq-dt driver earlier UPSTREAM: cpufreq: Initialize the governors in core_initcall ANDROID: tty: serial_core: Export uart_console_device so it can be used by modules ANDROID: gki_defconfig: Add qcom pcie options to gki_defconfig ANDROID: Kconfig.gki: Add entries for qcom clk drivers ANDROID: Kconfig.gki: Add PINCTRL_MSM to QCOM Hidden configs ANDROID: Kconfig.gki: Add hidden CONFIG_WANT_DEV_COREDUMP for DRM_MSM driver ANDROID: PCI: qcom: Add support for SDM845 PCIe controller ANDROID: PCI: qcom: Fix the fixup of PCI_VENDOR_ID_QCOM ANDROID: phy: qcom: qmp: Add SDM845 QHP PCIe PHY ANDROID: phy: qcom: qmp: Add SDM845 PCIe QMP PHY support ANDROID: phy: qcom: qmp: Use power_on/off ops for PCIe ANDROID: phy: qcom-qmp: Increase PHY ready timeout msm: ipa3: Fix to ignore frag status packet in lan consumer pipe cpufreq: qcom-cpufreq-hw: Fix incorrect type warning from sparse arm64: defconfig: Enable SPS driver for Lahaina ASoC: compress: propagate the error code from the compress framework ASoC: msm: Update the encode option and sample rate Asoc: Add audio backend to hwdep interface ALSA: pcm: fix blocking while loop in snd_pcm_update_hw_ptr0() ASoC: Compress: Check and set pcm_new driver op ASoC: dapm: Avoid static route b/w cpu and codec dai scsi: ufs-qcom: Add reset control support for host controller scsi: ufs-qcom: Add ioctl interface for ufs query requests BACKPORT: FROMLIST: scsi: ufs: Export query request interfaces ALSA: compress: Add support to send codec specific data scsi: ufs-qti: Fix overwriting model name ASoC: msm: qdsp6v2: Cleanup of compress offload drivers ALSA: PCM: User control API implementation ALSA: PCM: volume API implementation ALSA: core: Handle user defined ioctls coresight: tmc: Fix mem_lock dead lock cpufreq: record CPUFREQ stat for fast switch path cpufreq: Add snapshot of qcom-cpufreq driver arm64: defconfig: Enable debug features on Lahaina coresight: ost: correct the kconfig dependency Bluetooth: Re-initialize regulator to NULL on error ANDROID: gki_defconfig: Enable CONFIG_GNSS_CMDLINE_SERIAL ANDROID: gnss: Add command line test driver ANDROID: serdev: add platform device support ANDROID: usb: gadget: Add configfs attribuite for controling match_existing_only net: cnss2: Remove unsupported symbol references ANDROID: gki_defconfig: enable ARM64_SW_TTBR0_PAN ANDROID: gki_defconfig: Set BINFMT_MISC as =m arm64: defconfig: Enable EDAC driver support for QCOM SoCs msm: sps: Fix build warnings msm: ipa3: Fix to avoid memory out of bound access error wil6210: reduce ucode_debug memory region wil6210: enable access category queues wil6210: allow sending special packets when tx ring is full wil6210: Support ndo_select_queue in net_device_ops wil6210: add verification for cid upper bound wil6210: take mem_lock for writing in crash dump collection wil6210: minimize the time that mem_lock is held wil6210: enable AP/PCP power save soc: mem_dump: fix physical address mapping issue soc: mem_dump: Add support for CPU subsystem register dump soc: qcom: Update the dump table region size in imem soc: qcom: Unify the memory dump entries registration arm64: defconfig: Enable minidump driver on Lahaina GKI soc: qcom: Add snapshot of minidump FROMLIST: ARM: Remove arm_pm_restart() FROMLIST: ARM64: Remove arm_pm_restart() FROMLIST: ARM: Register with kernel restart handler FROMLIST: drivers: firmware: psci: Register with kernel restart handler FROMLIST: ARM: xen: Register with kernel restart handler FROMLIST: ARM: prima2: Register with kernel restart handler shmbridge: get bridge mem pool's DMA address with dma_map_single firmware: qcom_scm: Add calls to support poweroff driver firmware: qcom_scm: Expose qcom_scm_set_download_mode arm64: defconfig: Enable WALT for Lahaina sched: Improve the scheduler hwrng: Add QRNG driver snapshot for kona msm: sps: Add SPS driver snapshot ANDROID: ASoC: add hikey960-i2s DT bindings ANDROID: sound: Add hikey960 i2s audio driver ANDROID: HACK: adv7511: Add poweron delay to allow for EDID probing to work ANDROID: drm: kirin: Fix Makefile to correct for module builds ANDROID: drm: kirin960: Remove one mode-line that seems to be causing trouble ANDROID: drm: kirin: remove wait for VACTIVE IRQ ANDROID: drm: kirin: Add kirin960 dpe driver support ANDROID: drm: kirin: Introduce kirin960 ANDROID: arm64: dts: hi3660: Add support for usb on Hikey960 ANDROID: arm64: dts: hikey960: Fix bootwarning on mapping reboot reason syscon ANDROID: arm64: dts: hi3660: adb reboot node ANDROID: arm64: dts: hi3660: enable gpu ANDROID: arm64: dts: hi3660-hikey960: Add i2s & sound device ANDROID: arm64: dts: hi3660: add display driver dts ANDROID: arm64: dts: hikey960: Add CMA entry for ION/framebuffers ANDROID: mm/memory.c: export mm_trace_rss_stat ANDROID: update ABI for 5.4.5 Linux 5.4.5 r8169: add missing RX enabling for WoL on RTL8125 net: mscc: ocelot: unregister the PTP clock on deinit ionic: keep users rss hash across lif reset xdp: obtain the mem_id mutex before trying to remove an entry. page_pool: do not release pool until inflight == 0. net/mlx5e: ethtool, Fix analysis of speed setting net/mlx5e: Fix translation of link mode into speed net/mlx5e: Fix freeing flow with kfree() and not kvfree() net/mlx5e: Fix SFF 8472 eeprom length act_ct: support asymmetric conntrack net/mlx5e: Fix TXQ indices to be sequential net: Fixed updating of ethertype in skb_mpls_push() hsr: fix a NULL pointer dereference in hsr_dev_xmit() Fixed updating of ethertype in function skb_mpls_pop gre: refetch erspan header from skb->data after pskb_may_pull() cls_flower: Fix the behavior using port ranges with hw-offload net: sched: allow indirect blocks to bind to clsact in TC net: core: rename indirect block ingress cb function tcp: Protect accesses to .ts_recent_stamp with {READ,WRITE}_ONCE() tcp: tighten acceptance of ACKs not matching a child socket tcp: fix rejected syncookies due to stale timestamps net: ipv6_stub: use ip6_dst_lookup_flow instead of ip6_dst_lookup net: ipv6: add net argument to ip6_dst_lookup_flow net/mlx5e: Query global pause state before setting prio2buffer tipc: fix ordering of tipc module init and exit routine tcp: md5: fix potential overestimation of TCP option space openvswitch: support asymmetric conntrack net/tls: Fix return values to avoid ENOTSUPP net: thunderx: start phy before starting autonegotiation net_sched: validate TCA_KIND attribute in tc_chain_tmplt_add() net: sched: fix dump qlen for sch_mq/sch_mqprio with NOLOCK subqueues net: ethernet: ti: cpsw: fix extra rx interrupt net: dsa: fix flow dissection on Tx path net: bridge: deny dev_set_mac_address() when unregistering mqprio: Fix out-of-bounds access in mqprio_dump inet: protect against too small mtu values. ANDROID: add initial ABI whitelist for android-5.4 wil6210: dump Rx status message on errors arm64: config: Enable socinfo driver for QCOM SoCs coresight: Add snapshot of jtagv8 driver defconfig: lahaina-gki: enable ufs 7nm phy for lahaina phy: qcom-ufs: add 7nm UFS QMP PHY support on Lahaina phy: qcom-ufs: add UFS HS-G4 support phy: qcom-ufs: move PHY configurations after vregs and clocks are enabled phy: qcom-ufs: don't error out if vddp-ref-clk-supply is absent phy: qcom-ufs: make ref_clk as optional phy: qcom-ufs: separate out 2 lanes configuration phy: qcom-ufs: set no runtime PM callbacks flag phy: qcom-ufs: parse ref-clk details prior to resource request phy: qcom-ufs: remove warnings for optional clocks phy: qcom-ufs: add optional ref aux clk phy: qcom-ufs: don't probe for "dev_ref_clk_ctrl_mem" phy: qcom-ufs: remove failure when rx/tx_iface_clk are absent defconfig: Initial genericarmv8 defconfig mm: oom_kill: dump info of all tasks when the FG process is killed iommu/arm-smmu: restrict secure vmid update while attached iommu/arm-smmu: reduce tlb sync poll retry latency interconnect: qcom: Build icc-rpmh with qnoc-lahaina kbuild: Disable the gcc-wrapper with an environment variable PM / devfreq: icc: add support for L3 voting PM / devfreq: memlat: add support for shared core-dev tables sched: Support Energy Aware Scheduling irrespective of governor sched: Add schedutil snapshot PM / devfreq: memlat: simplify core-dev table parsing logic ANDROID: abi update for 5.4.4 ANDROID: mm: Throttle rss_stat tracepoint FROMLIST: vsprintf: Inline call to ptr_to_hashval UPSTREAM: rss_stat: Add support to detect RSS updates of external mm UPSTREAM: mm: emit tracepoint when RSS changes defconfig: Enable QCOM_RUN_QUEUE_STATS time: Add rq_stats snapshot Linux 5.4.4 EDAC/ghes: Do not warn when incrementing refcount on 0 r8169: fix rtl_hw_jumbo_disable for RTL8168evl workqueue: Fix missing kfree(rescuer) in destroy_workqueue() blk-mq: make sure that line break can be printed ext4: fix leak of quota reservations ext4: fix a bug in ext4_wait_for_tail_page_commit splice: only read in as much information as there is pipe buffer space rtc: disable uie before setting time and enable after USB: dummy-hcd: increase max number of devices to 32 powerpc: Define arch_is_kernel_initmem_freed() for lockdep mm/shmem.c: cast the type of unmap_start to u64 s390/kaslr: store KASLR offset for early dumps s390/smp,vdso: fix ASCE handling firmware: qcom: scm: Ensure 'a0' status code is treated as signed ext4: work around deleting a file with i_nlink == 0 safely mm: memcg/slab: wait for !root kmem_cache refcnt killing on root kmem_cache destruction mfd: rk808: Fix RK818 ID template mm, memfd: fix COW issue on MAP_PRIVATE and F_SEAL_FUTURE_WRITE mappings powerpc: Fix vDSO clock_getres() powerpc: Avoid clang warnings around setjmp and longjmp omap: pdata-quirks: remove openpandora quirks for mmc3 and wl1251 omap: pdata-quirks: revert pandora specific gpiod additions iio: ad7949: fix channels mixups iio: ad7949: kill pointless "readback"-handling code Revert "scsi: qla2xxx: Fix memory leak when sending I/O fails" scsi: qla2xxx: Fix a dma_pool_free() call scsi: qla2xxx: Fix SRB leak on switch command timeout reiserfs: fix extended attributes on the root directory ext4: Fix credit estimate for final inode freeing quota: fix livelock in dquot_writeback_dquots seccomp: avoid overflow in implicit constant conversion ext2: check err when partial != NULL quota: Check that quota is not dirty before release video/hdmi: Fix AVI bar unpack powerpc/xive: Skip ioremap() of ESB pages for LSI interrupts powerpc: Allow flush_icache_range to work across ranges >4GB powerpc/xive: Prevent page fault issues in the machine crash handler powerpc: Allow 64bit VDSO __kernel_sync_dicache to work across ranges >4GB coresight: Serialize enabling/disabling a link device. stm class: Lose the protocol driver when dropping its reference ppdev: fix PPGETTIME/PPSETTIME ioctls RDMA/core: Fix ib_dma_max_seg_size() ARM: dts: omap3-tao3530: Fix incorrect MMC card detection GPIO polarity mmc: host: omap_hsmmc: add code for special init of wl1251 to get rid of pandora_wl1251_init_card pinctrl: samsung: Fix device node refcount leaks in S3C64xx wakeup controller init pinctrl: samsung: Fix device node refcount leaks in init code pinctrl: samsung: Fix device node refcount leaks in S3C24xx wakeup controller init pinctrl: samsung: Fix device node refcount leaks in Exynos wakeup controller init pinctrl: samsung: Add of_node_put() before return in error path pinctrl: armada-37xx: Fix irq mask access in armada_37xx_irq_set_type() pinctrl: rza2: Fix gpio name typos ACPI: PM: Avoid attaching ACPI PM domain to certain devices ACPI: EC: Rework flushing of pending work ACPI: bus: Fix NULL pointer check in acpi_bus_get_private_data() ACPI: OSL: only free map once in osl.c ACPI / hotplug / PCI: Allocate resources directly under the non-hotplug bridge ACPI: LPSS: Add dmi quirk for skipping _DEP check for some device-links ACPI: LPSS: Add LNXVIDEO -> BYT I2C1 to lpss_device_links ACPI: LPSS: Add LNXVIDEO -> BYT I2C7 to lpss_device_links ACPI / utils: Move acpi_dev_get_first_match_dev() under CONFIG_ACPI ALSA: hda/realtek - Line-out jack doesn't work on a Dell AIO ALSA: oxfw: fix return value in error path of isochronous resources reservation ALSA: fireface: fix return value in error path of isochronous resources reservation cpufreq: powernv: fix stack bloat and hard limit on number of CPUs PM / devfreq: Lock devfreq in trans_stat_show intel_th: pci: Add Tiger Lake CPU support intel_th: pci: Add Ice Lake CPU support intel_th: Fix a double put_device() in error path powerpc/perf: Disable trace_imc pmu drm/panfrost: Open/close the perfcnt BO perf tests: Fix out of bounds memory access erofs: zero out when listxattr is called with no xattr cpuidle: use first valid target residency as poll time cpuidle: teo: Fix "early hits" handling for disabled idle states cpuidle: teo: Consider hits and misses metrics of disabled states cpuidle: teo: Rename local variable in teo_select() cpuidle: teo: Ignore disabled idle states that are too deep cpuidle: Do not unset the driver if it is there already media: cec.h: CEC_OP_REC_FLAG_ values were swapped media: radio: wl1273: fix interrupt masking on release media: bdisp: fix memleak on release media: vimc: sen: remove unused kthread_sen field media: hantro: Fix picture order count table enable media: hantro: Fix motion vectors usage condition media: hantro: Fix s_fmt for dynamic resolution changes s390/mm: properly clear _PAGE_NOEXEC bit when it is not supported ar5523: check NULL before memcpy() in ar5523_cmd() wil6210: check len before memcpy() calls cgroup: pids: use atomic64_t for pids->limit blk-mq: avoid sysfs buffer overflow with too many CPU cores md: improve handling of bio with REQ_PREFLUSH in md_flush_request() ASoC: fsl_audmix: Add spin lock to protect tdms ASoC: Jack: Fix NULL pointer dereference in snd_soc_jack_report ASoC: rt5645: Fixed typo for buddy jack support. ASoC: rt5645: Fixed buddy jack support. workqueue: Fix pwq ref leak in rescuer_thread() workqueue: Fix spurious sanity check failures in destroy_workqueue() dm zoned: reduce overhead of backing device checks dm writecache: handle REQ_FUA hwrng: omap - Fix RNG wait loop timeout ovl: relax WARN_ON() on rename to self ovl: fix corner case of non-unique st_dev;st_ino ovl: fix lookup failure on multi lower squashfs lib: raid6: fix awk build warnings rtlwifi: rtl8192de: Fix missing enable interrupt flag rtlwifi: rtl8192de: Fix missing callback that tests for hw release of buffer rtlwifi: rtl8192de: Fix missing code to retrieve RX buffer address btrfs: record all roots for rename exchange on a subvol Btrfs: send, skip backreference walking for extents with many references btrfs: Remove btrfs_bio::flags member btrfs: Avoid getting stuck during cyclic writebacks Btrfs: fix negative subv_writers counter and data space leak after buffered write Btrfs: fix metadata space leak on fixup worker failure to set range as delalloc btrfs: use refcount_inc_not_zero in kill_all_nodes btrfs: use btrfs_block_group_cache_done in update_block_group btrfs: check page->mapping when loading free space cache iwlwifi: pcie: fix support for transmitting SKBs with fraglist usb: typec: fix use after free in typec_register_port() phy: renesas: rcar-gen3-usb2: Fix sysfs interface of "role" usb: dwc3: ep0: Clear started flag on completion usb: dwc3: gadget: Clear started flag for non-IOC usb: dwc3: gadget: Fix logical condition usb: dwc3: pci: add ID for the Intel Comet Lake -H variant virtio-balloon: fix managed page counts when migrating pages between zones virt_wifi: fix use-after-free in virt_wifi_newlink() mtd: rawnand: Change calculating of position page containing BBM mtd: spear_smi: Fix Write Burst mode brcmfmac: disable PCIe interrupts before bus reset EDAC/altera: Use fast register IO for S10 IRQs tpm: Switch to platform_get_irq_optional() tpm: add check after commands attribs tab allocation usb: mon: Fix a deadlock in usbmon between mmap and read usb: core: urb: fix URB structure initialization function USB: adutux: fix interface sanity check usb: roles: fix a potential use after free USB: serial: io_edgeport: fix epic endpoint lookup USB: idmouse: fix interface sanity checks USB: atm: ueagle-atm: add missing endpoint check iio: adc: ad7124: Enable internal reference iio: adc: ad7606: fix reading unnecessary data from device iio: imu: inv_mpu6050: fix temperature reporting using bad unit iio: humidity: hdc100x: fix IIO_HUMIDITYRELATIVE channel reporting iio: adis16480: Fix scales factors iio: imu: st_lsm6dsx: fix ODR check in st_lsm6dsx_write_raw iio: adis16480: Add debugfs_reg_access entry ARM: dts: pandora-common: define wl1251 as child node of mmc3 usb: common: usb-conn-gpio: Don't log an error on probe deferral interconnect: qcom: qcs404: Walk the list safely on node removal interconnect: qcom: sdm845: Walk the list safely on node removal xhci: make sure interrupts are restored to correct state xhci: handle some XHCI_TRUST_TX_LENGTH quirks cases as default behaviour. xhci: Increase STS_HALT timeout in xhci_suspend() xhci: fix USB3 device initiated resume race with roothub autosuspend xhci: Fix memory leak in xhci_add_in_port() usb: xhci: only set D3hot for pci device staging: gigaset: add endpoint-type sanity check staging: gigaset: fix illegal free on probe errors staging: gigaset: fix general protection fault on probe staging: vchiq: call unregister_chrdev_region() when driver registration fails staging: rtl8712: fix interface sanity check staging: rtl8188eu: fix interface sanity check staging: exfat: fix multiple definition error of `rename_file' binder: fix incorrect calculation for num_valid usb: host: xhci-tegra: Correct phy enable sequence usb: Allow USB device to be warm reset in suspended state USB: documentation: flags on usb-storage versus UAS USB: uas: heed CAPACITY_HEURISTICS USB: uas: honor flag to avoid CAPACITY16 media: venus: remove invalid compat_ioctl32 handler ceph: fix compat_ioctl for ceph_dir_operations compat_ioctl: add compat_ptr_ioctl() scsi: qla2xxx: Fix memory leak when sending I/O fails scsi: qla2xxx: Fix double scsi_done for abort path scsi: qla2xxx: Fix driver unload hang scsi: qla2xxx: Do command completion on abort timeout scsi: zfcp: trace channel log even for FCP command responses scsi: lpfc: Fix bad ndlp ptr in xri aborted handling Revert "nvme: Add quirk for Kingston NVME SSD running FW E8FK11.T" nvme: Namepace identification descriptor list is optional usb: gadget: pch_udc: fix use after free usb: gadget: configfs: Fix missing spin_lock_init() mm: vmstat: add pageoutclean drivers: thermal: qmi_cooling: Add snapshot of QMI cooling device driver drivers: thermal: Add a snapshot of bcl soc driver drivers: thermal: bcl_pmic5: Add snapshot of bcl driver drivers: thermal: qmi_sensor: Add snapshot of qmi sensor driver drivers: thermal: cpu_isolate: Add a snapshot of cpu isolate msm: cvp: Fence path for Lahaina cpufreq: qcom-hw: cleanup the driver for HW driver coresight: stm: STM master side access control scsi: ufs-qti: port UFS driver changes for QTI configuration socinfo: add socinfo driver uio: Kconfig: Enable msm shared memory driver defconfig: lahaina: enable PCIe root complex and PCIe MSI for lahaina msm: pcie: remove deprecated explicit clock retention support msm: pcie: add lahaina PCI device ID to PCI table msm: pcie: update deprecated wakeup_source_* API msm: pcie: add snapshot of PCIe root complex bus driver usb: xhci: Add helper API to issue stop endpoint command usb: xhci: Add helper APIs to return xhci dma addresses usb: xhci: Add support for secondary interrupters defconfig: enable cdsp loader on Lahaina as DLKM module defconfig: lahaina: enable the UCSI Glink driver usb: typec: ucsi: add QTI UCSI Glink driver sched/walt: Improve the scheduler sched/walt: Improve the scheduler sched/fair: Avoid force newly idle load balance if have iowait task sched/fair: Improve the scheduler sched/fair: Force gold cpus to do idle lb when silver has big tasks defconfig: enable fastrpc driver on Lahaina BACKPORT: FROMLIST: scsi: ufs: Export query request interfaces defconfig: lahaina-gki: enable qpnp-power-on driver input: qpnp-power-on: add support for PON_GEN3 subtype PON peripherals dt-bindings: input: add qpnp-power-on bindings input: add snapshot of qpnp-power-on driver defconfig: lahaina-qgki: enable regmap debugfs features defconfig: lahaina-gki: enable gpio-keys driver defconfig: lahaina-gki: enable SPMI and PMIC drivers defconfig: lahaina-qgki: enable CONFIG_IIO pinctrl: qcom: spmi-gpio: define an irqchip for each pinctrl device pinctrl: qcom: spmi-gpio: add support for PMR735A and PMR735B PMIC variants pinctrl: Add wakeup gpio register and bit information msm: ipa: load IPA FW after smmu CB are probed iio: adc: Add support for PMIC7 VADC dt-bindings: iio: Add PMIC7 ADC support soc: qcom: reserve memory in memory dump probe slimbus: Add snapshot of slimbus driver msm: ipa4: Allocate coalescing close frame command payload coresight: enable stm logging for trace events, marker and printk arm64: defconfig: Enable QUPv3 and GPI drivers on lahaina coresight-tmc: Re-use ETR buffer across use cases coresight-tmc: add support to configure flush and reset CTIs coresight: Add snapshot of Coresight cti driver coresight: Add regulator and clock vote for coresight components msm: ipa: add support to updated wdi3 scratch register2 alone msm: ipa: Fix not sending QMI sync indication msm: ipa: Add graceful handling to skip partial packets msm: ipa: Fix not to update state during pipe reset msm: ipa: Update IPA register offsets and fields wil6210: fix iommu_unmap in IPA mode wil6210: new NL command to get driver capabilities wil6210: use wigig.ini as a configuration file wil6210: extend bus voting support for wider bandwidth wil6210: ipa stop/wake queue based on outstanding packets wil6210: add support for spi slave reset wil6210: update the disconnect sequence for the IPA disconnect wil6210: support VR profiles wil6210: add support for sensing over SPI wil6210: support IPA offload wil6210: support multiple desc and status rings handling wil6210: support NL_60G_GEN_FW_RESET UNSPEC vendor command wil6210: add support for pci linkdown recovery wil6210: add support for headroom configuration arm64: defconfig: Enable spcom driver on Lahaina cpufreq: qcom: Update cycle counter logic for CPUFREQ HW cpufreq: qcom-cpufreq-hw: Initialize the spinlock before usage cpufreq: qcom-hw: Add register offsets for non-epss devices cpufreq: qcom-hw: Update freq_scale from fast_switch path cpufreq: qcom-hw: Add support for EPSS CPUFREQ firmware net: cnss2: Update CNSS2 driver ANDROID: update abi with unbindable_ports sysctl BACKPORT: FROMLIST: net: introduce ip_local_unbindable_ports sysctl ANDROID: update abi for 5.4.3 merge ANDROID: update abi_gki_aarch64.xml for ion, drm changes ANDROID: drivers: gpu: drm: export drm_mode_convert_umode symbol ANDROID: ion: flush cache before exporting non-cached buffers Linux 5.4.3 kselftest: Fix NULL INSTALL_PATH for TARGETS runlist perf script: Fix invalid LBR/binary mismatch error EDAC/ghes: Fix locking and memory barrier issues watchdog: aspeed: Fix clock behaviour for ast2600 drm/mcde: Fix an error handling path in 'mcde_probe()' md/raid0: Fix an error message in raid0_make_request() cpufreq: imx-cpufreq-dt: Correct i.MX8MN's default speed grade value ALSA: hda - Fix pending unsol events at shutdown KVM: x86: fix out-of-bounds write in KVM_GET_EMULATED_CPUID (CVE-2019-19332) binder: Handle start==NULL in binder_update_page_range() binder: Prevent repeated use of ->mmap() via NULL mapping binder: Fix race between mmap() and binder_alloc_print_pages() Revert "serial/8250: Add support for NI-Serial PXI/PXIe+485 devices" vcs: prevent write access to vcsu devices thermal: Fix deadlock in thermal thermal_zone_device_check iomap: Fix pipe page leakage during splicing bdev: Refresh bdev size for disks without partitioning bdev: Factor out bdev revalidation into a common helper rfkill: allocate static minor RDMA/qib: Validate ->show()/store() callbacks before calling them can: ucan: fix non-atomic allocation in completion handler spi: Fix NULL pointer when setting SPI_CS_HIGH for GPIO CS spi: Fix SPI_CS_HIGH setting when using native and GPIO CS spi: atmel: Fix CS high support spi: stm32-qspi: Fix kernel oops when unbinding driver spi: spi-fsl-qspi: Clear TDH bits in FLSHCR register crypto: user - fix memory leak in crypto_reportstat crypto: user - fix memory leak in crypto_report crypto: ecdh - fix big endian bug in ECC library crypto: ccp - fix uninitialized list head crypto: geode-aes - switch to skcipher for cbc(aes) fallback crypto: af_alg - cast ki_complete ternary op to int crypto: atmel-aes - Fix IV handling when req->nbytes < ivsize crypto: crypto4xx - fix double-free in crypto4xx_destroy_sdr KVM: x86: Grab KVM's srcu lock when setting nested state KVM: x86: Remove a spurious export of a static function KVM: x86: fix presentation of TSX feature in ARCH_CAPABILITIES KVM: x86: do not modify masked bits of shared MSRs KVM: arm/arm64: vgic: Don't rely on the wrong pending table KVM: nVMX: Always write vmcs02.GUEST_CR3 during nested VM-Enter KVM: PPC: Book3S HV: XIVE: Set kvm->arch.xive when VPs are allocated KVM: PPC: Book3S HV: XIVE: Fix potential page leak on error path KVM: PPC: Book3S HV: XIVE: Free previous EQ page when setting up a new one arm64: dts: exynos: Revert "Remove unneeded address space mapping for soc node" arm64: Validate tagged addresses in access_ok() called from kernel threads drm/i810: Prevent underflow in ioctl drm: damage_helper: Fix race checking plane->state->fb drm/msm: fix memleak on release jbd2: Fix possible overflow in jbd2_log_space_left() kernfs: fix ino wrap-around detection nfsd: restore NFSv3 ACL support nfsd: Ensure CLONE persists data and metadata changes to the target file can: slcan: Fix use-after-free Read in slcan_open tty: vt: keyboard: reject invalid keycodes CIFS: Fix SMB2 oplock break processing CIFS: Fix NULL-pointer dereference in smb2_push_mandatory_locks x86/PCI: Avoid AMD FCH XHCI USB PME# from D0 defect x86/mm/32: Sync only to VMALLOC_END in vmalloc_sync_all() media: rc: mark input device as pointing stick Input: Fix memory leak in psxpad_spi_probe coresight: etm4x: Fix input validation for sysfs. Input: goodix - add upside-down quirk for Teclast X89 tablet Input: synaptics-rmi4 - don't increment rmiaddr for SMBus transfers Input: synaptics-rmi4 - re-enable IRQs in f34v7_do_reflash Input: synaptics - switch another X1 Carbon 6 to RMI/SMbus soc: mediatek: cmdq: fixup wrong input order of write api ALSA: hda: Modify stream stripe mask only when needed ALSA: hda - Add mute led support for HP ProBook 645 G4 ALSA: pcm: oss: Avoid potential buffer overflows ALSA: hda/realtek - Fix inverted bass GPIO pin on Acer 8951G ALSA: hda/realtek - Dell headphone has noise on unmute for ALC236 ALSA: hda/realtek - Enable the headset-mic on a Xiaomi's laptop ALSA: hda/realtek - Enable internal speaker of ASUS UX431FLC SUNRPC: Avoid RPC delays when exiting suspend io_uring: ensure req->submit is copied when req is deferred io_uring: fix missing kmap() declaration on powerpc fuse: verify attributes fuse: verify write return fuse: verify nlink fuse: fix leak of fuse_io_priv io_uring: transform send/recvmsg() -ERESTARTSYS to -EINTR io_uring: fix dead-hung for non-iter fixed rw mwifiex: Re-work support for SDIO HW reset serial: ifx6x60: add missed pm_runtime_disable serial: 8250_dw: Avoid double error messaging when IRQ absent serial: stm32: fix clearing interrupt error flags serial: serial_core: Perform NULL checks for break_ctl ops serial: pl011: Fix DMA ->flush_buffer() tty: serial: msm_serial: Fix flow control tty: serial: fsl_lpuart: use the sg count from dma_map_sg serial: 8250-mtk: Use platform_get_irq_optional() for optional irq usb: gadget: u_serial: add missing port entry locking staging/octeon: Use stubs for MIPS && !CAVIUM_OCTEON_SOC mailbox: tegra: Fix superfluous IRQ error message time: Zero the upper 32-bits in __kernel_timespec on 32-bit lp: fix sparc64 LPSETTIMEOUT ioctl sparc64: implement ioremap_uc perf scripts python: exported-sql-viewer.py: Fix use of TRUE with SQLite arm64: tegra: Fix 'active-low' warning for Jetson Xavier regulator arm64: tegra: Fix 'active-low' warning for Jetson TX1 regulator rsi: release skb if rsi_prepare_beacon fails phy: phy-qcom-ufs: add receive line configuration ufs: qcom: port from msm-4.19 scsi: ufs-qcom: Clock scaling code restructure defconfig: lahaina-gki: Enable USB Electrical and Link test support clk: dt-bindings: Define clock IDs supported by bolero codec FROMLIST: scsi: ufs: Fix ufshcd_hold() caused scheduling while atomic FROMLIST: scsi: ufs: Add dev ref clock gating wait time support FROMLIST: scsi: ufs-qcom: Adjust bus bandwidth voting and unvoting FROMLIST: scsi: ufs: Remove the check before call setup clock notify vops FROMLIST: scsi: ufs: set load before setting voltage in regulators FROMLIST: scsi: ufs: Flush exception event before suspend FROMLIST: scsi: ufs: Do not rely on prefetched data FROMLIST: scsi: ufs: Fix up clock scaling FROMGIT: scsi: ufs: Do not free irq in suspend FROMGIT: scsi: ufs: Do not clear the DL layer timers FROMGIT: scsi: ufs: Release clock if DMA map fails FROMGIT: scsi: ufs: Use DBD setting in mode sense FROMGIT: scsi: core: Adjust DBD setting in MODE SENSE for caching mode page per LLD FROMGIT: scsi: ufs: Complete pending requests in host reset and restore path FROMGIT: scsi: ufs: Avoid messing up the compl_time_stamp of lrbs FROMGIT: scsi: ufs: Update VCCQ2 and VCCQ min/max voltage hard codes FROMGIT: scsi: ufs: Recheck bkops level if bkops is disabled drivers: thermal: of-thermal: Add support for virtual sensor drivers: thermal: of-thermal: Add a snapshot of of-thermal drivers: thermal: Add QTI_THERMAL config clk: qcom: Fix orphaned sleep clocks for Lahaina arm64: defconfig: Remove IKHEADERS option drivers: thermal: cpu_cooling: Use Policy cpu as cdev ID thermal: Include qcom thermal drivers for CONFIG_ARCH_QCOM arm64: Remove cpu_soft_reset() prototype uapi: Fix QCOM headers to work with UAPI_HEADER_TEST Revert "perf: Set the DSU PMU to be readable from any CPU" msm: kgsl: Check the return value of sysfs functions dma-mapping-fast: Clean up common code dma-mapping-fast: Add support for DMA_ATTR_FORCE_CONTIGUOUS dma-mapping-fast: Do not clobber existing atomic pool dma-mapping-fast: Reorganize common behavior drivers: soc: qcom: Add snapshot of EUD driver msm: adsprpc: Remove IPC logging from fastrpc driver ANDROID: update abi_gki_aarch64.xml for LTO, CFI, and SCS ANDROID: gki_defconfig: enable LTO, CFI, and SCS wil6210: fix for "runtime PM when interface is down" wil6210: support FCC board file wil6210: force EDMG channel through debugfs wil6210: publish/receive WMI events/commands through nl wil6210: BRP antenna limit API wil6210: support configurable board file via sysfs wil6210: use country specific board file upon reg domain change wil6210: allow flashless boot when OTP is empty wil6210: drop RX probe reponses with low SNR wil6210: add sysfs for setting connect SNR threshold wil6210: support AOA in FTM session wil6210: potential buffer overflow in wmi_evt_aoa_meas wil6210: send uevent when creating sysfs files wil6210: add option to ignore OTA regulatory hints wil6210: add sysfs file for enable/disable fst link loss wil6210: add sysfs for thermal throttling configuration coresight: ost: Add snapshot of Coresight OST driver soc: qcom: subsys_notif: Add early SSR notifications for PCIe DRV ANDROID: update abi_gki_aarch64.xml for CONFIG_GNSS ANDROID: cuttlefish_defconfig: Enable CONFIG_GNSS rtc: rtc-pm8xxx: add support for PMK8350 RTC ANDROID: gki_defconfig: enable HID configs defconfig: lahaina-gki: Enable QTI Tri-LED driver arm64: defconfig: Enable tz_log driver for Lahaina firmware: qcom: Add TZ log driver snapshot for Lahaina Revert "soc: qcom: socinfo: Expose custom attributes" UPSTREAM: arm64: Validate tagged addresses in access_ok() called from kernel threads soc: qcom: spcom: add spcom as DLKM for GKI cpufreq: qcom-hw: use no_log when reading cpu counter val cpufreq: qcom-hw: Register child devices cpufreq: qcom-hw: Add ready callback to register CPU cooling device cpufreq: qcom-hw: add cycle counter support cpufreq: qcom-hw: remove check for hw enable during probe cpufreq: qcom-hw: Set dvfs_possible_from_any_cpu cpufreq driver flag cpufreq: qcom-hw: Notify the current frequency to the topology driver cpufreq: qcom-hw: register with Energy Model framework cpufreq: qcom: Read voltage LUT and populate OPP cpufreq: qcom-hw: use pre-defined core count for max cores cpufreq: qcom: Add snapshot of cpufreq-hw usb: host: xhci: Replace msleep with usleep_range usb: host: xhci: Change L1 timeout default to 128us usb: xhci: Add support for SINGLE_STEP_SET_FEATURE test of EHSET host: xhci-plat: Enable autosuspend functionality with root hub usb: core: Enable xhci irq after starting controller usb: xhci-plat: Remove system PM call backs xhci-plat: Use USB glue driver device as sysdev arm64: defconfig: Enable EPSS L3 Interconnect driver for Lahaina arm64: defconfig: Enable QCOM clock debug features firmware: qcom_scm: Export invoke callback response API firmware: qcom_scm: Move qseecom specific workarounds sched/fair: Improve the scheduler sched/fair: Improve the scheduler FROMLIST: sched/fair: Use wake_q length as a hint for wake_wide sched/fair: Improve the scheduler sched: use the CPU true capacity while sorting the min/mid/max CPUs cpuset: Restore tasks affinity while moving across cpusets PM / EM: Micro optimization in em_pd_energy sched: trace : Print current sched domain overutilization status ANDROID: sched/fair: Reduce balance interval to 1 jiffy if we have a misfit task ANDROID: trace/sched: Add tracepoint for sched_overutilized events ANDROID: sched: Per-Sched-domain over utilization sched: Add snapshot of task boost feature watchdog: use per_cpu_ptr() in watchdog_disable() Revert "softirq: Let ksoftirqd do its job" Revert "Mark HI and TASKLET softirq synchronous" genirq: Honour IRQ's affinity hint during migration softirq: Don't defer all softirq during RT task sched/cpupri: Exclude isolated CPUs from the lowest_mask softirq: defer softirq processing to ksoftirqd if CPU is busy with RT sched: avoid migrating when softint on tgt cpu should be short sched: avoid scheduling RT threads on cores currently handling softirqs sched/rt: Add snapshot of changes to RT class sched/fair: Add snapshot of load-balancing changes sched/fair: Add snapshot of placement changes sched: Add snapshot of preemption and IRQs disable callers sched: Add snapshot of sched_{up,down}migrate knobs kernel: Add snapshot of changes to support cpu isolation sched: Add sched_enq_deq_task trace point sched: Add snapshot of Window Assisted Load Tracking (WALT) interconnect: qcom: Prevent duplicate BCMs being added to commit list scripts: Makefile: Remove flags which are not support by EXT_DTC scripts: Makefile: add support to use external DTC scripts: Makefile: Add multi overlay dtbo-base apply verify scripts: Makefile: Change output overlay from .dtb to .tmp scripts: Makefile: add support to compile DT overlay blobs leds: Add snapshot of QTI Tri-LED driver soc: qcom: add secure processor communication (spcom) driver msm: kgsl: Remove legacy support for clock_set_flags msm: kgsl: Remove enhanced memory accounting msm: kgsl: Add an option to always enable I/O coherency msm: kgsl: bus dcvs fixes msm: kgsl: Generate TCS votes to send to the GMU msm: kgsl: Use bulk clock functions for GMU msm: kgsl: Modernize bus scaling msm: kgsl: Dynamically create an OPP table at runtime msm: kgsl: Move voltage levels to the GPU specific powerlevels msm: kgsl: Bring in the GPU bandwidth governor msm: kgsl: Fixup kernel API changes msm: kgsl: Bring in the GPU frequency governor msm: kgsl: Remove "zero" power level msm: kgsl: Move the system PM operations to adreno msm: kgsl: Re-export the UAPI header arm64: defconfig: Enable spss_utils driver on Lahaina coresight: funnel: add support for multiple output ports coresight: Kconfig: Add CORESIGHT_QGKI configuration ANDROID: kbuild: limit LTO inlining ANDROID: kbuild: merge module sections with LTO msm: adsprpc: Updating dependencies for fastrpc driver arm64: defconfig: Enable printing unhashed pointers on Lahaina arm64: defconfig: Enable devfreq drivers on Lahaina usb: gadget: f_fs: Add support for IPC logging defconfig: lahaina-gki: Enable PWM LPG driver pwm: Add snapshot of QTI PWM LPG driver defconfig: lahaina-gki: Enable MFD SPMI PMIC driver clk: qcom: Add additional clock debugfs support clk: add/modify debugfs support for clocks interconnect: qcom: Add EPSS L3 support for Lahaina dt-bindings: interconnect: Add epss l3 header for Lahaina drivers: llcc edac: Add Cache Error Reporting driver for llcc drivers: soc: qcom: Add snapshot of boot stats driver drivers: firmware: psci: Register with kernel restart handler msm: ipa: Free rx_wrapper for tmp_alloc pages ANDROID: f2fs: fix possible merge of unencrypted with encrypted I/O spi: spi-msm-geni: Add support to make SPI driver GKI compliant coresight: Add snapshot of remote etm driver coresight: Add snapshot of remote qdss driver wil6210: added sysfs file for FTM calibration wil6210: fix QCA_WLAN_VENDOR_ATTR_FREQ attribute ID wil6210: support FTM/AOA while unassociated wil6210: initial support for FTM and AOA ANDROID: gki_defconfig: Enable UCLAMP by default firmware: qcom_scm: Check for NULL before dereferencing __scm ANDROID: make sure proc mount options are applied ANDROID: sound: usb: Add helper APIs to enable audio stream devfreq: Do not allow tunable updates when device is suspended PM/devfreq: Do not switch governors from sysfs when device is suspended PM / devfreq: Fix race condition between suspend/resume and governor_store PM / devfreq: Introduce an event lock Revert "PM / devfreq: Modify the device name as devfreq(X) for sysfs" PM / devfreq: qoslat: Update voting level definitions devfreq: Allow bw_hwmon resume with zero resume freq devfreq: bwmon: Increase the IOPercentage limits to 400 qcom-llcc-pmu: Update the LLCC PMU configurations for kona perf: Introduce a LLCC PMU PM / devfreq: Add support for memory latency QoS voting PM / devfreq: memlat: optimize freq and stall_pct calculations PM / devfreq: memlat: Aggregate memlat mons under a controller devfreq: detect ddr type and add frequency table accordingly PM / devfreq: bw_hwmon: use unsigned parameter for bytes_to_mbps devfreq: bimc_bwmon: Add support to enable BWMON clks devfreq: return error code when governor start fails devfreq: bw_mon: check for the return value of start_monitor devfreq: Do not round up bandwidth on BWMON4 devices PM / devfreq: bw_hwmon: Fix a race condition in hwmon stop devfreq: suppress platform driver bind / unbind feature devfreq: suppress platform driver bind / unbind feature devfreq: update freq variable in compute_freq function devfreq: memlat: Add suspend/resume for mem_latency PM / devfreq: icc: Switch to OPP APIs PM / devfreq: bw_hwmon: Reset clear bits for some hardware versions PM / devfreq: memlat: Add support for compute-bound logic msm: kgsl: Set up the adreno device at runtime msm: kgsl: Add dedicated boolean functions for adreno sysfs msm: kgsl: Make a child device just for the bwmon governor msm: kgsl: Remove nonsense around the a5xx and a6xx SMMU table update msm: kgsl: Move memory pool initialization to the KGSL core msm: kgsl: Cleanup the device tree probing for memory pools msm: kgsl: Use DMA APIs for memory pool cache maintenance msm: kgsl: Move kgsl_pool_allocate_pages() msm: kgsl: Legacy efuse doesn't need adreno_device msm: kgsl: Make the a6xx mbox client static msm: kgsl: Make switch out of secure more target specific msm: kgsl: Clean up preemption msm: kgsl: Make RGMU use the regular GPU powerlevels msm: kgsl: Cleanup iommu device tree probe msm: kgsl: Consolidate zap shader loading dmaengine: gpi: Add support to make GPI driver GKI compliant PM / devfreq: memlat: Look for min stall% in addition to ratio criteria devfreq: simple-dev: Make the freq-table property optional PM / devfreq: bw_hwmon: Add support for specifying count factor PM / devfreq: bw_hwmon: Add support for configuring byte MID match PM / devfreq: bw_hwmon: Add support for BWMON5 monitors PM / devfreq: bw_hwmon: Split out sw and hw paths PM / devfreq: bw_hwmon: Reflow some code PM / devfreq: bw_hwmon: irq can be negative PM / devfreq: bimc-bwmon: Add support for version 4 PM / devfreq: bw_hwmon: Add HW offload support to governor PM / devfreq: Introduce a memory-latency governor PM / devfreq: bw_hwmon: Expose a throttle adjust tunable devfreq: devfreq_simple_dev: Add support for preparing device clock PM / devfreq: bw_hwmon: Update to low latency, high sampling rate algorithm PM / devfreq: governor_cache_hwmon: Fix race in monitor start/stop PM / devfreq: bimc-bwmon: set a floor_mbps for irq threshold PM / devfreq: cache_hwmon: Use array for reporting monitor stats PM / devfreq: cache_hwmon: Move IRQ handling to device drivers PM / devfreq: Refactor Cache HWmon governor to be more generic PM / devfreq: bimc-bwmon: Add support for version 2 usb: gadget: ffs: Use local copy of descriptors for userspace copy soc: qcom: ssr: Export find_subsys_device function ALSA: compress: Add support to send codec specific data arm64: defconfig: Enable Lazy DMA Mapping on Lahaina GKI msm:ipa: changing err prints to dbg prints drivers: thermal: Add a snapshot of thermal framework usb: dwc3-msm: Add soft dependency on phy drivers msm: ipa3: SRAM NAT, DDR NAT, back-and-forth NAT iommu/arm-smmu: Reduce log spam from ECATS translation timeouts ANDROID: Update ABI representation ANDROID: Don't base allmodconfig on gki_defconfig ANDROID: Disable UNWINDER_ORC for allmodconfig ANDROID: ASoC: Fix 'allmodconfig' build break dmaengine: gpi: Add support for 32-bit kernel dmaengine: gpi: Capture GPI hardware status during GSI General interrupt uio: msm_sharedmem: Fix format specifier to print resource_size_t uio: msm_sharedmem: Use proper format to print phys_addr_t uio: msm_sharedmem: Add support for HYP call uio: Add snapshot of MSM sharedmem driver iommu/arm-smmu: Express fastmap domain geometries correctly ANDROID: sched, cpuidle: Track cpuidle state index in the scheduler topology: Add snapshot of possible sibling cpu mask changes sched: Add snapshot of affinity changes sched: reduce sleep duration in wait_task_inactive() power: em: correct increasing freq/power ratio sched/topology: Enable EAS on SMP systems also ANDROID: sched/fair: Avoid unnecessary balancing of asymmetric capacity groups Revert "sched/deadline: Remove cpu_active_mask from cpudl_find()" trace/sched: set priority to 150 for deadline tasks sched: turn off the TTWU_QUEUE feature cpu/hotplug: Ensure that sched domains are rebuilt before hotplug sched: Introduce PANIC_ON_SCHED_BUG timer: Add function to migrate timers hrtimer: make sure PINNED flag is cleared after removing hrtimer hrtimer.h: prevent pinned timer state from breaking inactive test hrtimer: create hrtimer_quiesce_cpu() to isolate CPU from hrtimers timer: create timer_quiesce_cpu() to isolate CPU from timers hrtimer: update timer->state with 'pinned' information serial: Add UART port for EUD Linux 5.4.2 platform/x86: hp-wmi: Fix ACPI errors caused by passing 0 as input size platform/x86: hp-wmi: Fix ACPI errors caused by too small buffer HID: core: check whether Usage Page item is after Usage ID items crypto: talitos - Fix build error by selecting LIB_DES Revert "jffs2: Fix possible null-pointer dereferences in jffs2_add_frag_to_fragtree()" ext4: add more paranoia checking in ext4_expand_extra_isize handling r8169: fix resume on cable plug-in r8169: fix jumbo configuration for RTL8168evl selftests: pmtu: use -oneline for ip route list cache tipc: fix link name length check selftests: bpf: correct perror strings selftests: bpf: test_sockmap: handle file creation failures gracefully net/tls: use sg_next() to walk sg entries net/tls: remove the dead inplace_crypto code selftests/tls: add a test for fragmented messages net: skmsg: fix TLS 1.3 crash with full sk_msg net/tls: free the record on encryption error net/tls: take into account that bpf_exec_tx_verdict() may free the record openvswitch: remove another BUG_ON() openvswitch: drop unneeded BUG_ON() in ovs_flow_cmd_build_info() sctp: cache netns in sctp_ep_common slip: Fix use-after-free Read in slip_open sctp: Fix memory leak in sctp_sf_do_5_2_4_dupcook openvswitch: fix flow command message size net: sched: fix `tc -s class show` no bstats on class with nolock subqueues net: psample: fix skb_over_panic net: macb: add missed tasklet_kill net: dsa: sja1105: fix sja1105_parse_rgmii_delays() mdio_bus: don't use managed reset-controller macvlan: schedule bc_work even if error gve: Fix the queue page list allocated pages count x86/fpu: Don't cache access to fpu_fpregs_owner_ctx thunderbolt: Power cycle the router if NVM authentication fails mei: me: add comet point V device id mei: bus: prefix device names on bus with the bus name USB: serial: ftdi_sio: add device IDs for U-Blox C099-F9P staging: rtl8723bs: Add 024c:0525 to the list of SDIO device-ids staging: rtl8723bs: Drop ACPI device ids staging: rtl8192e: fix potential use after free staging: wilc1000: fix illegal memory access in wilc_parse_join_bss_param() usb: dwc2: use a longer core rest timeout in dwc2_core_reset() driver core: platform: use the correct callback type for bus_find_device crypto: inside-secure - Fix stability issue with Macchiatobin net: disallow ancillary data for __sys_{send,recv}msg_file() net: separate out the msghdr copy from ___sys_{send,recv}msg() io_uring: async workers should inherit the user creds PM / devfreq: icc: Add suspend/resume APIs PM / devfreq: governor_bw_hwmon: Add suspend/resume support PM / devfreq: Add MSM BIMC bwmon support for bw_hwmon governor msm: devfreq_icc: Add devfreq driver for device bandwidth voting devfreq: Add CPUBW HW monitor governor arm64: defconfig: Enable RPMh clock driver for Lahaina wil6210: add module parameter for alternate interface name ANDROID: Update ABI representation arm64: defconfig: Enable CONFIG_I2C_RTC6226_QCA on Lahaina defconfig: enable fastrpc driver on Lahaina media: v4l2-core: guard code against ABI breakage msm: cvp: Disabe sys cache and dsp initialization checkpatch: check symlinks while searching compatible strings UPSTREAM: of: property: Add device link support for interrupt-parent, dmas and -gpio(s) UPSTREAM: of: property: Fix the semantics of of_is_ancestor_of() UPSTREAM: i2c: of: Populate fwnode in of_i2c_get_board_info() UPSTREAM: regulator: core: Don't try to remove device links if add failed UPSTREAM: driver core: Clarify documentation for fwnode_operations.add_links() mm: cma: Reduce dmesg spam mm: cma: make writeable CMA debugfs optional mm: cma: restrict base_pfn exposure clk: qcom: add clk rpmh support for Lahaina dt-bindings: clock: Add rpmh header for Lahaina mm: cma: Print region name on failure dt-bindings: sound: Add GPR device tree bindings lib/vsprintf: Less restrictive hashed pointer printing firmware: qcom_scm: Add MODULE_LICENSE firmware: qcom-scm: Fix formatting errors in the trace string msm: kgsl: Make secure memory depend on QCOM_SECURE_BUFFER msm: kgsl: Fix context refcounting for adreno debugfs msm: kgsl: Fix linked sysfs files msm: kgsl: Replace the sorted dispatcher pending list msm: kgsl: Use a simpler algorithm to find SVM addresses msm: kgsl: Move globals to the KGSL device handle msm: kgsl: Reorganize the shared memory APIs msm: kgsl: Stop using KGSL_MEMDESC_CONTIG msm: kgsl: Remove unneeded static inline functions msm: kgsl: Make 'globals' a device level debugfs file msm: kgsl: Remove a few unused device tree properties msm: kgsl: Move always on timer reads to target specific code msm: kgsl: Cleanup GPU regulators msm: kgsl: Make coresight optional msm: kgsl: Add support for the Adreno GPU ANDROID: Update ABI representation ANDROID: gki_defconfig: IIO=y msm: ipa: Add PIL driver as soft dependency for IPA msm: ipa3: Fix to hold the clock until replenish the descriptors msm: ipa3: Fix to increase timeout value for send command ANDROID: Update ABI representation coresight: funnel: add support for duplicating funnel devices msm: adsprpc: Fix adsprpc info leak mm, page_owner: record time and pid iommu: arm-smmu: clear TBU halt request when halt times out iommu/arm-smmu: fix stale fault reporting in ecats operation clk: qcom: dispcc: Fix stuck on warning for disp_cc_mdss_mdp_lut_clk clk: qcom: gpucc: Voltage voting support for Lahaina clk: qcom: camcc: Voltage voting support for Lahaina clk: qcom: gcc: Voltage voting support for Lahaina ANDROID: ASoC: core - add hostless DAI support mm: usercopy: skip stack page span check ANDROID: gki_defconfig: =m's applied for virtio configs in arm64 arm64: defconfig: Enable the MSM ION heaps on Lahaina GKI arm64: defconfig: Enable secure buffer driver on Lahaina GKI msm: ipa3: Fix to avoid buffer overread serial: msm_geni_serial: Ensure to set clock freq correctly soc: qcom: Add spss transport for Glink Probe driver ANDROID: Update ABI representation after 5.4.1 merge Linux 5.4.1 KVM: PPC: Book3S HV: Flush link stack on guest exit to host kernel powerpc/book3s64: Fix link stack flush on context switch staging: comedi: usbduxfast: usbduxfast_ai_cmdtest rounding error USB: serial: option: add support for Foxconn T77W968 LTE modules USB: serial: option: add support for DW5821e with eSIM support USB: serial: mos7840: fix remote wakeup USB: serial: mos7720: fix remote wakeup USB: serial: mos7840: add USB ID to support Moxa UPort 2210 appledisplay: fix error handling in the scheduled work USB: chaoskey: fix error case of a timeout usb-serial: cp201x: support Mark-10 digital force gauge usbip: Fix uninitialized symbol 'nents' in stub_recv_cmd_submit() usbip: tools: fix fd leakage in the function of read_attr_usbip_status USBIP: add config dependency for SGL_ALLOC ALSA: hda - Disable audio component for legacy Nvidia HDMI codecs media: mceusb: fix out of bounds read in MCE receiver buffer media: imon: invalid dereference in imon_touch_event media: cxusb: detect cxusb_ctrl_msg error in query media: b2c2-flexcop-usb: add sanity checking media: uvcvideo: Fix error path in control parsing failure futex: Prevent exit livelock futex: Provide distinct return value when owner is exiting futex: Add mutex around futex exit futex: Provide state handling for exec() as well futex: Sanitize exit state handling futex: Mark the begin of futex exit explicitly futex: Set task::futex_state to DEAD right after handling futex exit futex: Split futex_mm_release() for exit/exec exit/exec: Seperate mm_release() futex: Replace PF_EXITPIDONE with a state futex: Move futex exit handling into futex code cpufreq: Add NULL checks to show() and store() methods of cpufreq media: usbvision: Fix races among open, close, and disconnect media: usbvision: Fix invalid accesses after device disconnect media: vivid: Fix wrong locking that causes race conditions on streaming stop media: vivid: Set vid_cap_streaming and vid_out_streaming to true ALSA: usb-audio: Fix Scarlett 6i6 Gen 2 port data ALSA: usb-audio: Fix NULL dereference at parsing BADD futex: Prevent robust futex exit race x86/entry/32: Fix FIXUP_ESPFIX_STACK with user CR3 x86/pti/32: Calculate the various PTI cpu_entry_area sizes correctly, make the CPU_ENTRY_AREA_PAGES assert precise selftests/x86/sigreturn/32: Invalidate DS and ES when abusing the kernel selftests/x86/mov_ss_trap: Fix the SYSENTER test x86/entry/32: Fix NMI vs ESPFIX x86/entry/32: Unwind the ESPFIX stack earlier on exception entry x86/entry/32: Move FIXUP_FRAME after pushing %fs in SAVE_ALL x86/entry/32: Use %ss segment where required x86/entry/32: Fix IRET exception x86/cpu_entry_area: Add guard page for entry stack on 32bit x86/pti/32: Size initial_page_table correctly x86/doublefault/32: Fix stack canaries in the double fault handler x86/xen/32: Simplify ring check in xen_iret_crit_fixup() x86/xen/32: Make xen_iret_crit_fixup() independent of frame layout x86/stackframe/32: Repair 32-bit Xen PV nbd: prevent memory leak x86/speculation: Fix redundant MDS mitigation message x86/speculation: Fix incorrect MDS/TAA mitigation status x86/insn: Fix awk regexp warnings md/raid10: prevent access of uninitialized resync_pages offset Revert "dm crypt: use WQ_HIGHPRI for the IO and crypt workqueues" Revert "Bluetooth: hci_ll: set operational frequency earlier" ath10k: restore QCA9880-AR1A (v1) detection ath10k: Fix HOST capability QMI incompatibility ath10k: Fix a NULL-ptr-deref bug in ath10k_usb_alloc_urb_from_pipe ath9k_hw: fix uninitialized variable data Bluetooth: Fix invalid-free in bcsp_close() serial: msm_geni_serial: Add missing changes from 4.19 kernel msm: ipa: Enable IPA compilation for Lahaina drivers: soc: qcom: Add snapshot of driver for FSA4480 I2C device i3c: i3c-master-qcom-geni: Add I3C GENI driver snapshot firmware: qcom_scm: Add trace points to scm driver ANDROID: gki_defconfig: enable CONFIG_REGULATOR_FIXED_VOLTAGE soc: qcom: Remove downstream scm driver FROMLIST: crypto: arm64/sha: fix function types ANDROID: arm64: kvm: disable CFI ANDROID: arm64: add __nocfi to __apply_alternatives ANDROID: arm64: add __pa_function ANDROID: arm64: add __nocfi to functions that jump to a physical address ANDROID: arm64: bpf: implement arch_bpf_jit_check_func ANDROID: bpf: validate bpf_func when BPF_JIT is enabled with CFI ANDROID: add support for Clang's Control Flow Integrity (CFI) ANDROID: arm64: allow LTO_CLANG and THINLTO to be selected FROMLIST: arm64: fix alternatives with LLVM's integrated assembler FROMLIST: arm64: lse: fix LSE atomics with LLVM's integrated assembler ANDROID: arm64: disable HAVE_ARCH_PREL32_RELOCATIONS with LTO_CLANG ANDROID: arm64: vdso: disable LTO ANDROID: irqchip/gic-v3: rename gic_of_init to work around a ThinLTO+CFI bug ANDROID: soc/tegra: disable ARCH_TEGRA_210_SOC with LTO ANDROID: init: ensure initcall ordering with LTO ANDROID: drivers/misc/lkdtm: disable LTO for rodata.o ANDROID: efi/libstub: disable LTO ANDROID: scripts/mod: disable LTO for empty.c ANDROID: kbuild: fix dynamic ftrace with clang LTO ANDROID: kbuild: add support for Clang LTO ANDROID: kbuild: add CONFIG_LD_IS_LLD FROMGIT: driver core: platform: use the correct callback type for bus_find_device FROMLIST: arm64: implement Shadow Call Stack FROMLIST: arm64: disable SCS for hypervisor code FROMLIST: arm64: vdso: disable Shadow Call Stack FROMLIST: arm64: efi: restore x18 if it was corrupted FROMLIST: arm64: preserve x18 when CPU is suspended FROMLIST: arm64: reserve x18 from general allocation with SCS FROMLIST: arm64: disable function graph tracing with SCS FROMLIST: scs: add support for stack usage debugging FROMLIST: scs: add accounting FROMLIST: add support for Clang's Shadow Call Stack (SCS) FROMLIST: arm64: kernel: avoid x18 in __cpu_soft_restart FROMLIST: arm64: kvm: stop treating register x18 as caller save FROMLIST: arm64/lib: copy_page: avoid x18 register in assembler code FROMLIST: arm64: mm: avoid x18 in idmap_kpti_install_ng_mappings ANDROID: clang: update to 10.0.1 clk: qcom: dispcc: Voltage voting support for Lahaina clk: qcom: videocc: Voltage voting support for Lahaina msm: cvp: Avoid CVP loading at boot ANDROID: update ABI representation ABI: aarch64: Update ABI snapshot based on v5.4 msm: ipa: fix ipa driver compilation issue iommu: dma-mapping-fast: fix iova alloc wrap ALSA: pcm: use lock to protect substream runtime resource ALSA: pcm: add locks for accessing runtime resource ALSA: compress: Memset timestamp structure to zero kconfig: add new config AUDIO_QGKI for audio Asoc: Add audio backend to hwdep interface kernel: Create and export kernel headers usb: dwc3-msm: Delete sysfs files on driver remove FROMLIST: pwm: Convert period and duty cycle to u64 drivers: pinctrl: msm: remove redundant call to set handler ANDROID: gki_defconfig: FW_CACHE to no FROMGIT: firmware_class: make firmware caching configurable msm: adsprpc: Making adsprpc gki compliant ANDROID: gki_defconfig: removed CONFIG_PM_WAKELOCKS ANDROID: gki_defconfig: enable CONFIG_IKHEADERS as m ANDROID: update ABI representation FROMLIST: reboot: Export reboot_mode FROMLIST: iommu/arm-smmu: Update my email address in MODULE_AUTHOR() FROMLIST: iommu/arm-smmu: Allow building as a module FROMLIST: iommu/arm-smmu: Unregister IOMMU and bus ops on device removal FROMLIST: iommu/arm-smmu-v3: Allow building as a module FROMLIST: iommu/arm-smmu-v3: Unregister IOMMU and bus ops on device removal FROMLIST: iommu/arm-smmu: Prevent forced unbinding of Arm SMMU drivers FROMLIST: Revert "iommu/arm-smmu: Make arm-smmu explicitly non-modular" FROMLIST: Revert "iommu/arm-smmu: Make arm-smmu-v3 explicitly non-modular" FROMLIST: drivers/iommu: Allow IOMMU bus ops to be unregistered FROMLIST: iommu/of: Take a ref to the IOMMU driver during ->of_xlate() FROMLIST: drivers/iommu: Take a ref to the IOMMU driver prior to ->add_device() FROMLIST: PCI: Export pci_ats_disabled() as a GPL symbol to modules FROMLIST: iommu/of: Request ACS from the PCI core when configuring IOMMU linkage FROMLIST: drivers/iommu: Export core IOMMU API symbols to permit modular drivers FROMGIT: of: property: Add device link support for "iommu-map" Revert "FROMLIST: iommu: Export core IOMMU functions to kernel modules" Revert "FROMLIST: PCI: Export PCI ACS and DMA searching functions to modules" Revert "FROMLIST: of: Export of_phandle_iterator_args() to modules" usb: typec: ucsi: Optimise ucsi_unregister() usb: typec: ucsi: New error codes usb: typec: ucsi: Remove all bit-fields usb: typec: ucsi: Remove struct ucsi_control usb: typec: ucsi: Remove the old API usb: typec: ucsi: ccg: Move to the new API usb: typec: ucsi: acpi: Move to the new API usb: typec: ucsi: Simplified registration and I/O API usb: typec: Remove the callback members from struct typec_capability usb: typec: ucsi: Start using struct typec_operations usb: typec: tps6598x: Start using struct typec_operations usb: typec: tcpm: Start using struct typec_operations usb: typec: Separate the operations vector usb: typec: Introduce typec_get_drvdata() usb: typec: Copy everything from struct typec_capability during registration ANDROID: initial branch preparations for 5.4 soc: qcom: spss_utils: fix emulation logic for lahaina rumi i2c: i2c-msm-geni: Add support to make I2C driver GKI compliant ALSA: uapi: add new macro SNDRV_AUDIO_QGKI ALSA: compress: Add APTX format support in ALSA uapi: sound : update audio decoder format headers SoC: soc-core: export function to find components defconfig: lahaina-gki: enable the fixed regulator driver regulator: fixed: add support for proxy consumers arm64: defconfig: Enable aop-qmp clock driver for Lahaina clk: qcom: clk-aop-qmp: Update CLK_ENABLE_HAND_OFF flag to 0 clk: qcom: clk-aop-qmp: Add module support to this driver arm64: defconfig: Enable IPC IRQ bridge for Lahaina arm64: defconfig: Enable GLINK Packet driver for Lahaina usb: dt-bindings: Add USB QMP PHY registers definition arm64: defconfig: Disable hvc console for lahaina SoC usb: dwc3-msm: Don't use devm_ioremap when ringing GSI DB usb: dwc3-msm: Simplify GSI register macros regulator: rpmh-regulator: add support for proxy consumers defconfig: lahaina-gki: enable the regulator proxy consumer library regulator: add proxy consumer library mm: oom_kill: reap memory of a task that receives SIGKILL ion: msm: Move msm_ion probe to subsys_initcall_sync soc: qcom: secure_buffer: Move to subsys_initcall drivers: irqchip: qcom-pdc: remove SPI config in SCM msm: cvp: Init reserved cdsp_mem defconfig: Enable qcom_scm as a module firmware: qcom_scm: Add calls for watchdog tests firmware: qcom_scm: Add calls for seccam firmware: qcom_scm: Add calls for csptest firmware: qcom_smc: Add compatibility layer for qseecom soc: qcom: Migrate SCM calls in secure_buffer soc: qcom: secure_buffer: Migrate to qcom_scm usage firmware: qcom_scm: Add support to assign multiple memory regions firmware: qcom_scm: Permit early SCM calls before driver probe soc: qcom: Prune unused SCM calls soc: qcom: Migrating to upstream SCM driver in smcinvoke firmware: qcom_scm: Add memory protection API for MDF firmware: qcom_scm: Add a scm calls for displace memory protect thermal: qcom: Migrate SCM calls in msm_lmh_dcvs thermal: qcom: Migrate SCM calls in lmh_dbg msm: cvp: Migrate SCM calls firmware: qcom_scm: Add support for protecting videos input: touchscreen: synaptics_dsx: Migrate SCM calls firmware: qcom_scm: Add calls for camera soc: qcom: Migrate SCM calls in remoteqdss firmware: qcom: Migrate SCM calls in tz_log soc: qcom: Migrate SCM calls in PIL firmware: qcom_scm: Add calls for pfk_ice msm: kgsl: Migrate SCM calls in GPU bus governor coresight: tpdm: Migrate SCM calls soc: qcom: Migrate SCM calls in qtee_shmbridge soc: qcom: Migrate SCM calls in msm_tz_smmu msm: kgsl: Migrate SCM calls in kgsl iommu usb: dwc3: Issue core soft reset upon controller halt failure usb: dwc3: gadget: Clear pending events when stopping controller usb: gadget: Prevent race between composite_setup & USB disconnect msm: ipa4: add MAC filtering for 802_1Q packets platform: msm: Migrate SCM calls in IPAv3 soc: qcom: Migrate SCM calls in jtagv8 crypto: ice: Migrate SCM calls iommu/arm-smmu: Migrate SCM IO calls in arm-smmu soc: qcom: Migrate SCM calls in core hang msm: kgsl: Migrate SCM calls in adreno soc: qcom: Migrate SCM call to disable watchdog firmware: qcom_scm: Use qtee_shmbridge if available firmware: qcom_scm: Merge qtee_shmbridge and qcom_scm firmware: qcom_scm: Rename -64 -> -smc, remove -32 msm: ipa: Update WDI3.0 specific GSI interface for Lahaina arm64: defconfig: Enable the ARM SMMU module on Lahaina iommu/arm-smmu: Allow the ARM-SMMU driver to be a module Revert "iommu/arm-smmu: Make arm-smmu explicitly non-modular" iommu/arm-smmu: Fix atomic domain handling iommu/arm-smmu: Use a bitmap for the SMMU domain attributes clk: qcom: gpucc: Fix gpll0 parent names usb: phy: Remove unused register offsets techpack: Replace xtype with type while searching for sub-dirs iommu/arm-smmu: Remove legacy bindings bus initialization initcall msm: ipa: replace dma_zalloc_coherent() soc: qcom: Add Kconfig dependency for SENSORS_SSC msm: ipa: Adapt IPA driver to several DLKMs msm: ipa: Update IPA driver Kconfig iommu/arm-smmu: Remove DOMAIN_ATTR_BITMAP_IOVA_ALLOCATOR usb: dwc3-msm: Fix usage of find_matching_dbm_ep() usb: dwc3-msm: Fix invalid usb_psy access during remove msm: adsprpc: fix compilation errors in fastrpc driver on lahaina iommu/arm-smmu: Fix atomic domain attribute check ANDROID: usb: gadget: configfs: Support multiple android instances clk: qcom: clk-dummy: convert into a platform driver usb: dwc3: Suppress error message about optional clks msm: ipa: add a thin parsing option for status packets msm: ipa: Added an option to enable NAPI in 11ad ASoC: core: add debug log for cpu dais msm: ipa4: Update mask and shift values for aggr force close register clk: qcom: gcc: Fix num_parent count for gcc_usb3 clk init data msm: ipa3: Fix to memory allocation failure arm64: defconfig: Enable CVP driver PM / devfreq: Add cache HW monitor governor soc: qcom: secure_buffer: Add missing dma_unmap_single firmware: qcom_scm: Support SCM calls before qcom_scm probe firmware: qcom_scm: Enable legacy convention in qcom_scm-64.c firmware: qcom_scm: Merge legacy and SMCCC conventions firmware: qcom_scm-32: Add device argument to atomic calls firmware: qcom_scm-32: Create common legacy atomic call firmware: qcom_scm-32: Fill SMCCC register in qcom_scm_call firmware: qcom_scm-32: Use qcom_scm_desc in non-atomic calls firmware: qcom_scm-32: Use SMC arch wrappers firmware: qcom_scm-64: Improve SMC convention detection firmware: qcom_scm-64: Fill SMC registers in qcom_scm_call_smccc firmware: qcom_scm-64: Remove qcom_scm_call_do_smccc firmware: qcom_scm-64: Add SCM results to descriptor firmware: qcom_scm-64: Move svc/cmd/owner into qcom_scm_desc firmware: qcom_scm: Remove unused qcom_scm_get_version firmware: qcom_scm: Order functions, definitions by svc/cmd firmware: qcom_scm: Apply consistent naming scheme to command IDs firmware: qcom_scm-64: Make SMCCC macros less magical firmware: qcom_scm: Add funcnum IDs firmware: qcom_scm: Rename macros and structures firmware/qcom_scm: Add scm call to handle smmu errata firmware: qcom_scm-64: Add atomic version of qcom_scm_call defconfig: Enable QCOM_SCM on Lahaina QGKI defconfig: lahaina: Add QTI_PMIC_GLINK driver soc: qcom: Add PMIC Glink driver PM / devfreq: Add devfreq driver for simple device soc: qcom: qsee_ipc_irq_bridge: Use __poll_t for qiib_poll msm: ipa: Bus Scaling/Interconnect Migration arm64: defconfig: Enable CONFIG_MSM_BT_POWER on Lahaina msm: ipa4: Fix to overcome KW issues msm: ipa: IMD command bugfixes msm: ipa: update ipa driver APIs for recent wakeup_source and dma ASoC: core: Fix possible NULL pointer dereference soc: qcom: Add snapshot of watchdog driver interconnect: qcom: add virt_clk provider and QUP nodes platform: msm-geni-se: Add missing fixes from msm-4.19 ASoC: msm: Add compressed TX and passthrough support Subject: [PATCH 2/3] ABI: aarch64: Update ABI snapshot based on v5.4-rc6 msm: adsprpc: update driver to latest version from msm-4.19 msm: gsi: close coal frame before HPS CLEAR msm: cvp: Port CVP driver to 5.x kernel msm: ipa3: Fix to race condition in updating current polling state msm: ipa4: Fix to use common PM handle for coalescing and default pipe ASoC: core: update NAME_SIZE to 64 arm64: defconfig: Enable cam cc clock driver for Lahaina msm:ipa: stop the UL MHIP channels after probe msm: ipa: typo in ioctl ipa3_ioctl_mdfy_flt_rule_v2 function usb: dwc3-msm: Set vbus_active in peripheral only mode ALSA: core: Expose sound card online/offline state msm: ipa4: add generic header processing context defconfig: lahaina-gki: enable USB PHY drivers ASoC: msm: fix integer overflow for long duration offload playback ALSA: jack: update jack types spi: spi-msm-geni: Add SPI GENI driver snapshot clk: qcom: clk-rcg2: add callbacks to deal with voltage voting clk: qcom: clk-alpha-pll: add callbacks to deal with voltage voting clk: qcom: regmap: Add regmap support for voltage voting arm64: defconfig: Enable USB DIAG driver on Lahaina usb: phy: Make phy drivers GKI compatible arm64: defconfig: Enable CONFIG_ION_POOL_AUTO_REFILL on Lahaina arm64: defconfig: Enable QRTR on Lahaina soc: qcom: qpnp-pbs: replace #ifdef with #if IS_ENABLED() platform: msm: qpnp-revid: replace #ifdef with #if IS_ENABLED() soc: qcom: secure_buffer: change the way of divide clk: qcom: add vdd-class voltage regulator voting support defconfig: Lahaina: Enable support for console UART usb: phy: Remove reset link training related workaround usb: gadget: Add snapshot of USB GSI function driver regmap: Make regmap debugfs write optional regmap: improve debugfs interface to dump specific addresses usb: gadget: f_qdss: Fix compilation errors msm: ipa: Enable NAPI on IPA LAN CONS pipe msm: ipa3: add VLAN ID filtering arm64: defconfig: Enable global synx driver arm64: defconfig: Enable global synx driver usb: dwc3: Set vbus_active in peripheral-only mode spmi: regmap: enable userspace writes nvmem: Add snapshot of QTI SDAM driver soc: qcom: Add snapshot of QTI PBS driver soc: qcom: Add snapshot of GLINK_PKT Driver arm64: defconfig: Enable SPSS GLINK driver on Lahaina pinctrl: qcom: Expose ufs_reset as gpio on Lahaina soc: qcom: SSR: Fix registration order for wakeup source clk: qcom: Add cam cc clock driver for Lahaina platform: qpnp-revid: Add REVID support for PM8008, SMB1355 and SMB1390 platform: qpnp-revid: Add REVID support for PM6125 platform: qpnp-revid: Add REVID support for PM7250B platform: msm: Add snapshot of QPNP_REVID driver spmi: spmi-pmic-arb-debug: Change the probe init order spmi: spmi-pmic-arb-debug: add clock management support spmi: add SPMI PMIC arbiter debug bus driver mfd: introduce I2C PMIC controller msm: ipa : Fix update of buffer recycle stats thermal: qcom-spmi-temp-alarm: add support for GEN2 rev 1 PMIC peripherals pinctrl: qcom: spmi-gpio: add support for PM*8350* PMIC variants pinctrl: qcom: spmi-gpio: correct parent irqspec translation pinctrl: qcom: spmi-gpio: Fix the GPIO strength mapping pinctrl: qcom: spmi-gpio: add support to enable/disable output mfd: qcom-spmi-pmic: instantiate pmic peripherals at arch_initcall mfd: qcom-spmi-pmic: add support for slow SPMI busses spmi: spmi-pmic-arb: Fix hw_irq overflow spmi: pmic-arb: support updating interrupt type flags spmi: spmi-pmic-arb: increase SPMI transaction timeout delay spmi: spmi-pmic-arb: block access for invalid PMIC arbiter v5 SPMI writes spmi: spmi-pmic-arb: correct duplicate APID to PPID mapping logic spmi-pmic-arb: add support to dispatch interrupt based on IRQ status spmi: spmi-pmic-arb: check apid against limits before calling irq handler spmi: pmic-arb: do not ack and clear peripheral interrupts in cleanup_irq spmi: pmic_arb: add a print in cleanup_irq spmi: pmic-arb: instantiate spmi_devices at arch_initcall iommu/arm-smmu: Move the SMMU driver to subsys_initcall defconfig: lahaina-gki: enable USB_DWC3_MSM spmi: pmic-arb: Use asynchronous probe bluetooth: Add bluetooth slimbus slave drivers clk: qcom: Set BRANCH_HALT_SKIP for clocks controlled by PMU clk: dt-bindings: gcc: Add PCIE AXI clocks clk: qcom: Update gcc clk parent mappings and hw ctrl flag interconnect: Move Lahaina interconnect driver to core_initcall msm: ipa: Add stats for page recycling coresight: byte-cntr: Add support for streaming interface for ETR Coresight: byte-cntr: Don't read byte-cntr when etr is diasbled msm:ipa: unvote PCIe clock only if it was voted before msm: ipa: fix race condition between USB connect and modem SSR msm: gsi: Set cookie correctly for GCI channel TREs msm: ipa3: Change smmu mapping logs to low priority coresight: Add snapshot of Coresight byte counter driver msm: ipa: Disable csum offload and status for ODL pipe msm: ipa: Retry gsi channel stop for producer channels clk: dt-bindings: gcc: Add USB PIPE clocks clk: qcom: clk-alpha-pll: Remove zonda pll set rate delay clk: qcom: clk-alpha-pll: Add support for controlling zonda5lpe PLL arm64: defconfig: Enable gpu cc clock driver for Lahaina clk: qcom: Add gpu cc clock driver for Lahaina arm64: defconfig: Enable global synx driver serial: msm_geni_serial: Double clock-divider for kona based hw serial: msm-geni-serial: Remove usage of wakeup_source_init API drivers: pinctrl: msm: Add fwnode when setting up hireachy ASoC: msm: qdsp6v2: Get path delay support in compress path techpack: Fix uapi headers_install ion: Assume in-kernel clients for prefetch and drain soc: qcom: smp2p: Don't check for NULL before ipc_log_string() rpmsg: Don't check for NULL before ipc_log_string() net: cnss2: Don't check for NULL before ipc_log_string() mailbox: Don't check for NULL before ipc_log_string() msm: adsprpc: Don't check for NULL before ipc_log_string() usb: dwc3: Fix string format warnings iommu/arm-smmu: Fix string format warnings regulator: Fix formatting warnings in rpmh-regulator scsi: ufs: Fix compiler warning arm64: defconfig: Enable shmbridge driver shmbridge: GKI change for shmbridge cnss2: Switch to new genl structure cnss_genl: Use new structure for genl cnss_prealloc: Use new API to print stack trace i2c: i2c-msm-geni: Add I2C GENI driver snapshot media: v4l2-core: Enable VIDIOC_DQBUF ioctl functionality dmaengine: gpi: add GPI dmaengine driver snapshot usb: gadget: Add support for usb runtime pm APIs usb: gadget: rndis: Add packet filter handling for hw accelerated path USB: rndis: Honor dl_max_packet_size value sent by host usb: gadget: rndis: Add new rndis parameters usb: gadget: Add support for rndis flow control callback usb: Add support for rndis uplink aggregation usb: dwc3-msm: Allow xo_clk to be optional usb: dwc3-msm: Get usb power_supply from device tree usb: dwc3-msm: Add usb_ep_autoconfig_by_name usb: dwc3: Enable PHY deep low power mode in L1 suspend msm: ipa3: Ratelimit the error logs for pkts with invalid status usb: dwc3: Add DWC3 MSM driver coresight: tmc: migrate byte counter to new tmc framework coresight: tmc: Read the TMC mode register only if clk is enabled of: reserved-memory: Bypass rmem initialization check for carveouts msm: synx: Porting synx driver to 5.x kernel net: qrtr: Use proper endianness when logging usb: phy: Add snapshot of QTI USB PHY drivers platform: msm: Add snapshot of USB BAM driver usb: gadget: Add snapshot of USB CDEV function driver usb: gadget: Add snapshot of CCID function driver soc: qcom: spss_utils: add spss_utils as DLKM for GKI soc: qcom: add secure processor subsystem (spss) utils driver defconfig: enable power drivers for lahaina cpuidle: lpm-levels: Update functions to static shmbridge: Add shmbridge driver snapshot for lahaina coresight: csr: Add msr support dcc_v2: Remove duplicate function usb: dwc3: Allow dwc_usb31 to operate in dual-role usb: dwc3: Fix use after free crash from dwc3 interrupt handler usb: dwc3: Prevent continuous retries on error event usb: gadget: Add new ipc log buffer to log request and dma usb: dwc3: Check USB LPM status before accessing registers usb: dwc3: Stop active transfer on control endpoints usb: dwc3: Disable the irq before clearing run_stop bit dwc3: gadget: Take copy of dwc->gadget_driver before releasing lock usb: dwc3: gadget: Enable SUSPEND event after CONNECT DONE usb: dwc3: Check return value for debugfs_create_dir() usb: dwc3: gadget: Ensure no control transfers in progress when stopping usb: dwc3: gadget: Fix runtime PM vote from pull_up handler usb: dwc3: Avoid NULL pointer access usb: dwc3: request 2mA VBUS current when suspending usb: dwc3: Add support for PM suspend and hibernation in host mode usb: dwc3: ep0: Fail enqueue() when racing with vbus_sess disconnect dwc3: gadget: Don't queue USB request if pull up is getting disabled usb: dwc3: Fix USB gadget initialization sequence usb: dwc3: Avoid NULL pointer access in dwc3_calc_trbs_left usb: dwc3: Do not traverse list using list_for_each_safe usb: dwc3: gadget: delay clearing run/stop when setup just arrived dwc3: gadget: Stop active transfer pending on ep0 out/in during reset usb: dwc3: Fix incorrect ep0 state on reset usb: dwc3: resize txfifo of IN/INT endpoint before enabling it usb: dwc3: Add QTI MSM platform specific feature and other changes msm-geni-se : Correct the icc src/dst read logic for single path usb: gadget: Add snapshot of USB QDSS function driver arm64: Kconfig: Don't select COMMON_CLK_QCOM in ARCH_LAHAINA defconfig: lahaina-gki: Enable support for QCOM clock drivers soc: qcom: Add snapshot of IPC IRQ bridge driver msm: qdsp6v2: Add timestamp support for compress capture drivers: cpuidle: lpm-levels-of: conform to arm,idle-state definition drivers: soc: qcom: snapshot of sleep drivers for Lahaina ion: msm: Remove dentry_path() usage on heap debugfs file creation errors synx: Add synx cancel signaling status usb: gadget: Add check gadget function bind or not iommu/arm-smmu: bypass hypervisor and read sync/inval status register usb: dwc3: gadget: Keep track of IRQ timing statistics usb: dwc3: Keep track of interrupt statistics usb: dwc3: debug: Add logging APIs using IPC logging framework usb: xhci-plat: Add DT parameter to program xhci imod_interval usb: dwc3: Increase the inter packet gap for USB 2.0 net: qrtr: Fix wakeup_source_register net: qrtr: Add IPC logging for qrtr interconnect: qcom: lahaina: Remove stub functions interconnect: qcom: fix up endianness for rpmh messages icc: qcom: Refactor icc rpmh support iommu/arm-smmu: report BID, PID and MID of client on context fault mm: cma: add trace events for CMA alloc perf testing mm: vmscan: support complete shrinker reclaim mm: vmscan: support equal reclaim for anon and file pages arm64: defconfig: Enable CONFIG_VM_EVENT_COUNTERS on Lahaina mm: run the showmem notifier in alloc failure mm, oom: run the showmem notifier in oom mm: cma: retry only on EBUSY mm: cma: Increase retries if less blocks available mm: cma: Register with show_mem notification framework mm: cma: sleep between retries in cma_alloc mm: swap: free up swap on mm reap iommu/io-pgtable: Deprecate IO_PGTABLE_QUIRK_NO_DMA iommu/arm-smmu: Use existing facilities for I/O Coherent PTWs ion: msm: Add support for ION heaps to implement prefetch and drain dma-mapping: Remove exposure of dma_get_[base/size] ion: Simplify carveout heap base/size retrieval/error handling ion: msm: Remove [cma/dma]_get_[base/size] usage ion: Conditionally compile page pool refill code usb: gadget: f_ncm: allocate/free net device upon driver bind/unbind msm: ADSPRPC: Fix buffer length for capability API msm: ipa3: Query stats from Q6 NLO PROD/CONS msm: ipa3: Fix to check DMA address valid or not before unmap msm: ipa4: Fix to increase coaleascing common event ring size pinctrl: qcom: lahaina: add GPIO wakeup interrupt map pinctrl: qcom: setup GPIO chip in hierarchy drivers: qcom: Add SoC sleep stats driver drivers: soc: qcom: Add ddr stats driver ASoC: Add a debug message to track widget power up/down ASoC: Change info logs to debug ABI: aarch64: Update ABI snapshot based on v5.4-rc3 msm: IPA: mhi_proxy: correct the mhi vote for both bus and device msm: camera: Add camera dt binding definitions msm: ipa: Add IPA producer and consumer clients for AQC scsi: qcom-ufs: Add support for bus voting using ICB framework clk: dt-bindings: gpu-cc: Update gpu clock driver header for Lahaina defconfig: lahaina-gki: Enable DISP_CC clock driver clk: qcom: Add DISP_CC clock driver for Lahaina defconfig: lahaina-gki: Enable VIDEO_CC clock driver clk: qcom: Add VIDEO_CC clock driver for Lahaina usb: gadget: Add snapshot of USB DIAG function driver ABI: aarch64: Update ABI snapshot based on v5.4-rc1 msm: ipa3: get ipa clk for issuing uc cmds soc: qcom: scm: Fix SCM device initialization mm: showmem: make the notifiers atomic mm: Add notifier framework for showing memory mm: allow page poisoning to be enabled by default arm64: defconfig: Enable RPMSG drivers on Lahaina soc: qcom: Add snapshot for Glink Probe driver usb: dwc3: gadget: Update chain bit correctly when using sg list mm: ratelimit swap write errors mm: slub: panic for object and slab errors mm: Kconfig: Add DEBUG_SLUB_PANIC_ON option mm/page_owner: ask users about default setting of PAGE_OWNER defconfig: lahaina-qgki: enable QTI regulator debugfs features regulator: core: add support to log enabled regulators during suspend regulator: core: add debugfs regulator monitoring and control features net: qrtr: Send HELLO message on endpoint register net: qrtr: Add pm_wakeup_event() support net: qrtr: Make qrtr rx threads as RT priorities net: qrtr: Move rx worker to separate worker thread net: qrtr: Add support to read qrtr packet size net: qrtr: Handle IPCR control port format of older targets net: qrtr: Return success if control port is not bound net: qrtr: Add dynamic node id configuration net: qrtr: Add permission rules for QTI targets net: qrtr: Add support for DEL_PROC control message net: qrtr: Add forwarding support based on net id net: qrtr: Add non blocking option for tx_resume net: qrtr: Move tx_resume handling to work context net: qrtr: Send BYE message for all nodes on ept net: qrtr: Add node assignment on new server net: qrtr: Rename qrtr_all_nodes to qrtr_all_epts net: qrtr: Add support for multiple nodes on a single ept net: qrtr: use alloc_skb_with_frags() in rx path net: qrtr: Check function pointer before calling net: qrtr: Prevent stale ports from sending net: qrtr: Detach socket from sock during release msm: ipa3: Fix to not remove endpoint delay if stop channel fails arm64: defconfig: Enable IPC IRQ driver for Lahaina soc: qcom: Add snapshot for QSEE IPC IRQ driver rpmsg: Add snapshot of RPMSG glink driver for spss drivers: pinctrl: Add QUP macros for read/write on Lahaina pinctrl: Add api to enable/disable wakeup capability for a gpio drivers: pinctrl: Add support for read/write of QUP registers msm: ipa3: remove ipa3_ctx access from wan driver and qmi service msm: ipa: mark the IPA clock on in virtual/emulation mode msm: gsi: gsi channel QoS register update lib: Ignore kasan errors from find_next_bit and last bit net: qrtr: Change port allocation to use cyclic idr net: qrtr: Change node mutex to a rw_semaphore net: qrtr: Add socket mode optimization net: qrtr: Do not send packets before hello negotiation ion: msm: Correct OF node refcount handling in error paths msm: ipa: Allocate pages in a wq context pinctrl: qcom: Add EGPIO feature support to pinctrl driver clk: qcom: Export clk_lucid_5lpe_pll_configure() msm: ipa: update mem_part table for IPA SRAM msm: gsi: gsi 2.9 upgrade msm: ipa: Configure IPA pipes and group resources for Lahaina IPA 4.9 net: qrtr: Align header and payload net: qrtr: Remove receive worker soc: qcom: qmi_interface: Protect sk_user_data with RCU arm64: defconfig: Enable CONFIG_QGKI for Non GKI build soc: qcom: Add a config flag to know the build variant ion: msm: enable debugfs for ion heaps ion: Allow the system heap to expose debug information ion: msm: Expose ION API to query buffer VM information ion: msm: Assume devicetree support ion: msm: Correct msm_ion_parse_dt() error propagation ion: msm: Upgrade the ION ABI version ion: msm: Rename msm_ion_of.[c/h] to msm_ion.[c/h] ion: msm: Fix several errors in the MSM ION kernel header of: Make of_get_ddrtype module friendly soc: qcom: secure_buffer: Fix secure buffer device initialization iommu/arm-smmu: Fix context fault interrupt test iommu/arm-smmu: Use bitfields for the TBU debug registers serial: msm_geni_serial:Add snapshot of serial UART driver platform: msm: Add snapshot of GENI serial engine driver regulator: add verbose error messages for invalid voltage requests usb: dwc3: qcom: Use GDSC regulator if available defconfig: lahaina-gki: enable refgen regulator driver regulator: add refgen regulator driver arm64: defconfig: Enable gcc clock driver for Lahaina clk: qcom: Override clks halt check with BRANCH_HALT_VOTED clk: qcom: Add gcc clock driver for Lahaina clk: dt-bindings: gcc: Update gcc clock driver header for Lahaina defconfig: lahaina-gki: enable rpmh-regulator driver net: qrtr: Make qrtr_port_lookup() use RCU net: qrtr: Implement outgoing flow control net: qrtr: Migrate node lookup tree to spinlock net: qrtr: Move resume-tx transmission to recvmsg net: qrtr: Stop rx_worker before freeing node rpmsg: Add snapshot of RPMSG drivers for lahaina iommu: iommu-debug: check valid pfn before performing ATOS ops msm: ipa3: SRAM NAT, DDR NAT, back-and-forth NAT irqchip: qcom-pdc: Add IPC logging support irqchip: qcom-pdc: Additionally set type in SPI config registers irqchip: qcom-pdc: add irqchip set/get state calls drivers: qcom: rpmh-rsc: add IPC logging support for RSC driver soc: qcom: rpmh-rsc: log interrupt status when TCS is busy soc: qcom: rpmh: Fix sending incorrect data during rpmh flush ARM: smp: export pending IPI state drivers: clksource: add API to return cval msm: ipa4: Fix to add wake up handle for coalescing pipe iommu: iommu-debug: Add support for page table dump dma-mapping-fast: add support for atomic fastmap allocations defconfig: enable reserved memory check on Lahaina of: reserved_mem: Check that memory reserved in device tree is in use msm: ipa: add the version check for FnR stats ioctl msm: kgsl: Add the kgsl uapi header file ipa3: add hasting AP+STA quota/stats support iommu/arm-smmu: Adopt bitfield model for remaining SMMU registers iommu/arm-smmu: Add reset implementation hook iommu/arm-smmu: Add context init implementation hook iommu/arm-smmu: Move Secure access quirk to implementation iommu/arm-smmu: Add configuration implementation hook iommu/arm-smmu: Add implementation infrastructure iommu/arm-smmu: Rename arm-smmu-regs.h iommu/arm-smmu: Abstract GR0 accesses iommu/arm-smmu: Abstract context bank accesses iommu/arm-smmu: Abstract GR1 accesses iommu/arm-smmu: Get rid of weird "atomic" write iommu/arm-smmu: Split arm_smmu_tlb_inv_range_nosync() iommu/arm-smmu: Rework cb_base handling iommu/arm-smmu: Convert context bank registers to bitfields iommu/arm-smmu: Convert GR1 registers to bitfields iommu/arm-smmu: Convert GR0 registers to bitfields iommu/arm-smmu: Fix SMMU derivation in arm_smmu_power_off_atomic of: reserved_mem: add missing of_node_put() for proper ref-counting msm: ipa3: remove ipa3_ctx access from wan driver and qmi service msm: ipa: add additional checks to prevent use-after free errors soc: qcom: qmi_interface: Remove ineffective mutex lock from txn struct soc: qcom: qmi_interface: Release mutex lock before return soc: qcom: qmi_interface: Add send timeout helper soc: qcom: qmi_interface: Fix race between net_reset and release soc: qcom: qmi: Remove txn idr entry in qmi handle release soc: qcom: qmi_interface: sync release and data_ready callback ion: msm: Correct memory-region of_node reference counting ion: msm: Prevent log-spam from ION dmabuf mmap failures Revert "staging: android: ion: Use the MSM dmabuf ops when possible" ion: Update the heaps to use the MSM ION dmabuf ops for CMO ion: msm: Update the heap IDs as per the ION core standards include: dt-bindings: ion: Add header for the MSM ION heap IDs ion: msm: Define heap IDs as constants in their own file clk: qcom: clk-alpha-pll: Add support for controlling Lucid5lpe PLLs arm64: defconfig: Enable SSR, PIL, Sysmon, and PDR drivers soc: qcom: Fix printk format warnings from subsystem restart soc: qcom: Select MSM_PIL for SUBSYSTEM_RESTART drivers: irqchip: add PDC irqdomain for wakeup capable GPIOs msm: ipa: Enable qmi send request to remove last connection msm: ipa: remove unneeded files ion: remove cpu binding of pool refill kthreads staging: android: ion: Ratelimit warning message iommu/arm-smmu: Mask TLBI address correctly ion: msm: Relocate MSM ION header directly to include/uapi/linux ion: Fail system secure heap creation if system heap is unavailable msm: ipa: Fix KW P1 issue msm:ipa : enable HOLB drop timeout on MHIP producer channels msm: ipa: Fix accessing coal registers when clock is off msm: ipa3: Fix to memory allocation failure msm: ipa: Decrease refcount of the pages held in cache before freeing msm: ipa: Fix race condition between timer expiry for wq and pipe teardown iommu: iommu-debug: select IOMMU_DEBUGFS for iommu tests msm: ipa: Enable USB DPL end point regulator: add rpmh-regulator driver dt-bindings: regulator: rpmh-regulator: add new intermediate voltage levels dt-bindings: regulator: rpmh-regulator: add SVS_L2 voltage level dt-binding: regulator: rpmh-regulator: define RPMh sets and regulator modes drivers: llcc-lahaina: Update the SCT table for MMUHWT soc: qcom: qmi_interface: Add new error enum msm: ipa4: Fix to update the polling mode for coalescing channel driver: pinctrl: Add reserved GPIOs for Lahaina soc: qcom: pil: Correct memory-region of_node reference counting msm: ipa: Fix the double unmap page recycling cleanup on ssr drivers: irqchip: pdc: Do not toggle IRQ_ENABLE during mask/unmask genirq: Introduce irq_chip_get/set_parent_state calls msm: IPA: mhi_proxy: correct the return for mhi unvote on ssr msm: ipa: Fix the missing page recycling cleanup on ssr coresight: Add snapshot of Coresight hwevent driver coresight: csr: Add multiple CSR devices support coresight: Add snapshot of Coresight dummy driver ABI: aarch64: Update ABI snapshot based on v5.3 msm: ipa: Ignore empty ipa config file msm: ipa4: Set return value if coalescing frame open msm: ipa4: Don't decrease the client count if suspend fail msm: ipa4: support coalescing pipe suspend msm: ipa: allow abort for disable_clks msm: ipa4: add masked ipa_wigig debug registers values msm: ipa: Use Qtimer for DPL IPA timer techpack: Kbuild: Fix to compile the techpack completely arm64: defconfig: Clean the lines for unset CONFIGs msm: ipa4: Update endpoint prefetch config for lito msm: ipa4: Don't query wigig client tethering stats for all targets ABI: aarch64: Update ABI snapshot based on v5.3-rc6 coresight: Add snapshot of Coresight tgu driver coresight-etm4x: Merge ETM changes radio: RTC6226: Make the rtc6226 driver compatible with QTI platform driver: pinctrl: Update pinctrl mappings for Lahiana soc: qcom: secure_buffer: Trace hyp_assign calls trace: secure_buffer: Introduce trace events for secure buffer coresight: Add snapshot of Coresight csr driver dcc_v2: Don't set the default value to sram when dcc is enabled msm: CDSP: add CDSP loader driver irqdomain: add bus token DOMAIN_BUS_WAKEUP ion: Use correct heap when freeing secure system heap buffers ion: msm: Remove unnecessary free when destroying an ION buffer ion: msm: Only check heap IDs if the heap has been initialized Bluetooth: btpower: Add snapshot of BT power driver defconfig: Add MSM Core Hang Detection as module drivers: soc: Add snapshot of MSM Core Hang Detection msm: ipa: Add snapshot of IPA driver msm: adsprpc: add fastrpc driver files ABI: Update ABI snapshot with latest kernel build tools scripts: Consider env vaiables while running 'make' techpack: replace type with xtype while searching for sub-dirs synx : Add snapshot for global synx driver support soc: qcom: configure ipcc interrupt as wakeup capable coresight: Add snapshot of Coresight TPDM and TPDA driver coresight: Add common header file coresight: etm: Add check of trace unit power property drivers: qcom: rpmh: Add standalone mode support for RPMH drivers: qcom: rpmh-rsc: write PDC data drivers: qcom: rpmh-rsc: return if the controller is idle drivers: qcom: rpmh-rsc: optimize redundant read to determine TCS idle drivers: qcom: rpmh-rsc: clear active mode configuration for waketcs drivers: qcom: rpmh-rsc: output debug information from RSC drivers: qcom: rpmh: add 'solver' state support for RSC controllers drivers: qcom: rpmh-rsc: do not read back the register write on trigger soc: qcom: dcc: Support new DCC HW feature soc: qcom: Add snapshot of the dcc v2 driver dt-bindings: Add dt bindings head file for dcc soc: qcom: Add snapshot of the memory dump v2 driver qseecom: add uapi headfile for Lahaina bring up clk: qcom: clk-debug: Unflatten mux tree clk: qcom: clk-debug: Add custom measure operators for mccc_clk clk: qcom: clk-debug: Add support for enable mask for debug clk clk: qcom: clk-debug: Disable the DEBUG clocks when not being used clk: clk-debug: Update file permission for clk_measure debugfs clk: qcom: Add support for debugfs measure clock clk: avoid returning local variable pointers during clock registration dt-bindings: clock: Add rpmh clock binding IDs for Kona clk: qcom: define vdd_levels enum and vdd_corner[] map clk: qcom: Add support for divider flags and table clk: qcom: common: only register reset controllers which define resets clk: qcom: common: add device tree consumer support for clk_hws clk: qcom: add clk rpmh support for Kona clk: qcom: clk-spmi-pmic-div: avoid potential divide-by-0 clk: qcom: clk-spmi-pmic-div: add support for clock-output-names clk: qcom: clk-aop-qmp: use correct name pointer before clock registration clk: qcom: clk-aop-qmp: pass mbox pointer by reference in qmp_update_client clk: qcom: clk-aop-qmp: Fix issue with registering the clock provider clk: qcom: clk-aop-qmp: correct mailbox channel request logic clk: qcom: clk-aop-qmp: Do not send duplicate requests to AOP clk: qcom: Add support for AOP clock controller clk: qcom: gdsc: Remove global mutex lock in enable/disable callbacks clk: qcom: gdsc-regulator: Remove polling logic when disabling GDSC HW CTL clk: qcom: gdsc-regulator: refactor gdsc_probe() to reduce complexity clk: qcom: gdsc-regulator: add support for enabling retention registers clk: qcom: gdsc-regulator: Add MMCX specific logic clk: qcom: gdsc-regulator: Place a min operational vote on GDSC parent clk: qcom: Add support for regulator based GDSC control clk: qcom: Add support for hardware control branch clocks clk: qcom: clk-rcg2: correct set rate handling for FORCE_ENABLE_RCG clk: qcom: rcg2: Add support for hardware control mode clk: qcom: rcg2: Remove support for update_src_map clk: qcom: clk-rcg2: Read RCG source before calculating clk rate clk: qcom: Retrieve pre_div from freq_tbl for shared RCG clk: qcom: rcg2: Add DIV_ROUND_CLOSEST_ULL to roundoff RCG frequency clk: qcom: add null pointer checks for parent clocks clk: qcom: clk-rcg2: Fix QUPV3 DFSR M and N register mode overwrite clk: qcom: clk-rcg: update DEFINE_RCG_DFS() macro clk: qcom: Add support for clock dependency clk: Add additional checking to some clock driver functions clk: qcom: Add RCG support for DP source clk: qcom: Add support for RCGs with dynamic and fixed sources clk: qcom: clk-rcg2: Add support to force enable an RCG clk: qcom: clk-rcg2: Configure the RCGs to a safe frequency as needed clk: qcom: clk-alpha-pll: check pcal_done from mode register clk: qcom: clk-alpha-pll: add FREQ_DET support to Zonda PLL lock detection clk: qcom: alpha: do not configure PLL during probe if already enabled clk: qcom: clk-alpha-pll: add support to reconfigure PLLs during prepare clk: qcom: clk-alpha-pll: add support for custom register initialization clk: qcom: clk-alpha-pll: Remove reconfiguration of PLLs clk: qcom: clk-alpha-pll: Add support for controlling zonda pll clk: qcom: clk-alpha-pll: add additional configuration support for PLLs clk: qcom: clk-alpha-pll: Add support for controlling Lucid PLLs arm64: defconfig: Enable sensors_ssc on Lahaina drivers: of: Add API to find ddr device type radio: Add snapshot for FM radio support radio: RTC6226: Add support for RTC6226 FM chip include: rmnet_data: Add snapshot of headers drivers: sensors: add sensors ssc driver drivers: qcom: rpmh-rsc: modularize RSC controller driver drivers: qcom: cmd-db: Dump resource data via debugfs pinctrl-lahaina: Correct the pinconfig base address arm64: defconfig: Enable llcc perfmon drivers drivers: llcc_perfmon: support for dual memory controller added drivers: llcc_perfmon: Add llcc_perfmon support net: cnss_prealloc: Add snapshot of cnss_prealloc driver defconfig: Update test configs for debug defconfig drivers: GICv3: Enable logging of interrupts that triggered wakeup defconfig: Enable fastmap on Lahaina net: cnss_genl: Add snapshot of cnss_genl driver soc: qcom: qmi_interface: Abort pending transaction soc: qcom: qmi_interface: Add default send timeout soc: qcom: qmi_interface: Do not print error for 0 pkt arm64: defconfig: Enable SMP2P Sleepstate on Lahaina arm64: defconfig: Enable MSM QMP driver for Lahaina arm64: defconfig: Enable QMP DEBUGFS driver on Lahaina arm64: defconfig: Enable SMP2P and dependencies on Lahaina arm64: defconfig: Enable IPC logging driver on Lahaina soc: qcom: Add snapshot of smp2p sleepstate driver soc: qcom: smp2p: Fix two warnings soc: qcom: smp2p: Prevent suspend for threaded irq soc: qcom: smp2p: Add enable_irq_wake to SMP2P IRQ soc: qcom: smp2p: Add logs in smp2p_update_bits soc: qcom: smp2p: Add IPC logging support defconfig: Enable the MSM ION heaps on Lahaina staging: android: ion: Use the MSM dmabuf ops when possible staging: android: ion: Do not assign heap IDs as heaps register Revert "staging: android: ion: Remove file ion_carveout_heap.c" ion: Merge all ION related changes from msm-4.19 to msm-lahaina net: cnss_utils: Add snapshot of cnss_utils driver ABI: aarch64: Update ABI snapshot based on v5.3-rc4 coresight: add node to reset all coresight devices trace: rtb: add msm_rtb tracing perf: Set the DSU PMU to be readable from any CPU qcom: soc: minidump: Add snapshot of minidump.h soc: qcom: Add snapshot of SSR, PIL, Sysmon, and PDR drivers coresight: add support to enable multiple coresight paths arm64: defconfig: Enable CONFIG_SPARSEMEM_VMEMMAP on Lahaina iommu: io-pgtable-fast: Use the DMA APIs for cache cleaning defconfig: arm64: Enable uncompressed kernel for Lahaina epoll: drop struct epoll_event definition drivers: qcom: cmd-db: Report if command DB is initialized as standalone drivers: qcom: cmd-db: modularize commandDB driver drivers: irqchip: enable PDC irqchip for QCOM Lahaina SoC spdx: Modify spdx tag from GPL-2.0 to GPL-2.0-only coresight: Set clk rate for all coresight devices soc: qcom: smp2p: Add restart ack feature soc: qcom: smp2p: Introduce pending state for virtual irq drivers: mailbox: fix race resulting in multiple message submission soc: qcom: smem: Update max processors in soc Revert "checkpatch: forbid filesystem accesses from within the kernel." Revert "checkpatch: close filp_open loophole." Revert "checkpatch: deprecate unbounded string functions." Revert "checkpatch: Add warnings for use of mdelay()" iommu: Update the offset of the extended domain attributes iommu/arm-smmu: Fix a few compiler warnings Revert "checkpatch: complain about the use of dsb()." Revert "checkpatch: Add exceptions for "dsb" keyword usage" iommu/dma-iommu: Allow dma_info_to_prot to be used globally mailbox: Add snapshot of MSM QMP driver soc: qcom: Add snapshot of MSM QMP debugfs client trace: Add snapshot of ipc logging driver ufs: ufshcd: Prevent sleeping in IRQ context coresight: add support for device names ABI: aarch64: Update ABI snapshot based on v5.3-rc1 ARM64: smp: Fix function prototypes net: cnss2: Add snapshot of CNSS2 driver arm64: defconfig: Enable EDAC drivers drivers: edac: Add Cache Error Reporting driver edac: Allow panic on correctable errors (CE) sched: Add a check for cpu unbound deferrable timers timer: Initialize global deferrable timer ARM64: Flush the caches for non panicking CPUs in case of a kernel panic ARM64: smp: Save CPU registers before IPI_CPU_STOP processing arm64: msm: Add support for uncompressed kernel image ARM: arch_timer: force re-selection of the best clocksource clocksource: add API to force re-selection of the best clocksource defconfig: Disable ZONE_DMA32 on Lahaina iommu: Align QCOM_IOMMU_IO_PGTABLE_QUIRKS with other configs defconfig: Enable panics on TLB_SYNC timeouts on Lahaina defconfig: Enable all IOMMU related configs on Lahaina arm64: defconfig: Enable IPCC driver as a module kernel: rcu: Panic on RCU stall soc: qcom: ipcc: Add snapshot of IPCC controller irqdomain: Implement and expose API to clear IRQ mapping for radix tree drivers: irq: Add debug information for irq type warnings timer: Add a global deferrable timer dtc: add integer overflow checks in fdt header arm64: mm: Log the process id in the rtb ARM: gic-v3: Log the IRQs in RTB before handling an IRQ PM / wakeup: Add msm_show_resume_irq_mask to print off wakeup irq iommu/arm-smmu: Merge all IOMMU changes from msm-4.19 to msm-lahaina printk: Make the console flush configurable in hotplug path arm64: defconfig: Enable LLCC driver drivers: llcc: Add LLCC driver for Lahaina Revert "arm64: kill flush_cache_all()" Revert "arm64: Remove unused macros from assembler.h" Revert "arm64: Remove unused daif related functions/macros" cpu-hotplug: Always use real time scheduling when hotplugging a CPU smp: Allow booting a specific subset of CPUs cpu/hotplug: Add cpuhp_latency trace event workqueue: fix possible livelock with concurrent mod_delayed_work() usb : dwc3: Initialize kernel stack variables properly arm64: Dump stack for all CPUs on SMP CPU stop drivers: llcc: Add new usecase IDs drivers: llcc: Create child platform device for llcc_perfmon drivers: llcc: Support targets that can write to llcc registers drivers: llcc: Write to sub-cache register based on version drivers: llcc: Configure cache override registers ABI: aarch64: Update the ABI snapshot for v5.2 irq-chip: gic-v3: remove print message in irq driver defconfig: lahaina-gki: enable qualcomm ufs driver ufs: ufs-qcom: Add support for presilicon configuration ufs: ufshcd: Add check for broken auto-h8 support defconfig: lahaina-gki: enable presilicon ufs phy driver ABI: aarch64: Update ABI snapshot based for v5.2 arm64: Apply erratum 1024718 to Cortex A55 r2p0 phy: qcom-ufs-qrbtc: Add ufs phy driver for presilicon defonfig: Enable QCOM UFS Phy driver defconfig: lahaina-gki: enable lahaina icc driver arm64: defconfig: Enable USB drivers on Lahaina usb: host: xhci-plat: Avoid unneeded internal declaration warning usb: phy-qcom-emu: Fix typo for memory resource name usb: phy: Add driver for USB PHY on QTI emulation platform phy: phy-qcom-ufs: Modify phy voltage limits rpmsg : glink: validate head and tail index before fifo read write soc: qcom: qmi_encdec: Restrict string length in decode soc: qcom: smem: validate fields of shared structures arm64: Add 32-bit sigcontext definition to uapi signcontext.h net: core: neighbour: Change the print format for addresses scripts: gki: Clean the generted files by hand instead of mrproper elf: Add elf headers helpers support interconnect: qcom: Add Lahaina interconnect provider driver icc: dt-bindings: add endpoint IDs for Lahaina interconnects ABI: Update ABI snapshot due to rolling kernel upgrade Merge remote-tracking branch 'remotes/origin/tmp-f686d9f' into msm-lahaina arm64: defconfig: Enable the QCOM SCM driver soc: qcom: scm: Add snapshot of QCOM SCM driver arm64: defconfig: Enable the pinctrl-lahaina driver pinctrl: qcom: Add lahaina pinctrl driver pinctrl-msm: Allow the driver to be compiled as a module checkpatch: Fix commit log check for a filename clk: qcom: clk-dummy: Add a dummy clock provider msm_rtb: Add _no_log variants msm_rtb: Add snapshot of msm_rtb.h defconfig: lahaina-gki: enable stub-regulator driver regulator: dt-bindings: rpmh-regulator: add header for voltage levels regulator: add stub-regulator driver .gitignore: Add device tree vendor directories to gitignore techpack: add tech package support scripts: gki: Fix setting of a CONFIG if it's unset in base defconfig ABI: Update ABI snapshot due to libabigail tool changes clk: dt-bindings: add clock IDs for Lahaina clock controllers .gitignore: Add techpack directory to gitignore .gitignore: Exclude the GKI generated defconfigs ABI: Update ABI snapshot based on new code baseline checkpatch: Handle continuation headers ABI: Update to the ABI definition file hvc_dcc: Disable preemption when cheking for smp_processor_id arm64: defconfig: Enable ARM DCC driver hvc_dcc: Make dcc driver read/write from CPU0 ABI: Add initial ABI definition based on gki_defconfig checkpatch: Treat duplicate signatures as a different error class checkpatch: allow copyright statements > 80 columns checkpatch: Use upstream commit text length checks checkpatch: Excuse reverts from "summary line over 75 characters" check checkpatch: require commit text checkpatch: Don't complain about MIME headers. checkpatch: Fix the commit log false positive warnings checkpatch: warn on long summary, commit text lines checkpatch: complain about the use of dsb(). checkpatch: warn on subject line not followed by blank line checkpatch: Add exceptions for "dsb" keyword usage checkpatch: close filp_open loophole. checkpatch: Handle long multi-line macros better. checkpatch: deprecate unbounded string functions. checkpatch: forbid implied-barrier I/O functions. checkpatch: forbid filesystem accesses from within the kernel. checkpatch: Check for illegal return codes checkpatch: Add warnings for use of mdelay() checkpatch: Exceptions for CLK_* macros and some spaces in macros arm64: defconfig: Enable Lahaina platform arm64: Kconfig: Add config option for Lahaina ARM: dts: qcom: Add vendor directory to the Makefile docs: Makefile: Don't look for Makefiles in bindings Documentation: devicetree: Remove devicetree bindings from kernel defconfig: Add initial defconfig fragments for Lahaina scripts: gki: Add GKI support scripts: snapshot of kernel build utility scripts Makefile: Disable undefined-optimized and add -fno-builtin ANDROID: HACK: arm64, LLVMLinux: use -mno-implicit-float kbuild: Check for 'clang' string in the entire --version output Change-Id: Ie31e65a8b2960eca7d7e52e7a2201a656ac4825d Signed-off-by: Venkata Narendra Kumar Gutta <vnkgutta@codeaurora.org> Signed-off-by: Elliot Berman <eberman@codeaurora.org>
1897 lines
61 KiB
Makefile
1897 lines
61 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
VERSION = 5
|
|
PATCHLEVEL = 6
|
|
SUBLEVEL = 0
|
|
EXTRAVERSION = -rc3
|
|
NAME = Kleptomaniac Octopus
|
|
|
|
# *DOCUMENTATION*
|
|
# To see a list of typical targets execute "make help"
|
|
# More info can be located in ./README
|
|
# Comments in this file are targeted only to the developer, do not
|
|
# expect to learn how to build the kernel reading this file.
|
|
|
|
# That's our default target when none is given on the command line
|
|
PHONY := _all
|
|
_all:
|
|
|
|
# We are using a recursive build, so we need to do a little thinking
|
|
# to get the ordering right.
|
|
#
|
|
# Most importantly: sub-Makefiles should only ever modify files in
|
|
# their own directory. If in some directory we have a dependency on
|
|
# a file in another dir (which doesn't happen often, but it's often
|
|
# unavoidable when linking the built-in.a targets which finally
|
|
# turn into vmlinux), we will call a sub make in that other dir, and
|
|
# after that we are sure that everything which is in that other dir
|
|
# is now up to date.
|
|
#
|
|
# The only cases where we need to modify files which have global
|
|
# effects are thus separated out and done before the recursive
|
|
# descending is started. They are now explicitly listed as the
|
|
# prepare rule.
|
|
|
|
ifneq ($(sub_make_done),1)
|
|
|
|
# Do not use make's built-in rules and variables
|
|
# (this increases performance and avoids hard-to-debug behaviour)
|
|
MAKEFLAGS += -rR
|
|
|
|
# Avoid funny character set dependencies
|
|
unexport LC_ALL
|
|
LC_COLLATE=C
|
|
LC_NUMERIC=C
|
|
export LC_COLLATE LC_NUMERIC
|
|
|
|
# Avoid interference with shell env settings
|
|
unexport GREP_OPTIONS
|
|
|
|
# Beautify output
|
|
# ---------------------------------------------------------------------------
|
|
#
|
|
# Normally, we echo the whole command before executing it. By making
|
|
# that echo $($(quiet)$(cmd)), we now have the possibility to set
|
|
# $(quiet) to choose other forms of output instead, e.g.
|
|
#
|
|
# quiet_cmd_cc_o_c = Compiling $(RELDIR)/$@
|
|
# cmd_cc_o_c = $(CC) $(c_flags) -c -o $@ $<
|
|
#
|
|
# If $(quiet) is empty, the whole command will be printed.
|
|
# If it is set to "quiet_", only the short version will be printed.
|
|
# If it is set to "silent_", nothing will be printed at all, since
|
|
# the variable $(silent_cmd_cc_o_c) doesn't exist.
|
|
#
|
|
# A simple variant is to prefix commands with $(Q) - that's useful
|
|
# for commands that shall be hidden in non-verbose mode.
|
|
#
|
|
# $(Q)ln $@ :<
|
|
#
|
|
# If KBUILD_VERBOSE equals 0 then the above command will be hidden.
|
|
# If KBUILD_VERBOSE equals 1 then the above command is displayed.
|
|
#
|
|
# To put more focus on warnings, be less verbose as default
|
|
# Use 'make V=1' to see the full commands
|
|
|
|
ifeq ("$(origin V)", "command line")
|
|
KBUILD_VERBOSE = $(V)
|
|
endif
|
|
ifndef KBUILD_VERBOSE
|
|
KBUILD_VERBOSE = 0
|
|
endif
|
|
|
|
ifeq ($(KBUILD_VERBOSE),1)
|
|
quiet =
|
|
Q =
|
|
else
|
|
quiet=quiet_
|
|
Q = @
|
|
endif
|
|
|
|
# If the user is running make -s (silent mode), suppress echoing of
|
|
# commands
|
|
|
|
ifneq ($(findstring s,$(filter-out --%,$(MAKEFLAGS))),)
|
|
quiet=silent_
|
|
endif
|
|
|
|
export quiet Q KBUILD_VERBOSE
|
|
|
|
# Kbuild will save output files in the current working directory.
|
|
# This does not need to match to the root of the kernel source tree.
|
|
#
|
|
# For example, you can do this:
|
|
#
|
|
# cd /dir/to/store/output/files; make -f /dir/to/kernel/source/Makefile
|
|
#
|
|
# If you want to save output files in a different location, there are
|
|
# two syntaxes to specify it.
|
|
#
|
|
# 1) O=
|
|
# Use "make O=dir/to/store/output/files/"
|
|
#
|
|
# 2) Set KBUILD_OUTPUT
|
|
# Set the environment variable KBUILD_OUTPUT to point to the output directory.
|
|
# export KBUILD_OUTPUT=dir/to/store/output/files/; make
|
|
#
|
|
# The O= assignment takes precedence over the KBUILD_OUTPUT environment
|
|
# variable.
|
|
|
|
# Do we want to change the working directory?
|
|
ifeq ("$(origin O)", "command line")
|
|
KBUILD_OUTPUT := $(O)
|
|
endif
|
|
|
|
ifneq ($(KBUILD_OUTPUT),)
|
|
# Make's built-in functions such as $(abspath ...), $(realpath ...) cannot
|
|
# expand a shell special character '~'. We use a somewhat tedious way here.
|
|
abs_objtree := $(shell mkdir -p $(KBUILD_OUTPUT) && cd $(KBUILD_OUTPUT) && pwd)
|
|
$(if $(abs_objtree),, \
|
|
$(error failed to create output directory "$(KBUILD_OUTPUT)"))
|
|
|
|
# $(realpath ...) resolves symlinks
|
|
abs_objtree := $(realpath $(abs_objtree))
|
|
else
|
|
abs_objtree := $(CURDIR)
|
|
endif # ifneq ($(KBUILD_OUTPUT),)
|
|
|
|
ifeq ($(abs_objtree),$(CURDIR))
|
|
# Suppress "Entering directory ..." unless we are changing the work directory.
|
|
MAKEFLAGS += --no-print-directory
|
|
else
|
|
need-sub-make := 1
|
|
endif
|
|
|
|
abs_srctree := $(realpath $(dir $(lastword $(MAKEFILE_LIST))))
|
|
|
|
ifneq ($(words $(subst :, ,$(abs_srctree))), 1)
|
|
$(error source directory cannot contain spaces or colons)
|
|
endif
|
|
|
|
ifneq ($(abs_srctree),$(abs_objtree))
|
|
# Look for make include files relative to root of kernel src
|
|
#
|
|
# This does not become effective immediately because MAKEFLAGS is re-parsed
|
|
# once after the Makefile is read. We need to invoke sub-make.
|
|
MAKEFLAGS += --include-dir=$(abs_srctree)
|
|
need-sub-make := 1
|
|
endif
|
|
|
|
ifneq ($(filter 3.%,$(MAKE_VERSION)),)
|
|
# 'MAKEFLAGS += -rR' does not immediately become effective for GNU Make 3.x
|
|
# We need to invoke sub-make to avoid implicit rules in the top Makefile.
|
|
need-sub-make := 1
|
|
# Cancel implicit rules for this Makefile.
|
|
$(lastword $(MAKEFILE_LIST)): ;
|
|
endif
|
|
|
|
export abs_srctree abs_objtree
|
|
export sub_make_done := 1
|
|
|
|
ifeq ($(need-sub-make),1)
|
|
|
|
PHONY += $(MAKECMDGOALS) sub-make
|
|
|
|
$(filter-out _all sub-make $(lastword $(MAKEFILE_LIST)), $(MAKECMDGOALS)) _all: sub-make
|
|
@:
|
|
|
|
# Invoke a second make in the output directory, passing relevant variables
|
|
sub-make:
|
|
$(Q)$(MAKE) -C $(abs_objtree) -f $(abs_srctree)/Makefile $(MAKECMDGOALS)
|
|
|
|
endif # need-sub-make
|
|
endif # sub_make_done
|
|
|
|
# We process the rest of the Makefile if this is the final invocation of make
|
|
ifeq ($(need-sub-make),)
|
|
|
|
# Do not print "Entering directory ...",
|
|
# but we want to display it when entering to the output directory
|
|
# so that IDEs/editors are able to understand relative filenames.
|
|
MAKEFLAGS += --no-print-directory
|
|
|
|
# Call a source code checker (by default, "sparse") as part of the
|
|
# C compilation.
|
|
#
|
|
# Use 'make C=1' to enable checking of only re-compiled files.
|
|
# Use 'make C=2' to enable checking of *all* source files, regardless
|
|
# of whether they are re-compiled or not.
|
|
#
|
|
# See the file "Documentation/dev-tools/sparse.rst" for more details,
|
|
# including where to get the "sparse" utility.
|
|
|
|
ifeq ("$(origin C)", "command line")
|
|
KBUILD_CHECKSRC = $(C)
|
|
endif
|
|
ifndef KBUILD_CHECKSRC
|
|
KBUILD_CHECKSRC = 0
|
|
endif
|
|
|
|
# Use make M=dir or set the environment variable KBUILD_EXTMOD to specify the
|
|
# directory of external module to build. Setting M= takes precedence.
|
|
ifeq ("$(origin M)", "command line")
|
|
KBUILD_EXTMOD := $(M)
|
|
endif
|
|
|
|
export KBUILD_CHECKSRC KBUILD_EXTMOD
|
|
|
|
extmod-prefix = $(if $(KBUILD_EXTMOD),$(KBUILD_EXTMOD)/)
|
|
|
|
ifeq ($(abs_srctree),$(abs_objtree))
|
|
# building in the source tree
|
|
srctree := .
|
|
building_out_of_srctree :=
|
|
else
|
|
ifeq ($(abs_srctree)/,$(dir $(abs_objtree)))
|
|
# building in a subdirectory of the source tree
|
|
srctree := ..
|
|
else
|
|
srctree := $(abs_srctree)
|
|
endif
|
|
building_out_of_srctree := 1
|
|
endif
|
|
|
|
ifneq ($(KBUILD_ABS_SRCTREE),)
|
|
srctree := $(abs_srctree)
|
|
endif
|
|
|
|
objtree := .
|
|
VPATH := $(srctree)
|
|
|
|
export building_out_of_srctree srctree objtree VPATH
|
|
|
|
# To make sure we do not include .config for any of the *config targets
|
|
# catch them early, and hand them over to scripts/kconfig/Makefile
|
|
# It is allowed to specify more targets when calling make, including
|
|
# mixing *config targets and build targets.
|
|
# For example 'make oldconfig all'.
|
|
# Detect when mixed targets is specified, and make a second invocation
|
|
# of make so .config is not included in this case either (for *config).
|
|
|
|
version_h := include/generated/uapi/linux/version.h
|
|
old_version_h := include/linux/version.h
|
|
|
|
clean-targets := %clean mrproper cleandocs
|
|
no-dot-config-targets := $(clean-targets) \
|
|
cscope gtags TAGS tags help% %docs check% coccicheck \
|
|
$(version_h) headers headers_% archheaders archscripts \
|
|
%asm-generic kernelversion %src-pkg
|
|
no-sync-config-targets := $(no-dot-config-targets) install %install \
|
|
kernelrelease
|
|
single-targets := %.a %.i %.ko %.lds %.ll %.lst %.mod %.o %.s %.symtypes %/
|
|
|
|
config-build :=
|
|
mixed-build :=
|
|
need-config := 1
|
|
may-sync-config := 1
|
|
single-build :=
|
|
|
|
ifneq ($(filter $(no-dot-config-targets), $(MAKECMDGOALS)),)
|
|
ifeq ($(filter-out $(no-dot-config-targets), $(MAKECMDGOALS)),)
|
|
need-config :=
|
|
endif
|
|
endif
|
|
|
|
ifneq ($(filter $(no-sync-config-targets), $(MAKECMDGOALS)),)
|
|
ifeq ($(filter-out $(no-sync-config-targets), $(MAKECMDGOALS)),)
|
|
may-sync-config :=
|
|
endif
|
|
endif
|
|
|
|
ifneq ($(KBUILD_EXTMOD),)
|
|
may-sync-config :=
|
|
endif
|
|
|
|
ifeq ($(KBUILD_EXTMOD),)
|
|
ifneq ($(filter config %config,$(MAKECMDGOALS)),)
|
|
config-build := 1
|
|
ifneq ($(words $(MAKECMDGOALS)),1)
|
|
mixed-build := 1
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
# We cannot build single targets and the others at the same time
|
|
ifneq ($(filter $(single-targets), $(MAKECMDGOALS)),)
|
|
single-build := 1
|
|
ifneq ($(filter-out $(single-targets), $(MAKECMDGOALS)),)
|
|
mixed-build := 1
|
|
endif
|
|
endif
|
|
|
|
# For "make -j clean all", "make -j mrproper defconfig all", etc.
|
|
ifneq ($(filter $(clean-targets),$(MAKECMDGOALS)),)
|
|
ifneq ($(filter-out $(clean-targets),$(MAKECMDGOALS)),)
|
|
mixed-build := 1
|
|
endif
|
|
endif
|
|
|
|
# install and modules_install need also be processed one by one
|
|
ifneq ($(filter install,$(MAKECMDGOALS)),)
|
|
ifneq ($(filter modules_install,$(MAKECMDGOALS)),)
|
|
mixed-build := 1
|
|
endif
|
|
endif
|
|
|
|
ifdef mixed-build
|
|
# ===========================================================================
|
|
# We're called with mixed targets (*config and build targets).
|
|
# Handle them one by one.
|
|
|
|
PHONY += $(MAKECMDGOALS) __build_one_by_one
|
|
|
|
$(filter-out __build_one_by_one, $(MAKECMDGOALS)): __build_one_by_one
|
|
@:
|
|
|
|
__build_one_by_one:
|
|
$(Q)set -e; \
|
|
for i in $(MAKECMDGOALS); do \
|
|
$(MAKE) -f $(srctree)/Makefile $$i; \
|
|
done
|
|
|
|
else # !mixed-build
|
|
|
|
include scripts/Kbuild.include
|
|
|
|
# Read KERNELRELEASE from include/config/kernel.release (if it exists)
|
|
KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
|
|
KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
|
|
export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION
|
|
|
|
include scripts/subarch.include
|
|
|
|
# Cross compiling and selecting different set of gcc/bin-utils
|
|
# ---------------------------------------------------------------------------
|
|
#
|
|
# When performing cross compilation for other architectures ARCH shall be set
|
|
# to the target architecture. (See arch/* for the possibilities).
|
|
# ARCH can be set during invocation of make:
|
|
# make ARCH=ia64
|
|
# Another way is to have ARCH set in the environment.
|
|
# The default ARCH is the host where make is executed.
|
|
|
|
# CROSS_COMPILE specify the prefix used for all executables used
|
|
# during compilation. Only gcc and related bin-utils executables
|
|
# are prefixed with $(CROSS_COMPILE).
|
|
# CROSS_COMPILE can be set on the command line
|
|
# make CROSS_COMPILE=ia64-linux-
|
|
# Alternatively CROSS_COMPILE can be set in the environment.
|
|
# Default value for CROSS_COMPILE is not to prefix executables
|
|
# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
|
|
ARCH ?= $(SUBARCH)
|
|
|
|
# Architecture as present in compile.h
|
|
UTS_MACHINE := $(ARCH)
|
|
SRCARCH := $(ARCH)
|
|
|
|
# Additional ARCH settings for x86
|
|
ifeq ($(ARCH),i386)
|
|
SRCARCH := x86
|
|
endif
|
|
ifeq ($(ARCH),x86_64)
|
|
SRCARCH := x86
|
|
endif
|
|
|
|
# Additional ARCH settings for sparc
|
|
ifeq ($(ARCH),sparc32)
|
|
SRCARCH := sparc
|
|
endif
|
|
ifeq ($(ARCH),sparc64)
|
|
SRCARCH := sparc
|
|
endif
|
|
|
|
# Additional ARCH settings for sh
|
|
ifeq ($(ARCH),sh64)
|
|
SRCARCH := sh
|
|
endif
|
|
|
|
KCONFIG_CONFIG ?= .config
|
|
export KCONFIG_CONFIG
|
|
|
|
# SHELL used by kbuild
|
|
CONFIG_SHELL := sh
|
|
|
|
HOST_LFS_CFLAGS := $(shell getconf LFS_CFLAGS 2>/dev/null)
|
|
HOST_LFS_LDFLAGS := $(shell getconf LFS_LDFLAGS 2>/dev/null)
|
|
HOST_LFS_LIBS := $(shell getconf LFS_LIBS 2>/dev/null)
|
|
|
|
HOSTCC = gcc
|
|
HOSTCXX = g++
|
|
KBUILD_HOSTCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 \
|
|
-fomit-frame-pointer -std=gnu89 $(HOST_LFS_CFLAGS) \
|
|
$(HOSTCFLAGS)
|
|
KBUILD_HOSTCXXFLAGS := -O2 $(HOST_LFS_CFLAGS) $(HOSTCXXFLAGS)
|
|
KBUILD_HOSTLDFLAGS := $(HOST_LFS_LDFLAGS) $(HOSTLDFLAGS)
|
|
KBUILD_HOSTLDLIBS := $(HOST_LFS_LIBS) $(HOSTLDLIBS)
|
|
|
|
# Make variables (CC, etc...)
|
|
AS = $(CROSS_COMPILE)as
|
|
LD = $(CROSS_COMPILE)ld
|
|
REAL_CC = $(CROSS_COMPILE)gcc
|
|
CPP = $(CC) -E
|
|
AR = $(CROSS_COMPILE)ar
|
|
NM = $(CROSS_COMPILE)nm
|
|
STRIP = $(CROSS_COMPILE)strip
|
|
OBJCOPY = $(CROSS_COMPILE)objcopy
|
|
OBJDUMP = $(CROSS_COMPILE)objdump
|
|
OBJSIZE = $(CROSS_COMPILE)size
|
|
READELF = $(CROSS_COMPILE)readelf
|
|
PAHOLE = pahole
|
|
LEX = flex
|
|
YACC = bison
|
|
AWK = awk
|
|
INSTALLKERNEL := installkernel
|
|
DEPMOD = /sbin/depmod
|
|
PERL = perl
|
|
PYTHON = python
|
|
PYTHON3 = python3
|
|
CHECK = sparse
|
|
BASH = bash
|
|
|
|
ifndef DISABLE_WRAPPER
|
|
# Use the wrapper for the compiler. This wrapper scans for new
|
|
# warnings and causes the build to stop upon encountering them
|
|
CC = $(srctree)/scripts/gcc-wrapper.py $(REAL_CC)
|
|
else
|
|
CC = $(REAL_CC)
|
|
endif
|
|
|
|
CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
|
|
-Wbitwise -Wno-return-void -Wno-unknown-attribute $(CF)
|
|
NOSTDINC_FLAGS :=
|
|
CFLAGS_MODULE =
|
|
AFLAGS_MODULE =
|
|
LDFLAGS_MODULE =
|
|
CFLAGS_KERNEL =
|
|
AFLAGS_KERNEL =
|
|
LDFLAGS_vmlinux =
|
|
|
|
# Use USERINCLUDE when you must reference the UAPI directories only.
|
|
USERINCLUDE := \
|
|
-I$(srctree)/arch/$(SRCARCH)/include/uapi \
|
|
-I$(objtree)/arch/$(SRCARCH)/include/generated/uapi \
|
|
-I$(srctree)/include/uapi \
|
|
-I$(objtree)/include/generated/uapi \
|
|
-include $(srctree)/include/linux/kconfig.h
|
|
|
|
# Use LINUXINCLUDE when you must reference the include/ directory.
|
|
# Needed to be compatible with the O= option
|
|
LINUXINCLUDE := \
|
|
-I$(srctree)/arch/$(SRCARCH)/include \
|
|
-I$(objtree)/arch/$(SRCARCH)/include/generated \
|
|
$(if $(building_out_of_srctree),-I$(srctree)/include) \
|
|
-I$(objtree)/include \
|
|
$(USERINCLUDE)
|
|
|
|
KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE
|
|
KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \
|
|
-fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \
|
|
-Werror=implicit-function-declaration -Werror=implicit-int \
|
|
-Wno-format-security \
|
|
-std=gnu89
|
|
KBUILD_CPPFLAGS := -D__KERNEL__
|
|
KBUILD_AFLAGS_KERNEL :=
|
|
KBUILD_CFLAGS_KERNEL :=
|
|
KBUILD_AFLAGS_MODULE := -DMODULE
|
|
KBUILD_CFLAGS_MODULE := -DMODULE
|
|
KBUILD_LDFLAGS_MODULE :=
|
|
export KBUILD_LDS_MODULE := $(srctree)/scripts/module-common.lds
|
|
KBUILD_LDFLAGS :=
|
|
GCC_PLUGINS_CFLAGS :=
|
|
CLANG_FLAGS :=
|
|
|
|
export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE AS LD CC
|
|
export CPP AR NM STRIP OBJCOPY OBJDUMP OBJSIZE READELF PAHOLE LEX YACC AWK INSTALLKERNEL
|
|
export PERL PYTHON PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX
|
|
export KBUILD_HOSTCXXFLAGS KBUILD_HOSTLDFLAGS KBUILD_HOSTLDLIBS LDFLAGS_MODULE
|
|
|
|
export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS KBUILD_LDFLAGS
|
|
export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE
|
|
export CFLAGS_KASAN CFLAGS_KASAN_NOSANITIZE CFLAGS_UBSAN
|
|
export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
|
|
export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_LDFLAGS_MODULE
|
|
export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL
|
|
|
|
# Files to ignore in find ... statements
|
|
|
|
export RCS_FIND_IGNORE := \( -name SCCS -o -name BitKeeper -o -name .svn -o \
|
|
-name CVS -o -name .pc -o -name .hg -o -name .git \) \
|
|
-prune -o
|
|
export RCS_TAR_IGNORE := --exclude SCCS --exclude BitKeeper --exclude .svn \
|
|
--exclude CVS --exclude .pc --exclude .hg --exclude .git
|
|
|
|
# ===========================================================================
|
|
# Rules shared between *config targets and build targets
|
|
|
|
# Basic helpers built in scripts/basic/
|
|
PHONY += scripts_basic
|
|
scripts_basic:
|
|
$(Q)$(MAKE) $(build)=scripts/basic
|
|
$(Q)rm -f .tmp_quiet_recordmcount
|
|
|
|
PHONY += outputmakefile
|
|
# Before starting out-of-tree build, make sure the source tree is clean.
|
|
# outputmakefile generates a Makefile in the output directory, if using a
|
|
# separate output directory. This allows convenient use of make in the
|
|
# output directory.
|
|
# At the same time when output Makefile generated, generate .gitignore to
|
|
# ignore whole output directory
|
|
outputmakefile:
|
|
ifdef building_out_of_srctree
|
|
$(Q)if [ -f $(srctree)/.config -o \
|
|
-d $(srctree)/include/config -o \
|
|
-d $(srctree)/arch/$(SRCARCH)/include/generated ]; then \
|
|
echo >&2 "***"; \
|
|
echo >&2 "*** The source tree is not clean, please run 'make$(if $(findstring command line, $(origin ARCH)), ARCH=$(ARCH)) mrproper'"; \
|
|
echo >&2 "*** in $(abs_srctree)";\
|
|
echo >&2 "***"; \
|
|
false; \
|
|
fi
|
|
$(Q)ln -fsn $(srctree) source
|
|
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkmakefile $(srctree)
|
|
$(Q)test -e .gitignore || \
|
|
{ echo "# this is build directory, ignore it"; echo "*"; } > .gitignore
|
|
endif
|
|
|
|
ifneq ($(shell $(CC) --version 2>&1 | grep clang),)
|
|
ifneq ($(CROSS_COMPILE),)
|
|
CLANG_TRIPLE ?= $(CROSS_COMPILE)
|
|
CLANG_FLAGS += --target=$(notdir $(CLANG_TRIPLE:%-=%))
|
|
ifeq ($(shell $(srctree)/scripts/clang-android.sh $(CC) $(CLANG_FLAGS)), y)
|
|
$(error "Clang with Android --target detected. Did you specify CLANG_TRIPLE?")
|
|
endif
|
|
GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit))
|
|
CLANG_FLAGS += --prefix=$(GCC_TOOLCHAIN_DIR)
|
|
GCC_TOOLCHAIN := $(realpath $(GCC_TOOLCHAIN_DIR)/..)
|
|
endif
|
|
ifneq ($(GCC_TOOLCHAIN),)
|
|
CLANG_FLAGS += --gcc-toolchain=$(GCC_TOOLCHAIN)
|
|
endif
|
|
ifeq ($(shell $(AS) --version 2>&1 | head -n 1 | grep clang),)
|
|
CLANG_FLAGS += -no-integrated-as
|
|
endif
|
|
CLANG_FLAGS += -Werror=unknown-warning-option
|
|
KBUILD_CFLAGS += $(CLANG_FLAGS)
|
|
KBUILD_AFLAGS += $(CLANG_FLAGS)
|
|
export CLANG_FLAGS
|
|
endif
|
|
|
|
# The expansion should be delayed until arch/$(SRCARCH)/Makefile is included.
|
|
# Some architectures define CROSS_COMPILE in arch/$(SRCARCH)/Makefile.
|
|
# CC_VERSION_TEXT is referenced from Kconfig (so it needs export),
|
|
# and from include/config/auto.conf.cmd to detect the compiler upgrade.
|
|
CC_VERSION_TEXT = $(shell $(CC) --version 2>/dev/null | head -n 1)
|
|
|
|
ifdef config-build
|
|
# ===========================================================================
|
|
# *config targets only - make sure prerequisites are updated, and descend
|
|
# in scripts/kconfig to make the *config target
|
|
|
|
# Read arch specific Makefile to set KBUILD_DEFCONFIG as needed.
|
|
# KBUILD_DEFCONFIG may point out an alternative default configuration
|
|
# used for 'make defconfig'
|
|
include arch/$(SRCARCH)/Makefile
|
|
export KBUILD_DEFCONFIG KBUILD_KCONFIG CC_VERSION_TEXT
|
|
|
|
config: outputmakefile scripts_basic FORCE
|
|
$(Q)$(MAKE) $(build)=scripts/kconfig $@
|
|
|
|
%config: outputmakefile scripts_basic FORCE
|
|
$(Q)$(MAKE) $(build)=scripts/kconfig $@
|
|
|
|
else #!config-build
|
|
# ===========================================================================
|
|
# Build targets only - this includes vmlinux, arch specific targets, clean
|
|
# targets and others. In general all targets except *config targets.
|
|
|
|
# If building an external module we do not care about the all: rule
|
|
# but instead _all depend on modules
|
|
PHONY += all
|
|
ifeq ($(KBUILD_EXTMOD),)
|
|
_all: all
|
|
else
|
|
_all: modules
|
|
endif
|
|
|
|
# Decide whether to build built-in, modular, or both.
|
|
# Normally, just do built-in.
|
|
|
|
KBUILD_MODULES :=
|
|
KBUILD_BUILTIN := 1
|
|
|
|
# If we have only "make modules", don't compile built-in objects.
|
|
# When we're building modules with modversions, we need to consider
|
|
# the built-in objects during the descend as well, in order to
|
|
# make sure the checksums are up to date before we record them.
|
|
|
|
ifeq ($(MAKECMDGOALS),modules)
|
|
KBUILD_BUILTIN := $(if $(CONFIG_MODVERSIONS),1)
|
|
endif
|
|
|
|
# If we have "make <whatever> modules", compile modules
|
|
# in addition to whatever we do anyway.
|
|
# Just "make" or "make all" shall build modules as well
|
|
|
|
ifneq ($(filter all _all modules nsdeps,$(MAKECMDGOALS)),)
|
|
KBUILD_MODULES := 1
|
|
endif
|
|
|
|
ifeq ($(MAKECMDGOALS),)
|
|
KBUILD_MODULES := 1
|
|
endif
|
|
|
|
export KBUILD_MODULES KBUILD_BUILTIN
|
|
|
|
ifdef need-config
|
|
include include/config/auto.conf
|
|
endif
|
|
|
|
ifeq ($(KBUILD_EXTMOD),)
|
|
# Objects we will link into vmlinux / subdirs we need to visit
|
|
init-y := init/
|
|
drivers-y := drivers/ sound/
|
|
drivers-$(CONFIG_SAMPLES) += samples/
|
|
net-y := net/
|
|
libs-y := lib/
|
|
core-y := usr/
|
|
virt-y := virt/
|
|
endif # KBUILD_EXTMOD
|
|
|
|
# The all: target is the default when no target is given on the
|
|
# command line.
|
|
# This allow a user to issue only 'make' to build a kernel including modules
|
|
# Defaults to vmlinux, but the arch makefile usually adds further targets
|
|
all: vmlinux
|
|
|
|
CFLAGS_GCOV := -fprofile-arcs -ftest-coverage \
|
|
$(call cc-option,-fno-tree-loop-im) \
|
|
$(call cc-disable-warning,maybe-uninitialized,)
|
|
export CFLAGS_GCOV
|
|
|
|
# The arch Makefiles can override CC_FLAGS_FTRACE. We may also append it later.
|
|
ifdef CONFIG_FUNCTION_TRACER
|
|
CC_FLAGS_FTRACE := -pg
|
|
endif
|
|
|
|
RETPOLINE_CFLAGS_GCC := -mindirect-branch=thunk-extern -mindirect-branch-register
|
|
RETPOLINE_VDSO_CFLAGS_GCC := -mindirect-branch=thunk-inline -mindirect-branch-register
|
|
RETPOLINE_CFLAGS_CLANG := -mretpoline-external-thunk
|
|
RETPOLINE_VDSO_CFLAGS_CLANG := -mretpoline
|
|
RETPOLINE_CFLAGS := $(call cc-option,$(RETPOLINE_CFLAGS_GCC),$(call cc-option,$(RETPOLINE_CFLAGS_CLANG)))
|
|
RETPOLINE_VDSO_CFLAGS := $(call cc-option,$(RETPOLINE_VDSO_CFLAGS_GCC),$(call cc-option,$(RETPOLINE_VDSO_CFLAGS_CLANG)))
|
|
export RETPOLINE_CFLAGS
|
|
export RETPOLINE_VDSO_CFLAGS
|
|
|
|
# Make toolchain changes before including arch/$(SRCARCH)/Makefile to ensure
|
|
# ar/cc/ld-* macros return correct values.
|
|
ifdef CONFIG_LTO_CLANG
|
|
# LTO produces LLVM IR instead of object files. Use llvm-ar and llvm-nm, so we
|
|
# can process these.
|
|
AR := llvm-ar
|
|
LLVM_NM := llvm-nm
|
|
export LLVM_NM
|
|
endif
|
|
|
|
include arch/$(SRCARCH)/Makefile
|
|
|
|
ifdef need-config
|
|
ifdef may-sync-config
|
|
# Read in dependencies to all Kconfig* files, make sure to run syncconfig if
|
|
# changes are detected. This should be included after arch/$(SRCARCH)/Makefile
|
|
# because some architectures define CROSS_COMPILE there.
|
|
include include/config/auto.conf.cmd
|
|
|
|
$(KCONFIG_CONFIG):
|
|
@echo >&2 '***'
|
|
@echo >&2 '*** Configuration file "$@" not found!'
|
|
@echo >&2 '***'
|
|
@echo >&2 '*** Please run some configurator (e.g. "make oldconfig" or'
|
|
@echo >&2 '*** "make menuconfig" or "make xconfig").'
|
|
@echo >&2 '***'
|
|
@/bin/false
|
|
|
|
# The actual configuration files used during the build are stored in
|
|
# include/generated/ and include/config/. Update them if .config is newer than
|
|
# include/config/auto.conf (which mirrors .config).
|
|
#
|
|
# This exploits the 'multi-target pattern rule' trick.
|
|
# The syncconfig should be executed only once to make all the targets.
|
|
%/auto.conf %/auto.conf.cmd: $(KCONFIG_CONFIG)
|
|
$(Q)$(MAKE) -f $(srctree)/Makefile syncconfig
|
|
else # !may-sync-config
|
|
# External modules and some install targets need include/generated/autoconf.h
|
|
# and include/config/auto.conf but do not care if they are up-to-date.
|
|
# Use auto.conf to trigger the test
|
|
PHONY += include/config/auto.conf
|
|
|
|
include/config/auto.conf:
|
|
$(Q)test -e include/generated/autoconf.h -a -e $@ || ( \
|
|
echo >&2; \
|
|
echo >&2 " ERROR: Kernel configuration is invalid."; \
|
|
echo >&2 " include/generated/autoconf.h or $@ are missing.";\
|
|
echo >&2 " Run 'make oldconfig && make prepare' on kernel src to fix it."; \
|
|
echo >&2 ; \
|
|
/bin/false)
|
|
|
|
endif # may-sync-config
|
|
endif # need-config
|
|
|
|
KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks,)
|
|
KBUILD_CFLAGS += $(call cc-disable-warning,frame-address,)
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, format-truncation)
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, format-overflow)
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
|
|
|
|
ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
|
|
KBUILD_CFLAGS += -O2
|
|
else ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3
|
|
KBUILD_CFLAGS += -O3
|
|
else ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
|
|
KBUILD_CFLAGS += -Os
|
|
endif
|
|
|
|
ifdef CONFIG_CC_DISABLE_WARN_MAYBE_UNINITIALIZED
|
|
KBUILD_CFLAGS += -Wno-maybe-uninitialized
|
|
endif
|
|
|
|
# Tell gcc to never replace conditional load with a non-conditional one
|
|
KBUILD_CFLAGS += $(call cc-option,--param=allow-store-data-races=0)
|
|
|
|
include scripts/Makefile.kcov
|
|
include scripts/Makefile.gcc-plugins
|
|
|
|
ifdef CONFIG_READABLE_ASM
|
|
# Disable optimizations that make assembler listings hard to read.
|
|
# reorder blocks reorders the control in the function
|
|
# ipa clone creates specialized cloned functions
|
|
# partial inlining inlines only parts of functions
|
|
KBUILD_CFLAGS += $(call cc-option,-fno-reorder-blocks,) \
|
|
$(call cc-option,-fno-ipa-cp-clone,) \
|
|
$(call cc-option,-fno-partial-inlining)
|
|
endif
|
|
|
|
ifneq ($(CONFIG_FRAME_WARN),0)
|
|
KBUILD_CFLAGS += $(call cc-option,-Wframe-larger-than=${CONFIG_FRAME_WARN})
|
|
endif
|
|
|
|
stackp-flags-$(CONFIG_CC_HAS_STACKPROTECTOR_NONE) := -fno-stack-protector
|
|
stackp-flags-$(CONFIG_STACKPROTECTOR) := -fstack-protector
|
|
stackp-flags-$(CONFIG_STACKPROTECTOR_STRONG) := -fstack-protector-strong
|
|
|
|
KBUILD_CFLAGS += $(stackp-flags-y)
|
|
|
|
ifdef CONFIG_CC_IS_CLANG
|
|
KBUILD_CPPFLAGS += -Qunused-arguments
|
|
KBUILD_CFLAGS += -Wno-format-invalid-specifier
|
|
KBUILD_CFLAGS += -Wno-gnu
|
|
# Quiet clang warning: comparison of unsigned expression < 0 is always false
|
|
KBUILD_CFLAGS += -Wno-tautological-compare
|
|
# CLANG uses a _MergedGlobals as optimization, but this breaks modpost, as the
|
|
# source of a reference will be _MergedGlobals and not on of the whitelisted names.
|
|
# See modpost pattern 2
|
|
KBUILD_CFLAGS += -mno-global-merge
|
|
else
|
|
|
|
# These warnings generated too much noise in a regular build.
|
|
# Use make W=1 to enable them (see scripts/Makefile.extrawarn)
|
|
KBUILD_CFLAGS += -Wno-unused-but-set-variable
|
|
|
|
# Warn about unmarked fall-throughs in switch statement.
|
|
# Disabled for clang while comment to attribute conversion happens and
|
|
# https://github.com/ClangBuiltLinux/linux/issues/636 is discussed.
|
|
KBUILD_CFLAGS += $(call cc-option,-Wimplicit-fallthrough,)
|
|
endif
|
|
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, unused-const-variable)
|
|
ifdef CONFIG_FRAME_POINTER
|
|
KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
|
else
|
|
# Some targets (ARM with Thumb2, for example), can't be built with frame
|
|
# pointers. For those, we don't have FUNCTION_TRACER automatically
|
|
# select FRAME_POINTER. However, FUNCTION_TRACER adds -pg, and this is
|
|
# incompatible with -fomit-frame-pointer with current GCC, so we don't use
|
|
# -fomit-frame-pointer with FUNCTION_TRACER.
|
|
ifndef CONFIG_FUNCTION_TRACER
|
|
KBUILD_CFLAGS += -fomit-frame-pointer
|
|
endif
|
|
endif
|
|
|
|
# Initialize all stack variables with a pattern, if desired.
|
|
ifdef CONFIG_INIT_STACK_ALL
|
|
KBUILD_CFLAGS += -ftrivial-auto-var-init=pattern
|
|
endif
|
|
|
|
DEBUG_CFLAGS := $(call cc-option, -fno-var-tracking-assignments)
|
|
|
|
ifdef CONFIG_DEBUG_INFO
|
|
ifdef CONFIG_DEBUG_INFO_SPLIT
|
|
DEBUG_CFLAGS += -gsplit-dwarf
|
|
else
|
|
DEBUG_CFLAGS += -g
|
|
endif
|
|
KBUILD_AFLAGS += -Wa,-gdwarf-2
|
|
endif
|
|
ifdef CONFIG_DEBUG_INFO_DWARF4
|
|
DEBUG_CFLAGS += -gdwarf-4
|
|
endif
|
|
|
|
ifdef CONFIG_DEBUG_INFO_REDUCED
|
|
DEBUG_CFLAGS += $(call cc-option, -femit-struct-debug-baseonly) \
|
|
$(call cc-option,-fno-var-tracking)
|
|
endif
|
|
|
|
KBUILD_CFLAGS += $(DEBUG_CFLAGS)
|
|
export DEBUG_CFLAGS
|
|
|
|
ifdef CONFIG_FUNCTION_TRACER
|
|
ifdef CONFIG_FTRACE_MCOUNT_RECORD
|
|
# gcc 5 supports generating the mcount tables directly
|
|
ifeq ($(call cc-option-yn,-mrecord-mcount),y)
|
|
CC_FLAGS_FTRACE += -mrecord-mcount
|
|
export CC_USING_RECORD_MCOUNT := 1
|
|
endif
|
|
ifdef CONFIG_HAVE_NOP_MCOUNT
|
|
ifeq ($(call cc-option-yn, -mnop-mcount),y)
|
|
CC_FLAGS_FTRACE += -mnop-mcount
|
|
CC_FLAGS_USING += -DCC_USING_NOP_MCOUNT
|
|
endif
|
|
endif
|
|
endif
|
|
ifdef CONFIG_HAVE_FENTRY
|
|
ifeq ($(call cc-option-yn, -mfentry),y)
|
|
CC_FLAGS_FTRACE += -mfentry
|
|
CC_FLAGS_USING += -DCC_USING_FENTRY
|
|
endif
|
|
endif
|
|
export CC_FLAGS_FTRACE
|
|
KBUILD_CFLAGS += $(CC_FLAGS_FTRACE) $(CC_FLAGS_USING)
|
|
KBUILD_AFLAGS += $(CC_FLAGS_USING)
|
|
ifdef CONFIG_DYNAMIC_FTRACE
|
|
ifdef CONFIG_HAVE_C_RECORDMCOUNT
|
|
BUILD_C_RECORDMCOUNT := y
|
|
export BUILD_C_RECORDMCOUNT
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
# We trigger additional mismatches with less inlining
|
|
ifdef CONFIG_DEBUG_SECTION_MISMATCH
|
|
KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once)
|
|
endif
|
|
|
|
ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
|
|
KBUILD_CFLAGS_KERNEL += -ffunction-sections -fdata-sections
|
|
LDFLAGS_vmlinux += --gc-sections
|
|
endif
|
|
|
|
ifdef CONFIG_LIVEPATCH
|
|
KBUILD_CFLAGS += $(call cc-option, -flive-patching=inline-clone)
|
|
endif
|
|
|
|
ifdef CONFIG_SHADOW_CALL_STACK
|
|
CC_FLAGS_SCS := -fsanitize=shadow-call-stack
|
|
KBUILD_CFLAGS += $(CC_FLAGS_SCS)
|
|
export CC_FLAGS_SCS
|
|
endif
|
|
|
|
ifdef CONFIG_LTO_CLANG
|
|
ifdef CONFIG_THINLTO
|
|
CC_FLAGS_LTO_CLANG := -flto=thin $(call cc-option, -fsplit-lto-unit)
|
|
KBUILD_LDFLAGS += --thinlto-cache-dir=.thinlto-cache
|
|
else
|
|
CC_FLAGS_LTO_CLANG := -flto
|
|
endif
|
|
CC_FLAGS_LTO_CLANG += -fvisibility=default
|
|
|
|
# Limit inlining across translation units to reduce binary size
|
|
LD_FLAGS_LTO_CLANG := -mllvm -import-instr-limit=5
|
|
|
|
KBUILD_LDFLAGS += $(LD_FLAGS_LTO_CLANG)
|
|
KBUILD_LDFLAGS_MODULE += $(LD_FLAGS_LTO_CLANG)
|
|
|
|
KBUILD_LDS_MODULE += $(srctree)/scripts/module-lto.lds
|
|
endif
|
|
|
|
ifdef CONFIG_LTO
|
|
CC_FLAGS_LTO := $(CC_FLAGS_LTO_CLANG)
|
|
KBUILD_CFLAGS += $(CC_FLAGS_LTO)
|
|
export CC_FLAGS_LTO
|
|
endif
|
|
|
|
ifdef CONFIG_CFI_CLANG
|
|
CC_FLAGS_CFI := -fsanitize=cfi \
|
|
-fno-sanitize-cfi-canonical-jump-tables
|
|
|
|
ifdef CONFIG_MODULES
|
|
CC_FLAGS_CFI += -fsanitize-cfi-cross-dso
|
|
endif
|
|
|
|
ifdef CONFIG_CFI_PERMISSIVE
|
|
CC_FLAGS_CFI += -fsanitize-recover=cfi \
|
|
-fno-sanitize-trap=cfi
|
|
endif
|
|
|
|
# If LTO flags are filtered out, we must also filter out CFI.
|
|
CC_FLAGS_LTO += $(CC_FLAGS_CFI)
|
|
KBUILD_CFLAGS += $(CC_FLAGS_CFI)
|
|
export CC_FLAGS_CFI
|
|
endif
|
|
|
|
# arch Makefile may override CC so keep this after arch Makefile is included
|
|
NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
|
|
|
|
# warn about C99 declaration after statement
|
|
KBUILD_CFLAGS += -Wdeclaration-after-statement
|
|
|
|
# Variable Length Arrays (VLAs) should not be used anywhere in the kernel
|
|
KBUILD_CFLAGS += -Wvla
|
|
|
|
# disable pointer signed / unsigned warnings in gcc 4.0
|
|
KBUILD_CFLAGS += -Wno-pointer-sign
|
|
|
|
# disable stringop warnings in gcc 8+
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, stringop-truncation)
|
|
|
|
# disable invalid "can't wrap" optimizations for signed / pointers
|
|
KBUILD_CFLAGS += $(call cc-option,-fno-strict-overflow)
|
|
|
|
# clang sets -fmerge-all-constants by default as optimization, but this
|
|
# is non-conforming behavior for C and in fact breaks the kernel, so we
|
|
# need to disable it here generally.
|
|
KBUILD_CFLAGS += $(call cc-option,-fno-merge-all-constants)
|
|
|
|
# for gcc -fno-merge-all-constants disables everything, but it is fine
|
|
# to have actual conforming behavior enabled.
|
|
KBUILD_CFLAGS += $(call cc-option,-fmerge-constants)
|
|
|
|
# Make sure -fstack-check isn't enabled (like gentoo apparently did)
|
|
KBUILD_CFLAGS += $(call cc-option,-fno-stack-check,)
|
|
|
|
# conserve stack if available
|
|
KBUILD_CFLAGS += $(call cc-option,-fconserve-stack)
|
|
|
|
# Prohibit date/time macros, which would make the build non-deterministic
|
|
KBUILD_CFLAGS += $(call cc-option,-Werror=date-time)
|
|
|
|
# enforce correct pointer usage
|
|
KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types)
|
|
|
|
# Require designated initializers for all marked structures
|
|
KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init)
|
|
|
|
# change __FILE__ to the relative path from the srctree
|
|
KBUILD_CFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)
|
|
|
|
# ensure -fcf-protection is disabled when using retpoline as it is
|
|
# incompatible with -mindirect-branch=thunk-extern
|
|
ifdef CONFIG_RETPOLINE
|
|
KBUILD_CFLAGS += $(call cc-option,-fcf-protection=none)
|
|
endif
|
|
|
|
include scripts/Makefile.kasan
|
|
include scripts/Makefile.extrawarn
|
|
include scripts/Makefile.ubsan
|
|
|
|
# Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments
|
|
KBUILD_CPPFLAGS += $(KCPPFLAGS)
|
|
KBUILD_AFLAGS += $(KAFLAGS)
|
|
KBUILD_CFLAGS += $(KCFLAGS)
|
|
|
|
KBUILD_LDFLAGS_MODULE += --build-id
|
|
LDFLAGS_vmlinux += --build-id
|
|
|
|
ifeq ($(CONFIG_STRIP_ASM_SYMS),y)
|
|
LDFLAGS_vmlinux += $(call ld-option, -X,)
|
|
endif
|
|
|
|
ifeq ($(CONFIG_RELR),y)
|
|
LDFLAGS_vmlinux += --pack-dyn-relocs=relr
|
|
endif
|
|
|
|
# make the checker run with the right architecture
|
|
CHECKFLAGS += --arch=$(ARCH)
|
|
|
|
# insure the checker run with the right endianness
|
|
CHECKFLAGS += $(if $(CONFIG_CPU_BIG_ENDIAN),-mbig-endian,-mlittle-endian)
|
|
|
|
# the checker needs the correct machine size
|
|
CHECKFLAGS += $(if $(CONFIG_64BIT),-m64,-m32)
|
|
|
|
# Default kernel image to build when no specific target is given.
|
|
# KBUILD_IMAGE may be overruled on the command line or
|
|
# set in the environment
|
|
# Also any assignments in arch/$(ARCH)/Makefile take precedence over
|
|
# this default value
|
|
export KBUILD_IMAGE ?= vmlinux
|
|
|
|
#
|
|
# INSTALL_PATH specifies where to place the updated kernel and system map
|
|
# images. Default is /boot, but you can set it to other values
|
|
export INSTALL_PATH ?= /boot
|
|
|
|
#
|
|
# INSTALL_DTBS_PATH specifies a prefix for relocations required by build roots.
|
|
# Like INSTALL_MOD_PATH, it isn't defined in the Makefile, but can be passed as
|
|
# an argument if needed. Otherwise it defaults to the kernel install path
|
|
#
|
|
export INSTALL_DTBS_PATH ?= $(INSTALL_PATH)/dtbs/$(KERNELRELEASE)
|
|
|
|
#
|
|
# INSTALL_MOD_PATH specifies a prefix to MODLIB for module directory
|
|
# relocations required by build roots. This is not defined in the
|
|
# makefile but the argument can be passed to make if needed.
|
|
#
|
|
|
|
MODLIB = $(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)
|
|
export MODLIB
|
|
|
|
#
|
|
# INSTALL_MOD_STRIP, if defined, will cause modules to be
|
|
# stripped after they are installed. If INSTALL_MOD_STRIP is '1', then
|
|
# the default option --strip-debug will be used. Otherwise,
|
|
# INSTALL_MOD_STRIP value will be used as the options to the strip command.
|
|
|
|
ifdef INSTALL_MOD_STRIP
|
|
ifeq ($(INSTALL_MOD_STRIP),1)
|
|
mod_strip_cmd = $(STRIP) --strip-debug
|
|
else
|
|
mod_strip_cmd = $(STRIP) $(INSTALL_MOD_STRIP)
|
|
endif # INSTALL_MOD_STRIP=1
|
|
else
|
|
mod_strip_cmd = true
|
|
endif # INSTALL_MOD_STRIP
|
|
export mod_strip_cmd
|
|
|
|
# CONFIG_MODULE_COMPRESS, if defined, will cause module to be compressed
|
|
# after they are installed in agreement with CONFIG_MODULE_COMPRESS_GZIP
|
|
# or CONFIG_MODULE_COMPRESS_XZ.
|
|
|
|
mod_compress_cmd = true
|
|
ifdef CONFIG_MODULE_COMPRESS
|
|
ifdef CONFIG_MODULE_COMPRESS_GZIP
|
|
mod_compress_cmd = gzip -n -f
|
|
endif # CONFIG_MODULE_COMPRESS_GZIP
|
|
ifdef CONFIG_MODULE_COMPRESS_XZ
|
|
mod_compress_cmd = xz -f
|
|
endif # CONFIG_MODULE_COMPRESS_XZ
|
|
endif # CONFIG_MODULE_COMPRESS
|
|
export mod_compress_cmd
|
|
|
|
ifdef CONFIG_MODULE_SIG_ALL
|
|
$(eval $(call config_filename,MODULE_SIG_KEY))
|
|
|
|
mod_sign_cmd = scripts/sign-file $(CONFIG_MODULE_SIG_HASH) $(MODULE_SIG_KEY_SRCPREFIX)$(CONFIG_MODULE_SIG_KEY) certs/signing_key.x509
|
|
else
|
|
mod_sign_cmd = true
|
|
endif
|
|
export mod_sign_cmd
|
|
|
|
HOST_LIBELF_LIBS = $(shell pkg-config libelf --libs 2>/dev/null || echo -lelf)
|
|
|
|
ifdef CONFIG_STACK_VALIDATION
|
|
has_libelf := $(call try-run,\
|
|
echo "int main() {}" | $(HOSTCC) -xc -o /dev/null $(HOST_LIBELF_LIBS) -,1,0)
|
|
ifeq ($(has_libelf),1)
|
|
objtool_target := tools/objtool FORCE
|
|
else
|
|
SKIP_STACK_VALIDATION := 1
|
|
export SKIP_STACK_VALIDATION
|
|
endif
|
|
endif
|
|
|
|
PHONY += prepare0
|
|
|
|
export MODORDER := $(extmod-prefix)modules.order
|
|
export MODULES_NSDEPS := $(extmod-prefix)modules.nsdeps
|
|
|
|
ifeq ($(KBUILD_EXTMOD),)
|
|
core-y += kernel/ certs/ mm/ fs/ ipc/ security/ crypto/ block/
|
|
|
|
vmlinux-dirs := $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \
|
|
$(core-y) $(core-m) $(drivers-y) $(drivers-m) \
|
|
$(net-y) $(net-m) $(libs-y) $(libs-m) $(virt-y)))
|
|
|
|
vmlinux-alldirs := $(sort $(vmlinux-dirs) Documentation \
|
|
$(patsubst %/,%,$(filter %/, $(init-) $(core-) \
|
|
$(drivers-) $(net-) $(libs-) $(virt-))))
|
|
|
|
build-dirs := $(vmlinux-dirs)
|
|
clean-dirs := $(vmlinux-alldirs)
|
|
|
|
init-y := $(patsubst %/, %/built-in.a, $(init-y))
|
|
core-y := $(patsubst %/, %/built-in.a, $(core-y))
|
|
drivers-y := $(patsubst %/, %/built-in.a, $(drivers-y))
|
|
net-y := $(patsubst %/, %/built-in.a, $(net-y))
|
|
libs-y1 := $(patsubst %/, %/lib.a, $(libs-y))
|
|
libs-y2 := $(patsubst %/, %/built-in.a, $(filter-out %.a, $(libs-y)))
|
|
virt-y := $(patsubst %/, %/built-in.a, $(virt-y))
|
|
|
|
# Externally visible symbols (used by link-vmlinux.sh)
|
|
export KBUILD_VMLINUX_OBJS := $(head-y) $(init-y) $(core-y) $(libs-y2) \
|
|
$(drivers-y) $(net-y) $(virt-y)
|
|
export KBUILD_VMLINUX_LIBS := $(libs-y1)
|
|
export KBUILD_LDS := arch/$(SRCARCH)/kernel/vmlinux.lds
|
|
export LDFLAGS_vmlinux
|
|
# used by scripts/Makefile.package
|
|
export KBUILD_ALLDIRS := $(sort $(filter-out arch/%,$(vmlinux-alldirs)) LICENSES arch include scripts tools)
|
|
|
|
vmlinux-deps := $(KBUILD_LDS) $(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS)
|
|
|
|
# Recurse until adjust_autoksyms.sh is satisfied
|
|
PHONY += autoksyms_recursive
|
|
ifdef CONFIG_TRIM_UNUSED_KSYMS
|
|
autoksyms_recursive: descend modules.order
|
|
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/adjust_autoksyms.sh \
|
|
"$(MAKE) -f $(srctree)/Makefile vmlinux"
|
|
endif
|
|
|
|
# For the kernel to actually contain only the needed exported symbols,
|
|
# we have to build modules as well to determine what those symbols are.
|
|
# (this can be evaluated only once include/config/auto.conf has been included)
|
|
ifdef CONFIG_TRIM_UNUSED_KSYMS
|
|
KBUILD_MODULES := 1
|
|
endif
|
|
|
|
autoksyms_h := $(if $(CONFIG_TRIM_UNUSED_KSYMS), include/generated/autoksyms.h)
|
|
|
|
$(autoksyms_h):
|
|
$(Q)mkdir -p $(dir $@)
|
|
$(Q)touch $@
|
|
|
|
ARCH_POSTLINK := $(wildcard $(srctree)/arch/$(SRCARCH)/Makefile.postlink)
|
|
|
|
# Final link of vmlinux with optional arch pass after final link
|
|
cmd_link-vmlinux = \
|
|
$(CONFIG_SHELL) $< $(LD) $(KBUILD_LDFLAGS) $(LDFLAGS_vmlinux) ; \
|
|
$(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true)
|
|
|
|
vmlinux: scripts/link-vmlinux.sh autoksyms_recursive $(vmlinux-deps) FORCE
|
|
+$(call if_changed,link-vmlinux)
|
|
|
|
targets := vmlinux
|
|
|
|
# The actual objects are generated when descending,
|
|
# make sure no implicit rule kicks in
|
|
$(sort $(vmlinux-deps)): descend ;
|
|
|
|
filechk_kernel.release = \
|
|
echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))"
|
|
|
|
# Store (new) KERNELRELEASE string in include/config/kernel.release
|
|
include/config/kernel.release: FORCE
|
|
$(call filechk,kernel.release)
|
|
|
|
# Additional helpers built in scripts/
|
|
# Carefully list dependencies so we do not try to build scripts twice
|
|
# in parallel
|
|
PHONY += scripts
|
|
scripts: scripts_basic scripts_dtc
|
|
$(Q)$(MAKE) $(build)=$(@)
|
|
|
|
# Things we need to do before we recursively start building the kernel
|
|
# or the modules are listed in "prepare".
|
|
# A multi level approach is used. prepareN is processed before prepareN-1.
|
|
# archprepare is used in arch Makefiles and when processed asm symlink,
|
|
# version.h and scripts_basic is processed / created.
|
|
|
|
PHONY += prepare archprepare
|
|
|
|
archprepare: outputmakefile archheaders archscripts scripts include/config/kernel.release \
|
|
asm-generic $(version_h) $(autoksyms_h) include/generated/utsrelease.h
|
|
|
|
prepare0: archprepare
|
|
$(Q)$(MAKE) $(build)=scripts/mod
|
|
$(Q)$(MAKE) $(build)=.
|
|
|
|
# All the preparing..
|
|
prepare: prepare0 prepare-objtool
|
|
|
|
# Support for using generic headers in asm-generic
|
|
asm-generic := -f $(srctree)/scripts/Makefile.asm-generic obj
|
|
|
|
PHONY += asm-generic uapi-asm-generic
|
|
asm-generic: uapi-asm-generic
|
|
$(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/asm \
|
|
generic=include/asm-generic
|
|
uapi-asm-generic:
|
|
$(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/uapi/asm \
|
|
generic=include/uapi/asm-generic
|
|
|
|
PHONY += prepare-objtool
|
|
prepare-objtool: $(objtool_target)
|
|
ifeq ($(SKIP_STACK_VALIDATION),1)
|
|
ifdef CONFIG_UNWINDER_ORC
|
|
@echo "error: Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel" >&2
|
|
@false
|
|
else
|
|
@echo "warning: Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel" >&2
|
|
endif
|
|
endif
|
|
|
|
# Generate some files
|
|
# ---------------------------------------------------------------------------
|
|
|
|
# KERNELRELEASE can change from a few different places, meaning version.h
|
|
# needs to be updated, so this check is forced on all builds
|
|
|
|
uts_len := 64
|
|
define filechk_utsrelease.h
|
|
if [ `echo -n "$(KERNELRELEASE)" | wc -c ` -gt $(uts_len) ]; then \
|
|
echo '"$(KERNELRELEASE)" exceeds $(uts_len) characters' >&2; \
|
|
exit 1; \
|
|
fi; \
|
|
echo \#define UTS_RELEASE \"$(KERNELRELEASE)\"
|
|
endef
|
|
|
|
define filechk_version.h
|
|
echo \#define LINUX_VERSION_CODE $(shell \
|
|
expr $(VERSION) \* 65536 + 0$(PATCHLEVEL) \* 256 + 0$(SUBLEVEL)); \
|
|
echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))'
|
|
endef
|
|
|
|
$(version_h): FORCE
|
|
$(call filechk,version.h)
|
|
$(Q)rm -f $(old_version_h)
|
|
|
|
include/generated/utsrelease.h: include/config/kernel.release FORCE
|
|
$(call filechk,utsrelease.h)
|
|
|
|
PHONY += headerdep
|
|
headerdep:
|
|
$(Q)find $(srctree)/include/ -name '*.h' | xargs --max-args 1 \
|
|
$(srctree)/scripts/headerdep.pl -I$(srctree)/include
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Kernel headers
|
|
|
|
#Default location for installed headers
|
|
export INSTALL_HDR_PATH = $(objtree)/usr
|
|
|
|
quiet_cmd_headers_install = INSTALL $(INSTALL_HDR_PATH)/include
|
|
cmd_headers_install = \
|
|
mkdir -p $(INSTALL_HDR_PATH); \
|
|
rsync -mrl --include='*/' --include='*\.h' --exclude='*' \
|
|
usr/include $(INSTALL_HDR_PATH)
|
|
|
|
PHONY += headers_install
|
|
headers_install: headers
|
|
$(call cmd,headers_install)
|
|
|
|
PHONY += archheaders archscripts
|
|
|
|
hdr-inst := -f $(srctree)/scripts/Makefile.headersinst obj
|
|
|
|
techpack-dirs := $(shell find $(srctree)/techpack -maxdepth 1 -mindepth 1 -type d -not -name ".*")
|
|
techpack-dirs := $(subst $(srctree)/,,$(techpack-dirs))
|
|
|
|
PHONY += headers
|
|
headers: $(version_h) scripts_unifdef uapi-asm-generic archheaders archscripts
|
|
$(if $(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/Kbuild),, \
|
|
$(error Headers not exportable for the $(SRCARCH) architecture))
|
|
$(Q)$(MAKE) $(hdr-inst)=include/uapi
|
|
$(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi
|
|
$(Q)for d in $(techpack-dirs); do \
|
|
$(MAKE) $(hdr-inst)=$$d/include/uapi; \
|
|
done
|
|
|
|
# Deprecated. It is no-op now.
|
|
PHONY += headers_check
|
|
headers_check: headers
|
|
$(Q)$(MAKE) $(hdr-inst)=include/uapi HDRCHECK=1
|
|
$(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi HDRCHECK=1
|
|
$(Q)for d in $(techpack-dirs); do \
|
|
$(MAKE) $(hdr-inst)=$$d/include/uapi HDRCHECK=1; \
|
|
done
|
|
|
|
ifdef CONFIG_HEADERS_INSTALL
|
|
prepare: headers
|
|
endif
|
|
|
|
PHONY += scripts_unifdef
|
|
scripts_unifdef: scripts_basic
|
|
$(Q)$(MAKE) $(build)=scripts scripts/unifdef
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Kernel selftest
|
|
|
|
PHONY += kselftest
|
|
kselftest:
|
|
$(Q)$(MAKE) -C $(srctree)/tools/testing/selftests run_tests
|
|
|
|
kselftest-%: FORCE
|
|
$(Q)$(MAKE) -C $(srctree)/tools/testing/selftests $*
|
|
|
|
PHONY += kselftest-merge
|
|
kselftest-merge:
|
|
$(if $(wildcard $(objtree)/.config),, $(error No .config exists, config your kernel first!))
|
|
$(Q)find $(srctree)/tools/testing/selftests -name config | \
|
|
xargs $(srctree)/scripts/kconfig/merge_config.sh -m $(objtree)/.config
|
|
$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Devicetree files
|
|
|
|
ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/boot/dts/),)
|
|
dtstree := arch/$(SRCARCH)/boot/dts
|
|
endif
|
|
|
|
ifneq ($(dtstree),)
|
|
|
|
%.dtb: include/config/kernel.release scripts_dtc
|
|
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
|
|
|
|
PHONY += dtbs dtbs_install dt_binding_check
|
|
dtbs dtbs_check: include/config/kernel.release scripts_dtc
|
|
$(Q)$(MAKE) $(build)=$(dtstree)
|
|
|
|
dtbs_check: export CHECK_DTBS=1
|
|
dtbs_check: dt_binding_check
|
|
|
|
dtbs_install:
|
|
$(Q)$(MAKE) $(dtbinst)=$(dtstree)
|
|
|
|
ifdef CONFIG_OF_EARLY_FLATTREE
|
|
all: dtbs
|
|
endif
|
|
|
|
endif
|
|
|
|
PHONY += scripts_dtc
|
|
scripts_dtc: scripts_basic
|
|
$(Q)$(MAKE) $(build)=scripts/dtc
|
|
|
|
dt_binding_check: scripts_dtc
|
|
$(Q)$(MAKE) $(build)=Documentation/devicetree/bindings
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Modules
|
|
|
|
ifdef CONFIG_MODULES
|
|
|
|
# By default, build modules as well
|
|
|
|
all: modules
|
|
|
|
# Build modules
|
|
#
|
|
# A module can be listed more than once in obj-m resulting in
|
|
# duplicate lines in modules.order files. Those are removed
|
|
# using awk while concatenating to the final file.
|
|
|
|
PHONY += modules
|
|
modules: $(if $(KBUILD_BUILTIN),vmlinux) modules.order
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
|
|
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/modules-check.sh
|
|
|
|
modules.order: descend
|
|
$(Q)$(AWK) '!x[$$0]++' $(addsuffix /$@, $(build-dirs)) > $@
|
|
|
|
# Target to prepare building external modules
|
|
PHONY += modules_prepare
|
|
modules_prepare: prepare
|
|
|
|
# Target to install modules
|
|
PHONY += modules_install
|
|
modules_install: _modinst_ _modinst_post
|
|
|
|
PHONY += _modinst_
|
|
_modinst_:
|
|
@rm -rf $(MODLIB)/kernel
|
|
@rm -f $(MODLIB)/source
|
|
@mkdir -p $(MODLIB)/kernel
|
|
@ln -s $(abspath $(srctree)) $(MODLIB)/source
|
|
@if [ ! $(objtree) -ef $(MODLIB)/build ]; then \
|
|
rm -f $(MODLIB)/build ; \
|
|
ln -s $(CURDIR) $(MODLIB)/build ; \
|
|
fi
|
|
@sed 's:^:kernel/:' modules.order > $(MODLIB)/modules.order
|
|
@cp -f modules.builtin $(MODLIB)/
|
|
@cp -f $(objtree)/modules.builtin.modinfo $(MODLIB)/
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst
|
|
|
|
# This depmod is only for convenience to give the initial
|
|
# boot a modules.dep even before / is mounted read-write. However the
|
|
# boot script depmod is the master version.
|
|
PHONY += _modinst_post
|
|
_modinst_post: _modinst_
|
|
$(call cmd,depmod)
|
|
|
|
ifeq ($(CONFIG_MODULE_SIG), y)
|
|
PHONY += modules_sign
|
|
modules_sign:
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modsign
|
|
endif
|
|
|
|
else # CONFIG_MODULES
|
|
|
|
# Modules not configured
|
|
# ---------------------------------------------------------------------------
|
|
|
|
PHONY += modules modules_install
|
|
modules modules_install:
|
|
@echo >&2
|
|
@echo >&2 "The present kernel configuration has modules disabled."
|
|
@echo >&2 "Type 'make config' and enable loadable module support."
|
|
@echo >&2 "Then build a kernel with module support enabled."
|
|
@echo >&2
|
|
@exit 1
|
|
|
|
endif # CONFIG_MODULES
|
|
|
|
###
|
|
# Cleaning is done on three levels.
|
|
# make clean Delete most generated files
|
|
# Leave enough to build external modules
|
|
# make mrproper Delete the current configuration, and all generated files
|
|
# make distclean Remove editor backup files, patch leftover files and the like
|
|
|
|
# Directories & files removed with 'make clean'
|
|
CLEAN_DIRS += include/ksym
|
|
CLEAN_FILES += modules.builtin modules.builtin.modinfo modules.nsdeps
|
|
|
|
# Directories & files removed with 'make mrproper'
|
|
MRPROPER_DIRS += include/config include/generated \
|
|
arch/$(SRCARCH)/include/generated .tmp_objdiff \
|
|
debian/ snap/ tar-install/
|
|
MRPROPER_FILES += .config .config.old .version \
|
|
Module.symvers \
|
|
signing_key.pem signing_key.priv signing_key.x509 \
|
|
x509.genkey extra_certificates signing_key.x509.keyid \
|
|
signing_key.x509.signer vmlinux-gdb.py \
|
|
*.spec
|
|
|
|
# Directories & files removed with 'make distclean'
|
|
DISTCLEAN_DIRS +=
|
|
DISTCLEAN_FILES += tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS
|
|
|
|
# clean - Delete most, but leave enough to build external modules
|
|
#
|
|
clean: rm-dirs := $(CLEAN_DIRS)
|
|
clean: rm-files := $(CLEAN_FILES)
|
|
|
|
PHONY += archclean vmlinuxclean
|
|
|
|
vmlinuxclean:
|
|
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/link-vmlinux.sh clean
|
|
$(Q)$(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) clean)
|
|
|
|
clean: archclean vmlinuxclean
|
|
|
|
# mrproper - Delete all generated files, including .config
|
|
#
|
|
mrproper: rm-dirs := $(wildcard $(MRPROPER_DIRS))
|
|
mrproper: rm-files := $(wildcard $(MRPROPER_FILES))
|
|
mrproper-dirs := $(addprefix _mrproper_,scripts)
|
|
|
|
PHONY += $(mrproper-dirs) mrproper
|
|
$(mrproper-dirs):
|
|
$(Q)$(MAKE) $(clean)=$(patsubst _mrproper_%,%,$@)
|
|
|
|
mrproper: clean $(mrproper-dirs)
|
|
$(call cmd,rmdirs)
|
|
$(call cmd,rmfiles)
|
|
|
|
# distclean
|
|
#
|
|
distclean: rm-dirs := $(wildcard $(DISTCLEAN_DIRS))
|
|
distclean: rm-files := $(wildcard $(DISTCLEAN_FILES))
|
|
|
|
PHONY += distclean
|
|
|
|
distclean: mrproper
|
|
$(call cmd,rmdirs)
|
|
$(call cmd,rmfiles)
|
|
@find $(srctree) $(RCS_FIND_IGNORE) \
|
|
\( -name '*.orig' -o -name '*.rej' -o -name '*~' \
|
|
-o -name '*.bak' -o -name '#*#' -o -name '*%' \
|
|
-o -name 'core' \) \
|
|
-type f -print | xargs rm -f
|
|
|
|
|
|
# Packaging of the kernel to various formats
|
|
# ---------------------------------------------------------------------------
|
|
|
|
%src-pkg: FORCE
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.package $@
|
|
%pkg: include/config/kernel.release FORCE
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.package $@
|
|
|
|
# Brief documentation of the typical targets used
|
|
# ---------------------------------------------------------------------------
|
|
|
|
boards := $(wildcard $(srctree)/arch/$(SRCARCH)/configs/*_defconfig)
|
|
boards := $(sort $(notdir $(boards)))
|
|
board-dirs := $(dir $(wildcard $(srctree)/arch/$(SRCARCH)/configs/*/*_defconfig))
|
|
board-dirs := $(sort $(notdir $(board-dirs:/=)))
|
|
|
|
PHONY += help
|
|
help:
|
|
@echo 'Cleaning targets:'
|
|
@echo ' clean - Remove most generated files but keep the config and'
|
|
@echo ' enough build support to build external modules'
|
|
@echo ' mrproper - Remove all generated files + config + various backup files'
|
|
@echo ' distclean - mrproper + remove editor backup and patch files'
|
|
@echo ''
|
|
@echo 'Configuration targets:'
|
|
@$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help
|
|
@echo ''
|
|
@echo 'Other generic targets:'
|
|
@echo ' all - Build all targets marked with [*]'
|
|
@echo '* vmlinux - Build the bare kernel'
|
|
@echo '* modules - Build all modules'
|
|
@echo ' modules_install - Install all modules to INSTALL_MOD_PATH (default: /)'
|
|
@echo ' dir/ - Build all files in dir and below'
|
|
@echo ' dir/file.[ois] - Build specified target only'
|
|
@echo ' dir/file.ll - Build the LLVM assembly file'
|
|
@echo ' (requires compiler support for LLVM assembly generation)'
|
|
@echo ' dir/file.lst - Build specified mixed source/assembly target only'
|
|
@echo ' (requires a recent binutils and recent build (System.map))'
|
|
@echo ' dir/file.ko - Build module including final link'
|
|
@echo ' modules_prepare - Set up for building external modules'
|
|
@echo ' tags/TAGS - Generate tags file for editors'
|
|
@echo ' cscope - Generate cscope index'
|
|
@echo ' gtags - Generate GNU GLOBAL index'
|
|
@echo ' kernelrelease - Output the release version string (use with make -s)'
|
|
@echo ' kernelversion - Output the version stored in Makefile (use with make -s)'
|
|
@echo ' image_name - Output the image name (use with make -s)'
|
|
@echo ' headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'; \
|
|
echo ' (default: $(INSTALL_HDR_PATH))'; \
|
|
echo ''
|
|
@echo 'Static analysers:'
|
|
@echo ' checkstack - Generate a list of stack hogs'
|
|
@echo ' namespacecheck - Name space analysis on compiled kernel'
|
|
@echo ' versioncheck - Sanity check on version.h usage'
|
|
@echo ' includecheck - Check for duplicate included header files'
|
|
@echo ' export_report - List the usages of all exported symbols'
|
|
@echo ' headerdep - Detect inclusion cycles in headers'
|
|
@echo ' coccicheck - Check with Coccinelle'
|
|
@echo ''
|
|
@echo 'Tools:'
|
|
@echo ' nsdeps - Generate missing symbol namespace dependencies'
|
|
@echo ''
|
|
@echo 'Kernel selftest:'
|
|
@echo ' kselftest - Build and run kernel selftest (run as root)'
|
|
@echo ' Build, install, and boot kernel before'
|
|
@echo ' running kselftest on it'
|
|
@echo ' kselftest-clean - Remove all generated kselftest files'
|
|
@echo ' kselftest-merge - Merge all the config dependencies of kselftest to existing'
|
|
@echo ' .config.'
|
|
@echo ''
|
|
@$(if $(dtstree), \
|
|
echo 'Devicetree:'; \
|
|
echo '* dtbs - Build device tree blobs for enabled boards'; \
|
|
echo ' dtbs_install - Install dtbs to $(INSTALL_DTBS_PATH)'; \
|
|
echo ' dt_binding_check - Validate device tree binding documents'; \
|
|
echo ' dtbs_check - Validate device tree source files';\
|
|
echo '')
|
|
|
|
@echo 'Userspace tools targets:'
|
|
@echo ' use "make tools/help"'
|
|
@echo ' or "cd tools; make help"'
|
|
@echo ''
|
|
@echo 'Kernel packaging:'
|
|
@$(MAKE) -f $(srctree)/scripts/Makefile.package help
|
|
@echo ''
|
|
@echo 'Documentation targets:'
|
|
@$(MAKE) -f $(srctree)/Documentation/Makefile dochelp
|
|
@echo ''
|
|
@echo 'Architecture specific targets ($(SRCARCH)):'
|
|
@$(if $(archhelp),$(archhelp),\
|
|
echo ' No architecture specific help defined for $(SRCARCH)')
|
|
@echo ''
|
|
@$(if $(boards), \
|
|
$(foreach b, $(boards), \
|
|
printf " %-27s - Build for %s\\n" $(b) $(subst _defconfig,,$(b));) \
|
|
echo '')
|
|
@$(if $(board-dirs), \
|
|
$(foreach b, $(board-dirs), \
|
|
printf " %-16s - Show %s-specific targets\\n" help-$(b) $(b);) \
|
|
printf " %-16s - Show all of the above\\n" help-boards; \
|
|
echo '')
|
|
|
|
@echo ' make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build'
|
|
@echo ' make V=2 [targets] 2 => give reason for rebuild of target'
|
|
@echo ' make O=dir [targets] Locate all output files in "dir", including .config'
|
|
@echo ' make C=1 [targets] Check re-compiled c source with $$CHECK'
|
|
@echo ' (sparse by default)'
|
|
@echo ' make C=2 [targets] Force check of all c source with $$CHECK'
|
|
@echo ' make RECORDMCOUNT_WARN=1 [targets] Warn about ignored mcount sections'
|
|
@echo ' make W=n [targets] Enable extra build checks, n=1,2,3 where'
|
|
@echo ' 1: warnings which may be relevant and do not occur too often'
|
|
@echo ' 2: warnings which occur quite often but may still be relevant'
|
|
@echo ' 3: more obscure warnings, can most likely be ignored'
|
|
@echo ' Multiple levels can be combined with W=12 or W=123'
|
|
@echo ''
|
|
@echo 'Execute "make" or "make all" to build all targets marked with [*] '
|
|
@echo 'For further info see the ./README file'
|
|
|
|
|
|
help-board-dirs := $(addprefix help-,$(board-dirs))
|
|
|
|
help-boards: $(help-board-dirs)
|
|
|
|
boards-per-dir = $(sort $(notdir $(wildcard $(srctree)/arch/$(SRCARCH)/configs/$*/*_defconfig)))
|
|
|
|
$(help-board-dirs): help-%:
|
|
@echo 'Architecture specific targets ($(SRCARCH) $*):'
|
|
@$(if $(boards-per-dir), \
|
|
$(foreach b, $(boards-per-dir), \
|
|
printf " %-24s - Build for %s\\n" $*/$(b) $(subst _defconfig,,$(b));) \
|
|
echo '')
|
|
|
|
|
|
# Documentation targets
|
|
# ---------------------------------------------------------------------------
|
|
DOC_TARGETS := xmldocs latexdocs pdfdocs htmldocs epubdocs cleandocs \
|
|
linkcheckdocs dochelp refcheckdocs
|
|
PHONY += $(DOC_TARGETS)
|
|
$(DOC_TARGETS):
|
|
$(Q)$(MAKE) $(build)=Documentation $@
|
|
|
|
# Misc
|
|
# ---------------------------------------------------------------------------
|
|
|
|
PHONY += scripts_gdb
|
|
scripts_gdb: prepare0
|
|
$(Q)$(MAKE) $(build)=scripts/gdb
|
|
$(Q)ln -fsn $(abspath $(srctree)/scripts/gdb/vmlinux-gdb.py)
|
|
|
|
ifdef CONFIG_GDB_SCRIPTS
|
|
all: scripts_gdb
|
|
endif
|
|
|
|
else # KBUILD_EXTMOD
|
|
|
|
###
|
|
# External module support.
|
|
# When building external modules the kernel used as basis is considered
|
|
# read-only, and no consistency checks are made and the make
|
|
# system is not used on the basis kernel. If updates are required
|
|
# in the basis kernel ordinary make commands (without M=...) must
|
|
# be used.
|
|
#
|
|
# The following are the only valid targets when building external
|
|
# modules.
|
|
# make M=dir clean Delete all automatically generated files
|
|
# make M=dir modules Make all modules in specified dir
|
|
# make M=dir Same as 'make M=dir modules'
|
|
# make M=dir modules_install
|
|
# Install the modules built in the module directory
|
|
# Assumes install directory is already created
|
|
|
|
# We are always building modules
|
|
KBUILD_MODULES := 1
|
|
|
|
PHONY += $(objtree)/Module.symvers
|
|
$(objtree)/Module.symvers:
|
|
@test -e $(objtree)/Module.symvers || ( \
|
|
echo; \
|
|
echo " WARNING: Symbol version dump $(objtree)/Module.symvers"; \
|
|
echo " is missing; modules will have no dependencies and modversions."; \
|
|
echo )
|
|
|
|
build-dirs := $(KBUILD_EXTMOD)
|
|
PHONY += modules
|
|
modules: descend $(objtree)/Module.symvers
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
|
|
|
|
PHONY += modules_install
|
|
modules_install: _emodinst_ _emodinst_post
|
|
|
|
install-dir := $(if $(INSTALL_MOD_DIR),$(INSTALL_MOD_DIR),extra)
|
|
PHONY += _emodinst_
|
|
_emodinst_:
|
|
$(Q)mkdir -p $(MODLIB)/$(install-dir)
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst
|
|
|
|
PHONY += _emodinst_post
|
|
_emodinst_post: _emodinst_
|
|
$(call cmd,depmod)
|
|
|
|
clean-dirs := $(KBUILD_EXTMOD)
|
|
clean: rm-files := $(KBUILD_EXTMOD)/Module.symvers $(KBUILD_EXTMOD)/modules.nsdeps
|
|
|
|
PHONY += /
|
|
/:
|
|
@echo >&2 '"$(MAKE) /" is no longer supported. Please use "$(MAKE) ./" instead.'
|
|
|
|
PHONY += help
|
|
help:
|
|
@echo ' Building external modules.'
|
|
@echo ' Syntax: make -C path/to/kernel/src M=$$PWD target'
|
|
@echo ''
|
|
@echo ' modules - default target, build the module(s)'
|
|
@echo ' modules_install - install the module'
|
|
@echo ' clean - remove generated files in module directory only'
|
|
@echo ''
|
|
|
|
PHONY += prepare
|
|
endif # KBUILD_EXTMOD
|
|
|
|
# Single targets
|
|
# ---------------------------------------------------------------------------
|
|
# To build individual files in subdirectories, you can do like this:
|
|
#
|
|
# make foo/bar/baz.s
|
|
#
|
|
# The supported suffixes for single-target are listed in 'single-targets'
|
|
#
|
|
# To build only under specific subdirectories, you can do like this:
|
|
#
|
|
# make foo/bar/baz/
|
|
|
|
ifdef single-build
|
|
|
|
# .ko is special because modpost is needed
|
|
single-ko := $(sort $(filter %.ko, $(MAKECMDGOALS)))
|
|
single-no-ko := $(sort $(patsubst %.ko,%.mod, $(MAKECMDGOALS)))
|
|
|
|
$(single-ko): single_modpost
|
|
@:
|
|
$(single-no-ko): descend
|
|
@:
|
|
|
|
ifeq ($(KBUILD_EXTMOD),)
|
|
# For the single build of in-tree modules, use a temporary file to avoid
|
|
# the situation of modules_install installing an invalid modules.order.
|
|
MODORDER := .modules.tmp
|
|
endif
|
|
|
|
PHONY += single_modpost
|
|
single_modpost: $(single-no-ko)
|
|
$(Q){ $(foreach m, $(single-ko), echo $(extmod-prefix)$m;) } > $(MODORDER)
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
|
|
|
|
KBUILD_MODULES := 1
|
|
|
|
export KBUILD_SINGLE_TARGETS := $(addprefix $(extmod-prefix), $(single-no-ko))
|
|
|
|
# trim unrelated directories
|
|
build-dirs := $(foreach d, $(build-dirs), \
|
|
$(if $(filter $(d)/%, $(KBUILD_SINGLE_TARGETS)), $(d)))
|
|
|
|
endif
|
|
|
|
# Handle descending into subdirectories listed in $(build-dirs)
|
|
# Preset locale variables to speed up the build process. Limit locale
|
|
# tweaks to this spot to avoid wrong language settings when running
|
|
# make menuconfig etc.
|
|
# Error messages still appears in the original language
|
|
PHONY += descend $(build-dirs)
|
|
descend: $(build-dirs)
|
|
$(build-dirs): prepare
|
|
$(Q)$(MAKE) $(build)=$@ \
|
|
single-build=$(if $(filter-out $@/, $(filter $@/%, $(single-no-ko))),1) \
|
|
need-builtin=1 need-modorder=1
|
|
|
|
clean-dirs := $(addprefix _clean_, $(clean-dirs))
|
|
PHONY += $(clean-dirs) clean
|
|
$(clean-dirs):
|
|
$(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@)
|
|
|
|
clean: $(clean-dirs)
|
|
$(call cmd,rmdirs)
|
|
$(call cmd,rmfiles)
|
|
@find $(if $(KBUILD_EXTMOD), $(KBUILD_EXTMOD), .) $(RCS_FIND_IGNORE) \
|
|
\( -name '*.[aios]' -o -name '*.ko' -o -name '.*.cmd' \
|
|
-o -name '*.ko.*' \
|
|
-o -name '*.dtb' -o -name '*.dtb.S' -o -name '*.dt.yaml' \
|
|
-o -name '*.dwo' -o -name '*.lst' \
|
|
-o -name '*.su' -o -name '*.mod' \
|
|
-o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \
|
|
-o -name '*.lex.c' -o -name '*.tab.[ch]' \
|
|
-o -name '*.asn1.[ch]' \
|
|
-o -name '*.symtypes' -o -name 'modules.order' \
|
|
-o -name '.tmp_*.o.*' \
|
|
-o -name '*.c.[012]*.*' \
|
|
-o -name '*.ll' \
|
|
-o -name '*.gcno' \
|
|
-o -name '*.*.symversions' \) -type f -print | xargs rm -f
|
|
|
|
# Generate tags for editors
|
|
# ---------------------------------------------------------------------------
|
|
quiet_cmd_tags = GEN $@
|
|
cmd_tags = $(BASH) $(srctree)/scripts/tags.sh $@
|
|
|
|
tags TAGS cscope gtags: FORCE
|
|
$(call cmd,tags)
|
|
|
|
# Script to generate missing namespace dependencies
|
|
# ---------------------------------------------------------------------------
|
|
|
|
PHONY += nsdeps
|
|
nsdeps: export KBUILD_NSDEPS=1
|
|
nsdeps: modules
|
|
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/nsdeps
|
|
|
|
# Scripts to check various things for consistency
|
|
# ---------------------------------------------------------------------------
|
|
|
|
PHONY += includecheck versioncheck coccicheck namespacecheck export_report
|
|
|
|
includecheck:
|
|
find $(srctree)/* $(RCS_FIND_IGNORE) \
|
|
-name '*.[hcS]' -type f -print | sort \
|
|
| xargs $(PERL) -w $(srctree)/scripts/checkincludes.pl
|
|
|
|
versioncheck:
|
|
find $(srctree)/* $(RCS_FIND_IGNORE) \
|
|
-name '*.[hcS]' -type f -print | sort \
|
|
| xargs $(PERL) -w $(srctree)/scripts/checkversion.pl
|
|
|
|
coccicheck:
|
|
$(Q)$(BASH) $(srctree)/scripts/$@
|
|
|
|
namespacecheck:
|
|
$(PERL) $(srctree)/scripts/namespace.pl
|
|
|
|
export_report:
|
|
$(PERL) $(srctree)/scripts/export_report.pl
|
|
|
|
PHONY += checkstack kernelrelease kernelversion image_name
|
|
|
|
# UML needs a little special treatment here. It wants to use the host
|
|
# toolchain, so needs $(SUBARCH) passed to checkstack.pl. Everyone
|
|
# else wants $(ARCH), including people doing cross-builds, which means
|
|
# that $(SUBARCH) doesn't work here.
|
|
ifeq ($(ARCH), um)
|
|
CHECKSTACK_ARCH := $(SUBARCH)
|
|
else
|
|
CHECKSTACK_ARCH := $(ARCH)
|
|
endif
|
|
checkstack:
|
|
$(OBJDUMP) -d vmlinux $$(find . -name '*.ko') | \
|
|
$(PERL) $(srctree)/scripts/checkstack.pl $(CHECKSTACK_ARCH)
|
|
|
|
kernelrelease:
|
|
@echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))"
|
|
|
|
kernelversion:
|
|
@echo $(KERNELVERSION)
|
|
|
|
image_name:
|
|
@echo $(KBUILD_IMAGE)
|
|
|
|
# Clear a bunch of variables before executing the submake
|
|
|
|
ifeq ($(quiet),silent_)
|
|
tools_silent=s
|
|
endif
|
|
|
|
tools/: FORCE
|
|
$(Q)mkdir -p $(objtree)/tools
|
|
$(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(tools_silent) $(filter --j% -j,$(MAKEFLAGS))" O=$(abspath $(objtree)) subdir=tools -C $(srctree)/tools/
|
|
|
|
tools/%: FORCE
|
|
$(Q)mkdir -p $(objtree)/tools
|
|
$(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(tools_silent) $(filter --j% -j,$(MAKEFLAGS))" O=$(abspath $(objtree)) subdir=tools -C $(srctree)/tools/ $*
|
|
|
|
# FIXME Should go into a make.lib or something
|
|
# ===========================================================================
|
|
|
|
quiet_cmd_rmdirs = $(if $(wildcard $(rm-dirs)),CLEAN $(wildcard $(rm-dirs)))
|
|
cmd_rmdirs = rm -rf $(rm-dirs)
|
|
|
|
quiet_cmd_rmfiles = $(if $(wildcard $(rm-files)),CLEAN $(wildcard $(rm-files)))
|
|
cmd_rmfiles = rm -f $(rm-files)
|
|
|
|
# Run depmod only if we have System.map and depmod is executable
|
|
quiet_cmd_depmod = DEPMOD $(KERNELRELEASE)
|
|
cmd_depmod = $(CONFIG_SHELL) $(srctree)/scripts/depmod.sh $(DEPMOD) \
|
|
$(KERNELRELEASE)
|
|
|
|
# read saved command lines for existing targets
|
|
existing-targets := $(wildcard $(sort $(targets)))
|
|
|
|
-include $(foreach f,$(existing-targets),$(dir $(f)).$(notdir $(f)).cmd)
|
|
|
|
endif # config-targets
|
|
endif # mixed-build
|
|
endif # need-sub-make
|
|
|
|
PHONY += FORCE
|
|
FORCE:
|
|
|
|
# Declare the contents of the PHONY variable as phony. We keep that
|
|
# information in a variable so we can use it in if_changed and friends.
|
|
.PHONY: $(PHONY)
|