* refs/heads/tmp-98d56a5: FROMLIST: ANDROID: GKI: psi: remove 500ms min window size limitation for triggers ANDROID: uid_sys_stat: split the global lock uid_lock to the fine-grained locks for each hlist in hash_table. ANDROID: uid_sys_stats: defer process_notifier work if uid_lock is contended ANDROID: Add symbols for pkvm module support ANDROID: abi_gki_aarch64_qcom: Add dma_resv iterator symbols ANDROID: Unnest MAKE_GOALS from build configs ANDROID: iommu/dma: Add support for DMA_ATTR_SYS_CACHE_NWA ANDROID: iommu/dma: Add support for DMA_ATTR_SYS_CACHE ANDROID: iommu/io-pgtable-arm: Add IOMMU_SYS_CACHE/_NWA ANDROID: Enable CONFIG_ZONE_DEVICE ANDROID: abi_gki_aarch64_qcom: Add sock_gen_put BACKPORT: FROMLIST: Revert "scsi: ufs: core: Initialize devfreq synchronously" FROMLIST: staging: greybus: drop loopback test files UPSTREAM: wifi: cfg80211: Authentication offload to user space for MLO connection in STA mode UPSTREAM: wifi: cfg80211: trace: remove MAC_PR_{FMT,ARG} ANDROID: arm64: Add support for system cache memory type ANDROID: fuse-bpf: Fix bpf_test_xattr testcase error ANDROID: fuse-bpf: Simplify and fix setting bpf program ANDROID: GKI: update the ABI symbol list ANDROID: schedutil: add vendor hook for adjusting util to freq calculation BACKPORT: FROMLIST: arm64: Also reset KASAN tag if page is not PG_mte_tagged FROMLIST: arm64: mte: Do not set PG_mte_tagged if tags were not initialized ANDROID: GKI: Convert USB network adpaters to modules ANDROID: KVM: arm64: Prevent kmemleak from accessing EL2 module sections ANDROID: KVM: arm64: Move addr_is_allowed_memory() check into host callback UPSTREAM: wifi: cfg80211: Authentication offload to user space for MLO connection in STA mode ANDROID: Enable CONFIG_ZONE_DEVICE ANDROID: abi_gki_aarch64_qcom: Add sock_gen_put BACKPORT: FROMLIST: Revert "scsi: ufs: core: Initialize devfreq synchronously" FROMLIST: staging: greybus: drop loopback test files ANDROID: fuse-bpf: Make fuse_test compile and pass ANDROID: abi_gki_aarch64_qcom: Add missing symbol to QCOM list ANDROID: Update ABI representation ANDROID: ABI: Update QCOM symbol list for display drivers ANDROID: KVM: arm64: Prevent kmemleak from accessing .hyp.data ANDROID: 4/26/2023 KMI update ANDROID: mm: Create hooks for ZONE_MOVABLE allocs ANDROID: zram: allow zram to allocate CMA pages ANDROID: mm: add cma pcp list ANDROID: cma: redirect page allocation to CMA ANDROID: GKI: fscrypt: add OEM data to struct fscrypt_operations ANDROID: KVM: arm64: iommu: Pass device specific flags to hypervisor ANDROID: abi_gki_aarch64_qcom: Update qcom abi symbol list ANDROID: vmscan: Support multiple kswapd threads per node ANDROID: mm: Export kswapd function ANDROID: gki_defconfig: enable IPV6_MROUTE_MULTIPLE_TABLES Revert "ANDROID: gki_defconfig: remove CONFIG_CLEANCACHE from gki_defconfig" ANDROID: Revert "mm: remove cleancache" ANDROID: dma-buf: heaps: dmabuf page pool spinlock should be spinlock_t ANDROID: GKI: Update db845c symbol list for dmabuf_page_pool_get_size ANDROID: GKI: Update virtual_device symbol list for dmabuf_page_pool_get_size ANDROID: dma-heap: Let system heap report total pool size ANDROID: dma-buf: heaps: Add a sysfs file to report total pool size. ANDROID: block: Prepare for preserving the zoned write order ANDROID: Update symbol list for Exynos SoC ANDROID: ABI: Update symbol list for imx ANDROID: db845c: Update symbol list ANDROID: preserve CRC for xhci symbols Revert "raw: use net_hash_mix() in hash function" Revert "raw: Fix NULL deref in raw_get_next()." Revert "pwm: Make .get_state() callback return an error code" Revert "pwm: hibvt: Explicitly set .polarity in .get_state()" Revert "pwm: cros-ec: Explicitly set .polarity in .get_state()" Revert "pwm: iqs620a: Explicitly set .polarity in .get_state()" Revert "pwm: sprd: Explicitly set .polarity in .get_state()" Revert "pwm: meson: Explicitly set .polarity in .get_state()" Revert "KVM: arm64: PMU: Align chained counter implementation with architecture pseudocode" Revert "KVM: arm64: PMU: Distinguish between 64bit counter and 64bit overflow" Revert "KVM: arm64: PMU: Sanitise PMCR_EL0.LP on first vcpu run" Revert "KVM: arm64: PMU: Don't save PMCR_EL0.{C,P} for the vCPU" BACKPORT: KVM: arm64: Make vcpu flag updates non-preemptible BACKPORT: KVM: arm64: Advertise ID_AA64PFR0_EL1.CSV2/3 to protected VMs FROMGIT: usb: dwc3: gadget: Refactor EP0 forced stall/restart into a separate API ANDROID: Update symbol list for mtk FROMGIT: usb: dwc3: gadget: Execute gadget stop after halting the controller UPSTREAM: scsi: ufs: core: Print trs for pending requests in MCQ mode UPSTREAM: scsi: ufs: core: Add trace event for MCQ ANDROID: ABI: update the pixel symbol list FROMGIT: USB: dwc3: gadget: drop dead hibernation code FROMGIT: usb: dwc3: gadget: Stall and restart EP0 if host is unresponsive FROMGIT: media: add RealVideo format RV30 and RV40 FROMGIT: media: add Sorenson Spark video format ANDROID: Update ABI representation for imx symbol list updates ANDROID: ABI: Add clk/power related symbols for imx ANDROID: ABI: Add phy/pinctrl/regulator related symbols for imx ANDROID: ABI: Add bus/mmc/dma related symbols for imx ANDROID: ABI: Add display related symbols for imx ANDROID: ABI: Add video/camera related symbols for imx ANDROID: ABI: Add sensor/led/iput related symbols for imx ANDROID: ABI: Add usb related symbols for imx ANDROID: ABI: Add net related symbols for imx ANDROID: ABI: Add sound/soc/ related symbols for imx ANDROID: KVM: arm64: Clear the PTEs which are not refcounted on unmap path Revert "ANDROID: Add utf8_data_table for case-folding support" ANDROID: Add filp_open_block() for zram ANDROID: GKI: add init symbol list file for vivo FROMGIT: clocksource/drivers/timer-mediatek: Split out CPUXGPT timers ANDROID: dma-buf: Export is_dma_buf_file Linux 6.1.25 cgroup/cpuset: Add cpuset_can_fork() and cpuset_cancel_fork() methods cgroup/cpuset: Make cpuset_fork() handle CLONE_INTO_CGROUP properly cgroup/cpuset: Skip spread flags update on v2 nvme-pci: add NVME_QUIRK_BOGUS_NID for T-FORCE Z330 SSD nvme-pci: mark Lexar NM760 as IGNORE_DEV_SUBNQN cifs: fix negotiate context parsing i2c: ocores: generate stop condition after timeout in polling mode x86/rtc: Remove __init for runtime functions sched/fair: Fix imbalance overflow powerpc/papr_scm: Update the NUMA distance table for the target node i2c: mchp-pci1xxxx: Update Timing registers ubi: Fix deadlock caused by recursively holding work_sem ubi: Fix failure attaching when vid_hdr offset equals to (sub)page size mptcp: stricter state check in mptcp_worker mptcp: use mptcp_schedule_work instead of open-coding it drm/amd/pm: correct SMU13.0.7 max shader clock reporting drm/amd/pm: correct SMU13.0.7 pstate profiling clock settings cgroup/cpuset: Wake up cpuset_attach_wq tasks in cpuset_cancel_attach() cgroup/cpuset: Fix partition root's cpuset.cpus update bug cgroup: fix display of forceidle time at root x86/PCI: Add quirk for AMD XHCI controller that loses MSI-X state in D3hot scsi: ses: Handle enclosure with just a primary component gracefully net: phy: nxp-c45-tja11xx: fix unsigned long multiplication overflow net: phy: nxp-c45-tja11xx: add remove callback net: sfp: initialize sfp->i2c_block_size at sfp allocation HID: intel-ish-hid: Fix kernel panic during warm reset riscv: add icache flush for nommu sigreturn trampoline ksmbd: avoid out of bounds access in decode_preauth_ctxt() maple_tree: fix write memory barrier of nodes once dead for RCU mode tracing: Have tracing_snapshot_instance_cond() write errors to the appropriate instance tracing: Add trace_array_puts() to write into instance KVM: SVM: Flush Hyper-V TLB when required x86/hyperv: KVM: Rename "hv_enlightenments" to "hv_vmcb_enlightenments" KVM: SVM: Add a proper field for Hyper-V VMCB enlightenments KVM: selftests: Move "struct hv_enlightenments" to x86_64/svm.h x86/hyperv: Move VMCB enlightenment definitions to hyperv-tlfs.h ACPI: resource: Add Medion S17413 to IRQ override quirk drm/amdgpu/gfx: set cg flags to enter/exit safe mode drm/amdgpu: Force signal hw_fences that are embedded in non-sched jobs drm/amdgpu: add mes resume when do gfx post soft reset wifi: iwlwifi: mvm: protect TXQ list manipulation wifi: iwlwifi: mvm: fix mvmtxq->stopped handling nvme: send Identify with CNS 06h only to I/O controllers asymmetric_keys: log on fatal failures in PE/pkcs7 verify_pefile: relax wrapper length check hwmon: (xgene) Fix ioremap and memremap leak hwmon: (peci/cputemp) Fix miscalculated DTS for SKX drm: panel-orientation-quirks: Add quirk for Lenovo Yoga Book X90F ACPI: video: Add backlight=native DMI quirk for Acer Aspire 3830TG block: ublk_drv: mark device as LIVE before adding disk efi: sysfb_efi: Add quirk for Lenovo Yoga Book X91F/L i2c: hisi: Avoid redundant interrupts i2c: imx-lpi2c: clean rx/tx buffers upon new message wifi: mwifiex: mark OF related data as maybe unused selftests/bpf: Fix progs/find_vma_fail1.c build error. power: supply: axp288_fuel_gauge: Added check for negative values power: supply: cros_usbpd: reclassify "default case!" as debug power: supply: rk817: Fix unsigned comparison with less than zero ARM: dts: qcom: apq8026-lg-lenok: add missing reserved memory ARM: 9290/1: uaccess: Fix KASAN false-positives libbpf: Fix single-line struct definition output in btf_dump skbuff: Fix a race between coalescing and releasing SKBs net: macb: fix a memory corruption in extended buffer descriptor mode udp6: fix potential access to stale information selftests: openvswitch: adjust datapath NL message declaration RDMA/core: Fix GID entry ref leak when create_ah fails sctp: fix a potential overflow in sctp_ifwdtsn_skip net: qrtr: Fix an uninit variable access bug in qrtr_tx_resume() cgroup,freezer: hold cpu_hotplug_lock before freezer_mutex net: wwan: iosm: Fix error handling path in ipc_pcie_probe() qlcnic: check pci_reset_function result drm/armada: Fix a potential double free in an error handling path Bluetooth: Set ISO Data Path on broadcast sink Bluetooth: SCO: Fix possible circular locking dependency sco_sock_getsockopt Bluetooth: Fix printing errors if LE Connection times out Bluetooth: hci_conn: Fix not cleaning up on LE Connection failure net: openvswitch: fix race on port output iavf: remove active_cvlans and active_svlans bitmaps iavf: refactor VLAN filter states bonding: fix ns validation on backup slaves tcp: restrict net.ipv4.tcp_app_win niu: Fix missing unwind goto in niu_alloc_channels() KVM: arm64: Advertise ID_AA64PFR0_EL1.CSV2/3 to protected VMs KVM: arm64: Initialise hypervisor copies of host symbols unconditionally bpf, arm64: Fixed a BTI error on returning to patched function 9p/xen : Fix use after free bug in xen_9pfs_front_remove due to race condition dmaengine: apple-admac: Fix 'current_tx' not getting freed dmaengine: apple-admac: Set src_addr_widths capability dmaengine: apple-admac: Handle 'global' interrupt flags LoongArch, bpf: Fix jit to skip speculation barrier opcode bpf: tcp: Use sock_gen_put instead of sock_put in bpf_iter_tcp RDMA/cma: Allow UD qp_type to join multicast only clk: rs9: Fix suspend/resume RDMA/erdma: Defer probing if netdevice can not be found RDMA/erdma: Inline mtt entries into WQE if supported RDMA/erdma: Update default EQ depth to 4096 and max_send_wr to 8192 IB/mlx5: Add support for 400G_8X lane speed RDMA/irdma: Add ipv4 check to irdma_find_listener() RDMA/irdma: Increase iWARP CM default rexmit count RDMA/irdma: Fix memory leak of PBLE objects RDMA/irdma: Do not generate SW completions for NOPs clk: sprd: set max_register according to mapping range drm/i915/dsi: fix DSS CTL register offsets for TGL+ fbcon: set_con2fb_map needs to set con2fb_map! fbcon: Fix error paths in set_con2fb_map KVM: arm64: PMU: Restore the guest's EL0 event counting after migration mtd: rawnand: stm32_fmc2: use timings.mode instead of checking tRC_min mtd: rawnand: stm32_fmc2: remove unsupported EDO mode mtd: rawnand: meson: fix bitmask for length in command word mtdblock: tolerate corrected bit-flips fbmem: Reject FB_ACTIVATE_KD_TEXT from userspace btrfs: fix fast csum implementation detection btrfs: restore the thread_pool= behavior in remount for the end I/O workqueues Bluetooth: hci_conn: Fix possible UAF Bluetooth: Free potentially unfreed SCO connection bluetooth: btbcm: Fix logic error in forming the board name. Bluetooth: Fix race condition in hidp_session_thread Bluetooth: L2CAP: Fix use-after-free in l2cap_disconnect_{req,rsp} ALSA: hda/hdmi: disable KAE for Intel DG2 ALSA: hda/sigmatel: fix S/PDIF out on Intel D*45* motherboards ALSA: emu10k1: don't create old pass-through playback device on Audigy ALSA: firewire-tascam: add missing unwind goto in snd_tscm_stream_start_duplex() ALSA: hda/realtek: Add quirks for Lenovo Z13/Z16 Gen2 ALSA: hda: patch_realtek: add quirk for Asus N7601ZM ALSA: i2c/cs8427: fix iec958 mixer control deactivation ALSA: hda/sigmatel: add pin overrides for Intel DP45SG motherboard ALSA: emu10k1: fix capture interrupt handler unlinking drm/amd/display: Pass the right info to drm_dp_remove_payload Revert "pinctrl: amd: Disable and mask interrupts on resume" f2fs: remove unnessary comment in __may_age_extent_tree f2fs: allocate node blocks for atomic write block replacement f2fs: use cow inode data when updating atomic write f2fs: remove power-of-two limitation of zoned device f2fs: allocate trace path buffer from names_cache ANDROID: ABI: Update the tcpci symbols for pixel ANDROID: ABI: Add drm_atomic_bridge_chain_disable and drm_atomic_bridge_chain_enable in QCOM symbol list ANDROID: firmware/psci: Remove PSCI_1_1_FN64_MEM_PROTECT definition ANDROID: Add initial symbol list for Exynos SoC f2fs: add has_enough_free_secs() f2fs: relax sanity check if checkpoint is corrupted f2fs: refactor f2fs_gc to call checkpoint in urgent condition f2fs: remove folio_detach_private() in .invalidate_folio and .release_folio f2fs: remove bulk remove_proc_entry() and unnecessary kobject_del() f2fs: support iopoll method Linux 6.1.24 bpftool: Print newline before '}' for struct with padding only fields mm: enable maple tree RCU mode by default. maple_tree: add RCU lock checking to rcu callback functions maple_tree: add smp_rmb() to dead node detection maple_tree: remove extra smp_wmb() from mas_dead_leaves() maple_tree: fix freeing of nodes in rcu mode maple_tree: detect dead nodes in mas_start() maple_tree: refine ma_state init from mas_start() maple_tree: be more cautious about dead nodes maple_tree: fix mas_prev() and mas_find() state handling maple_tree: fix handle of invalidated state in mas_wr_store_setup() maple_tree: reduce user error potential maple_tree: fix potential rcu issue maple_tree: remove GFP_ZERO from kmem_cache_alloc() and kmem_cache_alloc_bulk() mm: take a page reference when removing device exclusive entries drm/i915: Split icl_color_commit_noarm() from skl_color_commit_noarm() drm/i915: Use _MMIO_PIPE() for SKL_BOTTOM_COLOR drm/bridge: lt9611: Fix PLL being unable to lock drm/i915/dp_mst: Fix payload removal during output disabling drm/display/dp_mst: Handle old/new payload states in drm_dp_remove_payload() drm/amdgpu: skip psp suspend for IMU enabled ASICs mode2 reset drm/amdgpu: for S0ix, skip SDMA 5.x+ suspend/resume drm/amd/display: Clear MST topology if it fails to resume blk-throttle: Fix that bps of child could exceed bps limited in parent maple_tree: fix a potential concurrency bug in RCU mode maple_tree: fix get wrong data_end in mtree_lookup_walk() mm/hugetlb: fix uffd wr-protection for CoW optimization path mm/swap: fix swap_info_struct race between swapoff and get_swap_pages() ring-buffer: Fix race while reader and writer are on the same page drm/i915: fix race condition UAF in i915_perf_add_config_ioctl drm/i915: Fix context runtime accounting drm/nouveau/disp: Support more modes by checking with lower bpc drm/panfrost: Fix the panfrost_mmu_map_fault_addr() error path ublk: read any SQE values upfront wifi: mt76: ignore key disable commands mm: vmalloc: avoid warn_alloc noise caused by fatal signal zsmalloc: document freeable stats tracing/synthetic: Make lastcmd_mutex static ASoC: hdac_hdmi: use set_stream() instead of set_tdm_slots() tracing: Free error logs of tracing instances tracing/osnoise: Fix notify new tracing_max_latency tracing/timerlat: Notify new max thread latency tracing/synthetic: Fix races on freeing last_cmd net: stmmac: Add queue reset into stmmac_xdp_open() function ACPI: video: Add acpi_backlight=video quirk for Lenovo ThinkPad W530 ACPI: video: Add acpi_backlight=video quirk for Apple iMac14,1 and iMac14,2 ACPI: video: Make acpi_backlight=video work independent from GPU driver ACPI: video: Add auto_detect arg to __acpi_video_get_backlight_type() can: isotp: isotp_recvmsg(): use sock_recv_cmsgs() to get SOCK_RXQ_OVFL infos can: isotp: isotp_ops: fix poll() to not report false EPOLLOUT events can: isotp: fix race between isotp_sendsmg() and isotp_release() can: j1939: j1939_tp_tx_dat_new(): fix out-of-bounds memory access fs: drop peer group ids under namespace lock ftrace: Fix issue that 'direct->addr' not restored in modify_ftrace_direct() ftrace: Mark get_lock_parent_ip() __always_inline perf/core: Fix the same task check in perf_event_set_output block: don't set GD_NEED_PART_SCAN if scan partition failed block: ublk: make sure that block size is set correctly cifs: sanitize paths in cifs_update_super_prepath. nvme: fix discard support without oncs scsi: iscsi_tcp: Check that sock is valid before iscsi_set_param() scsi: qla2xxx: Fix memory leak in qla2x00_probe_one() io_uring: fix memory leak when removing provided buffers io_uring: fix return value when removing provided buffers iio: adc: ad7791: fix IRQ flags blk-mq: directly poll requests counter: 104-quad-8: Fix Synapse action reported for Index signals counter: 104-quad-8: Fix race condition between FLAG and CNTR reads coresight-etm4: Fix for() loop drvdata->nr_addr_cmp range bug coresight: etm4x: Do not access TRCIDR1 for identification mm: kfence: fix handling discontiguous page mm: kfence: fix PG_slab and memcg_data clearing KVM: nVMX: Do not report error code when synthesizing VM-Exit from Real Mode KVM: x86: Clear "has_error_code", not "error_code", for RM exception injection x86/ACPI/boot: Use FADT version to check support for online capable x86/acpi/boot: Correct acpi_is_processor_usable() check ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook ALSA: hda/realtek: Add quirk for Clevo X370SNW ksmbd: fix slab-out-of-bounds in init_smb2_rsp_hdr ksmbd: do not call kvmalloc() with __GFP_NORETRY | __GFP_NO_WARN serial: 8250: Prevent starting up DMA Rx on THRI interrupt dt-bindings: serial: renesas,scif: Fix 4th IRQ for 4-IRQ SCIFs nilfs2: fix sysfs interface lifetime nilfs2: fix potential UAF of struct nilfs_sc_info in nilfs_segctor_thread() tty: serial: fsl_lpuart: avoid checking for transfer complete when UARTCTRL_SBK is asserted in lpuart32_tx_empty tty: serial: sh-sci: Fix Rx on RZ/G2L SCI tty: serial: sh-sci: Fix transmit end interrupt handler iio: light: cm32181: Unregister second I2C client if present iio: buffer: make sure O_NONBLOCK is respected iio: buffer: correctly return bytes written in output buffers iio: dac: cio-dac: Fix max DAC write value check for 12-bit iio: adc: ti-ads7950: Set `can_sleep` flag for GPIO chip iio: adc: qcom-spmi-adc5: Fix the channel name iio: adis16480: select CONFIG_CRC32 drivers: iio: adc: ltc2497: fix LSB shift USB: serial: option: add Quectel RM500U-CN modem USB: serial: option: add Telit FE990 compositions usb: typec: altmodes/displayport: Fix configure initial pin assignment USB: serial: cp210x: add Silicon Labs IFS-USB-DATACABLE IDs usb: dwc3: pci: add support for the Intel Meteor Lake-S usb: cdnsp: Fixes error: uninitialized symbol 'len' xhci: also avoid the XHCI_ZERO_64B_REGS quirk with a passthrough iommu xhci: Free the command allocated for setting LPM if we return early usb: xhci: tegra: fix sleep in atomic call PCI/DOE: Fix memory leak with CONFIG_DEBUG_OBJECTS=y PCI/DOE: Silence WARN splat with CONFIG_DEBUG_OBJECTS=y cxl/pci: Handle excessive CDAT length cxl/pci: Handle truncated CDAT entries cxl/pci: Handle truncated CDAT header cxl/pci: Fix CDAT retrieval on big endian net: stmmac: check fwnode for phy device before scanning for phy arm64: compat: Work around uninitialized variable warning gve: Secure enough bytes in the first TX desc for all TCP pkts netlink: annotate lockless accesses to nlk->max_recvmsg_len ethtool: reset #lanes when lanes is omitted ping: Fix potentail NULL deref for /proc/net/icmp. raw: Fix NULL deref in raw_get_next(). raw: use net_hash_mix() in hash function ice: Reset FDIR counter in FDIR init stage ice: fix wrong fallback logic for FDIR NFSD: callback request does not use correct credential for AUTH_SYS sunrpc: only free unix grouplist after RCU settles net: stmmac: fix up RX flow hash indirection table when setting channels net: ethernet: ti: am65-cpsw: Fix mdio cleanup in probe gpio: davinci: Add irq chip flag to skip set wake gpio: davinci: Do not clear the bank intr enable bit in save_context platform/x86: think-lmi: Clean up display of current_value on Thinkstation platform/x86: think-lmi: Fix memory leaks when parsing ThinkStation WMI strings platform/x86: think-lmi: Fix memory leak when showing current settings ipv6: Fix an uninit variable access bug in __ip6_make_skb() net: qrtr: Do not do DEL_SERVER broadcast after DEL_CLIENT sctp: check send stream number after wait_for_sndbuf net: dsa: mv88e6xxx: Reset mv88e6393x force WD event bit net: don't let netpoll invoke NAPI if in xmit context ALSA: hda/hdmi: Preserve the previous PCM device upon re-enablement icmp: guard against too small mtu nfsd: call op_release, even when op_func returns an error NFSD: Avoid calling OPDESC() with ops->opnum == OP_ILLEGAL wifi: brcmfmac: Fix SDIO suspend/resume regression l2tp: generate correct module alias strings net: stmmac: remove redundant fixup to support fixed-link mode net: stmmac: check if MAC needs to attach to a PHY net: phylink: add phylink_expects_phy() method net: qrtr: Fix a refcount bug in qrtr_recvmsg() wifi: mac80211: fix invalid drv_sta_pre_rcu_remove calls for non-uploaded sta wifi: mac80211: fix the size calculation of ieee80211_ie_len_eht_cap() KVM: s390: pv: fix external interruption loop not always detected ASoC: codecs: lpass: fix the order or clks turn off during suspend pwm: meson: Explicitly set .polarity in .get_state() pwm: sprd: Explicitly set .polarity in .get_state() pwm: iqs620a: Explicitly set .polarity in .get_state() pwm: cros-ec: Explicitly set .polarity in .get_state() pwm: hibvt: Explicitly set .polarity in .get_state() pwm: Make .get_state() callback return an error code ASoC: SOF: ipc4: Ensure DSP is in D0I0 during sof_ipc4_set_get_data() Drivers: vmbus: Check for channel allocation before looking up relids gpio: GPIO_REGMAP: select REGMAP instead of depending on it KVM: arm64: PMU: Don't save PMCR_EL0.{C,P} for the vCPU KVM: arm64: PMU: Sanitise PMCR_EL0.LP on first vcpu run KVM: arm64: PMU: Distinguish between 64bit counter and 64bit overflow KVM: arm64: PMU: Align chained counter implementation with architecture pseudocode dm: fix improper splitting for abnormal bios dm: change "unsigned" to "unsigned int" dm integrity: Remove bi_sector that's only used by commented debug code dm cache: Add some documentation to dm-cache-background-tracker.h f2fs: remove batched_trim_sections node description f2fs: fix to check return value of inc_valid_block_count() f2fs: fix to check return value of f2fs_do_truncate_blocks() f2fs: fix passing relative address when discard zones f2fs: fix potential corruption when moving a directory f2fs: add radix_tree_preload_end in error case f2fs: fix to recover quota data correctly f2fs: fix to check readonly condition correctly docs: f2fs: Correct instruction to disable checkpoint f2fs: fix to keep consistent i_gc_rwsem lock order f2fs: fix to drop all dirty pages during umount() if cp_error is set f2fs: fix to avoid use-after-free for cached IPU bio f2fs: remove unneeded in-memory i_crtime copy f2fs: use f2fs_hw_is_readonly() instead of bdev_read_only() f2fs: use common implementation of file type f2fs: merge lz4hc_compress_pages() to lz4_compress_pages() f2fs: convert to use sysfs_emit f2fs: set default compress option only when sb_has_compression f2fs: Fix system crash due to lack of free space in LFS f2fs: remove struct victim_selection default_v_ops f2fs: fix null pointer panic in tracepoint in __replace_atomic_write_block f2fs: fix iostat lock protection f2fs: fix align check for npo2 f2fs: add compression feature check for all compress mount opt f2fs: convert is_extension_exist() to return bool type f2fs: fix scheduling while atomic in decompression path f2fs: preserve direct write semantics when buffering is forced f2fs: compress: fix to call f2fs_wait_on_page_writeback() in f2fs_write_raw_pages() f2fs: remove else in f2fs_write_cache_pages() f2fs: apply zone capacity to all zone type f2fs: fix to handle filemap_fdatawrite() error in f2fs_ioc_decompress_file/f2fs_ioc_compress_file f2fs: convert to MAX_SBI_FLAG instead of 32 in stat_show() f2fs: Fix discard bug on zoned block devices with 2MiB zone size f2fs: remove entire rb_entry sharing f2fs: factor out discard_cmd usage from general rb_tree use f2fs: factor out victim_entry usage from general rb_tree use f2fs: fix uninitialized skipped_gc_rwsem f2fs: handle dqget error in f2fs_transfer_project_quota() f2fs: convert to use bitmap API f2fs: export compress_percent and compress_watermark entries f2fs: make f2fs_sync_inode_meta() static f2fs: Fix f2fs_truncate_partial_nodes ftrace event Conflicts: Documentation/devicetree/bindings Documentation/devicetree/bindings/serial/renesas,scif.yaml android/abi_gki_aarch64.stg net/qrtr/af_qrtr.c net/qrtr/ns.c Change-Id: I2b2b2f1569aa65700b2382c7ea4ea5d84c8f573c Upstream-Build: ks_qcom-android14-6.1-keystone-qcom-release@10066587 UKQ2.230504.001 Signed-off-by: jianzhou <quic_jianzhou@quicinc.com>
602 lines
22 KiB
Python
602 lines
22 KiB
Python
# SPDX-License-Identifier: GPL-2.0
|
|
# Copyright (C) 2021 The Android Open Source Project
|
|
|
|
load("//build/bazel_common_rules/dist:dist.bzl", "copy_to_dist_dir")
|
|
load("//build/kernel/kleaf:common_kernels.bzl", "define_common_kernels", "define_db845c")
|
|
load("//build/kernel/kleaf:kernel.bzl", "ddk_headers", "kernel_build", "kernel_images", "kernel_modules_install")
|
|
load(":modules.bzl", "COMMON_GKI_MODULES_LIST")
|
|
|
|
package(
|
|
default_visibility = [
|
|
"//visibility:public",
|
|
],
|
|
)
|
|
|
|
filegroup(
|
|
name = "aarch64_additional_kmi_symbol_lists",
|
|
srcs = [
|
|
# keep sorted
|
|
"android/abi_gki_aarch64_db845c",
|
|
"android/abi_gki_aarch64_exynos",
|
|
"android/abi_gki_aarch64_galaxy",
|
|
"android/abi_gki_aarch64_imx",
|
|
"android/abi_gki_aarch64_mtk",
|
|
"android/abi_gki_aarch64_oplus",
|
|
"android/abi_gki_aarch64_pixel",
|
|
"android/abi_gki_aarch64_qcom",
|
|
"android/abi_gki_aarch64_virtual_device",
|
|
"android/abi_gki_aarch64_vivo",
|
|
"android/abi_gki_aarch64_xiaomi",
|
|
],
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
define_common_kernels(target_configs = {
|
|
"kernel_aarch64": {
|
|
"kmi_symbol_list_strict_mode": True,
|
|
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
|
|
"kmi_symbol_list": "android/abi_gki_aarch64",
|
|
"additional_kmi_symbol_lists": [":aarch64_additional_kmi_symbol_lists"],
|
|
"protected_exports_list": "android/abi_gki_protected_exports_aarch64",
|
|
"protected_modules_list": "android/gki_aarch64_protected_modules",
|
|
},
|
|
"kernel_aarch64_16k": {
|
|
"kmi_symbol_list_strict_mode": False,
|
|
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
|
|
},
|
|
"kernel_aarch64_debug": {
|
|
"kmi_symbol_list_strict_mode": False,
|
|
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
|
|
"kmi_symbol_list": "android/abi_gki_aarch64",
|
|
"additional_kmi_symbol_lists": [":aarch64_additional_kmi_symbol_lists"],
|
|
"protected_exports_list": "android/abi_gki_protected_exports_aarch64",
|
|
"protected_modules_list": "android/gki_aarch64_protected_modules",
|
|
},
|
|
"kernel_riscv64": {
|
|
"kmi_symbol_list_strict_mode": False,
|
|
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
|
|
},
|
|
"kernel_x86_64": {
|
|
"kmi_symbol_list_strict_mode": False,
|
|
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
|
|
"protected_exports_list": "android/abi_gki_protected_exports_x86_64",
|
|
"protected_modules_list": "android/gki_x86_64_protected_modules",
|
|
},
|
|
"kernel_x86_64_debug": {
|
|
"kmi_symbol_list_strict_mode": False,
|
|
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
|
|
"protected_exports_list": "android/abi_gki_protected_exports_x86_64",
|
|
"protected_modules_list": "android/gki_x86_64_protected_modules",
|
|
},
|
|
})
|
|
|
|
define_db845c(
|
|
name = "db845c",
|
|
outs = [
|
|
"arch/arm64/boot/dts/qcom/qrb5165-rb5.dtb",
|
|
"arch/arm64/boot/dts/qcom/sdm845-db845c.dtb",
|
|
"arch/arm64/boot/dts/qcom/sm8450-qrd.dtb",
|
|
],
|
|
define_abi_targets = True,
|
|
kmi_symbol_list = "//common:android/abi_gki_aarch64_db845c",
|
|
module_outs = [
|
|
# keep sorted
|
|
"crypto/michael_mic.ko",
|
|
"drivers/base/regmap/regmap-sdw.ko",
|
|
"drivers/base/regmap/regmap-slimbus.ko",
|
|
"drivers/bus/mhi/host/mhi.ko",
|
|
"drivers/clk/qcom/clk-qcom.ko",
|
|
"drivers/clk/qcom/clk-rpmh.ko",
|
|
"drivers/clk/qcom/clk-spmi-pmic-div.ko",
|
|
"drivers/clk/qcom/dispcc-sdm845.ko",
|
|
"drivers/clk/qcom/dispcc-sm8250.ko",
|
|
"drivers/clk/qcom/gcc-sdm845.ko",
|
|
"drivers/clk/qcom/gcc-sm8250.ko",
|
|
"drivers/clk/qcom/gcc-sm8450.ko",
|
|
"drivers/clk/qcom/gpucc-sdm845.ko",
|
|
"drivers/clk/qcom/gpucc-sm8250.ko",
|
|
"drivers/clk/qcom/lpass-gfm-sm8250.ko",
|
|
"drivers/clk/qcom/videocc-sdm845.ko",
|
|
"drivers/clk/qcom/videocc-sm8250.ko",
|
|
"drivers/cpufreq/qcom-cpufreq-hw.ko",
|
|
"drivers/dma-buf/heaps/system_heap.ko",
|
|
"drivers/dma/qcom/bam_dma.ko",
|
|
"drivers/dma/qcom/gpi.ko",
|
|
"drivers/extcon/extcon-usb-gpio.ko",
|
|
"drivers/firmware/qcom-scm.ko",
|
|
"drivers/gpio/gpio-wcd934x.ko",
|
|
"drivers/gpu/drm/bridge/display-connector.ko",
|
|
"drivers/gpu/drm/bridge/lontium-lt9611.ko",
|
|
"drivers/gpu/drm/bridge/lontium-lt9611uxc.ko",
|
|
"drivers/gpu/drm/display/drm_display_helper.ko",
|
|
"drivers/gpu/drm/display/drm_dp_aux_bus.ko",
|
|
"drivers/gpu/drm/msm/msm.ko",
|
|
"drivers/gpu/drm/scheduler/gpu-sched.ko",
|
|
"drivers/hwspinlock/qcom_hwspinlock.ko",
|
|
"drivers/i2c/busses/i2c-designware-core.ko",
|
|
"drivers/i2c/busses/i2c-designware-platform.ko",
|
|
"drivers/i2c/busses/i2c-qcom-geni.ko",
|
|
"drivers/i2c/busses/i2c-qup.ko",
|
|
"drivers/i2c/busses/i2c-rk3x.ko",
|
|
"drivers/i2c/i2c-dev.ko",
|
|
"drivers/i2c/i2c-mux.ko",
|
|
"drivers/i2c/muxes/i2c-mux-pca954x.ko",
|
|
"drivers/iio/adc/qcom-spmi-adc5.ko",
|
|
"drivers/iio/adc/qcom-vadc-common.ko",
|
|
"drivers/input/misc/pm8941-pwrkey.ko",
|
|
"drivers/interconnect/qcom/icc-bcm-voter.ko",
|
|
"drivers/interconnect/qcom/icc-osm-l3.ko",
|
|
"drivers/interconnect/qcom/icc-rpmh.ko",
|
|
"drivers/interconnect/qcom/qnoc-sdm845.ko",
|
|
"drivers/interconnect/qcom/qnoc-sm8250.ko",
|
|
"drivers/interconnect/qcom/qnoc-sm8450.ko",
|
|
"drivers/iommu/arm/arm-smmu/arm_smmu.ko",
|
|
"drivers/irqchip/qcom-pdc.ko",
|
|
"drivers/leds/rgb/leds-qcom-lpg.ko",
|
|
"drivers/mailbox/qcom-apcs-ipc-mailbox.ko",
|
|
"drivers/mailbox/qcom-ipcc.ko",
|
|
"drivers/media/platform/qcom/venus/venus-core.ko",
|
|
"drivers/media/platform/qcom/venus/venus-dec.ko",
|
|
"drivers/media/platform/qcom/venus/venus-enc.ko",
|
|
"drivers/mfd/qcom-spmi-pmic.ko",
|
|
"drivers/mfd/wcd934x.ko",
|
|
"drivers/misc/fastrpc.ko",
|
|
"drivers/mmc/host/cqhci.ko",
|
|
"drivers/mmc/host/sdhci-msm.ko",
|
|
"drivers/net/can/spi/mcp251xfd/mcp251xfd.ko",
|
|
"drivers/net/wireless/ath/ath.ko",
|
|
"drivers/net/wireless/ath/ath10k/ath10k_core.ko",
|
|
"drivers/net/wireless/ath/ath10k/ath10k_pci.ko",
|
|
"drivers/net/wireless/ath/ath10k/ath10k_snoc.ko",
|
|
"drivers/net/wireless/ath/ath11k/ath11k.ko",
|
|
"drivers/net/wireless/ath/ath11k/ath11k_ahb.ko",
|
|
"drivers/net/wireless/ath/ath11k/ath11k_pci.ko",
|
|
"drivers/nvmem/nvmem_qfprom.ko",
|
|
"drivers/phy/qualcomm/phy-qcom-qmp-combo.ko",
|
|
"drivers/phy/qualcomm/phy-qcom-qmp-pcie.ko",
|
|
"drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.ko",
|
|
"drivers/phy/qualcomm/phy-qcom-qmp-ufs.ko",
|
|
"drivers/phy/qualcomm/phy-qcom-qmp-usb.ko",
|
|
"drivers/phy/qualcomm/phy-qcom-qusb2.ko",
|
|
"drivers/phy/qualcomm/phy-qcom-snps-femto-v2.ko",
|
|
"drivers/phy/qualcomm/phy-qcom-usb-hs.ko",
|
|
"drivers/pinctrl/qcom/pinctrl-lpass-lpi.ko",
|
|
"drivers/pinctrl/qcom/pinctrl-msm.ko",
|
|
"drivers/pinctrl/qcom/pinctrl-sdm845.ko",
|
|
"drivers/pinctrl/qcom/pinctrl-sm8250.ko",
|
|
"drivers/pinctrl/qcom/pinctrl-sm8250-lpass-lpi.ko",
|
|
"drivers/pinctrl/qcom/pinctrl-sm8450.ko",
|
|
"drivers/pinctrl/qcom/pinctrl-spmi-gpio.ko",
|
|
"drivers/pinctrl/qcom/pinctrl-spmi-mpp.ko",
|
|
"drivers/power/reset/qcom-pon.ko",
|
|
"drivers/power/reset/reboot-mode.ko",
|
|
"drivers/power/reset/syscon-reboot-mode.ko",
|
|
"drivers/regulator/gpio-regulator.ko",
|
|
"drivers/regulator/qcom-rpmh-regulator.ko",
|
|
"drivers/regulator/qcom_spmi-regulator.ko",
|
|
"drivers/regulator/qcom_usb_vbus-regulator.ko",
|
|
"drivers/remoteproc/qcom_common.ko",
|
|
"drivers/remoteproc/qcom_pil_info.ko",
|
|
"drivers/remoteproc/qcom_q6v5.ko",
|
|
"drivers/remoteproc/qcom_q6v5_adsp.ko",
|
|
"drivers/remoteproc/qcom_q6v5_mss.ko",
|
|
"drivers/remoteproc/qcom_q6v5_pas.ko",
|
|
"drivers/remoteproc/qcom_q6v5_wcss.ko",
|
|
"drivers/remoteproc/qcom_sysmon.ko",
|
|
"drivers/reset/reset-qcom-aoss.ko",
|
|
"drivers/reset/reset-qcom-pdc.ko",
|
|
"drivers/rpmsg/qcom_glink.ko",
|
|
"drivers/rpmsg/qcom_glink_rpm.ko",
|
|
"drivers/rpmsg/qcom_glink_smem.ko",
|
|
"drivers/rpmsg/qcom_smd.ko",
|
|
"drivers/rpmsg/rpmsg_ns.ko",
|
|
"drivers/rtc/rtc-pm8xxx.ko",
|
|
"drivers/slimbus/slim-qcom-ngd-ctrl.ko",
|
|
"drivers/slimbus/slimbus.ko",
|
|
"drivers/soc/qcom/apr.ko",
|
|
"drivers/soc/qcom/cmd-db.ko",
|
|
"drivers/soc/qcom/cpr.ko",
|
|
"drivers/soc/qcom/llcc-qcom.ko",
|
|
"drivers/soc/qcom/mdt_loader.ko",
|
|
"drivers/soc/qcom/pdr_interface.ko",
|
|
"drivers/soc/qcom/qcom_aoss.ko",
|
|
"drivers/soc/qcom/qcom_rpmh.ko",
|
|
"drivers/soc/qcom/qmi_helpers.ko",
|
|
"drivers/soc/qcom/rmtfs_mem.ko",
|
|
"drivers/soc/qcom/rpmhpd.ko",
|
|
"drivers/soc/qcom/smem.ko",
|
|
"drivers/soc/qcom/smp2p.ko",
|
|
"drivers/soc/qcom/smsm.ko",
|
|
"drivers/soc/qcom/socinfo.ko",
|
|
"drivers/soc/qcom/spm.ko",
|
|
"drivers/soundwire/soundwire-bus.ko",
|
|
"drivers/soundwire/soundwire-qcom.ko",
|
|
"drivers/spi/spi-geni-qcom.ko",
|
|
"drivers/spi/spi-pl022.ko",
|
|
"drivers/spi/spi-qcom-qspi.ko",
|
|
"drivers/spi/spi-qup.ko",
|
|
"drivers/spmi/spmi-pmic-arb.ko",
|
|
"drivers/thermal/qcom/lmh.ko",
|
|
"drivers/thermal/qcom/qcom-spmi-adc-tm5.ko",
|
|
"drivers/thermal/qcom/qcom-spmi-temp-alarm.ko",
|
|
"drivers/thermal/qcom/qcom_tsens.ko",
|
|
"drivers/tty/serial/msm_serial.ko",
|
|
"drivers/ufs/host/ufs_qcom.ko",
|
|
"drivers/usb/common/ulpi.ko",
|
|
"drivers/usb/host/ohci-hcd.ko",
|
|
"drivers/usb/host/ohci-pci.ko",
|
|
"drivers/usb/host/ohci-platform.ko",
|
|
"drivers/usb/typec/qcom-pmic-typec.ko",
|
|
"drivers/watchdog/pm8916_wdt.ko",
|
|
"drivers/watchdog/qcom-wdt.ko",
|
|
"net/qrtr/qrtr.ko",
|
|
"net/qrtr/qrtr-mhi.ko",
|
|
"net/qrtr/qrtr-smd.ko",
|
|
"net/qrtr/qrtr-tun.ko",
|
|
"sound/soc/codecs/snd-soc-dmic.ko",
|
|
"sound/soc/codecs/snd-soc-hdmi-codec.ko",
|
|
"sound/soc/codecs/snd-soc-lpass-macro-common.ko",
|
|
"sound/soc/codecs/snd-soc-lpass-va-macro.ko",
|
|
"sound/soc/codecs/snd-soc-lpass-wsa-macro.ko",
|
|
"sound/soc/codecs/snd-soc-max98927.ko",
|
|
"sound/soc/codecs/snd-soc-rl6231.ko",
|
|
"sound/soc/codecs/snd-soc-rt5663.ko",
|
|
"sound/soc/codecs/snd-soc-wcd-mbhc.ko",
|
|
"sound/soc/codecs/snd-soc-wcd9335.ko",
|
|
"sound/soc/codecs/snd-soc-wcd934x.ko",
|
|
"sound/soc/codecs/snd-soc-wsa881x.ko",
|
|
"sound/soc/qcom/qdsp6/q6adm.ko",
|
|
"sound/soc/qcom/qdsp6/q6afe.ko",
|
|
"sound/soc/qcom/qdsp6/q6afe-clocks.ko",
|
|
"sound/soc/qcom/qdsp6/q6afe-dai.ko",
|
|
"sound/soc/qcom/qdsp6/q6apm-dai.ko",
|
|
"sound/soc/qcom/qdsp6/q6apm-lpass-dais.ko",
|
|
"sound/soc/qcom/qdsp6/q6asm.ko",
|
|
"sound/soc/qcom/qdsp6/q6asm-dai.ko",
|
|
"sound/soc/qcom/qdsp6/q6core.ko",
|
|
"sound/soc/qcom/qdsp6/q6prm.ko",
|
|
"sound/soc/qcom/qdsp6/q6prm-clocks.ko",
|
|
"sound/soc/qcom/qdsp6/q6routing.ko",
|
|
"sound/soc/qcom/qdsp6/snd-q6apm.ko",
|
|
"sound/soc/qcom/qdsp6/snd-q6dsp-common.ko",
|
|
"sound/soc/qcom/snd-soc-qcom-common.ko",
|
|
"sound/soc/qcom/snd-soc-qcom-sdw.ko",
|
|
"sound/soc/qcom/snd-soc-sdm845.ko",
|
|
"sound/soc/qcom/snd-soc-sm8250.ko",
|
|
],
|
|
)
|
|
|
|
load(":consolidate.bzl", "define_consolidate")
|
|
|
|
define_consolidate()
|
|
|
|
load(":msm_platforms.bzl", "define_msm_platforms")
|
|
|
|
define_msm_platforms()
|
|
|
|
# TODO(b/258259749): Convert rockpi4 to mixed build
|
|
kernel_build(
|
|
name = "rockpi4",
|
|
outs = [
|
|
"Image",
|
|
"System.map",
|
|
"modules.builtin",
|
|
"modules.builtin.modinfo",
|
|
"rk3399-rock-pi-4b.dtb",
|
|
"vmlinux",
|
|
"vmlinux.symvers",
|
|
],
|
|
build_config = "build.config.rockpi4",
|
|
dtstree = "//common-modules/virtual-device:rockpi4_dts",
|
|
module_outs = COMMON_GKI_MODULES_LIST + [
|
|
# keep sorted
|
|
"drivers/block/virtio_blk.ko",
|
|
"drivers/char/hw_random/virtio-rng.ko",
|
|
"drivers/clk/clk-rk808.ko",
|
|
"drivers/cpufreq/cpufreq-dt.ko",
|
|
"drivers/dma/pl330.ko",
|
|
"drivers/gpu/drm/bridge/analogix/analogix_dp.ko",
|
|
"drivers/gpu/drm/bridge/synopsys/dw-hdmi.ko",
|
|
"drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.ko",
|
|
"drivers/gpu/drm/display/drm_display_helper.ko",
|
|
"drivers/gpu/drm/drm_dma_helper.ko",
|
|
"drivers/gpu/drm/rockchip/rockchipdrm.ko",
|
|
"drivers/i2c/busses/i2c-rk3x.ko",
|
|
"drivers/iio/adc/rockchip_saradc.ko",
|
|
"drivers/iio/buffer/industrialio-triggered-buffer.ko",
|
|
"drivers/iio/buffer/kfifo_buf.ko",
|
|
"drivers/mfd/rk808.ko",
|
|
"drivers/mmc/core/pwrseq_simple.ko",
|
|
"drivers/mmc/host/cqhci.ko",
|
|
"drivers/mmc/host/dw_mmc.ko",
|
|
"drivers/mmc/host/dw_mmc-pltfm.ko",
|
|
"drivers/mmc/host/dw_mmc-rockchip.ko",
|
|
"drivers/mmc/host/sdhci-of-arasan.ko",
|
|
"drivers/net/ethernet/stmicro/stmmac/dwmac-rk.ko",
|
|
"drivers/net/ethernet/stmicro/stmmac/stmmac.ko",
|
|
"drivers/net/ethernet/stmicro/stmmac/stmmac-platform.ko",
|
|
"drivers/net/net_failover.ko",
|
|
"drivers/net/pcs/pcs_xpcs.ko",
|
|
"drivers/net/virtio_net.ko",
|
|
"drivers/pci/controller/pcie-rockchip-host.ko",
|
|
"drivers/phy/rockchip/phy-rockchip-emmc.ko",
|
|
"drivers/phy/rockchip/phy-rockchip-inno-usb2.ko",
|
|
"drivers/phy/rockchip/phy-rockchip-pcie.ko",
|
|
"drivers/phy/rockchip/phy-rockchip-typec.ko",
|
|
"drivers/pwm/pwm-rockchip.ko",
|
|
"drivers/regulator/fan53555.ko",
|
|
"drivers/regulator/pwm-regulator.ko",
|
|
"drivers/regulator/rk808-regulator.ko",
|
|
"drivers/rtc/rtc-rk808.ko",
|
|
"drivers/soc/rockchip/io-domain.ko",
|
|
"drivers/thermal/rockchip_thermal.ko",
|
|
"drivers/usb/host/ohci-hcd.ko",
|
|
"drivers/usb/host/ohci-platform.ko",
|
|
"drivers/virtio/virtio_pci.ko",
|
|
"drivers/virtio/virtio_pci_legacy_dev.ko",
|
|
"drivers/virtio/virtio_pci_modern_dev.ko",
|
|
"drivers/watchdog/dw_wdt.ko",
|
|
"net/core/failover.ko",
|
|
],
|
|
)
|
|
|
|
kernel_modules_install(
|
|
name = "rockpi4_modules_install",
|
|
kernel_build = "//common:rockpi4",
|
|
)
|
|
|
|
kernel_images(
|
|
name = "rockpi4_images",
|
|
build_initramfs = True,
|
|
kernel_build = "//common:rockpi4",
|
|
kernel_modules_install = "//common:rockpi4_modules_install",
|
|
)
|
|
|
|
copy_to_dist_dir(
|
|
name = "rockpi4_dist",
|
|
data = [
|
|
":rockpi4",
|
|
":rockpi4_images",
|
|
":rockpi4_modules_install",
|
|
],
|
|
dist_dir = "out/rockpi4/dist",
|
|
flat = True,
|
|
)
|
|
|
|
kernel_build(
|
|
name = "fips140",
|
|
outs = [],
|
|
base_kernel = ":kernel_aarch64",
|
|
build_config = "build.config.gki.aarch64.fips140",
|
|
module_outs = ["crypto/fips140.ko"],
|
|
)
|
|
|
|
copy_to_dist_dir(
|
|
name = "fips140_dist",
|
|
data = [
|
|
":fips140",
|
|
],
|
|
dist_dir = "out/fips140/dist",
|
|
flat = True,
|
|
)
|
|
|
|
# allmodconfig build tests.
|
|
# These are build tests only, so:
|
|
# - outs are intentionally set to empty to not copy anything to DIST_DIR
|
|
# - --allow-undeclared-modules must be used so modules are not declared or copied.
|
|
# - No dist target because these are build tests. We don't care about the artifacts.
|
|
|
|
# tools/bazel build --allow_undeclared_modules //common:kernel_aarch64_allmodconfig
|
|
kernel_build(
|
|
name = "kernel_aarch64_allmodconfig",
|
|
# Hack to actually check the build.
|
|
# Otherwise, Bazel thinks that there are no output files, and skip building.
|
|
outs = [".config"],
|
|
build_config = "build.config.allmodconfig.aarch64",
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
# tools/bazel build --allow_undeclared_modules //common:kernel_x86_64_allmodconfig
|
|
kernel_build(
|
|
name = "kernel_x86_64_allmodconfig",
|
|
# Hack to actually check the build.
|
|
# Otherwise, Bazel thinks that there are no output files, and skip building.
|
|
outs = [".config"],
|
|
build_config = "build.config.allmodconfig.x86_64",
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
# tools/bazel build --allow_undeclared_modules //common:kernel_arm_allmodconfig
|
|
kernel_build(
|
|
name = "kernel_arm_allmodconfig",
|
|
# Hack to actually check the build.
|
|
# Otherwise, Bazel thinks that there are no output files, and skip building.
|
|
outs = [".config"],
|
|
build_config = "build.config.allmodconfig.arm",
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
# DDK Headers
|
|
# All headers. These are the public targets for DDK modules to use.
|
|
alias(
|
|
name = "all_headers",
|
|
actual = "all_headers_aarch64",
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
ddk_headers(
|
|
name = "all_headers_aarch64",
|
|
hdrs = [":all_headers_allowlist_aarch64"] + select({
|
|
"//build/kernel/kleaf:allow_ddk_unsafe_headers_set": [":all_headers_unsafe"],
|
|
"//conditions:default": [],
|
|
}),
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
ddk_headers(
|
|
name = "all_headers_arm",
|
|
hdrs = [":all_headers_allowlist_arm"] + select({
|
|
"//build/kernel/kleaf:allow_ddk_unsafe_headers_set": [":all_headers_unsafe"],
|
|
"//conditions:default": [],
|
|
}),
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
ddk_headers(
|
|
name = "all_headers_riscv64",
|
|
hdrs = [":all_headers_allowlist_riscv64"] + select({
|
|
"//build/kernel/kleaf:allow_ddk_unsafe_headers_set": [":all_headers_unsafe"],
|
|
"//conditions:default": [],
|
|
}),
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
ddk_headers(
|
|
name = "all_headers_x86_64",
|
|
hdrs = [":all_headers_allowlist_x86_64"] + select({
|
|
"//build/kernel/kleaf:allow_ddk_unsafe_headers_set": [":all_headers_unsafe"],
|
|
"//conditions:default": [],
|
|
}),
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
# Implementation details for DDK headers. The targets below cannot be directly
|
|
# depended on by DDK modules.
|
|
|
|
# DDK headers allowlist. This is the list of all headers and include
|
|
# directories that are safe to use in DDK modules.
|
|
ddk_headers(
|
|
name = "all_headers_allowlist_aarch64",
|
|
hdrs = [
|
|
":all_headers_allowlist_aarch64_globs",
|
|
":all_headers_allowlist_common_globs",
|
|
],
|
|
# The list of include directories where source files can #include headers
|
|
# from. In other words, these are the `-I` option to the C compiler.
|
|
# These are prepended to LINUXINCLUDE.
|
|
linux_includes = [
|
|
"arch/arm64/include",
|
|
"arch/arm64/include/uapi",
|
|
"include",
|
|
"include/uapi",
|
|
],
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
ddk_headers(
|
|
name = "all_headers_allowlist_arm",
|
|
hdrs = [
|
|
":all_headers_allowlist_arm_globs",
|
|
":all_headers_allowlist_common_globs",
|
|
],
|
|
# The list of include directories where source files can #include headers
|
|
# from. In other words, these are the `-I` option to the C compiler.
|
|
# These are prepended to LINUXINCLUDE.
|
|
linux_includes = [
|
|
"arch/arm/include",
|
|
"arch/arm/include/uapi",
|
|
"include",
|
|
"include/uapi",
|
|
],
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
ddk_headers(
|
|
name = "all_headers_allowlist_riscv64",
|
|
hdrs = [
|
|
":all_headers_allowlist_common_globs",
|
|
":all_headers_allowlist_riscv64_globs",
|
|
],
|
|
# The list of include directories where source files can #include headers
|
|
# from. In other words, these are the `-I` option to the C compiler.
|
|
# These are prepended to LINUXINCLUDE.
|
|
linux_includes = [
|
|
"arch/riscv/include",
|
|
"arch/riscv/include/uapi",
|
|
"include",
|
|
"include/uapi",
|
|
],
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
ddk_headers(
|
|
name = "all_headers_allowlist_x86_64",
|
|
hdrs = [
|
|
":all_headers_allowlist_common_globs",
|
|
":all_headers_allowlist_x86_64_globs",
|
|
],
|
|
# The list of include directories where source files can #include headers
|
|
# from. In other words, these are the `-I` option to the C compiler.
|
|
# These are prepended to LINUXINCLUDE.
|
|
linux_includes = [
|
|
"arch/x86/include",
|
|
"arch/x86/include/uapi",
|
|
"include",
|
|
"include/uapi",
|
|
],
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
# List of DDK headers allowlist that are glob()-ed to avoid changes of BUILD
|
|
# file when the list of files changes. All headers in these directories
|
|
# are safe to use.
|
|
# These are separate filegroup targets so the all_headers_allowlist_* are
|
|
# more friendly to batch BUILD file update tools like buildozer.
|
|
|
|
# globs() for arm64 only
|
|
filegroup(
|
|
name = "all_headers_allowlist_aarch64_globs",
|
|
srcs = glob(["arch/arm64/include/**/*.h"]),
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
# globs() for arm only
|
|
filegroup(
|
|
name = "all_headers_allowlist_arm_globs",
|
|
srcs = glob(["arch/arm/include/**/*.h"]),
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
# globs() for riscv64 only
|
|
filegroup(
|
|
name = "all_headers_allowlist_riscv64_globs",
|
|
srcs = glob(["arch/riscv/include/**/*.h"]),
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
# globs() for x86 only
|
|
filegroup(
|
|
name = "all_headers_allowlist_x86_64_globs",
|
|
srcs = glob(["arch/x86/include/**/*.h"]),
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
# globs() for all architectures
|
|
filegroup(
|
|
name = "all_headers_allowlist_common_globs",
|
|
srcs = glob(["include/**/*.h"]),
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
# DDK headers unsafe list. This is the list of all headers and include
|
|
# directories that may be used during migration from kernel_module's, but
|
|
# should be avoided in general.
|
|
# Use with caution; items may:
|
|
# - be removed without notice
|
|
# - be moved into all_headers
|
|
ddk_headers(
|
|
name = "all_headers_unsafe",
|
|
hdrs = [
|
|
"drivers/gpu/drm/virtio/virtgpu_trace.h",
|
|
"drivers/devfreq/governor.h",
|
|
"mm/slab.h",
|
|
],
|
|
# The list of include directories where source files can #include headers
|
|
# from. In other words, these are the `-I` option to the C compiler.
|
|
# Unsafe include directories are appended to ccflags-y.
|
|
includes = [
|
|
"drivers/devfreq",
|
|
],
|
|
visibility = ["//visibility:private"],
|
|
)
|