mirror of
https://github.com/torvalds/linux.git
synced 2026-07-31 19:47:08 +02:00
* refs/heads/tmp-ea7c365:
ANDROID: fix up broken dm-table.c out-of-tree code.
ANDROID: hung_task: Add vendor hook for hung task detect
Revert "ANDROID: GKI: Add ‘kunit.enable’ module parameter"
Revert "ANDROID: GKI: Return ERROR value on KUnit load fail"
ANDROID: GKI: export thermal_cdev_update
ANDROID: sched: Fix deadlock in sched_blocked_reason tracepoint
Revert "ANDROID: PCI: dwc: revert dwc 32-bit DMA mask for MSI address requirement"
Revert "ANDROID: Sched: Add hooks for scheduler"
Revert "ANDROID: sched: Add vendor hooks for find_energy_efficient_cpu"
Revert "ANDROID: sched: add em_cpu_energy vendor hook"
Revert "ANDROID: sched: Make uclamp changes depend on CAP_SYS_NICE"
ANDROID: GKI: remove CONFIG_ARM_CPUIDLE=y
ANDROID: dma-buf: Add vendorhook to allow mmaping more memory than a DMA-BUF holds
ANDROID: Incremental fs: fix setxattr callbacks due to upstream changes
ata: sata_mv: Fixes expected number of resources now IRQs are gone
fs: remove the NULL get_block case in mpage_writepages
fs: don't call ->writepage from __mpage_writepage
fs: remove the nobh helpers
jfs: stop using the nobh helper
ext2: remove nobh support
ntfs3: refactor ntfs_writepages
mm/folio-compat: Remove migration compatibility functions
fs: Remove aops->migratepage()
secretmem: Convert to migrate_folio
hugetlb: Convert to migrate_folio
aio: Convert to migrate_folio
f2fs: Convert to filemap_migrate_folio()
ubifs: Convert to filemap_migrate_folio()
btrfs: Convert btrfs_migratepage to migrate_folio
mm/migrate: Add filemap_migrate_folio()
mm/migrate: Convert migrate_page() to migrate_folio()
nfs: Convert to migrate_folio
btrfs: Convert btree_migratepage to migrate_folio
mm/migrate: Convert expected_page_refs() to folio_expected_refs()
mm/migrate: Convert buffer_migrate_page() to buffer_migrate_folio()
mm/migrate: Convert writeout() to take a folio
mm/migrate: Convert fallback_migrate_page() to fallback_migrate_folio()
fs: Add aops->migrate_folio
mm: Convert all PageMovable users to movable_operations
secretmem: Remove isolate_page
ext2: Use a folio in ext2_get_page()
gfs2: Convert gfs2_jhead_process_page() to use a folio
ocfs2: Convert ocfs2_read_folio() to use a folio
freevxfs: Convert vxfs_immed_read_folio() to use a folio
coda: Convert coda_symlink_filler() to use a folio
befs: Convert befs_symlink_read_folio() to use a folio
block: Convert read_part_sector() to use a folio
block: Use PAGE_SECTORS_SHIFT
block: Handle partition read errors more consistently
block: Simplify read_part_sector()
cramfs: read_mapping_page() is synchronous
ocfs2: Use filemap_write_and_wait_range() in ocfs2_cow_sync_writeback()
hostfs: Handle page write errors correctly
squashfs: Return the actual error from squashfs_read_folio()
buffer: Don't test folio error in block_read_full_folio()
PCI: imx6: Support more than Gen2 speed link mode
PCI: imx6: Set PCIE_DBI_RO_WR_EN before writing DBI registers
PCI: imx6: Reformat suspend callback to keep symmetric with resume
PCI: imx6: Move the imx6_pcie_ltssm_disable() earlier
PCI: imx6: Disable clocks in reverse order of enable
PCI: imx6: Do not hide PHY driver callbacks and refine the error handling
PCI: imx6: Reduce resume time by only starting link if it was up before suspend
PCI: imx6: Mark the link down as non-fatal error
PCI: imx6: Move regulator enable out of imx6_pcie_deassert_core_reset()
PCI: imx6: Turn off regulator when system is in suspend mode
PCI: imx6: Call host init function directly in resume
PCI: imx6: Disable i.MX6QDL clock when disabling ref clocks
PCI: imx6: Propagate .host_init() errors to caller
PCI: imx6: Collect clock enables in imx6_pcie_clk_enable()
PCI: imx6: Factor out ref clock disable to match enable
PCI: imx6: Move imx6_pcie_clk_disable() earlier
PCI: imx6: Move imx6_pcie_enable_ref_clk() earlier
PCI: imx6: Move PHY management functions together
PCI: imx6: Move imx6_pcie_grp_offset(), imx6_pcie_configure_type() earlier
PCI: imx6: Convert to NOIRQ_SYSTEM_SLEEP_PM_OPS()
PCI: exynos: Correct generic PHY usage
phy: samsung: phy-exynos-pcie: sanitize init/power_on callbacks
dt-bindings: PCI: qcom: Support additional MSI vectors
PCI: dwc: Handle MSIs routed to multiple GIC interrupts
PCI: dwc: Convert struct pcie_port.msi_irq to an array
PCI: dwc: Split MSI IRQ parsing/allocation to a separate function
PCI: dwc: Correct msi_irq condition in dw_pcie_free_msi()
PCI: dwc: Use the bitmap API to allocate bitmaps
PCI: dwc: Fix MSI msi_msg DMA mapping
PCI: dwc: Check iATU in/outbound range setup status
PCI: dwc: Validate iATU outbound mappings against hardware constraints
PCI: dwc: Add iATU regions size detection procedure
PCI: dwc: Simplify in/outbound iATU setup methods
PCI: dwc: Drop enum dw_pcie_region_type in favor of PCIE_ATU_REGION_DIR_IB/OB
PCI: dwc: Drop enum dw_pcie_as_type in favor of PCIE_ATU_TYPE_MEM/IO
PCI: dwc: Add dw_pcie_ops.host_deinit() callback
PCI: tegra194: Drop manual DW PCIe controller version setup
PCI: intel-gw: Drop manual DW PCIe controller version setup
PCI: dwc: Add macros to compare Synopsys IP core versions
PCI: dwc: Read DWC IP core version from register
PCI: dwc: Use native DWC IP core version representation
PCI: dwc: Detect iATU settings after getting "addr_space" resource
PCI: dwc: Log link speed and width if it comes up
smack: Remove the redundant lsm_inode_alloc
smack: Replace kzalloc + strncpy with kstrndup
affs: use memcpy_to_page and remove replace kmap_atomic()
rseq: Kill process when unknown flags are encountered in ABI structures
rseq: Deprecate RSEQ_CS_FLAG_NO_RESTART_ON_* flags
fs/dcache: Move wakeup out of i_seq_dir write held region.
fs/dcache: Move the wakeup from __d_lookup_done() to the caller.
fs/dcache: Disable preemption on i_dir_seq write side on PREEMPT_RT
d_add_ci(): make sure we don't miss d_lookup_done()
random: correct spelling of "overwrites"
PCI: qcom: Allow ASPM L1 and substates for 2.7.0
sparc: Use generic pci_mmap_resource_range()
PCI: Remove pci_mmap_page_range() wrapper
PCI: Stub __pci_ioport_map() for arches that don't support it at all
MAINTAINERS: add spi support to GXP
spi: dt-bindings: add documentation for hpe,gxp-spifi
spi: spi-gxp: Add support for HPE GXP SoCs
pwm: lpc18xx: Fix period handling
pwm: lpc18xx: Convert to use dev_err_probe()
pwm: twl-led: Document some limitations and link to the reference manual
MAINTAINERS: Remove myself as PWM maintainer
MAINTAINERS: Add include/dt-bindings/pwm to PWM SUBSYSTEM
dt-bindings: pwm: mediatek: Add compatible string for MT8195
pwm: Add clock based PWM output driver
dt-bindings: pwm: Document clk based PWM controller
pwm: sifive: Shut down hardware only after pwmchip_remove() completed
pwm: sifive: Ensure the clk is enabled exactly once per running PWM
pwm: sifive: Simplify clk handling
pwm: sifive: Enable clk only after period check in .apply()
pwm: sifive: Reduce time the controller lock is held
pwm: sifive: Fold pwm_sifive_enable() into its only caller
pwm: sifive: Simplify offset calculation for PWMCMP registers
crypto: tcrypt - Remove the static variable initialisations to NULL
crypto: arm64/poly1305 - fix a read out-of-bound
crypto: hisilicon/zip - Use the bitmap API to allocate bitmaps
crypto: hisilicon/sec - fix auth key size error
crypto: ccree - Remove a useless dma_supported() call
crypto: ccp - Add support for new CCP/PSP device ID
crypto: inside-secure - Add missing MODULE_DEVICE_TABLE for of
crypto: hisilicon/hpre - don't use GFP_KERNEL to alloc mem during softirq
dm: verity-loadpin: Drop use of dm_table_get_num_targets()
dm: fix dm-raid crash if md_handle_request() splits bio
dm raid: fix address sanitizer warning in raid_resume
dm raid: fix address sanitizer warning in raid_status
dm: Start pr_preempt from the same starting path
dm: Fix PR release handling for non All Registrants
dm: Start pr_reserve from the same starting path
dm: Allow dm_call_pr to be used for path searches
dm: return early from dm_pr_call() if DM device is suspended
Documentation: KUnit: Fix example with compilation error
tools/power turbostat: version 2022.07.28
tools/power turbostat: do not decode ACC for ICX and SPR
tools/power turbostat: fix SPR PC6 limits
tools/power turbostat: cleanup 'automatic_cstate_conversion_probe()'
tools/power turbostat: separate SPR from ICX
tools/power turbosstat: fix comment
tools/power turbostat: Support RAPTORLAKE P
tools/power turbostat: add support for ALDERLAKE_N
tools/power turbostat: dump secondary Turbo-Ratio-Limit
tools/power turbostat: simplify dump_turbo_ratio_limits()
tools/power turbostat: dump CPUID.7.EDX.Hybrid
tools/power turbostat: update turbostat.8
tools/power turbostat: Show uncore frequency
tools/power turbostat: Fix file pointer leak
tools/power turbostat: replace strncmp with single character compare
tools/power turbostat: print the kernel boot commandline
tools/power turbostat: Introduce support for RaptorLake
cgroup: Skip subtree root in cgroup_update_dfl_csses()
docs: efi-stub: Fix paths for x86 / arm stubs
Docs/zh_CN: Update the translation of sched-stats to 5.19-rc8
Docs/zh_CN: Update the translation of pci to 5.19-rc8
Docs/zh_CN: Update the translation of pci-iov-howto to 5.19-rc8
Docs/zh_CN: Update the translation of usage to 5.19-rc8
Docs/zh_CN: Update the translation of testing-overview to 5.19-rc8
Docs/zh_CN: Update the translation of sparse to 5.19-rc8
Docs/zh_CN: Update the translation of kasan to 5.19-rc8
Docs/zh_CN: Update the translation of iio_configfs to 5.19-rc8
doc:it_IT: align Italian documentation
thermal/of: Initialize trip points separately
thermal/of: Use thermal trips stored in the thermal zone
thermal/core: Add thermal_trip in thermal_zone
thermal/core: Rename 'trips' to 'num_trips'
thermal/core: Move thermal_set_delay_jiffies to static
thermal/core: Remove unneeded EXPORT_SYMBOLS
thermal/of: Move thermal_trip structure to thermal.h
thermal/of: Remove the device node pointer for thermal_trip
thermal/of: Replace device node match with device node search
thermal/core: Remove duplicate information when an error occurs
thermal/core: Avoid calling ->get_trip_temp() unnecessarily
thermal/tools/tmon: Fix typo 'the the' in comment
thermal/tools/tmon: Include pthread and time headers in tmon.h
thermal/ti-soc-thermal: Fix comment typo
thermal/drivers/qcom/spmi-adc-tm5: Register thermal zones as hwmon sensors
thermal/drivers/qcom/temp-alarm: Register thermal zones as hwmon sensors
thermal/drivers/u8500: Remove unnecessary print function dev_err()
thermal/drivers/rzg2l: Fix comments
thermal/drivers/sun8i: Fix typo in comment
thermal/drivers/k3_j72xx_bandgap: Make k3_j72xx_bandgap_j721e_data and k3_j72xx_bandgap_j7200_data static
thermal/drivers/k3_j72xx_bandgap: Fix array underflow in prep_lookup_table()
thermal/drivers/k3_j72xx_bandgap: Fix ref_table memory leak during probe
thermal/core: Remove DROP_FULL and RAISE_FULL
thermal/core: Use clamp() helper in the stepwise governor
thermal/drivers/u8500: Remove the get_trend function
thermal/drivers/tegra: Remove get_trend function
thermal/drivers/qcom: Remove get_trend function
dt-bindings: thermal: rcar-gen3-thermal: Add r8a779f0 support
dt-bindings: thermal: rcar-gen3-thermal: use positive logic
dt-bindings: thermal: qcom,spmi-temp-alarm: convert to dtschema
drivers/thermal/rcar_gen3_thermal: Improve logging during probe
MAINTAINERS: add include/dt-bindings/thermal to THERMAL
drivers/thermal/devfreq_cooling: Extend the devfreq_cooling_device with ops
drivers/thermal/cpufreq_cooling: Update outdated comments
drivers/thermal/cpufreq_cooling : Refactor thermal_power_cpu_get_power tracing
drivers/thermal/cpufreq_cooling: Use private callback ops for each cooling device
wait: Fix __wait_event_hrtimeout for RT/DL tasks
exec: Call kmap_local_page() in copy_string_kernel()
kasan: test: Silence GCC 12 warnings
ACPI/PCI: Remove useless NULL pointer checks
drivers: lkdtm: fix clang -Wformat warning
selftests/seccomp: Fix compile warning when CC=clang
cgroup: remove "no" prefixed mount options
PCI: Convert to new *_PM_OPS macros
PCI: brcmstb: Rename .map_bus() functions to end with 'map_bus'
PCI: brcmstb: Disable/enable regulators in suspend/resume
PCI: brcmstb: Enable child bus device regulators from DT
PCI: brcmstb: Split post-link up initialization to brcm_pcie_start_link()
PCI: brcmstb: Prevent config space access when link is down
PCI: brcmstb: Remove unnecessary forward declarations
clocksource/drivers/sun5i: Remove unnecessary (void*) conversions
dt-bindings: timer: allwinner,sun4i-a10-timer: Add D1 compatible
dt-bindings: timer: ingenic,tcu: use absolute path to other schema
clocksource/drivers/sun4i: Remove unnecessary (void*) conversions
dt-bindings: timer: renesas,cmt: Fix R-Car Gen4 fall-out
clocksource/drivers/tegra186: Put Kconfig option 'tristate' to 'bool'
clocksource/drivers/timer-ti-dm: Make driver selection bool for TI K3
clocksource/drivers/timer-ti-dm: Add compatible for am6 SoCs
clocksource/drivers/timer-ti-dm: Make timer selectable for ARCH_K3
clocksource/drivers/timer-ti-dm: Move inline functions to driver for am6
io_uring: notification completion optimisation
io_uring: export req alloc from core
dt-bindings: soc: bcm: use absolute path to other schema
dt-bindings: soc: bcm: drop quotes when not needed
arm64: defconfig: Sync some configs with savedefconfig
hwmon: (aquacomputer_d5next) Add support for Aquacomputer Quadro fan controller
hwmon: (dell-smm) Improve documentation
regulator: core: Allow drivers to define their init data as const
regulator: core: Allow specifying an initial load w/ the bulk API
regulator: mt6380: Fix unused array warning
perf/x86/ibs: Add new IBS register bits into header
Add Seth Forshee as co-maintainer for idmapped mounts
dt-bindings: soc: microchip: use absolute path to other schema
dt-bindings: soc: microchip: drop quotes when not needed
ARM: dts: lan966x: keep lan966 entries alphabetically sorted
hwmon: (nct6775) add ASUS TUF GAMING B550-PLUS WIFI II
Makefile: replace headers_install with headers for kselftest
Documentation: kunit: Add CLI args for kunit_tool
x86/cyrix: include header linux/isa-dma.h
powercap: RAPL: Add Power Limit4 support for Alder Lake-N and Raptor Lake-P
ACPI: CPPC: Do not prevent CPPC from working in the future
ACPI: PM: x86: Print messages regarding LPS0 idle support
PM: QoS: Add check to make sure CPU freq is non-negative
PM: hibernate: defer device probing when resuming from hibernation
ublk_drv: fix double shift bug
spi: a3700: support BE for AC5 SPI driver
hwmon: (occ) Replace open-coded variant of %*phN specifier
hwmon: (sht15) Fix wrong assumptions in device remove callback
hwmon: (aquacomputer_d5next) Add support for reading the +12V voltage sensor on D5 Next
spi/panel: dt-bindings: drop CPHA and CPOL from common properties
ARM: dts: lan966x: add support for pcb8309
intel_idle: make SPR C1 and C1E be independent
cpufreq: ondemand: Use cpumask_var_t for on-stack cpu mask
cpufreq: loongson2: fix Kconfig "its" grammar
btrfs: don't call btrfs_page_set_checked in finish_compressed_bio_read
btrfs: fix repair of compressed extents
btrfs: remove the start argument to check_data_csum and export
btrfs: pass a btrfs_bio to btrfs_repair_one_sector
btrfs: simplify the pending I/O counting in struct compressed_bio
io_uring/net: use unsigned for flags
io_uring/net: make page accounting more consistent
io_uring/net: checks errors of zc mem accounting
io_uring/net: improve io_get_notif_slot types
btrfs: repair all known bad mirrors
btrfs: merge btrfs_dev_stat_print_on_error with its only caller
btrfs: join running log transaction when logging new name
btrfs: simplify error handling in btrfs_lookup_dentry
btrfs: send: always use the rbtree based inode ref management infrastructure
btrfs: send: fix sending link commands for existing file paths
btrfs: send: introduce recorded_ref_alloc and recorded_ref_free
btrfs: zoned: wait until zone is finished when allocation didn't progress
btrfs: zoned: write out partially allocated region
btrfs: zoned: activate necessary block group
btrfs: zoned: activate metadata block group on flush_space
btrfs: zoned: disable metadata overcommit for zoned
btrfs: zoned: introduce space_info->active_total_bytes
btrfs: zoned: finish least available block group on data bg allocation
btrfs: let can_allocate_chunk return error
btrfs: use fs_info->max_extent_size in get_extent_max_capacity()
btrfs: convert count_max_extents() to use fs_info->max_extent_size
btrfs: replace BTRFS_MAX_EXTENT_SIZE with fs_info->max_extent_size
btrfs: zoned: revive max_zone_append_bytes
block: add bdev_max_segments() helper
btrfs: add optimized btrfs_ino() version for 64 bits systems
btrfs: set the objectid of the btree inode's location key
btrfs: replace kmap_atomic() with kmap_local_page()
btrfs: zlib: replace kmap() with kmap_local_page() in zlib_decompress_bio()
btrfs: zlib: replace kmap() with kmap_local_page() in zlib_compress_pages()
btrfs: zstd: replace kmap() with kmap_local_page()
highmem: Make __kunmap_{local,atomic}() take const void pointer
btrfs: don't fallback to buffered IO for NOWAIT direct IO writes
btrfs: use enum for btrfs_block_rsv::type
btrfs: switch btrfs_block_rsv::failfast to bool
btrfs: switch btrfs_block_rsv::full to bool
btrfs: do not return errors from btrfs_submit_dio_bio
btrfs: handle allocation failure in btrfs_wq_submit_bio gracefully
btrfs: simplify sync/async submission in btrfs_submit_data_write_bio
btrfs: raid56: transfer the bio counter reference to the raid submission helpers
btrfs: do not return errors from raid56_parity_recover
btrfs: do not return errors from raid56_parity_write
btrfs: do not return errors from btrfs_map_bio
btrfs: return proper mapped length for RAID56 profiles in __btrfs_map_block()
btrfs: raid56: use fixed stripe length everywhere
btrfs: remove the inode cache check at btrfs_is_free_space_inode()
btrfs: sysfs: remove BIG_METADATA feature files
btrfs: sysfs: remove MIXED_BACKREF feature file
btrfs: don't print 'has skinny extents' anymore on mount
btrfs: don't print 'flagging with big metadata' anymore on mount
btrfs: clean up chained assignments
btrfs: merge calculations for simple striped profiles in btrfs_rmap_block
btrfs: use mask for all RAID1* profiles in btrfs_calc_avail_data_space
btrfs: properly flag filesystem with BTRFS_FEATURE_INCOMPAT_BIG_METADATA
btrfs: print checksum type and implementation at mount time
btrfs: reset block group chunk force if we have to wait
btrfs: send: add new command FILEATTR for file attributes
btrfs: send: add OTIME as utimes attribute for proto 2+ by default
btrfs: output mirror number for bad metadata
btrfs: replace unnecessary goto with direct return at cow_file_range()
btrfs: fix error handling of fallback uncompress write
btrfs: extend btrfs_cleanup_ordered_extents for NULL locked_page
btrfs: ensure pages are unlocked on cow_file_range() failure
btrfs: sysfs: export commit stats
btrfs: collect commit stats, count, duration
btrfs: remove extent writepage address space operation
btrfs: send: use boolean types for current inode status
btrfs: send: remove old TODO regarding ERESTARTSYS
btrfs: send: simplify includes
btrfs: send: drop __KERNEL__ ifdef from send.h
btrfs: increase direct io read size limit to 256 sectors
btrfs: raid56: don't trust any cached sector in __raid56_parity_recover()
btrfs: remove the finish_func argument to btrfs_mark_ordered_io_finished
btrfs: batch up release of reserved metadata for delayed items used for deletion
btrfs: warn about dev extents that are inside the reserved range
btrfs: use named constant for reserved device space
btrfs: remove unused typedefs get_extent_t and btrfs_work_func_t
btrfs: sink iterator parameter to btrfs_ioctl_logical_to_ino
btrfs: simplify parameters of backref iterators
btrfs: call inode_to_path directly and drop indirection
btrfs: use ncopies from btrfs_raid_array in btrfs_num_copies()
btrfs: use btrfs_raid_array to calculate number of parity stripes
btrfs: use btrfs_chunk_max_errors() to replace tolerance calculation
btrfs: remove parameter dev_extent_len from scrub_stripe()
btrfs: unify tree search helper returning prev and next nodes
btrfs: make tree search for insert more generic and use it for tree_search
btrfs: open code inexact rbtree search in tree_search
btrfs: remove node and parent parameters from insert_state
btrfs: add fast path for extent_state insertion
btrfs: pass bits by value not by pointer for extent_state helpers
btrfs: lift start and end parameters to callers of insert_state
btrfs: open code rbtree search in insert_state
btrfs: open code rbtree search in split_state
btrfs: raid56: avoid double for loop inside raid56_parity_scrub_stripe()
btrfs: raid56: avoid double for loop inside raid56_rmw_stripe()
btrfs: raid56: avoid double for loop inside alloc_rbio_essential_pages()
btrfs: raid56: avoid double for loop inside __raid56_parity_recover()
btrfs: raid56: avoid double for loop inside finish_rmw()
btrfs: tree-log: make the return value for log syncing consistent
btrfs: add tracepoints for ordered extents
btrfs: sysfs: advertise zoned support among features
btrfs: split discard handling out of btrfs_map_block
btrfs: stop looking at btrfs_bio->iter in index_one_bio
btrfs: reject log replay if there is unsupported RO compat flag
btrfs: make btrfs_super_block::log_root_transid deprecated
btrfs: pass the btrfs_bio_ctrl to submit_one_bio
btrfs: merge end_write_bio and flush_write_bio
btrfs: don't use bio->bi_private to pass the inode to submit_one_bio
btrfs: remove redundant check in up check_setget_bounds
btrfs: replace kmap() with kmap_local_page() in lzo.c
btrfs: replace kmap() with kmap_local_page() in inode.c
btrfs: do not allocate a btrfs_bio for low-level bios
btrfs: factor stripe submission logic out of btrfs_map_bio
btrfs: remove btrfs_end_io_wq
btrfs: centralize setting REQ_META
btrfs: don't use btrfs_bio_wq_end_io for compressed writes
btrfs: don't double-defer bio completions for compressed reads
btrfs: defer I/O completion based on the btrfs_raid_bio
btrfs: split btrfs_submit_data_bio to read and write parts
btrfs: simplify code flow in btrfs_submit_dio_bio
btrfs: move more work into btrfs_end_bioc
btrfs: send: enable support for stream v2 and compressed writes
btrfs: send: send compressed extents with encoded writes
btrfs: send: get send buffer pages for protocol v2
btrfs: send: write larger chunks when using stream v2
btrfs: send: add stream v2 definitions
btrfs: send: explicitly number commands and attributes
btrfs: send: remove unused send_ctx::{total,cmd}_send_size
btrfs: sysfs: add force_chunk_alloc trigger to force allocation
btrfs: sysfs: export chunk size in space infos
btrfs: store chunk size in space-info struct
btrfs: do not batch insert non-consecutive dir indexes during log replay
btrfs: reduce amount of reserved metadata for delayed item insertion
btrfs: set delayed item type when initializing it
btrfs: do not BUG_ON() on failure to reserve metadata for delayed item
btrfs: improve batch insertion of delayed dir index items
btrfs: assert that delayed item is a dir index item when adding it
btrfs: improve batch deletion of delayed dir index items
btrfs: refactor the delayed item deletion entry point
btrfs: deal with deletion errors when deleting delayed items
btrfs: add assertions when deleting batches of delayed items
btrfs: balance btree dirty pages and delayed items after clone and dedupe
btrfs: free the path earlier when creating a new inode
btrfs: balance btree dirty pages and delayed items after a rename
btrfs: add trace event for submitted RAID56 bio
btrfs: update stripe_sectors::uptodate in steal_rbio
btrfs: remove redundant calls to flush_dcache_page
btrfs: only write the sectors in the vertical stripe which has data stripes
btrfs: use integrated bitmaps for scrub_parity::dbitmap and ebitmap
btrfs: use integrated bitmaps for btrfs_raid_bio::dbitmap and finish_pbitmap
btrfs: use btrfs_try_lock_balance in btrfs_ioctl_balance
btrfs: introduce btrfs_try_lock_balance
btrfs: use btrfs_bio_for_each_sector in btrfs_check_read_dio_bio
btrfs: add a helper to iterate through a btrfs_bio with sector sized chunks
btrfs: factor out a btrfs_csum_ptr helper
btrfs: refactor end_bio_extent_readpage code flow
btrfs: factor out a helper to end a single sector buffer I/O
btrfs: remove duplicated parameters from submit_data_read_repair()
btrfs: introduce a data checksum checking helper
btrfs: quit early if the fs has no RAID56 support for raid56 related checks
btrfs: use PAGE_ALIGNED instead of IS_ALIGNED
btrfs: zoned: fix comment description for sb_write_pointer logic
btrfs: fix typos in comments
spi: bcm2835: enable shared interrupt support
random: handle archrandom with multiple longs
arm64: Delay initialisation of cpuinfo_arm64::reg_{zcr,smcr}
irqchip/mmp: Declare init functions in common header file
x86/purgatory: Omit use of bin2c
x86/purgatory: Hard-code obj-y in Makefile
dt-bindings: arm: at91: add lan966 pcb8309 board
selftests/io_uring: test zerocopy send
io_uring: enable managed frags with register buffers
io_uring: add zc notification flush requests
io_uring: rename IORING_OP_FILES_UPDATE
io_uring: flush notifiers after sendzc
io_uring: sendzc with fixed buffers
io_uring: allow to pass addr into sendzc
io_uring: account locked pages for non-fixed zc
io_uring: wire send zc request type
io_uring: add notification slot registration
io_uring: add rsrc referencing for notifiers
io_uring: complete notifiers in tw
io_uring: cache struct io_notif
io_uring: add zc notification infrastructure
io_uring: export io_put_task()
io_uring: initialise msghdr::msg_ubuf
mm: honor FGP_NOWAIT for page cache page allocation
xfs: Add async buffered write support
xfs: Specify lockmode when calling xfs_ilock_for_iomap()
io_uring: Add tracepoint for short writes
io_uring: fix issue with io_write() not always undoing sb_start_write()
io_uring: Add support for async buffered writes
fs: Add async write file modification handling.
fs: Split off inode_needs_update_time and __file_update_time
fs: add __remove_file_privs() with flags parameter
fs: add a FMODE_BUF_WASYNC flags for f_mode
iomap: Return -EAGAIN from iomap_write_iter()
iomap: Add async buffered write support
iomap: Add flags parameter to iomap_page_create()
mm: Add balance_dirty_pages_ratelimited_flags() function
mm: Move updates of dirty_exceeded into one place
mm: Move starting of background writeback into the main balancing loop
io_uring: ensure REQ_F_ISREG is set async offload
net: fix compat pointer in get_compat_msghdr()
io_uring: Don't require reinitable percpu_ref
io_uring: fix types in io_recvmsg_multishot_overflow
io_uring: Use atomic_long_try_cmpxchg in __io_account_mem
io_uring: support multishot in recvmsg
net: copy from user before calling __get_compat_msghdr
net: copy from user before calling __copy_msghdr
io_uring: support 0 length iov in buffer select in compat
io_uring: fix multishot ending when not polled
io_uring: add netmsg cache
io_uring: impose max limit on apoll cache
io_uring: add abstraction around apoll cache
io_uring: move apoll cache to poll.c
io_uring: consolidate hash_locked io-wq handling
io_uring: clear REQ_F_HASH_LOCKED on hash removal
io_uring: don't race double poll setting REQ_F_ASYNC_DATA
io_uring: don't miss setting REQ_F_DOUBLE_POLL
io_uring: disable multishot recvmsg
io_uring: only trace one of complete or overflow
io_uring: fix io_uring_cqe_overflow trace format
io_uring: multishot recv
io_uring: fix multishot accept ordering
io_uring: fix multishot poll on overflow
io_uring: add allow_overflow to io_post_aux_cqe
io_uring: add IOU_STOP_MULTISHOT return code
io_uring: clean up io_poll_check_events return values
io_uring: recycle buffers on error
io_uring: allow iov_len = 0 for recvmsg and buffer select
io_uring: restore bgid in io_put_kbuf
io_uring: allow 0 length for buffer select
io_uring: let to set a range for file slot allocation
io_uring: add support for passing fixed file descriptors
io_uring: split out fixed file installation and removal
io_uring: replace zero-length array with flexible-array member
io_uring: remove ctx->refs pinning on enter
io_uring: don't check file ops of registered rings
io_uring: remove extra TIF_NOTIFY_SIGNAL check
io_uring: fuse fallback_node and normal tw node
io_uring: improve io_fail_links()
io_uring: move POLLFREE handling to separate function
io_uring: kbuf: inline io_kbuf_recycle_ring()
io_uring: optimise submission side poll_refs
io_uring: refactor poll arm error handling
io_uring: change arm poll return values
io_uring: add a helper for apoll alloc
io_uring: remove events caching atavisms
io_uring: clean poll ->private flagging
io_uring: add sync cancelation API through io_uring_register()
io_uring: add IORING_ASYNC_CANCEL_FD_FIXED cancel flag
io_uring: have cancelation API accept io_uring_task directly
io_uring: kbuf: kill __io_kbuf_recycle()
io_uring: trace task_work_run
io_uring: add trace event for running task work
io_uring: batch task_work
io_uring: introduce llist helpers
io_uring: lockless task list
io_uring: remove __io_req_task_work_add
io_uring: remove priority tw list optimisation
io_uring: dedup io_run_task_work
io_uring: move list helpers to a separate file
io_uring: improve io_run_task_work()
io_uring: optimize io_uring_task layout
io_uring: add a warn_once for poll_find
io_uring: consistent naming for inline completion
io_uring: move io_import_fixed()
io_uring: opcode independent fixed buf import
io_uring: add io_commit_cqring_flush()
io_uring: introduce locking helpers for CQE posting
io_uring: hide eventfd assumptions in eventfd paths
io_uring: fix io_poll_remove_all clang warnings
io_uring: improve task exit timeout cancellations
io_uring: fix multi ctx cancellation
io_uring: remove ->flush_cqes optimisation
io_uring: move io_eventfd_signal()
io_uring: reshuffle io_uring/io_uring.h
io_uring: remove extra io_commit_cqring()
io_uring: move a few private types to local headers
io_uring: clean up tracing events
io_uring: make io_uring_types.h public
io_uring: kill extra io_uring_types.h includes
io_uring: change ->cqe_cached invariant for CQE32
io_uring: deduplicate io_get_cqe() calls
io_uring: deduplicate __io_fill_cqe_req tracing
io_uring: introduce io_req_cqe_overflow()
io_uring: don't inline __io_get_cqe()
io_uring: don't expose io_fill_cqe_aux()
io_uring: kbuf: add comments for some tricky code
io_uring: mutex locked poll hashing
io_uring: propagate locking state to poll cancel
io_uring: introduce a struct for hash table
io_uring: pass hash table into poll_find
io_uring: add IORING_SETUP_SINGLE_ISSUER
io_uring: use state completion infra for poll reqs
io_uring: clean up io_ring_ctx_alloc
io_uring: limit the number of cancellation buckets
io_uring: clean up io_try_cancel
io_uring: pass poll_find lock back
io_uring: switch cancel_hash to use per entry spinlock
io_uring: poll: remove unnecessary req->ref set
io_uring: don't inline io_put_kbuf
io_uring: refactor io_req_task_complete()
io_uring: kill REQ_F_COMPLETE_INLINE
io_uring: rw: delegate sync completions to core io_uring
io_uring: remove unused IO_REQ_CACHE_SIZE defined
io_uring: don't set REQ_F_COMPLETE_INLINE in tw
io_uring: remove check_cq checking from hot paths
io_uring: never defer-complete multi-apoll
io_uring: inline ->registered_rings
io_uring: explain io_wq_work::cancel_seq placement
io_uring: move small helpers to headers
io_uring: refactor ctx slow data placement
io_uring: better caching for ctx timeout fields
io_uring: move defer_list to slow data
io_uring: make reg buf init consistent
io_uring: deprecate epoll_ctl support
io_uring: add support for level triggered poll
io_uring: move opcode table to opdef.c
io_uring: move read/write related opcodes to its own file
io_uring: move remaining file table manipulation to filetable.c
io_uring: move rsrc related data, core, and commands
io_uring: split provided buffers handling into its own file
io_uring: move cancelation into its own file
io_uring: move poll handling into its own file
io_uring: add opcode name to io_op_defs
io_uring: include and forward-declaration sanitation
io_uring: move io_uring_task (tctx) helpers into its own file
io_uring: move fdinfo helpers to its own file
io_uring: use io_is_uring_fops() consistently
io_uring: move SQPOLL related handling into its own file
io_uring: move timeout opcodes and handling into its own file
io_uring: move our reference counting into a header
io_uring: move msg_ring into its own file
io_uring: split network related opcodes into its own file
io_uring: move statx handling to its own file
io_uring: move epoll handler to its own file
io_uring: add a dummy -EOPNOTSUPP prep handler
io_uring: move uring_cmd handling to its own file
io_uring: split out open/close operations
io_uring: separate out file table handling code
io_uring: split out fadvise/madvise operations
io_uring: split out fs related sync/fallocate functions
io_uring: split out splice related operations
io_uring: split out filesystem related operations
io_uring: move nop into its own file
io_uring: move xattr related opcodes to its own file
io_uring: handle completions in the core
io_uring: set completion results upfront
io_uring: add io_uring_types.h
io_uring: define a request type cleanup handler
io_uring: unify struct io_symlink and io_hardlink
io_uring: convert iouring_cmd to io_cmd_type
io_uring: convert xattr to use io_cmd_type
io_uring: convert rsrc_update to io_cmd_type
io_uring: convert msg and nop to io_cmd_type
io_uring: convert splice to use io_cmd_type
io_uring: convert epoll to io_cmd_type
io_uring: convert file system request types to use io_cmd_type
io_uring: convert madvise/fadvise to use io_cmd_type
io_uring: convert open/close path to use io_cmd_type
io_uring: convert timeout path to use io_cmd_type
io_uring: convert cancel path to use io_cmd_type
io_uring: convert the sync and fallocate paths to use io_cmd_type
io_uring: convert net related opcodes to use io_cmd_type
io_uring: remove recvmsg knowledge from io_arm_poll_handler()
io_uring: convert poll_update path to use io_cmd_type
io_uring: convert poll path to use io_cmd_type
io_uring: convert read/write path to use io_cmd_type
io_uring: add generic command payload type to struct io_kiocb
io_uring: move req async preparation into opcode handler
io_uring: move to separate directory
io_uring: define a 'prep' and 'issue' handler for each opcode
arm64: refresh defconfig file
irqchip/mips-gic: Check the return value of ioremap() in gic_of_init()
cgroup: Make !percpu threadgroup_rwsem operations optional
cgroup: Add "no" prefixed mount options
cgroup: Elide write-locking threadgroup_rwsem when updating csses on an empty subtree
asm-generic: Add new pci.h and use it
csky: PCI: Define ARCH_GENERIC_PCI_MMAP_RESOURCE
PCI: Move isa_dma_bridge_buggy out of asm/dma.h
PCI: Remove pci_get_legacy_ide_irq() and asm-generic/pci.h
PCI: tegra194: Add Tegra234 PCIe support
PCI: tegra194: Extend Endpoint mode support
PCI: tegra194: Fix link up retry sequence
PCI: tegra194: Clean up the exit path for Endpoint mode
PCI: tegra194: Enable support for 256 Byte payload
PCI: tegra194: Clear bandwidth management status
PCI: tegra194: Fix Root Port interrupt handling
PCI: tegra194: Find RAS DES PCIe capability offset
Revert "PCI: tegra194: Rename tegra_pcie_dw to tegra194_pcie"
PCI: Disable MSI for Tegra234 Root Ports
dt-bindings: PCI: tegra234: Add schema for tegra234 Endpoint mode
dt-bindings: PCI: tegra234: Add schema for tegra234 Root Port mode
dt-bindings: PCI: tegra194: Convert to json-schema
net: fix uninitialised msghdr->sg_from_iter
s390/pci: allow zPCI zbus without a function zero
PCI: Extend isolated function probing to s390
PCI: Move jailhouse's isolated function handling to pci_scan_slot()
PCI: Split out next_ari_fn() from next_fn()
PCI: Clean up pci_scan_slot()
PCI/ACPI: Update link to PCI firmware specification
intel: thermal: PCH: Drop ACPI_FADT_LOW_POWER_S0 check
MAINTAINERS: Add Xilinx Versal CPM Root Port maintainers
PCI: xilinx-cpm: Add support for Versal CPM5 Root Port
spi: dt-bindings: spi-controller: correct example indentation
dt-bindings: PCI: xilinx-cpm: Add Versal CPM5 Root Port
kcsan: test: Add a .kunitconfig to run KCSAN tests
ublk_drv: make sure that correct flags(features) returned to userspace
ublk_drv: fix error handling of ublk_add_dev
ARM: dts: lan966x: Enable network driver on pcb8291
MAINTAINERS: rectify entry for ARM/NUVOTON NPCM ARCHITECTURE
ARM: cns3xxx: add CONFIG_UNUSED_BOARD_FILES dependency
ARM: iop32x: mark as unused
ARM: s3c: mark most board files as unused
ARM: omap1: add Kconfig dependencies for unused boards
ARM: sa1100: mark most boards as unused
ARM: footbridge: mark cats board for removal
ARM: mmp: mark all board files for removal
ARM: ep93xx: mark most board files as unused
ARM: davinci: mark all ATAGS board files as unused
ARM: orion: add ATAGS dependencies
ARM: pxa: add Kconfig dependencies for ATAGS based boards
ARM: add CONFIG_UNUSED_BOARD_FILES
ARM: add ATAGS dependencies to non-DT platforms
ARM: defconfig: kill remnants of CONFIG_LEDS
ARM: defconfig: remove broken CONFIG_THUMB disables
ARM: defconfig: address renamed CONFIG_DEBUG_INFO=y
ARM: defconfig: remove stale CONFIG_ZBOOT_ROM entries
ARM: defconfig: remove irda remnants
ARM: refresh defconfig files
ARM: dts: lan966x: Disable can0 on pcb8291
ARM: dts: lan966x: Add gpio-restart
crypto: testmgr - some more fixes to RSA test vectors
cyrpto: powerpc/aes - delete the rebundant word "block" in comments
hwrng: via - Fix comment typo
crypto: twofish - Fix comment typo
crypto: rmd160 - fix Kconfig "its" grammar
crypto: keembay-ocs-ecc - Drop if with an always false condition
Documentation: qat: rewrite description
Documentation: qat: Use code block for qat sysfs example
rcu: Add irqs-disabled indicator to expedited RCU CPU stall warnings
rcu: Diagnose extended sync_rcu_do_polled_gp() loops
rcu: Put panic_on_rcu_stall() after expedited RCU CPU stall warnings
rcutorture: Test polled expedited grace-period primitives
rcu: Add polled expedited grace-period primitives
rcutorture: Verify that polled GP API sees synchronous grace periods
rcu: Make Tiny RCU grace periods visible to polled APIs
rcu: Make polled grace-period API account for expedited grace periods
rcu: Switch polled grace-period APIs to ->gp_seq_polled
ublk_drv: fix lockdep warning
PCI: loongson: Work around LS7A incorrect Interrupt Pin registers
block: remove __blk_get_queue
block: call blk_mq_exit_queue from disk_release for never added disks
blk-mq: fix error handling in __blk_mq_alloc_disk
ublk: defer disk allocation
ublk: rewrite ublk_ctrl_get_queue_affinity to not rely on hctx->cpumask
ublk: fold __ublk_create_dev into ublk_ctrl_add_dev
ublk: cleanup ublk_ctrl_uring_cmd
ublk: simplify ublk_ch_open and ublk_ch_release
ublk: remove the empty open and release block device operations
ublk: remove UBLK_IO_F_PREFLUSH
ublk: add a MAINTAINERS entry
ACPI: resource: skip IRQ override on AMD Zen platforms
Documentation: ACPI: EINJ: Fix obsolete example
hwmon: (tps23861) fix byte order in current and voltage registers
hwmon: (aspeed-pwm-tacho) increase fan tach period (again)
hwmon: (aquacomputer_d5next) Add D5 Next fan control support
x86/extable: Fix ex_handler_msr() print condition
x86,nospec: Simplify {JMP,CALL}_NOSPEC
sched/core: Fix the bug that task won't enqueue into core tree when update cookie
nohz/full, sched/rt: Fix missed tick-reenabling bug in dequeue_task_rt()
dt-bindings: arm: aspeed: add Aspeed Evaluation boards
docs: Remove spurious tag from admin-guide/mm/overcommit-accounting.rst
Documentation: process: Update email client instructions for Thunderbird
docs: ABI: correct QEMU fw_cfg spec path
arm64: dts: qcom: Add support for Xiaomi Mi Mix2s
dt-bindings: arm: qcom: Add Xiaomi Mi Mix2s bindings
dt-bindings: arm: qcom: Document lg,judyln and lg,judyp devices
dt-bindings: arm: qcom: add missing SM6350 board compatibles
dt-bindings: arm: qcom: add missing SM6125 board compatibles
dt-bindings: arm: qcom: add missing SDM845 board compatibles
dt-bindings: arm: qcom: add missing SDM636 board compatibles
dt-bindings: arm: qcom: add missing SDM630 board compatibles
dt-bindings: arm: qcom: add missing QCS404 board compatibles
spi: dt-bindings: qcom,spi-geni-qcom: allow three interconnects
soc: a64fx-diag: disable modular build
spi: npcm-fiu: Add NPCM8XX support
dt-binding: spi: Add npcm845 compatible to npcm-fiu document
spi: npcm-fiu: Modify direct read dummy configuration
hwmon: (k10temp): Add support for new family 17h and 19h models
x86/amd_nb: Add AMD PCI IDs for SMN communication
dt-bindings: arm: qcom: add missing MSM8992 board compatibles
dt-bindings: arm: qcom: add missing MSM8998 board compatibles
dt-bindings: vendor-prefixes: add Shift GmbH
dt-bindings: arm: qcom: add missing SM8350 board compatibles
dt-bindings: arm: qcom: add missing SM8250 board compatibles
dt-bindings: arm: qcom: add missing SM8150 board compatibles
dt-bindings: arm: qcom: add missing MSM8994 board compatibles
dt-bindings: arm: qcom: add missing MSM8916 board compatibles
dt-bindings: arm: qcom: fix MSM8994 boards compatibles
dt-bindings: arm: qcom: fix MSM8916 MTP compatibles
dt-bindings: arm: qcom: fix Longcheer L8150 compatibles
dt-bindings: arm: qcom: fix Alcatel OneTouch Idol 3 compatibles
dt-bindings: soc: qcom: qcom,smd-rpm: add power-controller
dt-bindings: soc: qcom: aoss: document qcom,sm8450-aoss-qmp
dt-bindings: soc: qcom,rpmh-rsc: simplify qcom,tcs-config
arm64: fix KASAN_INLINE
genirq: Use for_each_action_of_desc in actions_show()
regulator: Add missing type for 'regulator-microvolt-offset'
block: don't allow the same type rq_qos add more than once
mm/slab_common: move generic bulk alloc/free functions to SLOB
mm/sl[au]b: use own bulk free function when bulk alloc failed
irqchip / ACPI: Introduce ACPI_IRQ_MODEL_LPIC for LoongArch
irqchip: Add LoongArch CPU interrupt controller support
irqchip: Add Loongson Extended I/O interrupt controller support
irqchip/loongson-liointc: Add ACPI init support
irqchip/loongson-pch-msi: Add ACPI init support
irqchip/loongson-pch-pic: Add ACPI init support
irqchip: Add Loongson PCH LPC controller support
LoongArch: Prepare to support multiple pch-pic and pch-msi irqdomain
LoongArch: Use ACPI_GENERIC_GSI for gsi handling
genirq/generic_chip: Export irq_unmap_generic_chip
ACPI: irq: Allow acpi_gsi_to_irq() to have an arch-specific fallback
APCI: irq: Add support for multiple GSI domains
LoongArch: Provisionally add ACPICA data structures
arm64/hwcap: Support FEAT_EBF16
arm64/cpufeature: Store elf_hwcaps as a bitmap rather than unsigned long
arm64/hwcap: Document allocation of upper bits of AT_HWCAP
arm64: enable THP_SWAP for arm64
ARM: at91: setup outer cache .write_sec() callback if needed
ARM: at91: add sam_linux_is_optee_available() function
crypto: lib - add module license to libsha1
ARM: dts: lan966x: add clock gating register
arm64: dts: qcom: qrb5165-rb5: Fix 'dtbs_check' error for led nodes
arm64: dts: qcom: qrb5165-rb5: Fix 'dtbs_check' error for lpg nodes
ARM: dts: aspeed: centriq2400: drop the board
tcp: support externally provided ubufs
ipv6/udp: support externally provided ubufs
ipv4/udp: support externally provided ubufs
net: introduce __skb_fill_page_desc_noacc
net: introduce managed frags infrastructure
net: Allow custom iter handler in msghdr
skbuff: carry external ubuf_info in msghdr
x86/cpu: Use MSR_IA32_MISC_ENABLE constants
rcu/nocb: Avoid polling when my_rdp->nocb_head_rdp list is empty
rcu/nocb: Add option to opt rcuo kthreads out of RT priority
rcu: Add nocb_cb_kthread check to rcu_is_callbacks_kthread()
rcu/nocb: Add an option to offload all CPUs on boot
rcu/nocb: Fix NOCB kthreads spawn failure with rcu_nocb_rdp_deoffload() direct call
rcu/nocb: Invert rcu_state.barrier_mutex VS hotplug lock locking order
rcu/nocb: Add/del rdp to iterate from rcuog itself
rcu/tree: Add comment to describe GP-done condition in fqs loop
rcu: Initialize first_gp_fqs at declaration in rcu_gp_fqs()
rcu/kvfree: Remove useless monitor_todo flag
rcu: Cleanup RCU urgency state for offline CPU
rcu: tiny: Record kvfree_call_rcu() call stack for KASAN
locking/csd_lock: Change csdlock_debug from early_param to __setup
rcu: Forbid RCU_STRICT_GRACE_PERIOD in TINY_RCU kernels
rcu: Immediately boost preempted readers for strict grace periods
rcu: Add rnp->cbovldmask check in rcutree_migrate_callbacks()
rcu: Avoid tracing a few functions executed in stop machine
rcu: Decrease FQS scan wait time in case of callback overloading
arm64/mm: use GENMASK_ULL for TTBR_BADDR_MASK_52
arm64: errata: Remove AES hwcap for COMPAT tasks
arm64: numa: Don't check node against MAX_NUMNODES
drivers/perf: arm_spe: Fix consistency of SYS_PMSCR_EL1.CX
regulator: core: Fix off-on-delay-us for always-on/boot-on regulators
perf: RISC-V: Add of_node_put() when breaking out of for_each_of_cpu_node()
PCI: fu740: Remove unnecessary include files
intel_idle: Add a new flag to initialize the AMX state
x86/fpu: Add a helper to prepare AMX state for low-power CPU idle
x86/mm/tlb: Ignore f->new_tlb_gen when zero
irqdomain: Use hwirq_max instead of revmap_size for NOMAP domains
irqdomain: Report irq number for NOMAP domains
arm64: defconfig: Add Nuvoton NPCM family support
arm64: dts: nuvoton: Add initial NPCM845 EVB device tree
arm64: dts: nuvoton: Add initial NPCM8XX device tree
arm64: npcm: Add support for Nuvoton NPCM8XX BMC SoC
dt-bindings: arm: npcm: Add nuvoton,npcm845 GCR compatible string
dt-bindings: arm: npcm: Add nuvoton,npcm845 compatible string
dt-bindings: arm: npcm: Add maintainer
reset: npcm: Add NPCM8XX support
dt-bindings: reset: npcm: Add support for NPCM8XX
reset: npcm: using syscon instead of device data
ARM: dts: nuvoton: add reset syscon property
dt-bindings: reset: npcm: add GCR syscon property
dt-binding: clk: npcm845: Add binding for Nuvoton NPCM8XX Clock
dt-bindings: watchdog: npcm: Add npcm845 compatible string
dt-bindings: timer: npcm: Add npcm845 compatible string
arm64: marvell: enable the 98DX2530 pinctrl driver
arm64: dts: marvell: Add Armada 98DX2530 SoC and RD-AC5X board
irqchip/gic-v3: Fix comment typo
dt-bindings: interrupt-controller: renesas,rzg2l-irqc: Document RZ/V2L SoC
arm64: dts: qcom: sdm845-db845c: Specify a i2c bus clocks
arm64: dts: qcom: sdm845-db845c: Enable gpi_dma1
arm64: dts: qcom: sdm845: Fill in GENI DMA references
skbuff: add SKBFL_DONT_ORPHAN flag
skbuff: don't mix ubuf_info from different sources
ipv6: avoid partial copy for zc
ipv4: avoid partial copy for zc
ARM: dts: qcom: add rpmcc missing clocks for apq/ipq8064 and msm8660
arm64: dts: qcom: sc7280: delete vdda-1p2 and vdda-0p9 from both dp and edp
arm64: defconfig: Demote Qualcomm USB PHYs to modules
arm64: dts: sdm850: Remove unnecessary turbo-mode
ARM: mach-qcom: Add support for MSM8909
dt-bindings: arm: cpus: Document "qcom,msm8909-smp" enable-method
soc: qcom: spm: Add CPU data for MSM8909
dt-bindings: soc: qcom: spm: Add MSM8909 CPU compatible
soc: qcom: rpmpd: Add compatible for MSM8909
dt-bindings: power: qcom-rpmpd: Add MSM8909 power domains
soc: qcom: smd-rpm: Add compatible for MSM8909
dt-bindings: soc: qcom: smd-rpm: Add MSM8909
arm64: dts: qcom: sc8280xp: add missing 300MHz
soc: qcom: icc-bwmon: Remove unnecessary print function dev_err()
clocksource/drivers/sh_cmt: Add R-Car Gen4 support
dt-bindings: timer: renesas,cmt: R-Car V3U is R-Car Gen4
dt-bindings: timer: renesas,cmt: Add r8a779f0 and generic Gen4 CMT support
mmc: fix disk/queue leak in case of adding disk failure
ublk_drv: fix an IS_ERR() vs NULL check
ublk: remove UBLK_IO_F_INTEGRITY
ublk_drv: remove unneeded semicolon
ublk_drv: fix missing error return code in ublk_add_dev()
um: seed rng using host OS rng
random: use try_cmpxchg in _credit_init_bits
timekeeping: contribute wall clock to rng on time change
x86/rdrand: Remove "nordrand" flag in favor of "random.trust_cpu"
random: remove CONFIG_ARCH_RANDOM
spi: atmel: remove #ifdef CONFIG_{PM, SLEEP}
spi: dt-bindings: Add compatible for MediaTek MT8188
spi: dt-bindings: mediatek,spi-mtk-nor: Update bindings for nor flash
regmap: permit to set reg_update_bits with bulk implementation
soc: fujitsu: Add A64FX diagnostic interrupt driver
dt-bindings: marvell: Document the AC5/AC5X compatibles
ARM: dts: turris-omnia: enable LED controller node
ARM: dts: turris-omnia: configure LED[0] pin function to link/activity
ARM: Marvell: Update PCIe fixup
ARM: dts: qcom: msm8974: Disable remoteprocs by default
ARM: dts: qcom: ipq8064: add missing smem compatible
ARM: dts: qcom: ipq8064: add missing hwlock
ARM: dts: qcom: ipq8064: add speedbin efuse nvmem node
ARM: dts: qcom: ipq8064: fix and add some missing gsbi node
ARM: dts: qcom: ipq8064: reduce pci IO size to 64K
ARM: dts: qcom: ipq8064: disable usb phy by default
ARM: dts: qcom: ipq8064: add missing snps,dwmac compatible for gmac
ARM: dts: qcom: ipq8064: add specific dtsi with smb208 rpm regulators
ARM: dts: qcom: ipq8064: add gsbi6 missing definition
ARM: dts: qcom: ipq8064: add multiple missing pin definition
ARM: dts: qcom: msm8974-hammerhead: Add notification LED
ARM: dts: qcom: msm8974-FP2: Add notification LED
ARM: dts: qcom: msm8974-sony: Enable LPG
ARM: dts: qcom: Add LPG node to pm8941
ARM: dts: qcom: sdx65: reorder USB interrupts
arm64: dts: qcom: reorder USB interrupts
arm64: dts: qcom: sc7280: reorder USB interrupts
arm64: dts: qcom: sc8280xp: fix USB interrupts
arm64: dts: qcom: sc8280xp: fix USB clock order and naming
arm64: dts: qcom: sc8280xp: fix usb_1 ssphy irq
arm64: dts: qcom: sc8280xp: Fix PMU interrupt
arm64: dts: qcom: sc8280xp: fix the smmu interrupt values
arm64: dts: qcom: qcs404: Fix incorrect USB2 PHYs assignment
arm64: dts: qcom: sc7280: drop unused clocks from eDP node
arm64: dts: qcom: sc7280: drop address/size-cells from eDP node
arm64: dts: qcom: sc7280: drop #clock-cells from displayport-controller
arm64: dts: qcom: sc7280: split register block for DP controller
arm64: dts: qcom: sc7180: drop #clock-cells from displayport-controller
arm64: dts: qcom: sc7180: split register block for DP controller
arm64: dts: qcom: sc7280: Move wcd specific pin conf to common file
arm64: dts: qcom: msm8998: Make regulator voltages multiple of step-size
arm64: dts: qcom: sm6350: Replace literal rpmhpd indices with constants
arm64: dts: qcom: ipq8074: add interrupt-parent to DTSI
arm64: dts: qcom: ipq8074: add #size/address-cells to DTSI
arm64: dts: qcom: sm8250: rename DPU device node
arm64: dts: qcom: sc7180: rename DPU device node
arm64: dts: qcom: sdm845: rename DPU device node
arm64: dts: qcom: ipq8074: add APCS node
soc: qcom: socinfo: Fix the id of SA8540P SoC
soc: qcom: Make QCOM_RPMPD depend on PM
fs: remove no_llseek
fs: check FMODE_LSEEK to control internal pipe splicing
vfio: do not set FMODE_LSEEK flag
dma-buf: remove useless FMODE_LSEEK flag
fs: do not compare against ->llseek
fs: clear or set FMODE_LSEEK based on llseek function
ublk_drv: fix build warning with -Wmaybe-uninitialized and one sparse warning
pinctrl: ocelot: Make irq_chip immutable
fs-verity: mention btrfs support
clocksource/drivers/timer-microchip-pit64b: Fix compilation warnings
clocksource/drivers/timer-microchip-pit64b: Use mchp_pit64b_{suspend, resume}
clocksource/drivers/timer-microchip-pit64b: Remove suspend/resume ops for ce
thermal/drivers/rcar_gen3_thermal: Add r8a779f0 support
clocksource/drivers/timer-mediatek: Implement CPUXGPT timers
dt-bindings: timer: mediatek: Add CPUX System Timer and MT6795 compatible
clocksource/drivers/timer-tegra186: Add support for Tegra234 SoC
clocksource: Add Tegra186 timers support
clocksource/drivers/arm_global_timer: Fix Kconfig "its" grammar
dt-bindings: arm: Add Asus GT-AX6000 based on BCM4912
dm thin: fix use-after-free crash in dm_sm_register_threshold_callback
ARM: bcmbca: Include full family name in Kconfig
arm64: bcmbca: Include full family name in Kconfig
arm64: make ARCH_BCM4908 select ARCH_BCMBCA
dt-bindings: PCI: qcom: Fix reset conditional
dt-bindings: PCI: qcom: Fix description typo
PCI: qcom: Add IPQ60xx support
PCI: qcom: Define slot capabilities using PCI_EXP_SLTCAP_*
PCI: dwc: Move GEN3_RELATED DBI definitions to common header
PCI: qcom: Drop manual pipe_clk_src handling
Revert "ovl: turn of SB_POSIXACL with idmapped layers temporarily"
ovl: handle idmappings in ovl_get_acl()
acl: make posix_acl_clone() available to overlayfs
acl: port to vfs{g,u}id_t
acl: move idmapped mount fixup into vfs_{g,s}etxattr()
mnt_idmapping: add vfs[g,u]id_into_k[g,u]id()
blktrace: Fix the blk_fill_rwbs() kernel-doc header
fs/buffer: Fix the ll_rw_block() kernel-doc header
LSM: SafeSetID: add setgroups() testing to selftest
LSM: SafeSetID: Add setgroups() security policy handling
security: Add LSM hook to setgroups() syscall
ACPI: video: Use native backlight on Dell Inspiron N4010
ACPI: PM: s2idle: Use LPS0 idle if ACPI_FADT_LOW_POWER_S0 is unset
Revert "ACPI / PM: LPIT: Register sysfs attributes based on FADT"
hwmon: (mcp3021) improve driver support for newer hwmon interface
LSM: SafeSetID: add GID testing to selftest
LSM: SafeSetID: selftest cleanup and prepare for GIDs
LSM: SafeSetID: fix userns bug in selftest
pm-graph v5.9
cpufreq: Warn users while freeing active policy
cpufreq: scmi: Support the power scale in micro-Watts in SCMI v3.1
firmware: arm_scmi: Get detailed power scale from perf
Documentation: EM: Switch to micro-Watts scale
PM: EM: convert power field to micro-Watts precision and align drivers
kexec, KEYS, s390: Make use of built-in and secondary keyring for signature verification
arm64: kexec_file: use more system keyrings to verify kernel image signature
kexec, KEYS: make the code in bzImage64_verify_sig generic
kexec: clean up arch_kexec_kernel_verify_sig
kexec: drop weak attribute from functions
kexec_file: drop weak attribute from functions
regulator: of: Fix refcount leak bug in of_get_regulation_constraints()
crypto: lib - make the sha1 library optional
crypto: lib - move lib/sha1.c into lib/crypto/
crypto: fips - make proc files report fips module name and version
crypto: x86/blowfish - remove redundant assignment to variable nytes
crypto: sa2ul - Check engine status before enabling
crypto: sa2ul - Set the supported_algos bits individually
crypto: atmel-tdes - initialize tdes_dd while declaring
crypto: atmel-sha - initialize sha_dd while declaring
crypto: caam/qi2 - switch to netif_napi_add_tx_weight()
crypto: s5p-sss - Drop if with an always false condition
crypto: omap-sham - Drop if with an always false condition
crypto: omap-des - Drop if with an always false condition
crypto: omap-aes - Drop if with an always false condition
crypto: atmel-tdes - Drop if with an always false condition
crypto: atmel-sha - Drop if with an always false condition
crypto: atmel-aes - Drop if with an always false condition
crypto: ccree - Add missing clk_disable_unprepare() in cc_pm_resume()
crypto: testmgr - add ARIA testmgr tests
crypto: aria - Implement ARIA symmetric cipher algorithm
PM / devfreq: tegra30: Add error message for devm_devfreq_add_device()
PM / devfreq: imx-bus: use NULL to pass a null pointer rather than zero
PM / devfreq: shut up kernel-doc warnings
dt-bindings: interconnect: samsung,exynos-bus: convert to dtschema
PM / devfreq: mediatek: Introduce MediaTek CCI devfreq driver
dt-bindings: interconnect: Add MediaTek CCI dt-bindings
doc/zh_CN: remove submitting-driver reference from docs
docs: zh_TW: align to submitting-drivers removal
docs: zh_CN: align to submitting-drivers removal
docs: ko_KR: howto: remove reference to removed submitting-drivers
docs: ja_JP: howto: remove reference to removed submitting-drivers
docs: it_IT: align to submitting-drivers removal
docs: process: remove outdated submitting-drivers.rst
docs: admin: devices: drop confusing outdated statement on Latex
docs: kernel-docs: add a reference mentioned in submitting-drivers.rst
docs: kernel-docs: reflect that it is community-maintained
docs: kernel-docs: shorten the lengthy doc title
docs: kernel-docs: order reference from newest to oldest
arm64: dts: Add base DTS file for bcmbca device Asus GT-AX6000
selftests/landlock: drop deprecated headers dependency
selftests: timers: clocksource-switch: adapt to kselftest framework
selftests: timers: clocksource-switch: add 'runtime' command line parameter
selftests: timers: clocksource-switch: add command line switch to skip sanity check
selftests: timers: clocksource-switch: sort includes
selftests: timers: clocksource-switch: fix passing errors from child
selftests: timers: inconsistency-check: adapt to kselftest framework
selftests: timers: nanosleep: adapt to kselftest framework
selftests: timers: fix declarations of main()
selftests: timers: valid-adjtimex: build fix for newer toolchains
ARM: bcm: NSP: Removed forced thermal selection
PCI: loongson: Don't access non-existent devices
PCI: loongson: Add ACPI init support
dm writecache: count number of blocks discarded, not number of discard bios
dm writecache: count number of blocks written, not number of write bios
dm writecache: count number of blocks read, not number of read bios
dm writecache: return void from functions
dm kcopyd: use __GFP_HIGHMEM when allocating pages
dm writecache: set a default MAX_WRITEBACK_JOBS
PM: domains: Ensure genpd_debugfs_dir exists before remove
ACPI: video: Shortening quirk list by identifying Clevo by board_name only
ACPI: video: Force backlight native for some TongFang devices
regulator: pwm: Update Lee Jones' email address
regulator: max597x: Don't return uninitialized variable in .probe
fs/zonefs: Use the enum req_op type for tracing request operations
fs/xfs: Use the enum req_op and blk_opf_t types
PM: Use the enum req_op and blk_opf_t types
fs/ocfs2: Use the enum req_op and blk_opf_t types
fs/ntfs3: Use enum req_op where appropriate
fs/nilfs2: Use the enum req_op and blk_opf_t types
fs/nfs: Use enum req_op where appropriate
fs/jbd2: Fix the documentation of the jbd2_write_superblock() callers
fs/iomap: Use the new blk_opf_t type
fs/hfsplus: Use the enum req_op and blk_opf_t types
fs/gfs2: Use the enum req_op and blk_opf_t types
fs/f2fs: Use the enum req_op and blk_opf_t types
fs/ext4: Use the new blk_opf_t type
fs/btrfs: Use the enum req_op and blk_opf_t types
fs/mpage: Use the new blk_opf_t type
fs/direct-io: Reduce the size of struct dio
fs/buffer: Combine two submit_bh() and ll_rw_block() arguments
fs/buffer: Use the new blk_opf_t type
mm: Use the new blk_opf_t type
scsi/target: Use the new blk_opf_t type
scsi/ufs: Rename a 'dir' argument into 'op'
scsi/device_handlers: Use the new blk_opf_t type
scsi/core: Use the new blk_opf_t type
scsi/core: Change the return type of scsi_noretry_cmd() into bool
scsi/core: Improve static type checking
nvme/target: Use the new blk_opf_t type
nvme/host: Use the enum req_op and blk_opf_t types
md/raid5: Use the enum req_op and blk_opf_t types
md/raid10: Use the new blk_opf_t type
md/raid1: Use the new blk_opf_t type
md/bcache: Combine two prio_io() arguments
md/bcache: Combine two uuid_io() arguments
md/core: Combine two sync_page_io() arguments
dm/dm-zoned: Use the enum req_op type
dm/zone: Use the enum req_op type
dm-snap: Combine request operation type and flags
dm mirror log: Use the new blk_opf_t type
dm/dm-integrity: Combine request operation and flags
dm/dm-flakey: Use the new blk_opf_t type
dm/ebs: Change 'int rw' into 'enum req_op op'
dm/core: Combine request operation type and flags
dm/core: Rename kcopyd_job.rw into kcopyd.op
dm/core: Reduce the size of struct dm_io_request
um: Use enum req_op where appropriate
nvdimm-btt: Use the enum req_op type
block/zram: Use enum req_op where appropriate
xen-blkback: Use the enum req_op and blk_opf_t types
block/rnbd: Use blk_opf_t where appropriate
block/floppy: Fix a sparse warning
block/drbd: Combine two drbd_submit_peer_request() arguments
block/drbd: Use the enum req_op and blk_opf_t types
block/brd: Use the enum req_op type
blktrace: Use the new blk_opf_t type
blktrace: Trace remapped requests correctly
block/kyber: Use the new blk_opf_t type
block/mq-deadline: Use the new blk_opf_t type
block/bfq: Use the new blk_opf_t type
block: Use the new blk_opf_t type
block: Introduce the type blk_opf_t
block: Change the type of req_op() and bio_op() into enum req_op
block: Change the type of the last .rw_page() argument
block: Use enum req_op where appropriate
treewide: Rename enum req_opf into enum req_op
PCI: loongson: Use generic 8/16/32-bit config ops on LS2K/LS7A
PCI/ACPI: Guard ARM64-specific mcfg_quirks
PCI: qcom: Remove unnecessary pipe_clk handling
kunit: executor: Fix a memory leak on failure in kunit_filter_tests
clk: explicitly disable CONFIG_UML_PCI_OVER_VIRTIO in .kunitconfig
block: remove bdevname
ext4: only initialize mmp_bdevname once
ocfs2/cluster: remove the hr_dev_name field from struct o2hb_region
rnbd-srv: remove the name field from struct rnbd_dev
pktcdvd: stop using bdevname in pkt_new_dev
pktcdvd: stop using bdevname in pkt_seq_show
drbd: stop using bdevname in drbd_report_io_error
block: stop using bdevname in __blkdev_issue_discard
block: stop using bdevname in bdev_write_inode
ublk_drv: fix request queue leak
ublk_drv: support to complete io command via task_work_add
ublk_drv: add io_uring based userspace block driver
spi: dt-bindings: atmel,at91rm9200-spi: convert to json-schema
ARM: dts: qcom: apq8064: create tsens device node
arm64: defconfig: Enable Qualcomm SC8280XP providers
arm64: dts: qcom: sc8280xp: Add lost ranges for timer
docs/zh_CN: Add a new translation of reporting-regressions.rst
Documentation: hyperv: Add overview of clocks and timers
Documentation: hyperv: Add overview of VMbus
Documentation: hyperv: Add overview of Hyper-V enlightenments
Documentation/translations/zh_CN/mm/page_owner.rst: adjust some words
docs/zh_CN: core-api: Add watch_queue Chinese translation
Documentation: siphash: Fix typo in the name of offsetofend macro
MAINTAINERS: mark linux-doc-tw-discuss mailing list moderated
PCI: qcom: Power on PHY before DBI register accesses
PCI: qcom: Power on PHY before IPQ8074 DBI register accesses
PCI: qcom: Set up rev 2.1.0 PARF_PHY before enabling clocks
PCI/AER: Iterate over error counters instead of error strings
PCI/AER: Enable error reporting when AER is native
PCI/portdrv: Don't disable AER reporting in get_port_device_capability()
hwmon: (asus-ec-sensors) add definitions for ROG ZENITH II EXTREME
hwmon: (aquacomputer_d5next) Move device-specific data into struct aqc_data
hwmon: (asus-ec-sensors) add missing sensors for X570-I GAMING
hwmon: (drivetemp) Add module alias
hwmon: (asus_wmi_sensors) Save a few bytes of memory
hwmon: (lm90) Use worker for alarm notifications
hwmon: (asus-ec-sensors) add support for Maximus XI Hero
hwmon: (dell-smm) Improve assembly code
hwmon: (pmbus/ltc2978) Set voltage resolution
hwmon: (pmbus) Add list_voltage to pmbus ops
hwmon: (pmbus) Introduce and use cached vout margins
hwmon: (gsc-hwmon) Add missing of_node_put()
hwmon: (dell-smm) Add Dell G5 5590 to DMI table
hwmon: (dell-smm) Add Dell XPS 13 7390 to fan control whitelist
hwmon: (nct6775) Drop duplicate NULL check in ->init() and ->exit()
hwmon: (pmbus) fix build error unused-function
hwmon: (lm90) Read the channel's temperature offset from device-tree
hwmon: (lm90) Add support for 2nd remote channel's offset register
hwmon: (occ) Delete unnecessary NULL check
hwmon: (lm90) Read the channel's label from device-tree
hwmon: (lm90) Define maximum number of channels that are supported
hwmon: (lm90) Add compatible entry for adt7481
dt-bindings: hwmon: Allow specifying channels for lm90
dt-bindings: hwmon: Add compatible string for ADT7481 in lm90
hwmon: Allow to compile ASB100 and FSCHMD on !X86
hwmon: (pmbus) add MFR_* registers to debugfs
hwmon: (pmbus) add a function to check the presence of a block register
hwmon: (asus-ec-sensors) add support for Strix Z690-a D4
hwmon: (sch56xx-common) Add DMI override table
hwmon: (lm75) Replace kernel.h with the necessary inclusions
hwmon: (f71882fg) Add support for F71858AD (0x0903)
hwmon: (pmbus) Add support for Analog Devices LT7182S
dt-bindings: trivial-devices: Add lt7182s
hwmon: (pmbus) Add IEEE 754 half precision support to PMBus core
hwmon: (lm90) Support temp_samples attribute
hwmon: (lm90) Add table with supported Analog/ONSEMI devices
hwmon: (lm90) Add support and detection of Philips/NXP NE1618
hwmon: (lm90) Add explicit support for ADM1020
hwmon: (lm90) Only disable alerts if not already disabled
hwmon: (lm90) Add support for ADT7421
hwmon: (lm90) Add support for ON Semiconductor NCT218
hwmon: (lm90) Add support for ON Semiconductor NCT214 and NCT72
hwmon: (lm90) Add explicit support for NCT210
hwmon: (lm90) Combine lm86 and lm90 configuration
hwmon: (lm90) Add remaining chips supported by adm1021 driver
hwmon: (lm90) Add support for ADM1021, ADM1021A, and ADM1023
hwmon: (lm90) Support MAX1617 and LM84
hwmon: (lm90) Introduce 16-bit register write function
hwmon: (lm90) Let lm90_read16() handle 8-bit read operations
hwmon: (lm90) Add support for MAX6642
hwmon: (lm90) Add flag to indicate conversion rate support
hwmon: (lm90) Add flag to indicate support for minimum temperature limits
hwmon: (lm90) Add support for MAX6690
hwmon: (lm90) Strengthen chip detection for ADM1032, ADT7461(A), and NCT1008
hwmon: (lm90) Add support for ADT7481, ADT7482, and ADT7483
hwmon: (lm90) Add explicit support for MAX6648/MAX6692
hwmon: (lm90) Add flag to indicate 'alarms' attribute support
hwmon: (lm90) Fix/Add detection of G781-1
hwmon: (lm90) Add support for additional chip revision of NCT1008
hwmon: (lm90) Rework detect function
hwmon: (lm90) Use single flag to indicate extended temperature support
hwmon: (lm90) Support multiple temperature resolutions
hwmon: (lm90) Only re-read registers if volatile
hwmon: (lm90) Add support for unsigned and signed temperatures
hwmon: (lm90) Enable full PEC support for ADT7461A
hwmon: (lm90) Add partial PEC support for ADT7461
hwmon: (lm90) Improve PEC support
hwmon: (lm90) Stop using R_/W_ register prefix
hwmon: (lm90) Move status register bit shifts to compile time
hwmon: (lm90) Use BIT macro
hwmon: (lm90) Reorder chip enumeration to be in alphabetical order
hwmon: (lm90) Reorder include files in alphabetical order
hwmon: (lm90) Rework alarm/status handling
hwmon: (lm90) Generate sysfs and udev events for all alarms
hwmon: (pmbus) Move pec attribute to I2C device
evm: Use IS_ENABLED to initialize .enabled
spi: tegra20-slink: fix UAF in tegra_slink_remove()
spi: Fix simplification of devm_spi_register_controller
spi: microchip-core: switch to use dev_err_probe()
spi: microchip-core: switch to use devm_spi_alloc_master()
spi: microchip-core: fix UAF in mchp_corespi_remove()
spi: dw: Add support for Intel Thunder Bay SPI controller
spi: dw: Add support for master mode selection for DWC SSI controller
spi: Add bindings for Intel Thunder Bay SOC
spi: dw: Fix IP-core versions macro
sched/core: Always flush pending blk_plug
sched/fair: fix case with reduced capacity CPU
blk-cgroup: Use atomic{,64}_try_cmpxchg
blk-iolatency: Use atomic{,64}_try_cmpxchg
block: Use try_cmpxchg in update_io_ticks
block/rq_qos: Use atomic_try_cmpxchg in atomic_inc_below
thermal: intel: x86_pkg_temp_thermal: Drop duplicate 'is' from comment
PCI/ASPM: Unexport pcie_aspm_support_enabled()
PCI: endpoint: Enable DMA tests for endpoints with DMA capabilities
PCI/ASPM: Remove pcie_aspm_pm_state_change()
blk-mq: don't create hctx debugfs dir until q->debugfs_dir is created
m68k: defconfig: Update defconfigs for v5.19-rc1
m68k: Add common forward declaration for show_registers()
m68k: mac: Remove forward declaration for mac_nmi_handler()
ARM: dts: kswitch-d10: enable the USB device port
Makefile: add headers_install to kselftest targets
selftests: drop KSFT_KHDR_INSTALL make target
selftests: stop using KSFT_KHDR_INSTALL
selftests: drop khdr make target
PCI/doc: Convert examples to generic power management
mmc: sdhci-of-aspeed: test: Use kunit_test_suite() macro
nitro_enclaves: test: Use kunit_test_suite() macro
thunderbolt: test: Use kunit_test_suite() macro
kunit: flatten kunit_suite*** to kunit_suite** in .kunit_test_suites
kunit: unify module and builtin suite definitions
selftest: Taint kernel when test module loaded
module: panic: Taint the kernel when selftest modules load
Documentation: kunit: fix example run_kunit func to allow spaces in args
PCI/AER: Configure ECRC for every device
tty: serial: bcm63xx: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
spi: bcm63xx-hsspi: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
spi: remove duplicate parameters check in acpi_spi_add_resource()
spi: propagate error code to the caller of acpi_spi_device_alloc()
spi: Return deferred probe error when controller isn't yet available
regulator: qcom,spmi-regulator: add PMP8074 PMIC
regulator: qcom,spmi-regulator: Convert to dtschema
regulator: qcom_spmi: add support for PMP8074 regulators
regulator: qcom_spmi: add support for HT_P600
regulator: qcom_spmi: add support for HT_P150
regulator: max597x: Remove unused including <linux/version.h>
genirq: Allow irq_set_chip_handler_name_locked() to take a const irq_chip
gpio: thunderx: Don't directly include asm-generic/msi.h
x86/setup: Use rng seeds from setup_data
x86/build: Remove unused OBJECT_FILES_NON_STANDARD_test_nx.o
x86/Kconfig: Fix CONFIG_CC_HAS_SANE_STACKPROTECTOR when cross compiling with clang
clk: bcm: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
hwrng: bcm2835: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
IDR: Note that the IDR API is deprecated
XArray: Add calls to might_alloc()
irqchip/sifive-plic: Separate the enable and mask operations
irqchip/sifive-plic: Make better use of the effective affinity mask
pinctrl: renesas: pinctrl-rzg2l: Add IRQ domain to handle GPIO interrupt
dt-bindings: pinctrl: renesas,rzg2l-pinctrl: Document the properties to handle GPIO IRQ
gpio: gpiolib: Allow free() callback to be overridden
irqchip: Add RZ/G2L IA55 Interrupt Controller driver
dt-bindings: interrupt-controller: Add Renesas RZ/G2L Interrupt Controller
gpio: Remove dynamic allocation from populate_parent_alloc_arg()
arm64: dts: allwinner: h616: Add X96 Mate TV box support
arm64: dts: allwinner: h616: Add OrangePi Zero 2 board support
dt-bindings: arm: sunxi: Add two H616 board compatible strings
dt-bindings: pinctrl: sunxi: allow vcc-pi-supply
arm64: dts: allwinner: Add Allwinner H616 .dtsi file
dt-bindings: pinctrl: sunxi: Make interrupts optional
dt-bindings: arm: sunxi: Add H616 EMAC0 compatible
arm64: dts: freescale: add initial device tree for TQMa8MPQL with i.MX8MP
dt-bindings: arm: add TQMa8MPxL board
arm64: dts: qcom: sc8280xp: fix DP PHY node unit addresses
arm64: dts: qcom: sc8280xp: fix usb_0 HS PHY ref clock
phy: brcm-sata: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
i2c: brcmstb: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
ata: ahci_brcm: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
ARM: debug: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
arm: bcmbca: Add BCMBCA sub platforms
arm: bcmbca: Move BCM63138 ARCH_BCM_63XX to ARCH_BCMBCA
arm64: dts: qcom: sc7280: fix PCIe clock reference
ARM: multi_v7_defconfig: Update configs for BCM63138
MAINTAINERS: Move BCM63138 to bcmbca arch entry
docs: arm: index.rst: add google/chromebook-boot-flow
ARM: dts: Add BCM63138 generic board dts
ARM: dts: update dts files for bcmbca SoC BCM63138
ARM: dts: Move BCM963138DVT board dts to ARCH_BCMBCA
dt-bindings: arm: add BCM63138 SoC
MAINTAINERS: update the LSM maintainer info
PM: runtime: Extend support for wakeirq for force_suspend|resume
Documentation: PM: Drop pme_interrupt reference
x86: mm: refer to the intended config STRICT_DEVMEM in a comment
dm: verity-loadpin: Use CONFIG_SECURITY_LOADPIN_VERITY for conditional compilation
LoadPin: Enable loading from trusted dm-verity devices
dm: Add verity helpers for LoadPin
Documentation: kunit: Cleanup run_wrapper, fix x-ref
kunit: test.h: fix a kernel-doc markup
kunit: tool: Enable virtio/PCI by default on UML
kunit: tool: make --kunitconfig repeatable, blindly concat
selftests: drivers/dma-buf: Improve message in selftest summary
selftests/kcmp: Make the test output consistent and clear
arm64: dts: allwinner: pinephone: Enable internal HMIC bias
dt-bindings: arm: sunxi: Add several MBUS compatibles
dt-bindings: arm: sunxi: Default to the full MBUS binding
arm64: tegra: Fix SDMMC1 CD on P2888
arm64: tegra: Update compatible for Tegra234 GPCDMA
arm64: tegra: Add Host1x and VIC on Tegra234
arm64: tegra: Add Host1x context stream IDs on Tegra186+
arm64: tegra: Enable native timers on Tegra234
arm64: tegra: Enable native timers on Tegra194
arm64: tegra: Enable native timers on Tegra186
arm64: tegra: Add node for CBB 2.0 on Tegra234
arm64: tegra: Add node for CBB 1.0 on Tegra194
arm64: tegra: Align gpio-keys node names with dtschema
arm64: tegra: Mark BPMP channels as no-memory-wc
arm64: tegra: Add Tegra234 GPCDMA device tree node
arm64: tegra: Adjust whitespace around '='
arm64: tegra: Enable OPE on various platforms
arm64: tegra: Add OPE device on Tegra210 and later
firmware: tegra: Fix error check return value of debugfs_create_file()
dt-bindings: tegra-ccplex-cluster: Remove status from required properties
dt-bindings: Add headers for Host1x and VIC on Tegra234
dt-bindings: timer: Add Tegra186 & Tegra234 Timer
ARM: dts: Add Sunplus SP7021-Demo-V3 board device tree
ARM: sp7021_defconfig: Add Sunplus SP7021 defconfig
ARM: sunplus: Add initial support for Sunplus SP7021 SoC
irqchip: Add Sunplus SP7021 interrupt controller driver
dt-bindings: interrupt-controller: Add bindings for SP7021 interrupt controller
dt-bindings: clock: Add bindings for SP7021 clock driver
reset: Add Sunplus SP7021 reset driver
dt-bindings: reset: Add bindings for SP7021 reset driver
dt-bindings: arm: sunplus: Add bindings for Sunplus SP7021 SoC boards
regmap: add WARN_ONCE when invalid mask is provided to regmap_field_init()
arm64: dts: freescale: imx8qxp: Fix the keys node name
arm64: dts: freescale: imx8: Fix the system-controller node name
arm64: dts: freescale: imx8qxp: Fix the ocotp node name
arm64: dts: freescale: imx8qxp: Add fallback compatible for clock controller
arm64: dts: freescale: imx8: Fix power controller name
arm64: dts: freescale: imx8qxp: Remove unnecessary clock related entries
dt-bindings: firmware: Add fsl,scu yaml file
dt-bindings: watchdog: Add fsl,scu-wdt yaml file
dt-bindings: thermal: Add fsl,scu-thermal yaml file
dt-bindings: rtc: Add fsl,scu-rtc yaml file
dt-bindings: power: Add fsl,scu-pd yaml file
dt-bindings: nvmem: Add fsl,scu-ocotp yaml file
dt-bindings: input: Add fsl,scu-key yaml file
dt-bindings: pinctrl: imx: Add fsl,scu-iomux yaml file
dt-bindings: clk: imx: Add fsl,scu-clk yaml file
memory: tegra: Add MGBE memory clients for Tegra234
soc: mediatek: mutex: Simplify with devm_platform_get_and_ioremap_resource()
soc: mediatek: pm-domains: Add support for Helio X10 MT6795
dt-bindings: power: Add MediaTek Helio X10 MT6795 power domains
dt-bindings: arm: tegra: Add NVIDIA Tegra234 CBB 2.0 binding
dt-bindings: arm: tegra: Add NVIDIA Tegra194 AXI2APB binding
dt-bindings: arm: tegra: Add NVIDIA Tegra194 CBB 1.0 binding
dt-bindings: memory: Add Tegra234 MGBE memory clients
dt-bindings: Add Tegra234 MGBE clocks and resets
dt-bindings: power: Add Tegra234 MGBE power domains
arm64: dts: imx8mp: add NoC node
PCI: hv: Take a const cpumask in hv_compose_msi_req_get_cpu()
crypto: testmgr - populate RSA CRT parameters in RSA test vectors
crypto: inside-secure - fix packed bit-field result descriptor
crypto: hisilicon - Kunpeng916 crypto driver don't sleep when in softirq
crypto: hisilicon/sec - don't sleep when in softirq
crypto: hisilicon/sec - fix inconsistent argument
crypto: nx - Hold the reference returned by of_find_compatible_node
crypto: amcc - Hold the reference returned by of_find_compatible_node
crypto: vmx - Fix warning on p8_ghash_alg
crypto: qat - expose device config through sysfs for 4xxx
crypto: qat - relocate and rename adf_sriov_prepare_restart()
crypto: qat - change behaviour of adf_cfg_add_key_value_param()
crypto: qat - expose device state through sysfs for 4xxx
kunit: add coverage_uml.config to enable GCOV on UML
kunit: tool: refactor internal kconfig handling, allow overriding
kunit: tool: introduce --qemu_args
kunit: tool: simplify creating LinuxSourceTreeOperations
kunit: tool: cosmetic: don't specify duplicate kernel cmdline options
kunit: tool: refactoring printing logic into kunit_printer.py
kunit: tool: redo how we construct and mock LinuxSourceTree
kunit: tool: drop unused load_config argument
kunit: use kmemdup in kunit_filter_tests(), take suite as const
MAINTAINERS: update nvidia,tegra20-host1x.yaml reference
dt-bindings: mfd: update dlg,da9063.yaml reference
tegra194-hte.rst: fix reference to its binding
arch: m68k: q40: README: drop references to IDE driver
objtool: update objtool.txt references
Documentation: KVM: update s390-diag.rst reference
Documentation: KVM: update msr.rst reference
Documentation: KVM: update amd-memory-encryption.rst references
Documentation: KVM: update s390-pv.rst reference
Documentation: update watch_queue.rst references
docs: zh_CN/vm/zsmalloc.rst: fix a typo
docs: zh_CN/vm: fix a typo for page reporting ReST file
docs: zh_CN: fix a broken reference
docs: zh_CN/devicetree: fix typos
docs: zh_CN: page_frags.rst: fix a broken reference
docs: filesystems: update netfs-api.rst reference
docs: netdev: update maintainer-netdev.rst reference
docs: automarkup: do not look up symbols twice
docs: automarkup: track failed cross-reference attempts
docs: tegra194-hte.rst: don't include gpiolib.c twice
scripts: sphinx-pre-install: place a warning for Sphinx >= 3.0
scripts: sphinx-pre-install: provide both venv and package installs
scripts: sphinx-pre-install: check for PDF min version later on
scripts: sphinx-pre-install: report broken venv
scripts: sphinx-pre-install: fix venv version check logic
Documentation: dm writecache: Render status list as list
Documentation: dm writecache: add blank line before optional parameters
x86/mm: Refer to the intended config STRICT_DEVMEM in a comment
dm snapshot: fix typo in snapshot_map() comment
dm raid: remove redundant "the" in parse_raid_params() comment
dm cache: fix typo in 2 comment blocks
dm verity: fix checkpatch close brace error
dm table: rename dm_target variable in dm_table_add_target()
dm table: audit all dm_table_get_target() callers
dm table: remove dm_table_get_num_targets() wrapper
dm: add two stage requeue mechanism
dm: add dm_bio_rewind() API to DM core
arm64: dts: mt8183: Add panel rotation
arm64: dts: mt7622: fix BPI-R64 WPS button
arm64: dts: mt8173: Fix nor_flash node
arm64: dts: mediatek: cherry: Add I2C-HID touchscreen on I2C4
arm64: dts: mediatek: cherry: Enable support for the SPI NOR flash
arm64: dts: mediatek: cherry: Enable MT6360 sub-pmic on I2C7
arm64: dts: mediatek: cherry: Enable T-PHYs and USB XHCI controllers
arm64: dts: mediatek: cherry: Enable I2C and SPI controllers
arm64: dts: mediatek: cherry: Document gpios and add default pin config
arm64: dts: mediatek: cherry: Add support for internal eMMC storage
arm64: dts: mediatek: cherry: Assign interrupt line to MT6359 PMIC
arm64: dts: mediatek: cherry: Add platform regulators layout and config
arm64: dts: mediatek: Introduce MT8195 Cherry platform's Tomato
dt-bindings: arm: mediatek: Add MT8195 Cherry Tomato Chromebooks
arm64: dts: mediatek: asurada: Add SPI NOR flash memory
arm64: dts: mediatek: asurada: Enable SCP
arm64: dts: mediatek: asurada: Enable MMC
arm64: dts: mediatek: asurada: Add SPMI regulators
arm64: dts: mediatek: asurada: Add MT6359 PMIC
arm64: dts: mediatek: asurada: Enable PCIe and add WiFi
arm64: dts: mediatek: asurada: Enable XHCI
arm64: dts: mediatek: spherion: Add keyboard backlight
arm64: dts: mediatek: asurada: Add I2C touchscreen
arm64: dts: mediatek: asurada: Add Elan eKTH3000 I2C trackpad
arm64: dts: mediatek: asurada: Add Cr50 TPM
arm64: dts: mediatek: asurada: Add keyboard mapping for the top row
arm64: dts: mediatek: asurada: Add ChromeOS EC
arm64: dts: mediatek: asurada: Enable and configure I2C and SPI busses
arm64: dts: mediatek: asurada: Add system-wide power supplies
arm64: dts: mediatek: asurada: Document GPIO names
arm64: dts: mediatek: Introduce MT8192-based Asurada board family
dt-bindings: arm64: dts: mediatek: Add mt8192-asurada-hayato
dt-bindings: arm64: dts: mediatek: Add mt8192-asurada-spherion
regulator: Fix MFD_MAX597X dependency
docs: perf: Include hns3-pmu.rst in toctree to fix 'htmldocs' WARNING
soc: mediatek: SVS: Use DEFINE_SIMPLE_DEV_PM_OPS for svs_pm_ops
soc: mediatek: mtk-pm-domains: Allow probing vreg supply on two MFGs
arm64: kasan: Revert "arm64: mte: reset the page tag in page->flags"
mm: kasan: Skip page unpoisoning only if __GFP_SKIP_KASAN_UNPOISON
mm: kasan: Skip unpoisoning of user pages
mm: kasan: Ensure the tags are visible before the tag in page->flags
arm64: dts: mediatek: mt8183-kukui: Assign sram supply to mfg_async pd
arm64: dts: renesas: Add panel overlay for Draak and Ebisu boards
arm64: dts: renesas: Add panel overlay for Salvator-X(S) boards
arm64: dts: renesas: Prepare AA1024XD12 panel .dtsi for overlay support
dt-bindings: hwinfo: renesas,prr: move from soc directory
genirq: Provide an IRQ affinity mask in non-SMP configs
genirq: Return a const cpumask from irq_data_get_affinity_mask
genirq: Add and use an irq_data_update_affinity helper
genirq: Refactor accessors to use irq_data_get_affinity_mask
genirq: Drop redundant irq_init_effective_affinity
genirq: GENERIC_IRQ_EFFECTIVE_AFF_MASK depends on SMP
genirq: GENERIC_IRQ_IPI depends on SMP
irqchip/mips-gic: Only register IPI domain when SMP is enabled
irqchip/stm32-exti: Simplify irq description table
irqchip/stm32-exti: Read event trigger type from event_trg register
irqchip/stm32-exti: Tag emr register as undefined for stm32mp15
irqchip/stm32-exti: Prevent illegal read due to unbounded DT value
irqchip/stm32-exti: Fix irq_mask/irq_unmask for direct events
irqchip/stm32-exti: Fix irq_set_affinity return value
genirq: Don't return error on missing optional irq_request_resources()
arm64: dts: qcom: msm8996: clean up PCIe PHY node
arm64: dts: qcom: msm8996: use non-empty ranges for PCIe PHYs
arm64: dts: qcom: sm8450: drop UFS PHY clock-cells
arm64: dts: qcom: sm8250: drop UFS PHY clock-cells
arm64: dts: qcom: sc8280xp: drop UFS PHY clock-cells
arm64: dts: qcom: sm8450: drop USB PHY clock index
arm64: dts: qcom: sm8350: drop USB PHY clock index
arm64: dts: qcom: msm8998: drop USB PHY clock index
arm64: dts: qcom: ipq8074: drop USB PHY clock index
arm64: dts: qcom: ipq6018: drop USB PHY clock index
arm64: dts: qcom: sm8250: add missing PCIe PHY clock-cells
arm64: dts: qcom: sc7280: drop PCIe PHY clock index
Revert "arm64: dts: qcom: Fix 'reg-names' for sdhci nodes"
arm64: dts: qcom: sc7180-idp: add vdds supply to the DSI PHY
arm64: dts: qcom: sc7280: use constants for gpucc clocks and power-domains
arm64: dts: qcom: msm8996: add missing DSI clock assignments
arm64: dts: qcom: ipq8074: add reset to SDHCI
arm64: dts: qcom: sdm845: Add CPU BWMON
arm64: dts: qcom: ipq8074: move ARMv8 timer out of SoC node
arm64: dta: qcom: sc7180: delete vdda-1p2 and vdda-0p9 from mdss_dp
arm64: dts: qcom: sdm845: Switch PSCI cpu idle states from PC to OSI
arm64: dts: qcom: extend scm compatible strings
arm64: dts: qcom: add device tree for LG G7 and LG V35
arm64: dts: qcom: msm8996: add xo clock source to rpmcc
arm64: dts: qcom: msm8996: add GCC's optional clock sources
arm64: dts: qcom: msm8996: correct #clock-cells for QMP PHY nodes
arm64: dts: qcom: sdm845-shift-axolotl: Enable pmi9889 LPG LED
soc: ti: pruss: Enable support for PRUSS-M subsystem on K3 AM62x SoCs
dt-bindings: soc: ti: pruss: Update bindings for K3 AM62x SoCs
dt-bindings: soc: ti: pruss: Re-arrange "compatible" in alphabetic order
arm64: dts: ti: k3-am62-main: Enable crypto accelerator
first_iovec_segment(): just return address
arm64: dts: ti: k3-am625-sk: Enable ramoops
arm64: dts: ti: k3-am642-sk: Add pinmux corresponding to main_uart0
apparmor: test: Remove some casts which are no-longer required
zonefs: Call page_address() on page acquired with GFP_KERNEL flag
iov_iter: massage calling conventions for first_{iovec,bvec}_segment()
iov_iter: first_{iovec,bvec}_segment() - simplify a bit
ARM: dts: qcom: msm8974: rename GPU's OPP table node
ARM: dts: qcom: apq8064: disable DSI and DSI PHY by default
ARM: dts: qcom: apq8064: rename DSI PHY iface clock
arm64: defconfig: enable Qualcomm Bandwidth Monitor
soc: qcom: icc-bwmon: Add bandwidth monitoring driver
dt-bindings: interconnect: qcom,msm8998-cpu-bwmon: add BWMON device
ARM: dts: qcom: extend scm compatible to match dt-schema
iov_iter: lift dealing with maxpages out of first_{iovec,bvec}_segment()
arm64: dts: qcom: sm6125: Add DLL/DDR configuration on SDHCI 1/2
arm64: dts: qcom: sm6125: Append -state suffix to pinctrl nodes
arm64: dts: qcom: sm6125: Move sdc2 pinctrl from seine-pdx201 to sm6125
iov_iter_get_pages{,_alloc}(): cap the maxsize with MAX_RW_COUNT
iov_iter_bvec_advance(): don't bother with bvec_iter
PCI: endpoint: Don't stop controller when unbinding endpoint function
arm64: dts: qcom: db820c: Add user LEDs
arm64: dts: qcom: pmi8994: Define MPP block
arm64: dts: qcom: sdm845: Enable user LEDs on DB845c
arm64: dts: qcom: Add LPG to pm8916, pm8994, pmi8994 and pmi8998
arm64: dts: qcom: sm8350: Replace integers with rpmpd defines
arm64: dts: qcom: sm8350: Add DISPCC node
arm64: dts: qcom: sm8450: Add description of camera clock controller
dt-bindings: clock: add QCOM SM8450 camera clock bindings
dt-bindings: clock: Add Qcom SM8350 DISPCC bindings
dt-bindings: clock: Add Qcom SM8350 GPUCC bindings
PCI: Drop of_match_ptr() to avoid unused variables
step_into(): move fetching ->d_inode past handle_mounts()
lookup_fast(): don't bother with inode
follow_dotdot{,_rcu}(): don't bother with inode
step_into(): lose inode argument
namei: stash the sampled ->d_seq into nameidata
namei: move clearing LOOKUP_RCU towards rcu_read_unlock()
dt-bindings: soc: samsung: exynos-pmu: add reboot-mode
dt-bindings: soc: samsung: exynos-pmu: use abolute ref paths
dt-bindings: soc: samsung: exynos-pmu: cleanup assigned clocks
dt-bindings: samsung: document preferred compatible naming
spi: amd: Add struct and enum kernel-doc comments
spi: amd: Drop io_base_addr member from struct amd_spi
spi: amd: Make use of dev_err_probe()
spi: amd: Make use of devm_spi_alloc_master()
block: move zone related fields to struct gendisk
block: remove blk_queue_zone_sectors
dm-zoned: cleanup dmz_fixup_devices
nvmet:: use bdev based helpers in nvmet_bdev_zone_mgmt_emulate_all
block: use bdev based helpers in blkdev_zone_mgmt{,all}
block: replace blkdev_nr_zones with bdev_nr_zones
block: pass a gendisk to blk_queue_max_open_zones and blk_queue_max_active_zones
block: remove queue_max_open_zones and queue_max_active_zones
block: pass a gendisk to blk_queue_free_zone_bitmaps
block: pass a gendisk to blk_queue_clear_zone_settings
block: pass a gendisk to blk_queue_set_zoned
block: simplify blk_check_zone_append
block: simplify blk_mq_plug
block: use bdev_is_zoned instead of open coding it
block: call blk_queue_free_zone_bitmaps from disk_release
block: remove a superflous ifdef in blkdev.h
blk-mq: Drop local variable for reserved tag
blk-mq: Drop 'reserved' arg of busy_tag_iter_fn
scsi: fnic: Drop reserved request handling
blk-mq: Drop blk_mq_ops.timeout 'reserved' arg
blk-mq: Add a flag for reserved requests
scsi: core: Remove reserved request time-out handling
m68k: virt: Fix missing platform_device_unregister() on error in virt_platform_init()
m68k: virt: Use RNG seed from bootinfo block
m68k: bitops: Change __fls to return and accept unsigned long
m68k: Kconfig.machine: Add endif comment
m68k: Kconfig.debug: Replace single quotes
m68k: Kconfig.cpu: Fix indentation and add endif comments
drivers/perf: hisi: add driver for HNS3 PMU
drivers/perf: hisi: Add description for HNS3 PMU driver
drivers/perf: riscv_pmu_sbi: perf format
perf/arm-cci: Use the bitmap API to allocate bitmaps
drivers/perf: riscv_pmu: Add riscv pmu pm notifier
PCI: dwc-plat: Drop dw_plat_pcie_of_match[] forward declaration
PCI: dwc-plat: Drop unused regmap pointer
PCI: dwc-plat: Simplify dw_plat_pcie_probe() return values
PCI: dwc: Rename struct pcie_port to dw_pcie_rp
PCI: dwc: Move io_cfg_atu_shared to struct pcie_port
PCI: dwc: Add start_link/stop_link inlines
PCI: dwc: Reuse local pointer to the resource data
PCI: dwc: Organize local variable usage
PCI: dwc: Convert dw_pcie_link_up() to use dw_pcie_readl_dbi()
PCI: dwc: Simplify unrolled iATU detection
PCI: dwc: Add newlines to log messages
PCI: dwc: Add braces to multi-line if-else statements
PCI: dwc: Always enable CDM check if "snps,enable-cdm-check" exists
PCI: dwc: Deallocate EPC memory on dw_pcie_ep_init() errors
PCI: dwc: Set INCREASE_REGION_SIZE flag based on limit address
PCI: dwc: Disable outbound windows only for controllers using iATU
PCI: dwc: Add unroll iATU space support to dw_pcie_disable_atu()
PCI: dwc: Stop link on host_init errors and de-initialization
PCI: Clear PCI_STATUS when setting up device
context_tracking: Use arch_atomic_read() in __ct_state for KASAN
MAINTAINERS: Add Paul as context tracking maintainer
context_tracking: Convert state to atomic_t
rcu/context-tracking: Remove unused and/or unecessary middle functions
rcu/context-tracking: Move RCU-dynticks internal functions to context_tracking
rcu/context-tracking: Move deferred nocb resched to context tracking
rcu/context_tracking: Move dynticks_nmi_nesting to context tracking
rcu/context_tracking: Move dynticks_nesting to context tracking
rcu/context_tracking: Move dynticks counter to context tracking
rcu/context-tracking: Remove rcu_irq_enter/exit()
context_tracking: Take NMI eqs entrypoints over RCU
context_tracking: Take IRQ eqs entrypoints over RCU
context_tracking: Take idle eqs entrypoints over RCU
switch try_to_unlazy_next() to __legitimize_mnt()
follow_dotdot{,_rcu}(): change calling conventions
namei: get rid of pointless unlikely(read_seqcount_retry(...))
__follow_mount_rcu(): verify that mount_lock remains unchanged
soc: sunxi: mbus: Only build the driver on ARM/ARM64
PCI: iproc: Use bitmap API to allocate bitmaps
dt-bindings: usb: generic-ohci: Add Allwinner D1 compatible
dt-bindings: usb: generic-ehci: Add Allwinner D1 compatible
dt-bindings: usb: sunxi-musb: Add Allwinner D1 compatible
arm64: dts: allwinner: a100: Update I2C controller fallback
dt-bindings: i2c: mv64xxx: Add variants with offload support
ARM: dts: sun8i-r40: Add thermal trip points/cooling maps
ARM: dts: sun8i-r40: add opp table for cpu
ARM: dts: sun8i-r40: Add "cpu-supply" node for sun8i-r40 based board
powercap: intel_rapl: Add support for RAPTORLAKE_P
regulator: Fix parameter declaration and spelling mistake.
PM: wakeup: Unify device_init_wakeup() for PM_SLEEP and !PM_SLEEP
ACPI: PM: s2idle: Add support for upcoming AMD uPEP HID AMDI008
ACPI: VIOT: Fix ACS setup
soc/qcom: Make QCOM_RPMPD select PM_GENERIC_DOMAINS/_OF
regulator: max597x: Add support for max597x regulator
arm64: mm: Remove assembly DMA cache maintenance wrappers
regmap-irq: Fix bug in regmap_irq_get_irq_reg_linear()
ARM: dts: aspeed: correct gpio-keys properties
ARM: dts: aspeed: align gpio-key node names with dtschema
arm64: errata: Add Cortex-A510 to the repeat tlbi list
arm64/sysreg: Convert ID_AA64ZFR0_EL1 to automatic generation
arm64/sysreg: Convert ID_AA64SMFR0_EL1 to automatic generation
arm64/sysreg: Convert LORID_EL1 to automatic generation
arm64/sysreg: Convert LORC_EL1 to automatic generation
arm64/sysreg: Convert LORN_EL1 to automatic generation
arm64/sysreg: Convert LOREA_EL1 to automatic generation
arm64/sysreg: Convert LORSA_EL1 to automatic generation
arm64/sysreg: Convert ID_AA64ISAR2_EL1 to automatic generation
arm64/sysreg: Convert ID_AA64ISAR1_EL1 to automatic generation
arm64/sysreg: Convert GMID to automatic generation
arm64/sysreg: Convert DCZID_EL0 to automatic generation
arm64/sysreg: Convert CTR_EL0 to automatic generation
arm64/sysreg: Add _EL1 into ID_AA64ISAR2_EL1 definition names
arm64/sysreg: Add _EL1 into ID_AA64ISAR1_EL1 definition names
arm64/sysreg: Remove defines for RPRES enumeration
arm64/sysreg: Standardise naming for ID_AA64ZFR0_EL1 fields
arm64/sysreg: Standardise naming for ID_AA64SMFR0_EL1 enums
arm64/sysreg: Standardise naming for WFxT defines
arm64/sysreg: Make BHB clear feature defines match the architecture
arm64/sysreg: Align pointer auth enumeration defines with architecture
arm64/mte: Standardise GMID field name definitions
arm64/sysreg: Standardise naming for DCZID_EL0 field names
arm64/sysreg: Standardise naming for CTR_EL0 fields
arm64/cache: Restrict which headers are included in __ASSEMBLY__
arm64/sysreg: Add SYS_FIELD_GET() helper
arm64/sysreg: Allow leading blanks on comments in sysreg file
arm64/idreg: Fix tab/space damage
arm64/cpuinfo: Remove references to reserved cache type
arm64/mm: Define defer_reserve_crashkernel()
arm64: dts: exynosautov9: add usi device tree nodes
arm64: dts: exynosautov9: prepare usi0 changes
arm64: dts: exynosautov9: add pdma0 device tree node
dt-bindings: soc: samsung: usi: add exynosautov9-usi compatible
arm64: dts: exynosautov9: correct spi11 pin names
ARM: dts: stm32: Add ST MIPID02 bindings to AV96
ARM: dts: stm32: Add alternate pinmux for RCC pin
ARM: dts: stm32: Add alternate pinmux for DCMI pins
ARM: dts: stm32: Add DHCOR based DRC Compact board
ARM: dts: stm32: Add alternate pinmux for UART5 pins
ARM: dts: stm32: Add alternate pinmux for UART4 pins
ARM: dts: stm32: Add alternate pinmux for UART3 pins
ARM: dts: stm32: Add alternate pinmux for SPI2 pins
ARM: dts: stm32: Add alternate pinmux for CAN1 pins
dt-bindings: arm: stm32: Add compatible string for DH electronics DHCOR DRC Compact
ARM: dts: stm32: Fix SPI2 pinmux pin comments on stm32mp15
ARM: dts: lan966x: Add UDPHS support
dt-bindings: usb: atmel: Add Microchip LAN9662 compatible string
ARM: dts: stm32: add optee reserved memory on stm32mp135f-dk
ARM: dts: stm32: add RCC on STM32MP13x SoC family
ARM: dts: stm32: enable optee firmware and SCMI support on STM32MP13
dt-bindings: rcc: stm32: select the "secure" path for stm32mp13
ARM: dts: stm32: correct vcc-supply for eeprom on stm32mp15xx-osd32
ARM: dts: stm32: fix missing internally connected voltage regulator for OSD32MP1
ARM: dts: stm32: adjust whitespace around '=' on MCU boards
ARM: dts: stm32: Move DHCOR BUCK3 VDD 2V9 adjustment to 1V8 DTSI
ARM: dts: stm32: remove the IPCC "wakeup" IRQ on stm32mp151
ARM: dts: lan966x: Cleanup flexcom3 usart pinctrl settings.
arm64: dts: renesas: spider-cpu: Fix scif0/scif3 sort order
ARM: shmobile: rcar-gen2: Increase refcount for new reference
arm64: dts: qcom: msm8996: Add interconnect support
arm64: dts: Add SFP node for TA 3.0 devices
arm64: dts: layerscape: Add SFP node for TA 2.1 devices
ARM: dts: layerscape: Add SFP node for TA 2.1 devices
soc: fsl: guts: check return value after calling of_iomap() in fsl_guts_get_soc_uid()
soc: fsl: guts: fix return value check in fsl_guts_init()
ARM: dts: ux500: Drop unused i2c power domain supply
arm64: defconfig: Enable Allwinner built in CODECs
arm64: dts: allwinner: a64: orangepi-win: Fix LED node name
m68k: q40: Align '*' in comments
spi: dt-bindings: zynqmp-qspi: add missing 'required'
spi: dt-bindings: cadence: add missing 'required'
mm: slab: optimize memcg_slab_free_hook()
mm/tracing: add 'accounted' entry into output of allocation tracepoints
tools/vm/slabinfo: Handle files in debugfs
mm/slub: Simplify __kmem_cache_alias()
arm64: dts: rockchip: enable hdmi tx audio on rock-3a
arm64: dts: rockchip: enable hdmi tx audio on rk3568-evb1-v10
mm, slab: fix bad alignments
firmware: arm_scmi: Use fast channel tracing
include: trace: Add SCMI fast channel tracing
firmware: arm_scmi: Add SCMI v3.1 powercap fast channels support
firmware: arm_scmi: Generalize the fast channel support
firmware: arm_scmi: Add SCMI v3.1 powercap protocol basic support
dt-bindings: firmware: arm,scmi: Add support for powercap protocol
firmware: arm_scmi: Add SCMI System Power Control driver
firmware: arm_scmi: Add devm_protocol_acquire helper
firmware: arm_scmi: Add SCMI v3.1 System Power extensions
firmware: arm_scmi: Support only one single system power device
firmware: arm_scmi: Use new SCMI full message tracing
include: trace: Add SCMI full message tracing
firmware: arm_scpi: Ensure scpi_info is not assigned if the probe fails
arm64: fix oops in concurrently setting insn_emulation sysctls
soc: bcm: bcm2835-power: Bypass power_on/off() calls
soc: bcm: bcm2835-power: Add support for BCM2711's RPiVid ASB
soc: bcm: bcm2835-power: Resolve ASB register macros
soc: bcm: bcm2835-power: Refactor ASB control
mfd: bcm2835-pm: Add support for BCM2711
mfd: bcm2835-pm: Use 'reg-names' to get resources
perf/x86/intel: Fix PEBS data source encoding for ADL
perf/x86/intel: Fix PEBS memory access info encoding for ADL
sched/core: Use try_cmpxchg in set_nr_{and_not,if}_polling
sched/core: add forced idle accounting for cgroups
ARM: dts: lan966x: Add mcan1 node.
ARM: dts: at91: sama7g5: add reset-controller node
ARM: dts: at91: use generic name for reset controller
ARM: dts: at91: sama5d2: fix compilation warning
ARM: dts: at91: sama5d2: fix compilation warning
selftests:timers: globals don't need initialization to 0
ARM: dts: qcom: Fix sdhci node names - use 'mmc@'
arm64: dts: qcom: sc7180-trogdor: Split out keyboard node and describe detachables
arm64: dts: qcom: ipq8074: fix NAND node name
arm64: dts: qcom: msm8916: add xo clocks to rpmcc and a53pll
arm64: dts: qcom: msm8996: add second DSI interface
arm64: dts: qcom: add mdp_clk clock to the MDSS device
arm64: dts: qcom: sm8250: Enable per-process page tables.
arm64: dts: qcom: msm8916-samsung-a2015: Add touchscreen pinctrl
arm64: dts: qcom: msm8996: drop phy-names from HDMI device node
arm64: dts: qcom: msm8994: add required ranges to OCMEM
arm64: dts: qcom: sdm845: add dedicated IMEM and syscon compatibles
arm64: dts: qcom: sdm630: add dedicated IMEM and syscon compatibles
arm64: dts: qcom: sc7280: add simple-mfd to IMEM
arm64: dts: qcom: sc7180: add dedicated IMEM and syscon compatibles
arm64: dts: qcom: qcs404: add dedicated IMEM and syscon compatibles
arm64: dts: qcom: use generic sram as name for imem and ocmem nodes
arm64: dts: qcom: sdm845-db845c: add function and color to LED nodes
arm64: dts: qcom: sc7280-herobrine: add function to LED node
arm64: dts: qcom: sc7180-trogdor: add function to LED node
arm64: dts: qcom: qrb5165-rb5: add function and color to LED nodes
arm64: dts: qcom: apq8016-sbc: add function and color to LED nodes
arm64: dts: qcom: sm8250: Move qup-opp-table out of soc node
arm64: dts: qcom: sm8350: Move qup-opp-tables out of soc node
arm64: dts: qcom: sm8450: rename interconnect nodes
arm64: dts: qcom: msm8996-xiaomi-natrium: Add support for Xiaomi Mi 5s Plus
dt-bindings: arm: qcom: Document xiaomi,natrium board
arm64: dts: qcom: ipq6018: correct QUP peripheral labels
arm64: dts: qcom: sm8250: use constants for audio clocks
arm64: dts: qcom: sdm845*: replace i2s reg with constant
arm64: dts: qcom: sm8450: Fix the IRQ trigger type for remoteproc nodes
arm64: dts: qcom: msm8916: Fix typo in pronto remoteproc node
arm64: dts: qcom: msm8998-xperia: Introduce ToF sensor support
arm64: dts: qcom: sc7280: Add proxy interconnect requirements for modem
arm64: dts: qcom: sm8450: remove duplicated glink-edge interrupt
arm64: dts: qcom: sm8350: remove duplicated glink-edge interrupt
arm64: dts: qcom: sdm630: remove unneeded address/size cells in glink-edge
arm64: dts: qcom: ipq6018: add label to remoteproc node
arm64: dts: qcom: Remove unused 'vdda-max-microamp' & 'vdda-pll-max-microamp' properties
arm64: dts: qcom: ipq8074: add USB power domains
arm64: dts: qcom: Fix 'reg-names' for sdhci nodes
arm64: dts: qcom: Fix ordering of 'clocks' & 'clock-names' for sdhci nodes
arm64: dts: qcom: sdm630: Fix 'interconnect-names' for sdhci nodes
arm64: dts: qcom: Fix sdhci node names - use 'mmc@'
arm64: dts: qcom: sdm630-nile: Add RGB status LED on the PM660L LPG
arm64: dts: qcom: pm660l: Add LPG node
arm64: dts: qcom: qcs404: fix default pinctrl settings for blsp1_spi1
arm64: dts: qcom: qrb5165-rb5: declare tri-led user leds
arm64: dts: qcom: pm8150l: add Light Pulse Generator device node
arm64: dts: qcom: pm8150b: add Light Pulse Generator device node
arm64: dts: qcom: align led node names with dtschema
arm64: dts: qcom: sdm630-sony-xperia-nile: drop unneeded status from gpio-keys
arm64: dts: qcom: correct gpio-keys properties
arm64: dts: qcom: align gpio-key node names with dtschema
arm64: dts: qcom: adjust whitespace around '='
arm64: dts: qcom: msm8998-mtp: correct board compatible
arm64: dts: qcom: ipq6018-cp01-c1: fix Micron SPI NOR compatible
arm64: dts: qcom: sdm630: correct QFPROM byte offsets
arm64: dts: qcom: use dedicated QFPROM compatibles
arm64: dts: qcom: correct SPMI WLED register range encoding
arm64: dts: qcom: add missing AOSS QMP compatible fallback
arm64: dts: qcom: sc7180: Add kingoftown dts files
arm64: dts: qcom: sc7180: Add pazquel dts files
arm64: dts: qcom: sc7180: Add mrbland dts files
arm64: dts: qcom: sc7180: Add quackingstick dts files
arm64: dts: qcom: sc7180: Add wormdingler dts files
arm64: dts: qcom: sc7280: Rename sar sensor labels
arm64: dts: qcom: sc8280xp: add Lenovo Thinkpad X13s devicetree
arm64: dts: qcom: add SA8540P and ADP
arm64: dts: qcom: sc8280xp: Add reference device
stack: Declare {randomize_,}kstack_offset to fix Sparse warnings
lib: overflow: Do not define 64-bit tests on 32-bit
MAINTAINERS: Add a general "kernel hardening" section
usercopy: use unsigned long instead of uintptr_t
kunit: Taint the kernel when KUnit tests are run
panic: Taint kernel if tests are run
exec: Fix a spelling mistake
ACPI: bus: Drop unused list heads from struct acpi_device
hisi_lpc: Use acpi_dev_for_each_child()
bus: hisi_lpc: fix missing platform_device_put() in hisi_lpc_acpi_probe()
irqchip/sifive-plic: Fix T-HEAD PLIC edge trigger handling
dt-bindings: interrupt-controller: Require trigger type for T-HEAD PLIC
irqchip/sifive-plic: Add support for Renesas RZ/Five SoC
dt-bindings: interrupt-controller: sifive,plic: Document Renesas RZ/Five SoC
arm64: Add an override for ID_AA64SMFR0_EL1.FA64
arm64: Add the arm64.nosve command line option
arm64: Add the arm64.nosme command line option
arm64: Expose a __check_override primitive for oddball features
arm64: Allow the idreg override to deal with variable field width
arm64: Factor out checking of a feature against the override into a macro
arm64: Allow sticky E2H when entering EL1
arm64: Save state of HCR_EL2.E2H before switch to EL1
arm64: Rename the VHE switch to "finalise_el2"
arm64: mm: fix booting with 52-bit address space
x86/kexec: Carry forward IMA measurement log on kexec
ARM: davinci: Delete DM646x board files
ARM: davinci: Delete DM644x board files
arm64: Do not forget syscall when starting a new thread.
arm64: vdso32: Add DWARF_DEBUG
arm64: vdso32: Shuffle .ARM.exidx section above ELF_DETAILS
arm64: compat: Move sigreturn32.S to .rodata section
spi: dt-bindings: dw-apb-ssi: update spi-{r,t}x-bus-width
arm64: defconfig: Enable qcom interconnect drivers
arm64: defconfig: Enable qcom ss & hs usb phy
ARM: dts: qcom: apq8064: drop phy-names from HDMI device node
ARM: dts: qcom: apq8064-ifc6410: drop hdmi-mux-supply
ARM: dts: qcom: pm8841: add required thermal-sensor-cells
ARM: dts: qcom: msm8974: add required ranges to OCMEM
ARM: dts: qcom: sdx55: add dedicated IMEM and syscon compatibles
ARM: dts: qcom: msm8974: add dedicated IMEM compatible
ARM: dts: qcom: apq8064-asus-nexus7: add dedicated IMEM compatible
ARM: dts: qcom: use generic sram as name for imem and ocmem nodes
ARM: dts: qcom: ipq8064: add function to LED nodes
ARM: dts: qcom: ipq8064-rb3011: add color to LED node
ARM: dts: qcom: ipq4018-ap120c-ac: add function and color to LED nodes
ARM: dts: qcom: apq8060-ifc6410: add color to LED node
ARM: dts: qcom: apq8060-dragonboard: add function and color to LED nodes
soc: qcom: aoss: Fix refcount leak in qmp_cooling_devices_register
soc: qcom: llcc: Fix syntax errors in comments
soc: qcom: ocmem: Fix refcount leak in of_get_ocmem
ARM: dts: qcom: sdx55: Fix the IRQ trigger type for UART
ARM: dts: qcom-msm8974: fix irq type on blsp2_uart1
ARM: dts: qcom: msm8974: Add BAM DMUX Ethernet/IP device
dt-bindings: clock: qcom: ipq8074: add USB GDSCs
dt-bindings: soc: qcom,wcnss: remove unneeded ref for names
docs/doc-guide: Mention make variable SPHINXDIRS
scripts: get_feat.pl: use /usr/bin/env to find perl
docs/zh_CN: Add mutex-design Chinese translation
docs/zh_CN: Show the Chinese translation of spinlocks
dax: set did_zero to true when zeroing successfully
iomap: set did_zero to true when zeroing successfully
iomap: skip pages past eof in iomap_do_writepage()
ACPI: Move PRM config option under the main ACPI config
ACPI: Enable Platform Runtime Mechanism(PRM) support on ARM64
ACPI: PRM: Change handler_addr type to void pointer
arm64: dts: qcom: add SC8280XP platform
dt-bindings: mailbox: qcom-ipcc: Add NSP1 client
dt-bindings: arm: qcom: Document additional sc8280xp devices
arm64: dts: qcom: sm8450: Add interconnect requirements for SCM
arm64: dts: qcom: sdm660: Add initial Inforce IFC6560 board support
spi: spi.c: Remove redundant else block
spi: spi.c: Fix comment style
spi: spi.c: White-space fix in __spi_pump_messages()
regmap: cache: Add extra parameter check in regcache_init
regulator: scmi: Add missing of_node_get()
ACPI: bus: Drop driver member of struct acpi_device
ACPI: bus: Drop redundant check in acpi_device_remove()
spi: pxa2xx: Add support for Intel Meteor Lake-P
crypto: arm64/gcm - Select AEAD for GHASH_ARM64_CE
crypto: testmgr - fix version number of RSA tests
crypto: vmx - drop unexpected word 'for' in comments
crypto: caam - drop unexpected word 'for' in comments
crypto: caam - drop unexpected word 'a' in comments
crypto: cavium - fix typos in comments
crypto: arm64/aes-neon - Fix typo in comment
crypto: ux500/hash - drop unexpected word "the"
crypto: nx - drop unexpected word "the"
crypto: lib/blake2s - reduce stack frame usage in self test
arm64: defconfig: enable Qualcomm LPG leds driver
ARM: dts: qcom: align gpio-key node names with dtschema
ARM: dts: qcom: adjust whitespace around '='
ARM: dts: qcom: ipq4019: fix Micron SPI NOR compatible
ARM: dts: qcom: apq8064: add unit addresses to QFPROM regions
ARM: dts: qcom: cleanup QFPROM nodes
ARM: dts: qcom: use dedicated QFPROM compatibles
ARM: dts: qcom: replace gcc PXO with pxo_board fixed clock
firmware: qcom_scm: Add bw voting support to the SCM interface
dt-bindings: firmware: qcom-scm: Add interconnects property
context_tracking: Split user tracking Kconfig
context_tracking: Rename context_tracking_cpu_set() to ct_cpu_track_user()
context_tracking: Rename context_tracking_enter/exit() to ct_user_enter/exit()
context_tracking: Rename context_tracking_user_enter/exit() to user_enter/exit_callable()
ACPI: APEI: Fix _EINJ vs EFI_MEMORY_SP
ACPI: LPSS: Fix missing check in register_device_clock()
dm: improve BLK_STS_DM_REQUEUE and BLK_STS_AGAIN handling
cpufreq: ACPI: Add Zhaoxin/Centaur turbo boost control interface support
ACPI: APEI: Better fix to avoid spamming the console with old error logs
ACPI: PM: save NVS memory for Lenovo G40-45
Documentation: ACPI: Update links and references to DSD related docs
ACPI: EC: Drop unused ident initializers from dmi_system_id tables
ACPI: EC: Re-use boot_ec when possible even when EC_FLAGS_TRUST_DSDT_GPE is set
ACPI: EC: Drop the EC_FLAGS_IGNORE_DSDT_GPE quirk
ACPI: EC: Remove duplicate ThinkPad X1 Carbon 6th entry from DMI quirks
regmap-irq: Deprecate the not_fixed_stride flag
regmap-irq: Add get_irq_reg() callback
regmap-irq: Fix inverted handling of unmask registers
regmap-irq: Deprecate type registers and virtual registers
regmap-irq: Introduce config registers for irq types
regmap-irq: Refactor checks for status bulk read support
regmap-irq: Remove mask_writeonly and regmap_irq_update_bits()
regmap-irq: Remove inappropriate uses of regmap_irq_update_bits()
regmap-irq: Remove an unnecessary restriction on type_in_mask
regmap-irq: Cleanup sizeof(...) use in memory allocation
regmap-irq: Remove unused type_reg_stride field
regmap-irq: Convert bool bitfields to unsigned int
blk-cgroup: factor out blkcg_free_all_cpd()
blk-cgroup: factor out blkcg_iostat_update()
ACPI: processor: Drop leftover acpi_processor_get_limit_info() declaration
ACPI: processor: Split out thermal initialization from ACPI PSS
dm: refactor dm_md_mempool allocation
dm: unexport dm_get_reserved_rq_based_ios
ACPI: video: Drop X86 dependency from Kconfig
regulator: qcom_smd: Add PM8909 RPM regulators
regulator: dt-bindings: qcom,smd-rpm: Add PM8909
regulator: qcom_smd: Fix pm8916_pldo range
regulator: mt6370: Use the correct header for platform_device_id
regulator: mt6370: Use 'fwnode_gpiod_get_index' to fix gpio parsing
block: simplify disk_set_independent_access_ranges
block: move ->ia_ranges from the request_queue to the gendisk
block: remove "select BLK_RQ_IO_DATA_LEN" from BLK_CGROUP_IOCOST dependency
ARM: dts: r9a06g032-rzn1d400-db: Add switch description
dt-bindings: net: pcs: add bindings for Renesas RZ/N1 MII converter
ARM: dts: r9a06g032: Describe switch
ARM: dts: r9a06g032: Describe GMAC2
ARM: dts: r9a06g032: Describe MII converter
arm64: dts: renesas: r9a07g054l2-smarc: Correct SoC name in comment
ARM: dts: renesas: Fix DA9063 watchdog subnode names
arm64: dts: renesas: r8a779m8: Drop operating points above 1.5 GHz
MAINTAINERS: Add Renesas SoC DT bindings to Renesas Architecture sections
nfs: Leave pages in the pagecache if readpage failed
buffer: Remove check for PageError
orangefs: Remove test for folio error
iomap: Remove test for folio error
jfs: Remove check for PageUptodate
remap_range: Remove check of uptodate flag
ufs: Remove checks for PageError
reiserfs: Remove check for PageError
ntfs3: Remove check for PageError
ntfs: Remove check for PageError
nilfs2: Remove check for PageError
ext2: Remove check for PageError
ntfs: Remove check for PageError
hfsplus: Remove check for PageError
hfs: Remove check for PageError
freevxfs: Remove check of PageError
afs: Remove check of PageError
block: Remove check of PageError
docs: Improve ->read_folio documentation
filemap: Use filemap_read_folio() in do_read_cache_folio()
filemap: Handle AOP_TRUNCATED_PAGE in do_read_cache_folio()
filemap: Move 'filler' case to the end of do_read_cache_folio()
netfs: Remove extern from function prototypes
filemap: Remove find_get_pages_range() and associated functions
shmem: Convert shmem_unlock_mapping() to use filemap_get_folios()
vmscan: Add check_move_unevictable_folios()
nilfs2: Convert nilfs_copy_back_pages() to use filemap_get_folios()
hugetlbfs: Convert remove_inode_hugepages() to use filemap_get_folios()
f2fs: Convert f2fs_invalidate_compress_pages() to use filemap_get_folios()
ext4: Convert mpage_map_and_submit_buffers() to use filemap_get_folios()
ext4: Convert mpage_release_unused_pages() to use filemap_get_folios()
buffer: Convert clean_bdev_aliases() to use filemap_get_folios()
filemap: Add filemap_get_folios()
filemap: Remove add_to_page_cache() and add_to_page_cache_locked()
hugetlb: Convert huge_add_to_page_cache() to use a folio
mpage: Convert do_mpage_readpage() to use a folio
mm: Remove __delete_from_page_cache()
mm: Account dirty folios properly during splits
firmware: xilinx: Add TF_A_PM_REGISTER_SGI SMC call
cpufreq: zynq: Fix refcount leak in zynq_get_revision
spi: intel: Add support for Intel Meteor Lake-P SPI serial flash
spi: s3c64xx: define exynosautov9 compatible
spi: s3c64xx: add spi port configuration for Exynos Auto v9 SoC
spi: s3c64xx: support custom value of internal clock divider
spi: s3c64xx: support loopback mode
arm64: dts: juno: Add cache-level property to L2 caches
arm64/fpsimd: Remove duplicate SYS_SVCR read
arm64: head: remove __PHYS_OFFSET
arm64: lds: use PROVIDE instead of conditional definitions
ata: libata-scsi: fix result type of ata_ioc32()
PCI: vmd: Add DID 8086:7D0B and 8086:AD0B for Intel MTL SKUs
fix short copy handling in copy_mc_pipe_to_iter()
copy_page_{to,from}_iter(): switch iovec variants to generic
dt-bindings: arm: qcom: document sda660 SoC and ifc6560 board
arm64: dts: qcom: sdm660: move SDHC2 card detect pinconf to board files
arm64: dts: qcom: sdm636-sony-xperia-ganges-mermaid: correct sdc2 pinconf
arm64: dts: qcom: sdm630: fix gpu's interconnect path
arm64: dts: qcom: sdm630: add second (HS) USB host support
arm64: dts: qcom: sdm630: rename qusb2phy to qusb2phy0
arm64: dts: qcom: sdm630: fix the qusb2phy ref clock
arm64: dts: qcom: sdm630: disable GPU by default
arm64: dts: qcom: sdm660: disable dsi1/dsi1_phy by default
arm64: dts: qcom: sdm630: disable dsi0/dsi0_phy by default
arm64: dts: qcom: correct interrupt controller on PM8916 and PMS405
arm64: dts: qcom: add missing gpio-ranges in PMIC GPIOs
soc: qcom: cmd-db: replace strscpy_pad() with strncpy()
selftests/drivers/gpu: Add error messages to drm_mm.sh
selftests/tpm2: increase timeout for kselftests
treewide: uapi: Replace zero-length arrays with flexible-array members
efi: Simplify arch_efi_call_virt() macro
drivers: fix typo in firmware/efi/memmap.c
blk-mq: cleanup disk sysfs registration
blk-mq: rename blk_mq_sysfs_{,un}register
block: remove the extra gendisk reference in __blk_mq_register_dev
block: use default groups to register the queue attributes
block: remove a superflous queue kobject reference
block: simplify blktrace sysfs attribute creation
arm64: vdso*: place got/plt sections in .rodata
arm64: vdso32: add ARM.exidx* sections
arm64: correct the effect of mitigations off on kpti
block: remove blk_cleanup_disk
block: simplify disk shutdown
block: stop setting the nomerges flags in blk_cleanup_queue
block: remove QUEUE_FLAG_DEAD
mtip32xx: fix device removal
mtip32xx: remove the device_status debugfs file
regulator: fix a kernel-doc warning
arm64: extable: cleanup redundant extable type EX_TYPE_FIXUP
arm64: extable: move _cond_extable to _cond_uaccess_extable
arm64: extable: make uaaccess helper use extable type EX_TYPE_UACCESS_ERR_ZERO
arm64: asm-extable: add asm uacess helpers
arm64: asm-extable: move data fields
arm64: extable: add new extable type EX_TYPE_KACCESS_ERR_ZERO support
x86/mce: Check whether writes to MCA_STATUS are getting ignored
sched/fair: Remove the energy margin in feec()
sched/fair: Remove task_util from effective utilization in feec()
sched/fair: Use the same cpumask per-PD throughout find_energy_efficient_cpu()
sched/fair: Rename select_idle_mask to select_rq_mask
sched, drivers: Remove max param from effective_cpu_util()/sched_cpu_util()
sched/fair: Decay task PELT values during wakeup migration
sched/fair: Provide u64 read for 32-bits arch helper
perf/core: Add a new read format to get a number of lost samples
sched/fair: Introduce SIS_UTIL to search idle CPU based on sum of util_avg
sched: only perform capability check on privileged operation
sched: Remove unused function group_first_cpu()
sched/fair: Remove redundant word " *"
selftests/rseq: check if libc rseq support is registered
selftests/rseq: riscv: fix 'literal-suffix' warning
selftests/rseq: riscv: use rseq_get_abi() helper
ARM: OMAP2+: Kconfig: Fix indentation
ARM: OMAP2+: Fix refcount leak in omap3xxx_prm_late_init
ARM: OMAP2+: pdata-quirks: Fix refcount leak bug
ARM: OMAP2+: display: Fix refcount leak bug
ARM: OMAP2+: Fix refcount leak in omapdss_init_of
spi: s3c64xx: move dma_release_channel to unprepare
spi: synquacer: Add missing clk_disable_unprepare()
docs/doc-guide: Put meta title for kernel-doc HTML page
docs/doc-guide: Add footnote on Inkscape for better images in PDF documents
docs/kselftest: add more guidelines for adding new tests
docs/zh_CN: Update zh_CN/kernel-hacking/hacking.rst to 5.19-rc1
docs/zh_CN: add vm vmalloced-kernel-stacks translation
docs/zh_CN: add vm page_migration translation
docs/zh_CN: riscv: Update the translation of vm-layout.rst to 5.19-rc1
docs/zh_CN: riscv: Remove the translation of pmu.rst
docs: dev-tools: modify SPL reference URL to actual SPL doc entry
docs: filesystems: f2fs: fix description about compress ioctl
docs/zh_CN: Update the translation of vm index to 5.19-rc1
docs/zh_CN: Update the translation of page_owner to 5.19-rc1
docs/zh_CN: Update the translation of highmem to 5.19-rc1
arm64: dts: qcom: sdm630: order interrupts according to bindings
arm64: dts: qcom: sdm630: order regs according to bindings
arm64: dts: qcom: sdm630: order clocks according to bindings
ARM: dts: qcom: add missing gpio-ranges in PMIC GPIOs
ARM: dts: qcom: pmx65: add fallback compatible to PMIC GPIO
ARM: dts: qcom: mdm9615: add missing PMIC GPIO reg
ARM: dts: qcom: align PMIC GPIO pin configuration with DT schema
arm64: dts: qcom: msm8994-msft-lumia-octagon: add PM8994 pin properties
arm64: dts: qcom: apq8096-db820c: add PM8994 pin function
arm64: dts: qcom: add fallback compatible to PMIC GPIOs
arm64: dts: qcom: align PMIC GPIO pin configuration with DT schema
arm64: dts: qcom: sdm845-akatsuki: Round down l22a regulator voltage
ARM: dts: qcom: sdx65: Add Watchdog support
dt-bindings: firmware: scm: Add compatible for SDX65
ARM: dts: qcom: sdx65: Add pshold support
ARM: dts: qcom: sdx65-mtp: Enable modem
ARM: dts: qcom: sdx65: Add Modem remoteproc node
ARM: dts: qcom: sdx65: Add SCM node
ARM: dts: qcom: sdx65: Add IMEM and PIL info region
ARM: dts: qcom: sdx65: Add modem SMP2P node
ARM: dts: qcom: sdx65: Add CPUFreq support
ARM: dts: qcom: sdx65-mtp: Enable QPIC NAND support
ARM: dts: qcom: sdx65-mtp: Enable QPIC BAM support
ARM: dts: qcom: sdx65: Add QPIC NAND support
ARM: dts: qcom: sdx65: Add QPIC BAM support
ARM: dts: qcom: sdx65-mtp: Enable USB3 and PHY support
ARM: dts: qcom: sdx65: Add USB3 and PHY support
ARM: dts: qcom: sdx65: Add interconnect nodes
ARM: dts: qcom: sdx65: Add Shared memory manager support
arm64: dts: qcom: msm8996: Add SDHCI resets
arm64: dts: qcom: msm8996-tone: Rule out PM(I)8994 variants
arm64: dts: qcom: msm8996-tone: Drop cont_splash_mem region
arm64: dts: qcom: msm8998-mtp: Merge and fix up the DT
arm64: dts: qcom: msm8998-fxtec: Decouple from 8998 MTP
arm64: dts: qcom: msm8998*: Clean up #includes
arm64: dts: qcom: msm8998-oneplus: Add clocks & GDSC to simplefb
arm64: dts: qcom: msm8998*: Keep MMCC & MMSS_SMMU enabled by default
arm64: dts: qcom: msm8998-fxtec: Use "okay" instead of "ok"
arm64: dts: qcom: msm8998-oneplus: Apply style fixes
arm64: dts: qcom: msm8998-yoshino/oneplus: Use pm8005_regulators label
arm64: dts: qcom: msm8998-yoshino: Remove simple-bus compatible from clocks{}
arm64: dts: qcom: msm8998-yoshino: Add USB extcon
arm64: dts: qcom: msm8998-yoshino-lilac: Disable LVS1
arm64: dts: qcom: msm8998-laptops: Clean up DTs
arm64: dts: qcom: msm8998-clamshell: Clean up the DT
arm64: dts: qcom: msm8998*: Fix TLMM and pin nodes
arm64: dts: qcom: sdm845: Add camss vdda-pll-supply
arm64: dts: qcom: sdm845: Rename camss vdda-supply to vdda-phy-supply
arm64: dts: qcom: timer should use only 32-bit size
kselftests/damon: add support for cases where debugfs cannot be read
selftests: Make the usage formatting consistent in kselftest_deps.sh
kselftests: Enable the echo command to print newlines in Makefile
arm64: dts: qcom: align OPP table names with DT schema
userfaultfd/selftests: Fix typo in comment
ARM: dts: bcm2711: Use proper compatible in PM/Watchdog node
ARM: dts: bcm2835/bcm2711: Introduce reg-names in watchdog node
dt-bindings: soc: bcm: bcm2835-pm: Add support for bcm2711
dt-bindings: soc: bcm: bcm2835-pm: Introduce reg-names
dt-bindings: soc: bcm: bcm2835-pm: Convert bindings to DT schema
blk-mq: blk_mq_tag_busy is no need to return a value
block: Always initialize bio IO priority on submit
block: Initialize bio priority earlier
blk-ioprio: Convert from rqos policy to direct call
blk-ioprio: Remove unneeded field
block: Fix handling of tasks without ioprio in ioprio_get(2)
block: Make ioprio_best() static
block: Generalize get_current_ioprio() for any task
block: Return effective IO priority from get_current_ioprio()
block: fix default IO priority handling again
blk-mq: Don't disable preemption around __blk_mq_run_hw_queue().
block: bfq: Fix kernel-doc headers
block: bfq: Remove an unused function definition
bfq: Remove useless code in bfq_lookup_next_entity
block: move blk_queue_get_max_sectors to blk.h
block: fold blk_max_size_offset into get_max_io_size
block: cleanup variable naming in get_max_io_size
block: open code blk_max_size_offset in blk_rq_get_max_sectors
dm: open code blk_max_size_offset in max_io_len
block: factor out a chunk_size_left helper
block: Make blk_mq_get_sq_hctx() select the proper hardware queue type
block: Rename a blk_mq_map_queue() argument
blk-iocost: Simplify ioc_rqos_done()
block: Directly use ida_alloc()/free()
iomap: add support for dma aligned direct-io
block: relax direct io memory alignment
block: introduce bdev_iter_is_aligned helper
iov: introduce iov_iter_aligned
block/bounce: count bytes instead of sectors
block/merge: count bytes instead of sectors
block: add a helper function for dio alignment
block: introduce bdev_dma_alignment helper
block: export dma_alignment attribute
block/bio: remove duplicate append pages code
block: fix infinite loop for invalid zone append
spi: opportunistically skip ctlr->cur_msg_completion
spi: Ensure the io_mutex is held until spi_finalize_current_message()
spi: Set ctlr->cur_msg also in the sync transfer case
spi: Remove unneeded READ_ONCE for ctlr->busy flag
spi: Remove the now unused ctlr->idling flag
spi: Remove check for idling in __spi_pump_messages()
spi: Remove check for controller idling in spi sync path
spi: __spi_pump_messages: Consolidate spin_unlocks to goto target
spi: Lock controller idling transition inside the io_mutex
spi: Don't use the message queue if possible in spi_sync
spi: Move ctlr->cur_msg_prepared to struct spi_message
spi: mpc52xx-psc: Switch to using core message queue
spi: sh: Switch to using core message queue
spi: dt-bindings: samsung: Add Exynos4210 SPI
spi: dw: Add deferred DMA-channels setup support
spi: s3c64xx: constify fsd_spi_port_config
regmap: Don't warn about cache only mode for devices with no cache
arm64: Add HAVE_IOREMAP_PROT support
arm64: mm: Convert to GENERIC_IOREMAP
mm: ioremap: Add ioremap/iounmap_allowed()
mm: ioremap: Setup phys_addr of struct vm_struct
mfd: core: Use acpi_dev_for_each_child()
mm: ioremap: Use more sensible name in ioremap_prot()
ARM: mm: kill unused runtime hook arch_iounmap()
ARM: dts: am33xx: Map baseboard EEPROM on BeagleBone Black
perf: hisi: Extract hisi_pmu_init
arm64: Copy the task argument to unwind_state
arm64: Split unwind_init()
arm64/signal: Clean up SVE/SME feature checking inconsistency
cgroup.c: remove redundant check for mixable cgroup in cgroup_migrate_vet_dst
ARM: dts: s5pv210: align SDHCI node name with dtschema
ARM: dts: s3c64xx: align SDHCI node name with dtschema
ARM: dts: s3c24xx: align SDHCI node name with dtschema
ARM: dts: exynos: align SDHCI node name with dtschema
ARM: dts: at91: drop unneeded status from gpio-keys
ARM: dts: at91: correct gpio-keys properties
ARM: dts: at91: align gpio-key node names with dtschema
ARM: dts: omap: correct gpio-keys properties
ARM: dts: omap: align gpio-key node names with dtschema
arm64: dts: marvell: armada-3720: align lednode names with dtschema
arm64: dts: marvell: align gpio-key node names with dtschema
ARM: dts: marvell: correct gpio-keys properties
ARM: dts: marvell: align gpio-key node names with dtschema
ARM: dts: omap: adjust whitespace around '='
ARM: dts: ti: adjust whitespace around '='
ARM: dts: stih407-family: Harmonize DWC USB3 DT nodes name
soc: imx: imx8m-blk-ctrl: Make error prints useful
arm64: dts: apm: Harmonize DWC USB3 DT nodes name
arm64: dts: freescale: Add phyBOARD-Polis-i.MX8MM support
arm64: dts: imx8m{m,p}-verdin: use IT temperatures
ARM: dts: imx6qdl-prti6q.dtsi: Add applicable properties to usdhc3
ARM: dts: imx6q-bosch-acc: Replace 'enable-sdio-wakeup'
ARM: dts: imx7d-smegw01: Replace 'enable-sdio-wakeup'
arm64: defconfig: Enable gpio-fan support
bindings: arm: fsl: Add PHYTEC i.MX8MM devicetree bindings
arm64: dts: imx8mn-evk: add bt-sco sound card support
arm64: dts: imx8mq-evk: add bt-sco sound card support
arm64: dts: imx8mm-evk: add bt-sco sound card support
soc: fsl: guts: add serial_number support
soc: fsl: guts: drop platform driver
soc: fsl: guts: use of_root instead of own reference
soc: fsl: guts: allocate soc_dev_attr on the heap
soc: fsl: guts: embed fsl_guts_get_svr() in probe()
soc: fsl: guts: remove module_exit() and fsl_guts_remove()
soc: fsl: guts: machine variable might be unset
dt-bindings: arm: qcom: switch maintainer to Bjorn
soc: qcom: rpmhpd: fix typos in comment
arm64: dts: qcom: sm8250: Disable camcc by default
soc: qcom: correct kerneldoc
soc: qcom: cmd-db: replace strncpy() with strscpy_pad()
firmware: qcom_scm-legacy: correct kerneldoc
dt-bindings: firmware: document Qualcomm QCS404 and SM6125 SCM
soc: qcom: apr: Drop redundant check in .remove()
arm64: dts: qcom: msm8996: add clocks to the MMCC device node
arm64: dts: qcom: sm8450: add uart20 node
arm64: dts: qcom: sc7280-qcard: Add ldo_l17b regulator node
arm64: dts: qcom: sc7280: Set SPI flash to 50 MHz for herobrine boards
arm64: dts: qcom: sc7280: Set modem FW path for Chrome OS boards
arm64: qcom: sc7280-herobrine: Enable DP
arm64: dts: qcom: sc7180: Remove ipa_fw_mem node on trogdor
arm64: dts: qcom: sc7280: Enable wifi for Chrome OS boards
dt-bindings: arm: qcom: Add more sc7180 Chromebook board bindings
dt-bindings: arm: qcom: Add / fix sc7280 board bindings
dt-bindings: arm: qcom: Add sc7180 Chromebook board bindings
dt-bindings: arm: qcom: Mention that Chromebooks use a different scheme
dt-bindings: Document how Chromebooks with depthcharge boot
arm64: dts: qcom: sc7280: Enable keyboard backlight for villager
arm64: dts: qcom: sc7280: herobrine: Don't disable the keyboard backlight node
arm64: dts: qcom: sc7280: Add touchscreen to villager
clk: qcom: gcc-sc7280: use new clk_regmap_phy_mux_ops for PCIe pipe clocks
clk: qcom: gcc-sm8450: use new clk_regmap_phy_mux_ops for PCIe pipe clocks
clk: qcom: regmap: add PHY clock source implementation
firmware: qcom_scm: drop unexpected word "the"
soc: qcom: socinfo: Add an ID for sc7180P
arm64: dts: qcom: sc7280-herobrine: Add lpi pinmux properties for CRD 3.0/3.1
arm64: dts: qcom: sc7280: add lpass lpi pin controller node
arm64: dts: qcom: sc7280: Add secondary MI2S pinmux specifications for CRD 3.0/3.1
arm64: dts: qcom: sc7280: Add pinmux for I2S speaker and Headset
arm64: dts: qcom: sdm660-xiaomi-lavender: Configure WLED
docs: UML: fix typo
docs/zh_CN: core-api: Update the translation of xarray.rst to 5.19-rc3
docs/zh_CN: core-api: Update the translation of workqueue.rst to 5.19-rc3
docs/zh_CN: core-api: Update the translation of printk-format.rst to 5.19-rc3
docs/zh_CN: core-api: Update the translation of printk-basics.rst to 5.19-rc3
docs/zh_CN: core-api: Update the translation of mm-api.rst to 5.19-rc3
docs/zh_CN: core-api: Update the translation of kernel-api.rst to 5.19-rc3
docs/zh_CN: core-api: Update the translation of irq/irq-domain.rst to 5.19-rc3
docs/zh_CN: core-api: Update the translation of cpu_hotplug.rst to 5.19-rc3
docs/zh_CN: core-api: Update the translation of cachetlb.rst to 5.19-rc3
docs: driver-api: gpio: Fix some typos
docs: Remove duplicate word
arm64: dts: altera: socfpga_stratix10: move clocks out of soc node
docs: admin-guide/sysctl: Fix rendering error
efi: vars: Move efivar caching layer into efivarfs
efi: vars: Drop __efivar_entry_iter() helper which is no longer used
efi: vars: Switch to new wrapper layer
efi: vars: Use locking version to iterate over efivars linked lists
efi: vars: Remove deprecated 'efivars' sysfs interface
efi: pstore: Omit efivars caching EFI varstore access layer
efi: vars: Add thin wrapper around EFI get/set variable interface
efi: vars: Don't drop lock in the middle of efivar_init()
pstore: Add priv field to pstore_record for backend specific use
ARM: dts: lpc18xx: Harmonize EHCI/OHCI DT nodes name
arm64: dts: qcom: sm8250: remove assigned-clock-rate property for mdp clk
arm64: dts: qcom: sdm845: remove assigned-clock-rate property for mdp clk
arm64: dts: qcom: sm7180: remove assigned-clock-rate property for mdp clk
arm64: dts: qcom: sm7280: remove assigned-clock-rate property for mdp clk
arm64: setup: drop early FDT pointer helpers
arm64: head: avoid relocating the kernel twice for KASLR
arm64: kaslr: defer initialization to initcall where permitted
arm64: head: record CPU boot mode after enabling the MMU
arm64: head: populate kernel page tables with MMU and caches on
arm64: head: factor out TTBR1 assignment into a macro
arm64: idreg-override: use early FDT mapping in ID map
arm64: head: create a temporary FDT mapping in the initial ID map
arm64: head: use relative references to the RELA and RELR tables
arm64: head: cover entire kernel image in initial ID map
arm64: head: add helper function to remap regions in early page tables
arm64: mm: provide idmap pointer to cpu_replace_ttbr1()
arm64: head: pass ID map root table address to __enable_mmu()
arm64: kernel: drop unnecessary PoC cache clean+invalidate
arm64: head: split off idmap creation code
arm64: head: switch to map_memory macro for the extended ID map
arm64: head: simplify page table mapping macros (slightly)
arm64: head: drop idmap_ptrs_per_pgd
arm64: head: move assignment of idmap_t0sz to C code
arm64: mm: make vabits_actual a build time constant if possible
arm64: head: move kimage_vaddr variable into C file
ARM: tegra: Align gpio-keys node names with dtschema
firmware: tegra: bpmp: Do only aligned access to IPC memory area
perf/marvell_cn10k: Fix TAD PMU register offset
perf/marvell_cn10k: Remove useless license text when SPDX-License-Identifier is already used
arm64: entry: simplify trampoline data page
crypto: qat - Removes the x86 dependency on the QAT drivers
crypto: qat - replace get_current_node() with numa_node_id()
crypto: rsa - implement Chinese Remainder Theorem for faster private key operations
crypto: ccp - During shutdown, check SEV data pointer before using
Input: applespi - avoid efivars API and invoke EFI services directly
selftests/kexec: remove broken EFI_VARS secure boot fallback check
locking/lockdep: Fix lockdep_init_map_*() confusion
jump_label: make initial NOP patching the special case
jump_label: mips: move module NOP patching into arch code
jump_label: s390: avoid pointless initial NOP patching
PCI: rcar-gen2: Add RZ/N1 SOC family compatible string
dt-bindings: PCI: renesas,pci-rcar-gen2: Add device tree support for R9A06G032
dt-bindings: PCI: pci-rcar-gen2: Convert bindings to json-schema
dmaengine: dw-edma: Add support for chip-specific flags
dmaengine: dw-edma: Fix eDMA Rd/Wr-channels and DMA-direction semantics
dmaengine: dw-edma: Drop dma_slave_config.direction field usage
dmaengine: dw-edma: Rename wr(rd)_ch_cnt to ll_wr(rd)_cnt in struct dw_edma_chip
dmaengine: dw-edma: Change rg_region to reg_base in struct dw_edma_chip
dmaengine: dw-edma: Detach the private data and chip info structures
ACPI / MMC: PM: Unify fixing up device power
soundwire: Use acpi_dev_for_each_child()
arm64: trap implementation defined functionality in userspace
Documentation/arm64: update memory layout table.
arm64: kcsan: Support detecting more missing memory barriers
asm-generic: Add memory barrier dma_mb()
arm64: boot: add zstd support
arm64: cpufeature: Allow different PMU versions in ID_DFR0_EL1
arm64: mm: install KPTI nG mappings with MMU enabled
arm64: kpti-ng: simplify page table traversal logic
arm64/sme: Expose SMIDR through sysfs
pstore/zone: cleanup "rcnt" type
arm64: compat: Move kuser32.S to .rodata section
arm64: stacktrace: use non-atomic __set_bit
arm64: kasan: do not instrument stacktrace.c
ARM: dts: ux500: Fix Gavini accelerometer mounting matrix
ARM: dts: ux500: Fix Codina accelerometer mounting matrix
ARM: dts: ux500: Fix Janice accelerometer mounting matrix
spi: fsi: Increase timeout and ensure status is checked
regulator: mt6370: Add mt6370 DisplayBias and VibLDO support
perf/arm-cci: fix typo in comment
drivers/perf:Directly use ida_alloc()/free()
drivers/perf: Directly use ida_alloc()/free()
arm64: select TRACE_IRQFLAGS_NMI_SUPPORT
arch: make TRACE_IRQFLAGS_NMI_SUPPORT generic
arm64: vdso32: enable orphan handling for VDSO
arm64: vdso32: put ELF related sections in the linker script
arm64: vdso: enable orphan handling for VDSO
arm64: vdso: put ELF related sections in the linker script
arm64: cpuidle: remove generic cpuidle support
cpuidle: cpuidle-arm: remove arm64 support
regulator: rt5120: Add PMIC regulator support
soc: mediatek: fix missing clk_disable_unprepare() on err in svs_resume()
ARM: dts: xilinx: align gpio-key node names with dtschema
arm64: dts: xilinx: align gpio-key node names with dtschema
arm64: dts: zynqmp: add AMS driver to device tree
dt-bindings: gpio: zynq: Describe gpio-line-names
arm64: zynqmp: Fix comment about number of gpio line names
dt-bindings: gpio: zynq: Add power-domains
dt-bindings: gpio: zynq: Add missing compatible strings
ARM: dts: rockchip: correct gpio-keys properties on rk3288-tinker
ARM: dts: rockchip: align gpio-key node names with dtschema
arm64: dts: rockchip: align gpio-key node names with dtschema
dt-bindings: arm: Add compatible for MediaTek MT8186
dt-bindings: arm: mediatek: Add mt8186 pericfg compatible
arm64: dts: mediatek: mt6795: Specify interrupts for vGIC
arm64: dts: mediatek: mt6795: Add pinctrl controller node
arm64: dts: mediatek: mt6795: Add ARM CCI-400 node and assign to CPUs
arm64: dts: mediatek: mt6795: Add general purpose timer node
arm64: dts: mediatek: mt6795: Remove incorrect fixed-clocks
arm64: dts: mediatek: mt6795: Add fixed clocks for 32kHz and 26MHz XOs
arm64: dts: mediatek: mt6795: Add watchdog node to avoid timeouts
arm64: dts: mediatek: mt6795: Add Cortex A53 PMU nodes
arm64: dts: mediatek: mt6795: Add cpu-map and L2 cache
arm64: dts: mediatek: mt6795: Create soc bus node and move mmio devices
arm64: dts: mediatek: mt7622-rfb1: remove wrong gpio-keys property
arm64: dts: mediatek: mt2712e: Add mediatek, infracfg phandle for IOMMU
arm64: dts: mediatek: mt8173: Add mediatek,infracfg phandle for IOMMU
arm64: dts: mediatek: mt8183: change efuse node name
arm64: dts: mediatek: mt8192: fix dtbs check warning of efuse
arm64: dts: mt8192: Fix idle-states entry-method
arm64: dts: mt8192: Fix idle-states nodes naming scheme
soc: mediatek: mutex: Use DDP_COMPONENT_DITHER0 mod index for MT8365
pwm: mediatek: Add MT8365 support
arm64: dts: mediatek: Replace 'enable-sdio-wakeup'
dt-bindings: pwm: Add MT8365 SoC binding
pwm: Drop unused forward declaration from pwm.h
pwm: Reorder header file to get rid of struct pwm_capture forward declaration
pwm: atmel-tcb: Fix typo in comment
pwm: Drop support for legacy drivers
ARM: dts: exynos: add function and color to LED nodes in Odroid XU/XU3
ARM: dts: exynos: add function and color to LED node in Odroid XU4
ARM: dts: exynos: add function and color to LED node in Odroid HC1
ARM: dts: exynos: add function and color to LED nodes in Odroid X/X2
ARM: dts: exynos: add function and color to LED node in Odroid U3
ARM: dts: exynos: add function and color to LED nodes in Itop Elite
ARM: dts: exynos: add function to LED nodes in Tiny4412
ARM: dts: exynos: add function to LED node in Origen 4210
ARM: dts: exynos: add function and color to aat1290 flash LED node in Galaxy S3
ARM: dts: exynos: align aat1290 flash LED node with bindings in Galaxy S3
arm64: dts: mediatek: Add infra #reset-cells property for MT8195
arm64: dts: mediatek: Add infra #reset-cells property for MT8192
ARM: dts: ast2600-evb-a1: fix board compatible
ARM: dts: ast2600-evb: fix board compatible
ARM: dts: ast2500-evb: fix board compatible
dt-bindings: arm: aspeed: document board compatibles
dt-bindings: arm: aspeed: document board compatibles
x86/vmware: Use BIT() macro for shifting
context_tracking: Rename __context_tracking_enter/exit() to __ct_user_enter/exit()
refscale: Convert test_lock spinlock to raw_spinlock
rcutorture: Handle failure of memory allocation functions
rcutorture: Fix ksoftirqd boosting timing and iteration
torture: Create kvm-check-branches.sh output in proper location
rcuscale: Fix smp_processor_id()-in-preemptible warnings
rcutorture: Make failure indication note reader-batch overflow
torture: Adjust to again produce debugging information
rcutorture: Fix memory leak in rcu_test_debug_objects()
rcutorture: Simplify rcu_torture_read_exit_child() loop
rcu/torture: Change order of warning and trace dump
rcu-tasks: Use delayed_work to delay rcu_tasks_verify_self_tests()
rcu-tasks: Be more patient for RCU Tasks boot-time testing
rcu-tasks: Update comments
rcu-tasks: Disable and enable CPU hotplug in same function
rcu-tasks: Eliminate RCU Tasks Trace IPIs to online CPUs
rcu-tasks: Maintain a count of tasks blocking RCU Tasks Trace grace period
rcu-tasks: Stop RCU Tasks Trace from scanning full tasks list
doc: Document rcutree.nocb_nobypass_lim_per_jiffy kernel parameter
doc: Document the rcutree.rcu_divisor kernel boot parameter
rcutorture: Update rcutorture.fwd_progress help text
platform/x86/thinkpad_acpi: Use acpi_dev_for_each_child()
ACPI: scan: Walk ACPI device's children using driver core
selinux: selinux_add_opt() callers free memory
ARM: dts: BCM5301X: Add DT for Meraki MR26
dt-bindings: ARM: add bindings for the Meraki MR26
ACPI: bus: Introduce acpi_dev_for_each_child_reverse()
ACPI: video: Use acpi_dev_for_each_child()
ACPI: bus: Export acpi_dev_for_each_child() to modules
ACPI: property: Use acpi_dev_for_each_child() for child lookup
ACPI: container: Use acpi_dev_for_each_child()
USB: ACPI: Replace usb_acpi_find_port() with acpi_find_child_by_adr()
thunderbolt: ACPI: Replace tb_acpi_find_port() with acpi_find_child_by_adr()
ACPI: glue: Introduce acpi_find_child_by_adr()
ACPI: glue: Introduce acpi_dev_has_children()
ACPI: glue: Use acpi_dev_for_each_child()
dt-bindings: clock: Add compatible for D1 DE2 clocks
context_tracking: Add a note about noinstr VS unsafe context tracking functions
tools/nolibc: add a help target to list supported targets
tools/nolibc: make the default target build the headers
tools/nolibc: fix the makefile to also work as "make -C tools ..."
tools/nolibc/stdio: Add format attribute to enable printf warnings
tools/nolibc/stdlib: Support overflow checking for older compiler versions
context_tracking: Remove unused context_tracking_in_user()
rcu: Apply noinstr to rcu_idle_enter() and rcu_idle_exit()
rcu: Dump rcuc kthread status for CPUs not reporting quiescent state
torture: Make kvm-remote.sh announce which system is being waited on
rcu-tasks: Stop RCU Tasks Trace from scanning idle tasks
rcu-tasks: Pull in tasks blocked within RCU Tasks Trace readers
rcu-tasks: Scan running tasks for RCU Tasks Trace readers
rcu-tasks: Avoid rcu_tasks_trace_pertask() duplicate list additions
rcu-tasks: Move rcu_tasks_trace_pertask() before rcu_tasks_trace_pregp_step()
rcu-tasks: Add blocked-task indicator to RCU Tasks Trace stall warnings
rcu-tasks: Untrack blocked RCU Tasks Trace at reader end
rcu-tasks: Track blocked RCU Tasks Trace readers
rcu-tasks: Add data structures for lightweight grace periods
rcu-tasks: Make RCU Tasks Trace stall warning handle idle offline tasks
rcu-tasks: Make RCU Tasks Trace stall warnings print full .b.need_qs field
rcu-tasks: Flag offline CPUs in RCU Tasks Trace stall warnings
rcu-tasks: Add slow-IPI indicator to RCU Tasks Trace stall warnings
rcu-tasks: Simplify trc_inspect_reader() QS logic
rcu-tasks: Make rcu_note_context_switch() unconditionally call rcu_tasks_qs()
rcu-tasks: RCU Tasks Trace grace-period kthread has implicit QS
rcu-tasks: Handle idle tasks for recently offlined CPUs
rcu-tasks: Idle tasks on offline CPUs are in quiescent states
rcu-tasks: Make trc_read_check_handler() fetch ->trc_reader_nesting only once
rcu-tasks: Remove rcu_tasks_trace_postgp() wait for counter
rcu-tasks: Merge state into .b.need_qs and atomically update
rcu-tasks: Drive synchronous grace periods from calling task
rcu-tasks: Move synchronize_rcu_tasks_generic() down
rcu-tasks: Split rcu_tasks_one_gp() from rcu_tasks_kthread()
rcu-tasks: Check for abandoned callbacks
rcutorture: Validate get_completed_synchronize_rcu()
rcu: Provide a get_completed_synchronize_rcu() function
rcu: Make normal polling GP be more precise about sequence numbers
x86/pmem: Fix platform-device leak in error path
arm64: dts: exynos: Add internal eMMC support to jackpotlte
m68k: sun3: Use __func__ to get function's name in an output message
m68k: mac: Fix typos in comments
m68k: virt: Kconfig minor fixes
dt-bindings: clock: Add indices for Exynos7885 TREX clocks
dt-bindings: clock: Add bindings for Exynos7885 CMU_FSYS
spi: topcliff-pch: Use core message validation
ARM: dts: animeo: correct gpio-keys properties
ARM: dts: animeo: align gpio-key node names with dtschema
arm64: dts: hisilicon: correct gpio-keys properties
arm64: dts: hisilicon: align gpio-key node names with dtschema
arm64: dts: broadcom: align gpio-key node names with dtschema
arm64: dts: apm: correct gpio-keys properties
ata: pata_macio: Fix compilation warning
brcmfmac: Switch to appropriate helper to load EFI variable contents
iwlwifi: Switch to proper EFI variable store interface
media: atomisp_gmin_platform: stop abusing efivar API
efi: efibc: avoid efivar API for setting variables
efi: avoid efivars layer when loading SSDTs from variables
ARM: dts: imx6q-apalis: Cleanup
ARM: dts: imx6q-apalis: backlight pwm: Adapt brightness steps
ARM: dts: imx6q-apalis: backlight pwm: Simplify inverted backlight
ARM: dts: imx6q-apalis: Add support for Toradex Ixora V1.2 carrier boards
ARM: dts: imx6q-apalis: Clean-up sd card support
ARM: dts: imx6q-apalis: Add adv7280 video input
ARM: dts: imx6q-apalis: Add ov5640 mipi csi camera
ARM: dts: imx6q-apalis: Disable stmpe touchscreen
ARM: dts: imx6q-apalis: Disable HDMI
ARM: dts: imx6q-apalis: Add LVDS panel support
ARM: dts: imx6q-apalis: move gpio-keys to SoM dtsi
ARM: dts: imx6q-apalis: Move Atmel MXT touch ctrl to SoM dtsi
ARM: dts: imx6q-apalis: Move pinmux groups to SoM dtsi
ARM: dts: imx6q-apalis: Move parallel rgb interface to SoM dtsi
ARM: dts: imx6q-apalis: Command pmic to standby for poweroff
ARM: dts: imx6q-apalis: Add gpio-line-names
Revert "ARM: dts: imx6qdl-apalis: Avoid underscore in node name"
dt-bindings: arm: fsl: Add carrier for toradex,apalis-imx6q
arm64: freescale/imx8mp-evk.dts: reorder nodes alphabetically
arm64: dts: imx8mq: Pass a label to the AIPS nodes
arm64: dts: imx8m: Pass a label to the soc node
ARM: dts: imx: Pass a label to the AIPS nodes
ARM: dts: imx: Pass a label to the soc node
dt-bindings: arm: fsl: Decrease the line length
dt-bindings: arm: Add DH electronics i.MX8M Plus DHCOM and PDK2
dt-bindings: arm: fsl: add toradex,colibri-imx7s/d/d-emmc-iris/-v2
dt-bindings: arm: fsl: add imx93 11x11 evk board
dt-bindings: arm: fsl: correct 1g vs. 1gb in toradex,colibri-imx6ull-*
arm64: dts: imx8mm-venice-gw7902: fix UART1 CTS
ata: libata-eh: fix sloppy result type of ata_internal_cmd_timeout()
ata: libata-core: fix sloppy parameter type in ata_exec_internal[_sg]()
ata: make ata_port::fastdrain_cnt *unsigned int*
ata: libata-eh: fix sloppy result type of ata_eh_nr_in_flight()
arm64: dts: imx8mp: Add support for DH electronics i.MX8M Plus DHCOM and PDK2
ARM: dts: imx6ul: fix qspi node compatible
ARM: dts: imx6ul: fix lcdif node compatible
ARM: dts: imx6ul: fix csi node compatible
ARM: dts: imx6ul: fix keypad compatible
ARM: dts: imx6ul: change operating-points to uint32-matrix
ARM: dts: imx6ul: add missing properties for sram
arm64: dts: freescale: align led node names with dtschema
arm64: dts: freescale: align gpio-key node names with dtschema
soc: imx: gpcv2: print errno for regulator errors
arm64: dts: imx8m: Disable job ring 0 nodes
arm64: dts: freescale: imx8qxp: Fix thermal zone name for cpu0
ARM: dts: imx6: fix node names for ebook reader keys
ARM: dts: imx6sl-tolino-shine2hd: fix led node name.
ARM: imx25: support silicon revision 1.2
arm64: dts: mba8mx: Remove unneeded comments
ARM: dts: imx6: skov: add pwm-regulator to control the panel's VCOM
soc: ti: wkup_m3_ipc: Remove unneeded semicolon
ARM: dts: keystone: Adjust whitespace around '='
arm64: dts: ti: Align gpio-key node names with dtschema
arm64: dts: ti: Adjust whitespace around '='
soc: bcm: brcmstb: biuctrl: Add missing of_node_put()
arm64: dts: rockchip: rock-pi-s add more peripherals
arm64: dts: rockchip: add ROCK Pi S DTS support
dt-bindings: arm: rockchip: Add Radxa ROCK Pi S
arm64: dts: mt8183: add GCE client property for Mediatek MUTEX
soc: mediatek: mutex: add functions that operate registers by CMDQ
dt-bindings: soc: mediatek: add gce-client-reg for MUTEX
dt-bindings: soc: mediatek: move out common module from display folder
soc: mediatek: mutex: add 8183 MUTEX MOD settings for MDP
soc: mediatek: mutex: add common interface for modules setting
soc: mediatek: pm-domains: Add support always on flag
ARM: dts: mediatek: align gpio-key node names with dtschema
arm64: dts: mediatek: mt7622-bananapi-bpi-r64: align led node names with dtschema
arm64: dts: mediatek: align gpio-key node names with dtschema
soc: mediatek: mt8365-mmsys: add DPI/HDMI display path
soc: mediatek: mutex: add MT8365 support
crypto: hisilicon/sec - only HW V2 needs to change the BD err detection
crypto: sun8i-ss - fix infinite loop in sun8i_ss_setup_ivs()
crypto: hisilicon/qm - modify event irq processing
crypto: hisilicon/qm - move alloc qm->wq to qm.c
crypto: hisilicon/qm - add functions for releasing resources
crypto: hisilicon/trng - fix local variable type
MAINTAINERS: update HiSilicon ZIP and QM maintainers
ARM: dts: mediatek: adjust whitespace around '='
arm64: dts: mediatek: adjust whitespace around '='
arm64: dts: mediatek: mt8195: enable usb remote wakeup
arm64: dts: mediatek: mt8195: add efuse node and cells
arm64: dts: mt8183: add svs device information
soc: mediatek: SVS: add mt8192 SVS GPU driver
dt-bindings: soc: mediatek: add mt8192 svs dt-bindings
soc: mediatek: SVS: add debug commands
soc: mediatek: SVS: add monitor mode
soc: mediatek: SVS: introduce MTK SVS engine
dt-bindings: soc: mediatek: add mtk svs dt-bindings
ARM: dts: rza2mevb: Fix LED node names
arm64: dts: renesas: Fix thermal-sensors on single-zone sensors
arm64: dts: renesas: spider-cpu: Enable SCIF0 on second connector
arm64: dts: renesas: r8a779f0: Add SCIF nodes
arm64: dts: renesas: r8a779f0: Add HSCIF nodes
arm64: dts: renesas: r8a779f0: Add DMA properties to SCIF3
arm64: dts: renesas: Add missing space after remote-endpoint
arm64: dts: renesas: rzg2ul-smarc-som: Enable ADC on SMARC platform
arm64: dts: renesas: rzg2ul-smarc: Enable RSPI1 on carrier board
arm64: dts: renesas: r8a779f0: Add CPU core clocks
arm64: dts: renesas: r8a779f0: Add CPUIdle support
arm64: dts: renesas: r8a779f0: Add secondary CA55 CPU cores
arm64: dts: renesas: r8a779f0: Add L3 cache controller
arm64: dts: renesas: r8a779a0: Add CPU0 core clock
arm64: dts: renesas: r8a779a0: Update to R-Car Gen4 compatible values
ata: libata-core: make ata_exec_internal_sg() *static*
soc: amlogic: Fix refcount leak in meson-secure-pwrc.c
ARM: dts: r9a06g032-rzn1d400-db: Enable rtc0
arm64: dts: renesas: rzg2l-smarc: Use proper bool operator
arm64: dts: renesas: r8a779f0: Add UFS node
arm64: dts: renesas: r8a779f0: Add iommus to DMAC nodes
arm64: dts: renesas: r8a779f0: Add IPMMU nodes
arm64: dts: renesas: Adjust whitespace around '='
arm64: dts: renesas: r8a779f0: Add thermal support
ata: make transfer mode masks *unsigned int*
dt-bindings: soc: renesas: Move renesas,prr from arm to soc
arm64: dts: microchip: adjust whitespace around '='
arm64: dts: sprd: adjust whitespace around '='
arm64: dts: hisilicon: adjust whitespace around '='
arm64: dts: marvell: adjust whitespace around '='
arm64: dts: lg: adjust whitespace around '='
arm64: dts: apm: adjust whitespace around '='
arm64: dts: amd: adjust whitespace around '='
ARM: dts: sd: adjust whitespace around '='
ARM: dts: sti: adjust whitespace around '='
ARM: dts: ste: adjust whitespace around '='
ARM: dts: nuvoton: adjust whitespace around '='
ARM: dts: lpc: adjust whitespace around '='
ARM: dts: ecx: adjust whitespace around '='
ARM: dts: alpine: adjust whitespace around '='
ARM: dts: spear: adjust whitespace around '='
ARM: dts: axm: adjust whitespace around '='
ARM: dts: at91: adjust whitespace around '='
ARM: dts: aspeed: adjust whitespace around '='
ARM: dts: pxa: adjust whitespace around '='
cgroup.c: add helper __cset_cgroup_from_root to cleanup duplicated codes
dmaengine: dw-edma: Remove unused irq field in struct dw_edma_chip
spi: microchip-core: fix passing zero to PTR_ERR warning
ARM: dts: s5pv210: align gpio-key node names with dtschema
ARM: dts: exynos: align gpio-key node names with dtschema
PCI: mediatek-gen3: Print LTSSM state when PCIe link down
MAINTAINERS: Add BCM6813 to bcmbca arch entry
arm64: dts: Add DTS files for bcmbca SoC BCM6813
dt-bindings: arm64: Add BCM6813 SoC
ARM: dts: Add PCIe support for Airoha EN7523
efi: Correct comment on efi_memmap_alloc
PCI: mediatek: Allow building for ARCH_AIROHA
dt-bindings: PCI: mediatek: Add Airoha EN7532 support
selftests/timens: add a test for vfork+exit
fs/exec: allow to unshare a time namespace on vfork+exec
arm64: dts: Add support for Stratix 10 Software Virtual Platform
dt-bindings: altera: document Stratix 10 SWVP compatibles
regmap: provide regmap_field helpers for simple bit operations
memblock: Disable mirror feature if kernelcore is not specified
arm64: mm: Only remove nomap flag for initrd
mm: Limit warning message in vmemmap_verify() to once
mm: Ratelimited mirrored memory related warning messages
efi: Make code to find mirrored memory ranges generic
selinux: Add boundary check in put_entry()
ARM: dts: allwinner: align gpio-key node names with dtschema
arm64: dts: allwinner: align gpio-key node names with dtschema
dt-bindings: timer: Add Nomadik MTU binding
arm64: dts: altera: adjust whitespace around '='
ARM: dts: Add DTS files for bcmbca SoC BCM63148
dt-bindings: arm: Add BCM63148 SoC
dt-bindings: arm64: Add BCM6856 SoC
dt-bindings: arm64: Add BCM63146 SoC
ARM: dts: broadcom: correct gpio-keys properties
ARM: dts: broadcom: align gpio-key node names with dtschema
ARM: dts: Add DTS files for bcmbca SoC BCM6756
dt-bindings: arm: Add BCM6756 SoC
ARM: dts: Add DTS files for bcmbca SoC BCM6855
arm64: dts: intel: socfpga_agilex: use defined GIC interrupt type for ECC
dt-bindings: altera: Add Chameleon v3 board
ARM: dts: socfpga: Add Google Chameleon v3 devicetree
ARM: dts: socfpga: Add atsha204a node to Mercury+ AA1 dts
ARM: dts: socfpga: Move sdmmc-ecc node to Arria 10 dts
ARM: dts: socfpga: Change Mercury+ AA1 dts to dtsi
thermal: Directly use ida_alloc()/free()
spi: core: Fix error code in spi_register_controller()
cpuidle: haltpoll: Add trace points for guest_halt_poll_ns grow/shrink
cpufreq: Drop unnecessary cpus locking from store()
cpufreq: Optimize cpufreq_show_cpus()
arm64: dts: arm: adjust whitespace around '='
arm64: dts: fsl: adjust whitespace around '='
arm64: dts: fsl-ls10xx: use generic dma node name
arm64: dts: imx8mp-evk: add regulator supply to CPU nodes
arm64: dts: imx8mm: Add SNVS LPGPR
arm64: dts: fsl: ls1012a: fix Micron SPI NOR compatible
ata: libata-core: get rid of *else* branches in ata_id_n_sectors()
spi: microchip-core: fix potentially incorrect return from probe
PCI: aardvark: Fix reporting Slot capabilities on emulated bridge
PCI: aardvark: Add support for AER registers on emulated bridge
selinux: fix memleak in security_read_state_kernel()
MAINTAINERS: Add BCM63148 to bcmbca arch entry
MAINTAINERS: Add BCM6856 to bcmbca arch entry
arm64: dts: Add DTS files for bcmbca SoC BCM6856
arm64: dts: Add DTS files for bcmbca SoC BCM63146
MAINTAINERS: Add BCM63146 to bcmbca arch entry
arm64: defconfig: Enable DRM_V3D
arm64: dts: allwinner: Use constants for RTC clock indexes
ARM: dts: sunxi: Use constants for RTC clock indexes
docs: selinux: add '=' signs to kernel boot options
mm: create security context for memfd_secret inodes
audit: make is_audit_feature_set() static
docs: Kconfig: Fix help text indentation
docs/zh_CN: Update translation of reporting-issues.rst to 5.18
docs/arm64: elf_hwcaps: Unify HWCAP lists as description lists
MAINTAINERS: Add BCM6756 to bcmbca arch entry
MAINTAINERS: Add BCM6855 to bcmbca arch entry
dt-bindings: arm: add BCM6855 SoC to device tree binding document
ARM: dts: bcm2711: Enable V3D
ARM: dts: Update BCM47622 DTS file
ARM: dts: Add DTS files for bcmbca SoC BCM6846
ARM: configs: Enable DRM_V3D
scripts: kernel-doc: Always increment warnings counter
spi: spidev_test: Warn when the mode is not the requested mode
spi: s3c64xx: set pointers to null using NULL rather than 0
spi: micro: fix unreasonable clk_prepare_enable() on error in mchp_corespi_probe()
spi: dt-bindings: Add compatible for Tegra241 QSPI
spi: dt-bindings: split peripheral prods
spi: tegra210-quad: Multi-cs support
regulator: rpi-panel-attiny: Use backlight helper
genirq/PM: Unexport {suspend,resume}_device_irqs()
soc: renesas: rcar-sysc: Optimize rcar_sysc_area struct sizes
soc: renesas: r8a779a0-sysc: Fix A2DP1 and A2CV[2357] PDR values
arm64: dts: arm/juno: Drop erroneous 'mbox-name' property
arm64: dts: arm/fvp-base-revc: Remove 'panel-dpi' compatible
arm64: defconfig: Enable R8A779G0 SoC
ARM: shmobile: defconfig: Refresh for v5.19-rc1
sched: Remove the limitation of WF_ON_CPU on wakelist if wakee cpu is idle
sched: Fix the check of nr_running at queue wakelist
sched: Allow newidle balancing to bail out of load_balance
sched/deadline: Use proc_douintvec_minmax() limit minimum value
sched/fair: Optimize and simplify rq leaf_cfs_rq_list
sched/fair: Consider CPU affinity when allowing NUMA imbalance in find_idlest_group()
sched/numa: Adjust imb_numa_nr to a better approximation of memory channels
sched/numa: Apply imbalance limitations consistently
sched/numa: Do not swap tasks between nodes when spare capacity is available
sched/numa: Initialise numa_migrate_retry
arm64: dts: meson: add gpio-fan control to GS-King-X
perf/x86/amd/uncore: Add PerfMonV2 RDPMC assignments
perf/x86/amd/uncore: Add PerfMonV2 DF event format
perf/x86/amd/uncore: Detect available DF counters
perf/x86/amd/uncore: Use attr_update for format attributes
perf/x86/amd/uncore: Use dynamic events array
x86/events/intel/ds: Enable large PEBS for PERF_SAMPLE_WEIGHT_TYPE
ata: libata-core: fix sloppy typing in ata_id_n_sectors()
ata: pata_hpt3x2n: pass base DPLL frequency to hpt3x2n_pci_clock()
ata: pata_hpt37x: merge hpt374_read_freq() to hpt37x_pci_clock()
ata: pata_hpt37x: factor out hpt37x_pci_clock()
ata: pata_hpt37x: move claculating PCI clock from hpt37x_clock_slot()
ata: libata: Fix syntax errors in comments
arm64: dts: rockchip: Add missing space around regulator-name on rk3368-orion-r68
ARM: imx6ul: drop the adc num-channels property
ARM: dts: fsl: adjust whitespace around '='
ARM: imx: Kconfig: Fix indentation
arm64: dts: rockchip: enable the gpu on BPI-R2-Pro
arm64: dts: rockchip: configure thermal shutdown for BPI-R2-Pro
arm64: dts: rockchip: Enable HDMI audio on BPI R2 Pro
arm64: dts: rockchip: enable vop2 and hdmi tx on BPI-R2-Pro
arm64: dts: rockchip: set display regulators to always-on on BPI-R2-Pro
arm64: dts: rockchip: add RTC to BPI-R2 Pro
arm64: dts: rockchip: Enable HDMI audio on Quartz64 A
arm64: dts: rockchip: Add HDMI audio nodes to rk356x
ARM: dts: imx6ulz-bsh-smm-m2: Support proper board power off
ARM: dts: imx7-colibri: add support for Toradex Iris carrier boards
ARM: dts: imx7-colibri: clean-up iomuxc pinctrl group naming
ARM: dts: imx7-colibri: set regulator-name properties
ARM: dts: imx7-colibri: remove leading zero from reg address
ARM: dts: imx7-colibri: clean-up device enabling/disabling
ARM: dts: imx7-colibri: alphabetical re-order
ARM: dts: imx7-colibri: add clarifying comments
ARM: dts: imx7-colibri-aster: add ssp aka spi cs aka ss pins
ARM: dts: imx7-colibri: disable adc2
ARM: dts: imx7-colibri-eval-v3: correct can controller comment
ARM: dts: imx7d-colibri-emmc: add cpu1 supply
ARM: dts: imx7-colibri: move rtc node
ARM: dts: imx7-colibri: clean-up usdhc1 and add sleep config
ARM: dts: imx7-colibri: add delay for on-module phy supply
ARM: dts: imx7-colibri: move regulators
ARM: dts: imx7-colibri: add ethernet aliases
ARM: dts: imx7-colibri: move aliases, chosen, extcon and gpio-keys
ARM: dts: imx7-colibri: improve wake-up with gpio key
ARM: dts: imx7-colibri: improve licensing and compatible strings
ARM: dts: imx7-colibri: add usb dual-role switching using extcon
ARM: dts: imx7-colibri: set lcdif clock source to video pll
ARM: dts: imx7-colibri: add mdio phy node
ARM: dts: imx7-colibri: overhaul display/touch functionality
ARM: dts: imx6qdl-colibri: backlight pwm: Adapt brightness steps
ARM: dts: imx6qdl-colibri: backlight pwm: Simplify inverted backlight
ARM: dts: imx6qdl-colibri: Mux mclk for sgtl5000 with the codec node
keep iocb_flags() result cached in struct file
iocb: delay evaluation of IS_SYNC(...) until we want to check IOCB_DSYNC
struct file: use anonymous union member for rcuhead and llist
btrfs: use IOMAP_DIO_NOSYNC
teach iomap_dio_rw() to suppress dsync
selinux: fix typos in comments
arm64: dts: rockchip: adjust whitespace around '='
ARM: dts: rockchip: adjust whitespace around '='
PCI: vmd: Use devm_kasprintf() instead of simple kasprintf()
spi: Fix per-cpu stats access on 32 bit systems
spi: sifive: add PM callbacks to support suspend/resume
crypto: sun8i-ss - fix a NULL vs IS_ERR() check in sun8i_ss_hashkey
crypto: octeontx2 - fix potential null pointer access
crypto: blake2s - remove shash module
crypto: memneq - move into lib/
crypto: octeontx2 - add firmware version in devlink info
crypto: ccp - fix typo in comment
crypto: hisilicon/sec - fix typos in comment
fscrypt: Add HCTR2 support for filename encryption
crypto: arm64/polyval - Add PMULL accelerated implementation of POLYVAL
crypto: x86/polyval - Add PCLMULQDQ accelerated implementation of POLYVAL
crypto: arm64/aes-xctr - Improve readability of XCTR and CTR modes
crypto: arm64/aes-xctr - Add accelerated implementation of XCTR
crypto: x86/aesni-xctr - Add accelerated implementation of XCTR
crypto: hctr2 - Add HCTR2 support
crypto: polyval - Add POLYVAL support
crypto: xctr - Add XCTR support
crypto: atmel-ecc - Remove duplicated error reporting in .remove()
crypto: sun8i-ss - Fix error codes for dma_mapping_error()
crypto: sun8i-ss - fix error codes in allocate_flows()
crypto: ccp - Use kzalloc for sev ioctl interfaces to prevent kernel memory leak
arm64: dts: imx8ulp: address build warning
arm64: defconfig: enable i.MX93 clk & pinctrl
arm64: dts: freescale: add i.MX93 11x11 EVK basic support
arm64: dts: freescale: Add i.MX93 dtsi support
arm64: dts: amlogic: align gpio-key node names with dtschema
arm64: dts: amlogic: correct gpio-keys properties
arm64: dts: meson: add reset controller for Meson-S4 SoC
arm64: dts: amlogic: adjust whitespace around '='
ARM: dts: meson: adjust whitespace around '='
PCI: Add ACS quirk for Broadcom BCM5750x NICs
ACPI: APEI: Fix double word in a comment
ACPI: processor/idle: Annotate more functions to live in cpuidle section
PCI: switchtec: Prefer ida_alloc()/free() over ida_simple_get()/remove()
PCI: mediatek-gen3: Fix refcount leak in mtk_pcie_init_irq_domains()
ARM: s3c: Kconfig.s3c64xx: Fix indentation
ARM: s3c: Kconfig.s3c24xx: Fix indentation and replace some tabs
ARM: s3c: Kconfig: Fix indentation
9p: handling Rerror without copy_from_iter_full()
spi: atmel-quadspi: align condition to parenthesis
spi: atmel-quadspi: use pm_ptr()
spi: atmel-quadspi: add runtime pm support
net: macb: change return type for gem_ptp_set_one_step_sync()
spi: Return true/false (not 1/0) from bool function
spi: fix platform_no_drv_owner.cocci warning
vmxnet3: update to version 7
vmxnet3: use ext1 field to indicate encapsulated packet
vmxnet3: limit number of TXDs used for TSO packet
vmxnet3: add command to set ring buffer sizes
vmxnet3: add support for out of order rx completion
vmxnet3: add support for large passthrough BAR register
vmxnet3: add support for capability registers
vmxnet3: prepare for version 7 changes
xen/netback: do some code cleanup
PCI: tegra194: Fix PM error handling in tegra_pcie_config_ep()
PCI: microchip: Fix refcount leak in mc_pcie_init_irq_domains()
PCI/ERR: Recognize disconnected devices in report_error_detected()
x86: Fix comment for X86_FEATURE_ZEN
x86: Remove vendor checks from prefer_mwait_c1_over_halt
x86: Handle idle=nomwait cmdline properly for x86_idle
net: constify some inline functions in sock.h
nfp: Remove kernel.h when not needed
spi: <linux/spi/spi.h>: Add missing documentation for struct members
dt-bindings: Add headers for Tegra234 GPCDMA
ARM: tegra: Adjust whitespace around '='
arm64: defconfig: Build Tegra OPE module
spi: s3c64xx: Fix spelling mistake "hannel" -> "channel"
ARM: bcm: Fix refcount leak in bcm_kona_smc_init
MAINTAINERS: Add BCM6846 to bcmbca arch entry
dt-bindings: arm: add BCM6846 SoC to device tree binding document
ARM: dts: broadcom: adjust whitespace around '='
arm64: dts: broadcom: adjust whitespace around '='
MAINTAINERS: Add BCM6878 to bcmbca arch entry
MAINTAINERS: Add BCM6858 to bcmbca arch entry
MAINTAINERS: Add BCM4912 to bcmbca arch entry
MAINTAINERS: Add BCM63158 to bcmbca arch entry
MAINTAINERS: Add BCM63178 to bcmbca arch entry
ARM: dts: Add DTS files for bcmbca SoC BCM6878
dt-bindings: arm: Add BCM6878 soc
ARM64: dts: Add DTS files for bcmbca SoC BCM6858
arm64: dts: Add DTS files for bcmbca SoC BCM4912
arm64: dts: Add DTS files for bcmbca SoC BCM63158
dt-bindings: arm64: Add BCM6858 SoC to binding document
dt-bindings: arm64: Add BCM4912 SoC to binding document
dt-bindings: arm64: add BCM63158 SoC to binding document
ARM: dts: add dts files for bcmbca soc 63178
dt-bindings: arm: add BCM63178 SoC to binding document
ARM: dts: bcm283x: Drop unnecessary properties from dpi node
arm64: defconfig: enable bcmbca soc support
arm64: bcmbca: add arch bcmbca machine entry
soc: bcm: brcmstb: pm: pm-arm: fix typo in comment
net: ethernet: mtk_eth_soc: enable rx cksum offload for MTK_NETSYS_V2
net: dsa: microchip: ksz8xxx: Replace kernel.h with the necessary inclusions
x86/pkeys: Clarify PKRU_AD_KEY macro
Documentation/protection-keys: Clean up documentation for User Space pkeys
selinux: drop unnecessary NULL check
No need of likely/unlikely on calls of check_copy_size()
selinux: add __randomize_layout to selinux_audit_data
audit: remove redundant data_len check
regulator: qcom_smd: add get_voltage to MP5496
iavf: Add waiting for response from PF in set mac
i40e: Add VF VLAN pruning
psi: dont alloc memory for psi by default
arm64: dts: mediatek: Add mediatek,cci property for MT8183 cpufreq
arm64: dts: mediatek: Add MediaTek CCI node for MT8183
arm64: dts: mediatek: Add opp table and clock property for MT8183 cpufreq
ARM: dts: add clock support for Airoha EN7523
soc: mediatek: devapc: Add support for MT8186
soc: mediatek: devapc: Separate register offsets from mtk_devapc_data
dt-bindings: soc: mediatek: devapc: Add bindings for MT8186
soc: mediatek: pwrap: Compress of_device_id entries to one line
soc: mediatek: pwrap: Move IO pointers to new structure
soc: mediatek: pwrap: Check return value of platform_get_irq()
soc: mediatek: pwrap: Switch to devm_platform_ioremap_resource_byname()
soc: mediatek: pwrap: Use readx_poll_timeout() instead of custom function
ASoC: dt-bindings: renesas,rz-ssi: Document RZ/G2UL SoC
regulator: mp5416: remove kernel.h include
x86/mm/tlb: Avoid reading mm_tlb_gen when possible
MAINTAINERS: add spi to PolarFire SoC entry
spi: add support for microchip fpga spi controllers
ARM: s3c: Use strscpy to replace strlcpy
regulator: dt-bindings: Convert pwm-regulator to DT schema
net: dropreason: reformat the comment fo skb drop reasons
net: skb: use auto-generation to convert skb drop reason to string
net: skb: move enum skb_drop_reason to standalone header file
ARM: dts: rockchip: enable nfc node in rk3066a-mk808.dts
arm64: dts: rockchip: enable vop2 and hdmi tx on rock-3a
arm64: dts: rockchip: enable vop2 and hdmi tx on quartz64a
arm64: dts: rockchip: rk3568-evb: Enable VOP2 and hdmi
arm64: dts: rockchip: rk356x: Add HDMI nodes
arm64: dts: rockchip: rk356x: Add VOP2 nodes
arm64: dts: rockchip: add pine64 touch panel display to rockpro64
arm64: dts: rockchip: Enable PCIe controller on quartz64-a
arm64: dts: rockchip: Add rk3568 PCIe2x1 controller
net: altera: Replace kernel.h with the necessary inclusions
WAN: Fix syntax errors in comments
arm64: dts: rockchip: enable sfc controller on Quartz64 Model A
arm64: dts: rockchip: enable sdr-104 for sdmmc on Quartz A
arm64: dts: rockchip: add Quartz64-A fan pinctrl
arm64: dts: exynos: enable secondary ufs devices ExynosAutov9 SADK
arm64: dts: exynos: add secondary ufs devices in ExynosAutov9
arm64: dts: fsd: use local header for pinctrl register values
arm64: dts: exynos: use local header for pinctrl register values
ARM: dts: exynos: use local header for pinctrl register values
ARM: dts: s5pv210: use local header for pinctrl register values
ARM: dts: s3c64xx: use local header for pinctrl register values
ARM: dts: s3c2410: use local header for pinctrl register values
ARM: dts: exynos: align MMC node name with dtschema
arm64: dts: exynos: align MMC node name with dtschema
arm64: dts: exynos: adjust DT style of ufs nodes in ExynosAutov9
ARM: dts: exynos: adjust whitespace around '='
arm64: dts: exynos: adjust whitespace around '='
ARM: dts: sun5i: adjust whitespace around '='
spi: spi-ti-qspi: Support per-transfer and per-slave speed_hz settings
spi: spi.c: Convert statistics to per-cpu u64_stats_t
spi: dt-bindings: Move 'rx-sample-delay-ns' to spi-peripheral-props.yaml
spi: intel: Use correct order for the parameters of devm_kcalloc()
spi: spi-zynqmp-gqspi: Add two chip select support
spi: fix typo in comment
spi: mt65xx: add MT8365 SoC bindings
spi: cadence-quadspi: Remove spi_master_put() in probe failure path
spi: s3c64xx: requests spi-dma channel only during data transfer
spi: spi-altera-dfl: Fix an error handling path
spi: stm32-qspi: Remove stm32_qspi_wait_poll_status() unused parameter
spi: stm32-qspi: Remove stm32_qspi_wait_cmd() unused parameter
spi: stm32-qspi: Remove stm32_qspi_get_mode() unused parameter
regulator: rt5190a: check if init_data is NULL, bypass rt5190a_of_parse_cb
regulator: mp5416: add support for MP5496
regulator: mp5416: use OF match data
regulator: mp5416: alphabetically sort header includes
regulator: dt-bindings: mps,mp5416: add MP5496 compatible
regmap: cache: Fix syntax errors in comments
memory: mtk-smi: Add support for MT6795 Helio X10
dt-bindings: memory: mtk-smi: Add MT6795 Helio X10 bindings
arm64: dts: fsd: add ufs device node
arm64: dts: exynos: add watchdog in ExynosAutov9
arm64: dts: exynos: add syscon reboot/reboot_mode support in ExynosAutov9
dt-bindings: soc: add samsung,boot-mode definitions
arm64: dts: fsd: Add cpu cache information
arm64: dts: renesas: rzv2mevk2: Enable ethernet
arm64: dts: renesas: r9a09g011: Add ethernet nodes
arm64: dts: renesas: Rename numbered regulators
arm64: dts: renesas: beacon: Fix regulator node names
arm64: dts: renesas: r9a07g043: Add ADC node
ARM: dts: exynos: add panel and backlight to p4note
meson-mx-socinfo: Fix refcount leak in meson_mx_socinfo_init
pstore: migrate to crypto acomp interface
Conflicts:
Documentation/devicetree/bindings
Documentation/devicetree/bindings/arm/altera.yaml
Documentation/devicetree/bindings/arm/atmel-at91.yaml
Documentation/devicetree/bindings/arm/bcm/brcm,bcm4708.yaml
Documentation/devicetree/bindings/arm/bcm/brcm,bcmbca.yaml
Documentation/devicetree/bindings/arm/cpus.yaml
Documentation/devicetree/bindings/arm/fsl.yaml
Documentation/devicetree/bindings/arm/mediatek.yaml
Documentation/devicetree/bindings/arm/mediatek/mediatek,pericfg.yaml
Documentation/devicetree/bindings/arm/npcm/npcm.yaml
Documentation/devicetree/bindings/arm/npcm/nuvoton,gcr.yaml
Documentation/devicetree/bindings/arm/qcom.yaml
Documentation/devicetree/bindings/arm/rockchip.yaml
Documentation/devicetree/bindings/arm/stm32/stm32.yaml
Documentation/devicetree/bindings/arm/sunxi.yaml
Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
Documentation/devicetree/bindings/arm/tegra/nvidia,tegra-ccplex-cluster.yaml
Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml
Documentation/devicetree/bindings/clock/qcom,dispcc-sm8x50.yaml
Documentation/devicetree/bindings/clock/samsung,exynos7885-clock.yaml
Documentation/devicetree/bindings/clock/st,stm32mp1-rcc.yaml
Documentation/devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml
Documentation/devicetree/bindings/display/panel/lgphilips,lb035q02.yaml
Documentation/devicetree/bindings/display/panel/samsung,ld9040.yaml
Documentation/devicetree/bindings/display/panel/sitronix,st7789v.yaml
Documentation/devicetree/bindings/display/panel/tpo,td.yaml
Documentation/devicetree/bindings/firmware/arm,scmi.yaml
Documentation/devicetree/bindings/firmware/qcom,scm.txt
Documentation/devicetree/bindings/gpio/gpio-zynq.yaml
Documentation/devicetree/bindings/hwinfo/renesas,prr.yaml
Documentation/devicetree/bindings/hwmon/national,lm90.yaml
Documentation/devicetree/bindings/i2c/marvell,mv64xxx-i2c.yaml
Documentation/devicetree/bindings/input/da9062-onkey.txt
Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml
Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml
Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml
Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml
Documentation/devicetree/bindings/pci/mediatek-pcie.txt
Documentation/devicetree/bindings/pci/qcom,pcie.yaml
Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml
Documentation/devicetree/bindings/pci/xilinx-versal-cpm.yaml
Documentation/devicetree/bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml
Documentation/devicetree/bindings/pinctrl/renesas,rzg2l-pinctrl.yaml
Documentation/devicetree/bindings/power/mediatek,power-controller.yaml
Documentation/devicetree/bindings/power/qcom,rpmpd.yaml
Documentation/devicetree/bindings/pwm/pwm-mediatek.txt
Documentation/devicetree/bindings/regulator/mps,mp5416.yaml
Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml
Documentation/devicetree/bindings/regulator/regulator.yaml
Documentation/devicetree/bindings/reset/nuvoton,npcm750-reset.yaml
Documentation/devicetree/bindings/soc/mediatek/devapc.yaml
Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
Documentation/devicetree/bindings/soc/microchip/atmel,at91rm9200-tcb.yaml
Documentation/devicetree/bindings/soc/microchip/microchip,mpfs-sys-controller.yaml
Documentation/devicetree/bindings/soc/qcom/qcom,aoss-qmp.yaml
Documentation/devicetree/bindings/soc/qcom/qcom,rpmh-rsc.yaml
Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml
Documentation/devicetree/bindings/soc/qcom/qcom,spm.yaml
Documentation/devicetree/bindings/soc/qcom/qcom,wcnss.yaml
Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml
Documentation/devicetree/bindings/soc/samsung/exynos-usi.yaml
Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
Documentation/devicetree/bindings/sound/renesas,rz-ssi.yaml
Documentation/devicetree/bindings/spi/mediatek,spi-mt65xx.yaml
Documentation/devicetree/bindings/spi/mediatek,spi-mtk-nor.yaml
Documentation/devicetree/bindings/spi/nuvoton,npcm-fiu.txt
Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml
Documentation/devicetree/bindings/spi/qcom,spi-geni-qcom.yaml
Documentation/devicetree/bindings/spi/samsung,spi.yaml
Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
Documentation/devicetree/bindings/spi/spi-cadence.yaml
Documentation/devicetree/bindings/spi/spi-controller.yaml
Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml
Documentation/devicetree/bindings/spi/spi-zynqmp-qspi.yaml
Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.yaml
Documentation/devicetree/bindings/timer/allwinner,sun4i-a10-timer.yaml
Documentation/devicetree/bindings/timer/ingenic,tcu.yaml
Documentation/devicetree/bindings/timer/mediatek,mtk-timer.txt
Documentation/devicetree/bindings/timer/nuvoton,npcm7xx-timer.yaml
Documentation/devicetree/bindings/timer/renesas,cmt.yaml
Documentation/devicetree/bindings/trivial-devices.yaml
Documentation/devicetree/bindings/usb/allwinner,sun4i-a10-musb.yaml
Documentation/devicetree/bindings/usb/atmel-usb.txt
Documentation/devicetree/bindings/usb/generic-ehci.yaml
Documentation/devicetree/bindings/usb/generic-ohci.yaml
Documentation/devicetree/bindings/vendor-prefixes.yaml
Documentation/devicetree/bindings/watchdog/nuvoton,npcm-wdt.txt
drivers/firmware/qcom_scm.c
drivers/soc/qcom/Kconfig
drivers/soc/qcom/Makefile
drivers/soc/qcom/mdt_loader.c
drivers/soc/qcom/smp2p.c
drivers/soc/qcom/socinfo.c
Change-Id: I4c572ae70bc96e9f4da3ee49ad9047214dfbb317
Upstream-Build:ks_qcom-android-mainline-keystone-qcom-release@8970963 SKQ4.220819.001
Signed-off-by: jianzhou <quic_jianzhou@quicinc.com>
2076 lines
68 KiB
Makefile
2076 lines
68 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
VERSION = 5
|
|
PATCHLEVEL = 19
|
|
SUBLEVEL = 0
|
|
EXTRAVERSION =
|
|
NAME = Superb Owl
|
|
|
|
# *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.
|
|
|
|
$(if $(filter __%, $(MAKECMDGOALS)), \
|
|
$(error targets prefixed with '__' are only for internal use))
|
|
|
|
# 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.
|
|
# If KBUILD_VERBOSE equals 2 then give the reason why each target is rebuilt.
|
|
#
|
|
# 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_
|
|
KBUILD_VERBOSE = 0
|
|
endif
|
|
|
|
export quiet Q KBUILD_VERBOSE
|
|
|
|
# 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
|
|
|
|
export KBUILD_CHECKSRC
|
|
|
|
# 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
|
|
|
|
$(if $(word 2, $(KBUILD_EXTMOD)), \
|
|
$(error building multiple external modules is not supported))
|
|
|
|
# Remove trailing slashes
|
|
ifneq ($(filter %/, $(KBUILD_EXTMOD)),)
|
|
KBUILD_EXTMOD := $(shell dirname $(KBUILD_EXTMOD).)
|
|
endif
|
|
|
|
export KBUILD_EXTMOD
|
|
|
|
# ANDROID: set up mixed-build support. mixed-build allows device kernel modules
|
|
# to be compiled against a GKI kernel. This approach still uses the headers and
|
|
# Kbuild from device kernel, so care must be taken to ensure that those headers match.
|
|
ifdef KBUILD_MIXED_TREE
|
|
# Need vmlinux.symvers for modpost and System.map for depmod, check whether they exist in KBUILD_MIXED_TREE
|
|
required_mixed_files=vmlinux.symvers System.map
|
|
$(if $(filter-out $(words $(required_mixed_files)), \
|
|
$(words $(wildcard $(add-prefix $(KBUILD_MIXED_TREE)/,$(required_mixed_files))))),,\
|
|
$(error KBUILD_MIXED_TREE=$(KBUILD_MIXED_TREE) doesn't contain $(required_mixed_files)))
|
|
endif
|
|
|
|
mixed-build-prefix = $(if $(KBUILD_MIXED_TREE),$(KBUILD_MIXED_TREE)/)
|
|
export KBUILD_MIXED_TREE
|
|
# This is a hack for kleaf to set mixed-build-prefix within the execution of a make rule, e.g.
|
|
# within __modinst_pre.
|
|
# TODO(b/205893923): Revert this hack once it is properly handled.
|
|
export mixed-build-prefix
|
|
|
|
# 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
|
|
|
|
this-makefile := $(lastword $(MAKEFILE_LIST))
|
|
abs_srctree := $(realpath $(dir $(this-makefile)))
|
|
|
|
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
|
|
#
|
|
# --included-dir is added for backward compatibility, but you should not rely on
|
|
# it. Please add $(srctree)/ prefix to include Makefiles in the source tree.
|
|
MAKEFLAGS += --include-dir=$(abs_srctree)
|
|
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.
|
|
$(this-makefile): ;
|
|
endif
|
|
|
|
export abs_srctree abs_objtree
|
|
export sub_make_done := 1
|
|
|
|
ifeq ($(need-sub-make),1)
|
|
|
|
PHONY += $(MAKECMDGOALS) __sub-make
|
|
|
|
$(filter-out $(this-makefile), $(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
|
|
|
|
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
|
|
|
|
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 dt_binding_check \
|
|
outputmakefile
|
|
# Installation targets should not require compiler. Unfortunately, vdso_install
|
|
# is an exception where build artifacts may be updated. This must be fixed.
|
|
no-compiler-targets := $(no-dot-config-targets) install dtbs_install \
|
|
headers_install modules_install kernelrelease image_name
|
|
no-sync-config-targets := $(no-dot-config-targets) %install kernelrelease \
|
|
image_name
|
|
single-targets := %.a %.i %.ko %.lds %.ll %.lst %.mod %.o %.s %.symtypes %/
|
|
|
|
config-build :=
|
|
mixed-build :=
|
|
need-config := 1
|
|
need-compiler := 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-compiler-targets), $(MAKECMDGOALS)),)
|
|
ifeq ($(filter-out $(no-compiler-targets), $(MAKECMDGOALS)),)
|
|
need-compiler :=
|
|
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,$(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
|
|
|
|
$(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 $(srctree)/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 $(srctree)/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 parisc
|
|
ifeq ($(ARCH),parisc64)
|
|
SRCARCH := parisc
|
|
endif
|
|
|
|
export cross_compiling :=
|
|
ifneq ($(SRCARCH),$(SUBARCH))
|
|
cross_compiling := 1
|
|
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)
|
|
|
|
ifneq ($(LLVM),)
|
|
ifneq ($(filter %/,$(LLVM)),)
|
|
LLVM_PREFIX := $(LLVM)
|
|
else ifneq ($(filter -%,$(LLVM)),)
|
|
LLVM_SUFFIX := $(LLVM)
|
|
endif
|
|
|
|
HOSTCC = $(LLVM_PREFIX)clang$(LLVM_SUFFIX)
|
|
HOSTCXX = $(LLVM_PREFIX)clang++$(LLVM_SUFFIX)
|
|
else
|
|
HOSTCC = gcc
|
|
HOSTCXX = g++
|
|
endif
|
|
HOSTPKG_CONFIG = pkg-config
|
|
|
|
KBUILD_USERHOSTCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes \
|
|
-O2 -fomit-frame-pointer -std=gnu11 \
|
|
-Wdeclaration-after-statement
|
|
KBUILD_USERCFLAGS := $(KBUILD_USERHOSTCFLAGS) $(USERCFLAGS)
|
|
KBUILD_USERLDFLAGS := $(USERLDFLAGS)
|
|
|
|
KBUILD_HOSTCFLAGS := $(KBUILD_USERHOSTCFLAGS) $(HOST_LFS_CFLAGS) $(HOSTCFLAGS)
|
|
KBUILD_HOSTCXXFLAGS := -Wall -O2 $(HOST_LFS_CFLAGS) $(HOSTCXXFLAGS)
|
|
KBUILD_HOSTLDFLAGS := $(HOST_LFS_LDFLAGS) $(HOSTLDFLAGS)
|
|
KBUILD_HOSTLDLIBS := $(HOST_LFS_LIBS) $(HOSTLDLIBS)
|
|
|
|
# Make variables (CC, etc...)
|
|
CPP = $(CC) -E
|
|
ifneq ($(LLVM),)
|
|
CC = $(LLVM_PREFIX)clang$(LLVM_SUFFIX)
|
|
LD = $(LLVM_PREFIX)ld.lld$(LLVM_SUFFIX)
|
|
AR = $(LLVM_PREFIX)llvm-ar$(LLVM_SUFFIX)
|
|
NM = $(LLVM_PREFIX)llvm-nm$(LLVM_SUFFIX)
|
|
OBJCOPY = $(LLVM_PREFIX)llvm-objcopy$(LLVM_SUFFIX)
|
|
OBJDUMP = $(LLVM_PREFIX)llvm-objdump$(LLVM_SUFFIX)
|
|
READELF = $(LLVM_PREFIX)llvm-readelf$(LLVM_SUFFIX)
|
|
STRIP = $(LLVM_PREFIX)llvm-strip$(LLVM_SUFFIX)
|
|
else
|
|
CC = $(CROSS_COMPILE)gcc
|
|
LD = $(CROSS_COMPILE)ld
|
|
AR = $(CROSS_COMPILE)ar
|
|
NM = $(CROSS_COMPILE)nm
|
|
OBJCOPY = $(CROSS_COMPILE)objcopy
|
|
OBJDUMP = $(CROSS_COMPILE)objdump
|
|
READELF = $(CROSS_COMPILE)readelf
|
|
STRIP = $(CROSS_COMPILE)strip
|
|
endif
|
|
PAHOLE = pahole
|
|
RESOLVE_BTFIDS = $(objtree)/tools/bpf/resolve_btfids/resolve_btfids
|
|
LEX = flex
|
|
YACC = bison
|
|
AWK = awk
|
|
INSTALLKERNEL := installkernel
|
|
DEPMOD = depmod
|
|
PERL = perl
|
|
PYTHON3 = python3
|
|
CHECK = sparse
|
|
BASH = bash
|
|
KGZIP = gzip
|
|
KBZIP2 = bzip2
|
|
KLZOP = lzop
|
|
LZMA = lzma
|
|
LZ4 = lz4
|
|
XZ = xz
|
|
ZSTD = zstd
|
|
|
|
PAHOLE_FLAGS = $(shell PAHOLE=$(PAHOLE) $(srctree)/scripts/pahole-flags.sh)
|
|
|
|
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/compiler-version.h \
|
|
-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 \
|
|
-Werror=return-type -Wno-format-security \
|
|
-std=gnu11
|
|
KBUILD_CPPFLAGS := -D__KERNEL__
|
|
KBUILD_AFLAGS_KERNEL :=
|
|
KBUILD_CFLAGS_KERNEL :=
|
|
KBUILD_AFLAGS_MODULE := -DMODULE
|
|
KBUILD_CFLAGS_MODULE := -DMODULE
|
|
KBUILD_LDFLAGS_MODULE :=
|
|
KBUILD_LDFLAGS :=
|
|
CLANG_FLAGS :=
|
|
|
|
export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE LD CC HOSTPKG_CONFIG
|
|
export CPP AR NM STRIP OBJCOPY OBJDUMP READELF PAHOLE RESOLVE_BTFIDS LEX YACC AWK INSTALLKERNEL
|
|
export PERL PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX
|
|
export KGZIP KBZIP2 KLZOP LZMA LZ4 XZ ZSTD
|
|
export KBUILD_HOSTCXXFLAGS KBUILD_HOSTLDFLAGS KBUILD_HOSTLDLIBS LDFLAGS_MODULE
|
|
export KBUILD_USERCFLAGS KBUILD_USERLDFLAGS
|
|
|
|
export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS KBUILD_LDFLAGS
|
|
export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE
|
|
export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
|
|
export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_LDFLAGS_MODULE
|
|
export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL
|
|
export PAHOLE_FLAGS
|
|
|
|
# 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
|
|
|
|
PHONY += outputmakefile
|
|
ifdef building_out_of_srctree
|
|
# 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
|
|
|
|
quiet_cmd_makefile = GEN Makefile
|
|
cmd_makefile = { \
|
|
echo "\# Automatically generated by $(srctree)/Makefile: don't edit"; \
|
|
echo "include $(srctree)/Makefile"; \
|
|
} > Makefile
|
|
|
|
outputmakefile:
|
|
$(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
|
|
$(call cmd,makefile)
|
|
$(Q)test -e .gitignore || \
|
|
{ echo "# this is build directory, ignore it"; echo "*"; } > .gitignore
|
|
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 = $(subst $(pound),,$(shell LC_ALL=C $(CC) --version 2>/dev/null | head -n 1))
|
|
|
|
ifneq ($(findstring clang,$(CC_VERSION_TEXT)),)
|
|
include $(srctree)/scripts/Makefile.clang
|
|
endif
|
|
|
|
# Include this also for config targets because some architectures need
|
|
# cc-cross-prefix to determine CROSS_COMPILE.
|
|
ifdef need-compiler
|
|
include $(srctree)/scripts/Makefile.compiler
|
|
endif
|
|
|
|
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 $(srctree)/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.
|
|
ifeq ($(MAKECMDGOALS),modules)
|
|
KBUILD_BUILTIN :=
|
|
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 modules nsdeps %compile_commands.json clang-%,$(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
|
|
core-y := init/ usr/ arch/$(SRCARCH)/
|
|
drivers-y := drivers/ sound/
|
|
drivers-$(CONFIG_SAMPLES) += samples/
|
|
drivers-$(CONFIG_NET) += net/
|
|
drivers-y += virt/
|
|
libs-y := lib/
|
|
endif # KBUILD_EXTMOD
|
|
|
|
ifndef KBUILD_MIXED_TREE
|
|
# 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
|
|
endif
|
|
|
|
CFLAGS_GCOV := -fprofile-arcs -ftest-coverage
|
|
ifdef CONFIG_CC_IS_GCC
|
|
CFLAGS_GCOV += -fno-tree-loop-im
|
|
endif
|
|
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
|
|
|
|
include $(srctree)/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.
|
|
# (Note: use the grouped target '&:' when we bump to GNU Make 4.3)
|
|
#
|
|
# Do not use $(call cmd,...) here. That would suppress prompts from syncconfig,
|
|
# so you cannot notice that Kconfig is waiting for the user input.
|
|
%/config/auto.conf %/config/auto.conf.cmd %/generated/autoconf.h: $(KCONFIG_CONFIG)
|
|
$(Q)$(kecho) " SYNC $@"
|
|
$(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 += -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
|
|
|
|
# Tell gcc to never replace conditional load with a non-conditional one
|
|
ifdef CONFIG_CC_IS_GCC
|
|
# gcc-10 renamed --param=allow-store-data-races=0 to
|
|
# -fno-allow-store-data-races.
|
|
KBUILD_CFLAGS += $(call cc-option,--param=allow-store-data-races=0)
|
|
KBUILD_CFLAGS += $(call cc-option,-fno-allow-store-data-races)
|
|
endif
|
|
|
|
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 += -fno-reorder-blocks -fno-ipa-cp-clone -fno-partial-inlining
|
|
endif
|
|
|
|
ifneq ($(CONFIG_FRAME_WARN),0)
|
|
KBUILD_CFLAGS += -Wframe-larger-than=$(CONFIG_FRAME_WARN)
|
|
endif
|
|
|
|
stackp-flags-y := -fno-stack-protector
|
|
stackp-flags-$(CONFIG_STACKPROTECTOR) := -fstack-protector
|
|
stackp-flags-$(CONFIG_STACKPROTECTOR_STRONG) := -fstack-protector-strong
|
|
|
|
KBUILD_CFLAGS += $(stackp-flags-y)
|
|
|
|
KBUILD_CFLAGS-$(CONFIG_WERROR) += -Werror
|
|
KBUILD_CFLAGS-$(CONFIG_CC_NO_ARRAY_BOUNDS) += -Wno-array-bounds
|
|
KBUILD_CFLAGS += $(KBUILD_CFLAGS-y) $(CONFIG_CC_IMPLICIT_FALLTHROUGH)
|
|
|
|
ifdef CONFIG_CC_IS_CLANG
|
|
KBUILD_CPPFLAGS += -Qunused-arguments
|
|
# The kernel builds with '-std=gnu11' so use of GNU extensions is acceptable.
|
|
KBUILD_CFLAGS += -Wno-gnu
|
|
else
|
|
|
|
# gcc inanely warns about local variables called 'main'
|
|
KBUILD_CFLAGS += -Wno-main
|
|
endif
|
|
|
|
# These warnings generated too much noise in a regular build.
|
|
# Use make W=1 to enable them (see scripts/Makefile.extrawarn)
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable)
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, unused-const-variable)
|
|
|
|
# These result in bogus false positives
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, dangling-pointer)
|
|
|
|
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 0xAA pattern.
|
|
ifdef CONFIG_INIT_STACK_ALL_PATTERN
|
|
KBUILD_CFLAGS += -ftrivial-auto-var-init=pattern
|
|
endif
|
|
|
|
# Initialize all stack variables with a zero value.
|
|
ifdef CONFIG_INIT_STACK_ALL_ZERO
|
|
KBUILD_CFLAGS += -ftrivial-auto-var-init=zero
|
|
ifdef CONFIG_CC_IS_CLANG
|
|
# https://bugs.llvm.org/show_bug.cgi?id=45497
|
|
KBUILD_CFLAGS += -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang
|
|
endif
|
|
endif
|
|
|
|
# While VLAs have been removed, GCC produces unreachable stack probes
|
|
# for the randomize_kstack_offset feature. Disable it for all compilers.
|
|
KBUILD_CFLAGS += $(call cc-option, -fno-stack-clash-protection)
|
|
|
|
# Clear used registers at func exit (to reduce data lifetime and ROP gadgets).
|
|
ifdef CONFIG_ZERO_CALL_USED_REGS
|
|
KBUILD_CFLAGS += -fzero-call-used-regs=used-gpr
|
|
endif
|
|
|
|
ifdef CONFIG_FUNCTION_TRACER
|
|
ifdef CONFIG_FTRACE_MCOUNT_USE_CC
|
|
CC_FLAGS_FTRACE += -mrecord-mcount
|
|
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_FTRACE_MCOUNT_USE_OBJTOOL
|
|
CC_FLAGS_USING += -DCC_USING_NOP_MCOUNT
|
|
endif
|
|
ifdef CONFIG_FTRACE_MCOUNT_USE_RECORDMCOUNT
|
|
ifdef CONFIG_HAVE_C_RECORDMCOUNT
|
|
BUILD_C_RECORDMCOUNT := y
|
|
export BUILD_C_RECORDMCOUNT
|
|
endif
|
|
endif
|
|
ifdef CONFIG_HAVE_FENTRY
|
|
# s390-linux-gnu-gcc did not support -mfentry until gcc-9.
|
|
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)
|
|
endif
|
|
|
|
# We trigger additional mismatches with less inlining
|
|
ifdef CONFIG_DEBUG_SECTION_MISMATCH
|
|
KBUILD_CFLAGS += -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_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_LTO_CLANG_THIN
|
|
CC_FLAGS_LTO := -flto=thin -fsplit-lto-unit
|
|
KBUILD_LDFLAGS += --thinlto-cache-dir=$(extmod_prefix).thinlto-cache
|
|
else
|
|
CC_FLAGS_LTO := -flto
|
|
endif
|
|
|
|
ifeq ($(SRCARCH),x86)
|
|
# Workaround for compiler / linker bug
|
|
CC_FLAGS_LTO += -fvisibility=hidden
|
|
else
|
|
CC_FLAGS_LTO += -fvisibility=default
|
|
endif
|
|
|
|
# Limit inlining across translation units to reduce binary size
|
|
KBUILD_LDFLAGS += -mllvm -import-instr-limit=5
|
|
|
|
# Check for frame size exceeding threshold during prolog/epilog insertion
|
|
# when using lld < 13.0.0.
|
|
ifneq ($(CONFIG_FRAME_WARN),0)
|
|
ifeq ($(shell test $(CONFIG_LLD_VERSION) -lt 130000; echo $$?),0)
|
|
KBUILD_LDFLAGS += -plugin-opt=-warn-stack-size=$(CONFIG_FRAME_WARN)
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
ifdef CONFIG_LTO
|
|
KBUILD_CFLAGS += -fno-lto $(CC_FLAGS_LTO)
|
|
KBUILD_AFLAGS += -fno-lto
|
|
export CC_FLAGS_LTO
|
|
endif
|
|
|
|
ifdef CONFIG_CFI_CLANG
|
|
CC_FLAGS_CFI := -fsanitize=cfi \
|
|
-fsanitize-cfi-cross-dso \
|
|
-fno-sanitize-cfi-canonical-jump-tables \
|
|
-fno-sanitize-trap=cfi \
|
|
-fno-sanitize-blacklist
|
|
|
|
ifdef CONFIG_CFI_PERMISSIVE
|
|
CC_FLAGS_CFI += -fsanitize-recover=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
|
|
|
|
ifdef CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B
|
|
KBUILD_CFLAGS += -falign-functions=64
|
|
endif
|
|
|
|
# arch Makefile may override CC so keep this after arch Makefile is included
|
|
NOSTDINC_FLAGS += -nostdinc
|
|
|
|
# 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
|
|
|
|
# In order to make sure new function cast mismatches are not introduced
|
|
# in the kernel (to avoid tripping CFI checking), the kernel should be
|
|
# globally built with -Wcast-function-type.
|
|
KBUILD_CFLAGS += $(call cc-option, -Wcast-function-type)
|
|
|
|
# disable stringop warnings in gcc 8+
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, stringop-truncation)
|
|
|
|
# We'll want to enable this eventually, but it's not going away for 5.7 at least
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, stringop-overflow)
|
|
|
|
# Another good warning that we'll want to enable eventually
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, restrict)
|
|
|
|
# Enabled with W=2, disabled by default as noisy
|
|
ifdef CONFIG_CC_IS_GCC
|
|
KBUILD_CFLAGS += -Wno-maybe-uninitialized
|
|
endif
|
|
|
|
ifdef CONFIG_CC_IS_GCC
|
|
# The allocators already balk at large sizes, so silence the compiler
|
|
# warnings for bounds checks involving those possible values. While
|
|
# -Wno-alloc-size-larger-than would normally be used here, earlier versions
|
|
# of gcc (<9.1) weirdly don't handle the option correctly when _other_
|
|
# warnings are produced (?!). Using -Walloc-size-larger-than=SIZE_MAX
|
|
# doesn't work (as it is documented to), silently resolving to "0" prior to
|
|
# version 9.1 (and producing an error more recently). Numeric values larger
|
|
# than PTRDIFF_MAX also don't work prior to version 9.1, which are silently
|
|
# ignored, continuing to default to PTRDIFF_MAX. So, left with no other
|
|
# choice, we must perform a versioned check to disable this warning.
|
|
# https://lore.kernel.org/lkml/20210824115859.187f272f@canb.auug.org.au
|
|
KBUILD_CFLAGS += $(call cc-ifversion, -ge, 0901, -Wno-alloc-size-larger-than)
|
|
endif
|
|
|
|
# disable invalid "can't wrap" optimizations for signed / pointers
|
|
KBUILD_CFLAGS += -fno-strict-overflow
|
|
|
|
# Make sure -fstack-check isn't enabled (like gentoo apparently did)
|
|
KBUILD_CFLAGS += -fno-stack-check
|
|
|
|
# conserve stack if available
|
|
ifdef CONFIG_CC_IS_GCC
|
|
KBUILD_CFLAGS += -fconserve-stack
|
|
endif
|
|
|
|
# Prohibit date/time macros, which would make the build non-deterministic
|
|
KBUILD_CFLAGS += -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_CPPFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)
|
|
|
|
# include additional Makefiles when needed
|
|
include-y := scripts/Makefile.extrawarn
|
|
include-$(CONFIG_DEBUG_INFO) += scripts/Makefile.debug
|
|
include-$(CONFIG_KASAN) += scripts/Makefile.kasan
|
|
include-$(CONFIG_KCSAN) += scripts/Makefile.kcsan
|
|
include-$(CONFIG_UBSAN) += scripts/Makefile.ubsan
|
|
include-$(CONFIG_KCOV) += scripts/Makefile.kcov
|
|
include-$(CONFIG_RANDSTRUCT) += scripts/Makefile.randstruct
|
|
include-$(CONFIG_GCC_PLUGINS) += scripts/Makefile.gcc-plugins
|
|
|
|
include $(addprefix $(srctree)/, $(include-y))
|
|
|
|
# scripts/Makefile.gcc-plugins is intentionally included last.
|
|
# Do not add $(call cc-option,...) below this line. When you build the kernel
|
|
# from the clean source tree, the GCC plugins do not exist at this point.
|
|
|
|
# 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=sha1
|
|
LDFLAGS_vmlinux += --build-id=sha1
|
|
|
|
ifeq ($(CONFIG_STRIP_ASM_SYMS),y)
|
|
LDFLAGS_vmlinux += $(call ld-option, -X,)
|
|
endif
|
|
|
|
ifeq ($(CONFIG_RELR),y)
|
|
LDFLAGS_vmlinux += --pack-dyn-relocs=relr --use-android-relr-tags
|
|
endif
|
|
|
|
# We never want expected sections to be placed heuristically by the
|
|
# linker. All sections should be explicitly named in the linker script.
|
|
ifdef CONFIG_LD_ORPHAN_WARN
|
|
LDFLAGS_vmlinux += --orphan-handling=warn
|
|
endif
|
|
|
|
# Align the bit size of userspace programs with the kernel
|
|
KBUILD_USERCFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CFLAGS))
|
|
KBUILD_USERLDFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CFLAGS))
|
|
|
|
# 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
|
|
|
|
PHONY += prepare0
|
|
|
|
export extmod_prefix = $(if $(KBUILD_EXTMOD),$(KBUILD_EXTMOD)/)
|
|
export MODORDER := $(extmod_prefix)modules.order
|
|
export MODULES_NSDEPS := $(extmod_prefix)modules.nsdeps
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Kernel headers
|
|
|
|
PHONY += headers
|
|
|
|
#Default location for installed headers
|
|
ifeq ($(KBUILD_EXTMOD),)
|
|
PHONY += archheaders archscripts
|
|
hdr-inst := -f $(srctree)/scripts/Makefile.headersinst obj
|
|
headers: $(version_h) scripts_unifdef uapi-asm-generic archheaders archscripts
|
|
else
|
|
hdr-prefix = $(KBUILD_EXTMOD)/
|
|
hdr-inst := -f $(srctree)/scripts/Makefile.headersinst dst=$(KBUILD_EXTMOD)/usr/include objtree=$(objtree)/$(KBUILD_EXTMOD) obj
|
|
endif
|
|
|
|
export INSTALL_HDR_PATH = $(objtree)/$(hdr-prefix)usr
|
|
|
|
quiet_cmd_headers_install = INSTALL $(INSTALL_HDR_PATH)/include
|
|
cmd_headers_install = \
|
|
mkdir -p $(INSTALL_HDR_PATH); \
|
|
rsync -mrl --include='*/' --include='*\.h' --exclude='*' \
|
|
$(hdr-prefix)usr/include $(INSTALL_HDR_PATH);
|
|
|
|
PHONY += headers_install
|
|
headers_install: headers
|
|
$(call cmd,headers_install)
|
|
|
|
headers:
|
|
ifeq ($(KBUILD_EXTMOD),)
|
|
$(if $(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/Kbuild),, \
|
|
$(error Headers not exportable for the $(SRCARCH) architecture))
|
|
endif
|
|
$(Q)$(MAKE) $(hdr-inst)=$(hdr-prefix)include/uapi
|
|
$(Q)$(MAKE) $(hdr-inst)=$(hdr-prefix)arch/$(SRCARCH)/include/uapi
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Devicetree files
|
|
ifeq ($(KBUILD_EXTMOD),)
|
|
ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/boot/dts/),)
|
|
dtstree := arch/$(SRCARCH)/boot/dts
|
|
endif
|
|
|
|
else # KBUILD_EXTMOD
|
|
# Devicetree source should live in $(KBUILD_EXTMOD)/arch/$(SRCARCH)/boot/dts/
|
|
# But it may live inside some other folder relative to KBUILD_EXTMOD, as specified
|
|
# by KBUILD_EXTMOD_DTS
|
|
KBUILD_EXTMOD_DTS = arch/$(SRCARCH)/boot/dts
|
|
ifneq ($(wildcard $(KBUILD_EXTMOD)/$(KBUILD_EXTMOD_DTS)/ $(srctree)/$(KBUILD_EXTMOD)/$(KBUILD_EXTMOD_DTS)/),)
|
|
dtstree := $(KBUILD_EXTMOD)/$(KBUILD_EXTMOD_DTS)
|
|
endif
|
|
endif
|
|
|
|
ifneq ($(dtstree),)
|
|
|
|
%.dtb: include/config/kernel.release scripts_dtc
|
|
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
|
|
|
|
PHONY += dtbs dtbs_install dtbs_check
|
|
dtbs: include/config/kernel.release scripts_dtc
|
|
$(Q)$(MAKE) $(build)=$(dtstree)
|
|
|
|
ifneq ($(filter dtbs_check, $(MAKECMDGOALS)),)
|
|
export CHECK_DTBS=y
|
|
dtbs: dt_binding_check
|
|
endif
|
|
|
|
dtbs_check: dtbs
|
|
|
|
dtbs_install:
|
|
$(Q)$(MAKE) $(dtbinst)=$(dtstree) dst=$(INSTALL_DTBS_PATH)
|
|
|
|
ifdef CONFIG_OF_EARLY_FLATTREE
|
|
all: dtbs
|
|
endif
|
|
|
|
endif
|
|
|
|
PHONY += scripts_dtc
|
|
scripts_dtc: scripts_basic
|
|
$(Q)$(MAKE) $(build)=scripts/dtc
|
|
|
|
ifneq ($(filter dt_binding_check, $(MAKECMDGOALS)),)
|
|
export CHECK_DT_BINDING=y
|
|
endif
|
|
|
|
PHONY += dt_binding_check
|
|
dt_binding_check: scripts_dtc
|
|
$(Q)$(MAKE) $(build)=Documentation/devicetree/bindings
|
|
|
|
|
|
ifeq ($(KBUILD_EXTMOD),)
|
|
core-y += kernel/ certs/ mm/ fs/ ipc/ security/ crypto/
|
|
core-$(CONFIG_BLOCK) += block/
|
|
core-$(CONFIG_IO_URING) += io_uring/
|
|
|
|
vmlinux-dirs := $(patsubst %/,%,$(filter %/, \
|
|
$(core-y) $(core-m) $(drivers-y) $(drivers-m) \
|
|
$(libs-y) $(libs-m)))
|
|
|
|
vmlinux-alldirs := $(sort $(vmlinux-dirs) Documentation \
|
|
$(patsubst %/,%,$(filter %/, $(core-) \
|
|
$(drivers-) $(libs-))))
|
|
|
|
subdir-modorder := $(addsuffix modules.order,$(filter %/, \
|
|
$(core-y) $(core-m) $(libs-y) $(libs-m) \
|
|
$(drivers-y) $(drivers-m)))
|
|
|
|
build-dirs := $(vmlinux-dirs)
|
|
clean-dirs := $(vmlinux-alldirs)
|
|
|
|
# Externally visible symbols (used by link-vmlinux.sh)
|
|
KBUILD_VMLINUX_OBJS := $(head-y) $(patsubst %/,%/built-in.a, $(core-y))
|
|
KBUILD_VMLINUX_OBJS += $(addsuffix built-in.a, $(filter %/, $(libs-y)))
|
|
ifdef CONFIG_MODULES
|
|
KBUILD_VMLINUX_OBJS += $(patsubst %/, %/lib.a, $(filter %/, $(libs-y)))
|
|
KBUILD_VMLINUX_LIBS := $(filter-out %/, $(libs-y))
|
|
else
|
|
KBUILD_VMLINUX_LIBS := $(patsubst %/,%/lib.a, $(libs-y))
|
|
endif
|
|
KBUILD_VMLINUX_OBJS += $(patsubst %/,%/built-in.a, $(drivers-y))
|
|
|
|
export KBUILD_VMLINUX_OBJS KBUILD_VMLINUX_LIBS
|
|
export KBUILD_LDS := arch/$(SRCARCH)/kernel/vmlinux.lds
|
|
# 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
|
|
# 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)
|
|
KBUILD_MODULES := 1
|
|
|
|
autoksyms_recursive: descend modules.order
|
|
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/adjust_autoksyms.sh \
|
|
"$(MAKE) -f $(srctree)/Makefile autoksyms_recursive"
|
|
endif
|
|
|
|
autoksyms_h := $(if $(CONFIG_TRIM_UNUSED_KSYMS), include/generated/autoksyms.h)
|
|
|
|
quiet_cmd_autoksyms_h = GEN $@
|
|
cmd_autoksyms_h = mkdir -p $(dir $@); \
|
|
$(CONFIG_SHELL) $(srctree)/scripts/gen_autoksyms.sh $@
|
|
|
|
$(autoksyms_h):
|
|
$(call cmd,autoksyms_h)
|
|
|
|
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)
|
|
|
|
ifndef KBUILD_MIXED_TREE
|
|
vmlinux: scripts/link-vmlinux.sh autoksyms_recursive $(vmlinux-deps) FORCE
|
|
+$(call if_changed_dep,link-vmlinux)
|
|
endif
|
|
|
|
targets := vmlinux
|
|
|
|
# The actual objects are generated when descending,
|
|
# make sure no implicit rule kicks in
|
|
$(sort $(vmlinux-deps) $(subdir-modorder)): descend ;
|
|
|
|
filechk_kernel.release = \
|
|
echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion \
|
|
$(srctree) $(BRANCH) $(KMI_GENERATION))"
|
|
|
|
# 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 \
|
|
include/generated/autoconf.h remove-stale-files
|
|
|
|
prepare0: archprepare
|
|
$(Q)$(MAKE) $(build)=scripts/mod
|
|
$(Q)$(MAKE) $(build)=.
|
|
|
|
# All the preparing..
|
|
prepare: prepare0
|
|
|
|
PHONY += remove-stale-files
|
|
remove-stale-files:
|
|
$(Q)$(srctree)/scripts/remove-stale-files
|
|
|
|
# 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
|
|
|
|
# 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
|
|
if [ $(SUBLEVEL) -gt 255 ]; then \
|
|
echo \#define LINUX_VERSION_CODE $(shell \
|
|
expr $(VERSION) \* 65536 + $(PATCHLEVEL) \* 256 + 255); \
|
|
else \
|
|
echo \#define LINUX_VERSION_CODE $(shell \
|
|
expr $(VERSION) \* 65536 + $(PATCHLEVEL) \* 256 + $(SUBLEVEL)); \
|
|
fi; \
|
|
echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + \
|
|
((c) > 255 ? 255 : (c)))'; \
|
|
echo \#define LINUX_VERSION_MAJOR $(VERSION); \
|
|
echo \#define LINUX_VERSION_PATCHLEVEL $(PATCHLEVEL); \
|
|
echo \#define LINUX_VERSION_SUBLEVEL $(SUBLEVEL)
|
|
endef
|
|
|
|
$(version_h): PATCHLEVEL := $(or $(PATCHLEVEL), 0)
|
|
$(version_h): SUBLEVEL := $(or $(SUBLEVEL), 0)
|
|
$(version_h): FORCE
|
|
$(call filechk,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
|
|
|
|
ifdef CONFIG_HEADERS_INSTALL
|
|
prepare: headers
|
|
endif
|
|
|
|
PHONY += scripts_unifdef
|
|
scripts_unifdef: scripts_basic
|
|
$(Q)$(MAKE) $(build)=scripts scripts/unifdef
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Install
|
|
|
|
# Many distributions have the custom install script, /sbin/installkernel.
|
|
# If DKMS is installed, 'make install' will eventually recurse back
|
|
# to this Makefile to build and install external modules.
|
|
# Cancel sub_make_done so that options such as M=, V=, etc. are parsed.
|
|
|
|
quiet_cmd_install = INSTALL $(INSTALL_PATH)
|
|
cmd_install = unset sub_make_done; $(srctree)/scripts/install.sh
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Tools
|
|
|
|
ifdef CONFIG_OBJTOOL
|
|
prepare: tools/objtool
|
|
endif
|
|
|
|
ifdef CONFIG_BPF
|
|
ifdef CONFIG_DEBUG_INFO_BTF
|
|
prepare: tools/bpf/resolve_btfids
|
|
endif
|
|
endif
|
|
|
|
PHONY += resolve_btfids_clean
|
|
|
|
resolve_btfids_O = $(abspath $(objtree))/tools/bpf/resolve_btfids
|
|
|
|
# tools/bpf/resolve_btfids directory might not exist
|
|
# in output directory, skip its clean in that case
|
|
resolve_btfids_clean:
|
|
ifneq ($(wildcard $(resolve_btfids_O)),)
|
|
$(Q)$(MAKE) -sC $(srctree)/tools/bpf/resolve_btfids O=$(resolve_btfids_O) clean
|
|
endif
|
|
|
|
# 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/ $*
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Kernel selftest
|
|
|
|
PHONY += kselftest
|
|
kselftest: headers
|
|
$(Q)$(MAKE) -C $(srctree)/tools/testing/selftests run_tests
|
|
|
|
kselftest-%: headers 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/),)
|
|
# ANDROID: allow this to be overridden by the build environment. This allows
|
|
# one to compile a device tree that is located out-of-tree.
|
|
dtstree ?= arch/$(SRCARCH)/boot/dts
|
|
endif
|
|
|
|
ifneq ($(dtstree),)
|
|
|
|
%.dtb: include/config/kernel.release scripts_dtc
|
|
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
|
|
|
|
%.dtbo: include/config/kernel.release scripts_dtc
|
|
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
|
|
|
|
PHONY += dtbs dtbs_install dtbs_check
|
|
dtbs: include/config/kernel.release scripts_dtc
|
|
$(Q)$(MAKE) $(build)=$(dtstree)
|
|
|
|
ifneq ($(filter dtbs_check, $(MAKECMDGOALS)),)
|
|
export CHECK_DTBS=y
|
|
dtbs: dt_binding_check
|
|
endif
|
|
|
|
dtbs_check: dtbs
|
|
|
|
dtbs_install:
|
|
$(Q)$(MAKE) $(dtbinst)=$(dtstree) dst=$(INSTALL_DTBS_PATH)
|
|
|
|
ifdef CONFIG_OF_EARLY_FLATTREE
|
|
all: dtbs
|
|
endif
|
|
|
|
endif
|
|
|
|
PHONY += scripts_dtc
|
|
scripts_dtc: scripts_basic
|
|
$(Q)$(MAKE) $(build)=scripts/dtc
|
|
|
|
ifneq ($(filter dt_binding_check, $(MAKECMDGOALS)),)
|
|
export CHECK_DT_BINDING=y
|
|
endif
|
|
|
|
PHONY += dt_binding_check
|
|
dt_binding_check: scripts_dtc
|
|
$(Q)$(MAKE) $(build)=Documentation/devicetree/bindings
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Modules
|
|
|
|
ifdef CONFIG_MODULES
|
|
|
|
# By default, build modules as well
|
|
|
|
all: modules
|
|
|
|
# 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.
|
|
ifdef CONFIG_MODVERSIONS
|
|
KBUILD_BUILTIN := 1
|
|
endif
|
|
|
|
# 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
|
|
# if KBUILD_BUILTIN && !KBUILD_MIXED_TREE, depend on vmlinux
|
|
modules: $(if $(KBUILD_BUILTIN), $(if $(KBUILD_MIXED_TREE),,vmlinux))
|
|
modules: modules_check modules_prepare
|
|
|
|
cmd_modules_order = $(AWK) '!x[$$0]++' $(real-prereqs) > $@
|
|
|
|
modules.order: $(subdir-modorder) FORCE
|
|
$(call if_changed,modules_order)
|
|
|
|
targets += modules.order
|
|
|
|
# Target to prepare building external modules
|
|
PHONY += modules_prepare
|
|
modules_prepare: prepare
|
|
$(Q)$(MAKE) $(build)=scripts scripts/module.lds
|
|
|
|
export modules_sign_only :=
|
|
|
|
ifeq ($(CONFIG_MODULE_SIG),y)
|
|
PHONY += modules_sign
|
|
modules_sign: modules_install
|
|
@:
|
|
|
|
# modules_sign is a subset of modules_install.
|
|
# 'make modules_install modules_sign' is equivalent to 'make modules_install'.
|
|
ifeq ($(filter modules_install,$(MAKECMDGOALS)),)
|
|
modules_sign_only := y
|
|
endif
|
|
endif
|
|
|
|
modinst_pre :=
|
|
ifneq ($(filter modules_install,$(MAKECMDGOALS)),)
|
|
modinst_pre := __modinst_pre
|
|
endif
|
|
|
|
modules_install: $(modinst_pre)
|
|
PHONY += __modinst_pre
|
|
__modinst_pre:
|
|
@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 $(mixed-build-prefix)modules.builtin $(MODLIB)/
|
|
@cp -f $(or $(mixed-build-prefix),$(objtree)/)modules.builtin.modinfo $(MODLIB)/
|
|
|
|
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_FILES += include/ksym vmlinux.symvers modules-only.symvers \
|
|
modules.builtin modules.builtin.modinfo modules.nsdeps \
|
|
compile_commands.json .thinlto-cache
|
|
|
|
# Directories & files removed with 'make mrproper'
|
|
MRPROPER_FILES += include/config include/generated \
|
|
arch/$(SRCARCH)/include/generated .objdiff \
|
|
debian snap tar-install \
|
|
.config .config.old .version \
|
|
Module.symvers \
|
|
certs/signing_key.pem \
|
|
certs/x509.genkey \
|
|
vmlinux-gdb.py \
|
|
*.spec
|
|
|
|
# clean - Delete most, but leave enough to build external modules
|
|
#
|
|
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 resolve_btfids_clean
|
|
|
|
# mrproper - Delete all generated files, including .config
|
|
#
|
|
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,rmfiles)
|
|
|
|
# distclean
|
|
#
|
|
PHONY += distclean
|
|
|
|
distclean: mrproper
|
|
@find . $(RCS_FIND_IGNORE) \
|
|
\( -name '*.orig' -o -name '*.rej' -o -name '*~' \
|
|
-o -name '*.bak' -o -name '#*#' -o -name '*%' \
|
|
-o -name 'core' -o -name tags -o -name TAGS -o -name 'cscope*' \
|
|
-o -name GPATH -o -name GRTAGS -o -name GSYMS -o -name GTAGS \) \
|
|
-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 ' 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 ' clang-analyzer - Check with clang static analyzer'
|
|
@echo ' clang-tidy - Check with clang-tidy'
|
|
@echo ''
|
|
@echo 'Tools:'
|
|
@echo ' nsdeps - Generate missing symbol namespace dependencies'
|
|
@echo ''
|
|
@echo 'Kernel selftest:'
|
|
@echo ' kselftest - Build and run kernel selftest'
|
|
@echo ' Build, install, and boot kernel before'
|
|
@echo ' running kselftest on it'
|
|
@echo ' Run as root for full coverage'
|
|
@echo ' kselftest-all - Build kernel selftest'
|
|
@echo ' kselftest-install - Build and install kernel selftest'
|
|
@echo ' kselftest-clean - Remove all generated kselftest files'
|
|
@echo ' kselftest-merge - Merge all the config dependencies of'
|
|
@echo ' kselftest to existing .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)):'
|
|
@$(or $(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 ' e: warnings are being treated as errors'
|
|
@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.
|
|
|
|
# We are always building only modules.
|
|
KBUILD_BUILTIN :=
|
|
KBUILD_MODULES := 1
|
|
|
|
build-dirs := $(KBUILD_EXTMOD)
|
|
$(MODORDER): descend
|
|
@:
|
|
|
|
compile_commands.json: $(extmod_prefix)compile_commands.json
|
|
PHONY += compile_commands.json
|
|
|
|
clean-dirs := $(KBUILD_EXTMOD)
|
|
clean: rm-files := $(KBUILD_EXTMOD)/Module.symvers $(KBUILD_EXTMOD)/modules.nsdeps \
|
|
$(KBUILD_EXTMOD)/compile_commands.json $(KBUILD_EXTMOD)/.thinlto-cache
|
|
|
|
PHONY += prepare
|
|
# now expand this into a simple variable to reduce the cost of shell evaluations
|
|
prepare: CC_VERSION_TEXT := $(CC_VERSION_TEXT)
|
|
prepare:
|
|
@if [ "$(CC_VERSION_TEXT)" != "$(CONFIG_CC_VERSION_TEXT)" ]; then \
|
|
echo >&2 "warning: the compiler differs from the one used to build the kernel"; \
|
|
echo >&2 " The kernel was built by: $(CONFIG_CC_VERSION_TEXT)"; \
|
|
echo >&2 " You are using: $(CC_VERSION_TEXT)"; \
|
|
fi
|
|
|
|
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 ' headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'
|
|
@echo ' (default: $(abspath $(INSTALL_HDR_PATH)))'
|
|
@echo ' clean - remove generated files in module directory only'
|
|
@echo ''
|
|
|
|
# no-op for external module builds
|
|
PHONY += modules_prepare
|
|
|
|
endif # KBUILD_EXTMOD
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Modules
|
|
|
|
PHONY += modules modules_install
|
|
|
|
ifdef CONFIG_MODULES
|
|
|
|
modules: modules_check
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
|
|
|
|
PHONY += modules_check
|
|
modules_check: $(MODORDER)
|
|
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/modules-check.sh $<
|
|
|
|
quiet_cmd_depmod = DEPMOD $(MODLIB)
|
|
cmd_depmod = $(CONFIG_SHELL) $(srctree)/scripts/depmod.sh $(DEPMOD) \
|
|
$(KERNELRELEASE) $(mixed-build-prefix)
|
|
|
|
modules_install:
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst
|
|
$(call cmd,depmod)
|
|
|
|
else # CONFIG_MODULES
|
|
|
|
# Modules not configured
|
|
# ---------------------------------------------------------------------------
|
|
|
|
modules modules_install:
|
|
@echo >&2 '***'
|
|
@echo >&2 '*** The present kernel configuration has modules disabled.'
|
|
@echo >&2 '*** To use the module feature, please run "make menuconfig" etc.'
|
|
@echo >&2 '*** to enable CONFIG_MODULES.'
|
|
@echo >&2 '***'
|
|
@exit 1
|
|
|
|
endif # CONFIG_MODULES
|
|
|
|
# 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 := $(filter-out $(single-ko), $(MAKECMDGOALS)) \
|
|
$(foreach x, o mod, $(patsubst %.ko, %.$x, $(single-ko)))
|
|
|
|
$(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) modules_prepare
|
|
$(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
|
|
|
|
ifndef CONFIG_MODULES
|
|
KBUILD_MODULES :=
|
|
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 $@/%, $(KBUILD_SINGLE_TARGETS))),1) \
|
|
$(if $(KBUILD_MIXED_TREE),,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,rmfiles)
|
|
@find $(or $(KBUILD_EXTMOD), .) $(RCS_FIND_IGNORE) \
|
|
\( -name '*.[aios]' -o -name '*.ko' -o -name '.*.cmd' \
|
|
-o -name '*.ko.*' \
|
|
-o -name '*.dtb' -o -name '*.dtbo' -o -name '*.dtb.S' -o -name '*.dt.yaml' \
|
|
-o -name '*.dwo' -o -name '*.lst' \
|
|
-o -name '*.su' -o -name '*.mod' -o -name '*.usyms' \
|
|
-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 -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
|
|
|
|
# Clang Tooling
|
|
# ---------------------------------------------------------------------------
|
|
|
|
quiet_cmd_gen_compile_commands = GEN $@
|
|
cmd_gen_compile_commands = $(PYTHON3) $< -a $(AR) -o $@ $(filter-out $<, $(real-prereqs))
|
|
|
|
$(extmod_prefix)compile_commands.json: scripts/clang-tools/gen_compile_commands.py \
|
|
$(if $(KBUILD_EXTMOD)$(KBUILD_MIXED_TREE),,$(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS)) \
|
|
$(if $(CONFIG_MODULES), $(MODORDER)) FORCE
|
|
$(call if_changed,gen_compile_commands)
|
|
|
|
targets += $(extmod_prefix)compile_commands.json
|
|
|
|
PHONY += clang-tidy clang-analyzer
|
|
|
|
ifdef CONFIG_CC_IS_CLANG
|
|
quiet_cmd_clang_tools = CHECK $<
|
|
cmd_clang_tools = $(PYTHON3) $(srctree)/scripts/clang-tools/run-clang-tools.py $@ $<
|
|
|
|
clang-tidy clang-analyzer: $(extmod_prefix)compile_commands.json
|
|
$(call cmd,clang_tools)
|
|
else
|
|
clang-tidy clang-analyzer:
|
|
@echo "$@ requires CC=clang" >&2
|
|
@false
|
|
endif
|
|
|
|
# Scripts to check various things for consistency
|
|
# ---------------------------------------------------------------------------
|
|
|
|
PHONY += includecheck versioncheck coccicheck 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/$@
|
|
|
|
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) $(BRANCH) $(KMI_GENERATION))"
|
|
|
|
kernelversion:
|
|
@echo $(KERNELVERSION)
|
|
|
|
image_name:
|
|
@echo $(KBUILD_IMAGE)
|
|
|
|
quiet_cmd_rmfiles = $(if $(wildcard $(rm-files)),CLEAN $(wildcard $(rm-files)))
|
|
cmd_rmfiles = rm -rf $(rm-files)
|
|
|
|
# read saved command lines for existing targets
|
|
existing-targets := $(wildcard $(sort $(targets)))
|
|
|
|
-include $(foreach f,$(existing-targets),$(dir $(f)).$(notdir $(f)).cmd)
|
|
|
|
endif # config-build
|
|
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)
|