mirror of
https://github.com/torvalds/linux.git
synced 2026-07-31 11:37:06 +02:00
Merge keystone/android-mainline-keystone-qcom-release.5.19-rc8 (ea7c365) into msm-pineapple
* 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>
This commit is contained in:
commit
3d2ad71089
|
|
@ -260,6 +260,15 @@ Description:
|
|||
for discards, and don't read this file.
|
||||
|
||||
|
||||
What: /sys/block/<disk>/queue/dma_alignment
|
||||
Date: May 2022
|
||||
Contact: linux-block@vger.kernel.org
|
||||
Description:
|
||||
Reports the alignment that user space addresses must have to be
|
||||
used for raw block device access with O_DIRECT and other driver
|
||||
specific passthrough mechanisms.
|
||||
|
||||
|
||||
What: /sys/block/<disk>/queue/fua
|
||||
Date: May 2018
|
||||
Contact: linux-block@vger.kernel.org
|
||||
|
|
|
|||
|
|
@ -938,3 +938,12 @@ Description:
|
|||
- 1: enable
|
||||
|
||||
RW
|
||||
|
||||
What: /sys/class/hwmon/hwmonX/device/pec
|
||||
Description:
|
||||
PEC support on I2C devices
|
||||
|
||||
- 0, off, n: disable
|
||||
- 1, on, y: enable
|
||||
|
||||
RW
|
||||
|
|
|
|||
|
|
@ -493,12 +493,13 @@ What: /sys/devices/system/cpu/cpuX/regs/
|
|||
/sys/devices/system/cpu/cpuX/regs/identification/
|
||||
/sys/devices/system/cpu/cpuX/regs/identification/midr_el1
|
||||
/sys/devices/system/cpu/cpuX/regs/identification/revidr_el1
|
||||
/sys/devices/system/cpu/cpuX/regs/identification/smidr_el1
|
||||
Date: June 2016
|
||||
Contact: Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org>
|
||||
Description: AArch64 CPU registers
|
||||
|
||||
'identification' directory exposes the CPU ID registers for
|
||||
identifying model and revision of the CPU.
|
||||
identifying model and revision of the CPU and SMCU.
|
||||
|
||||
What: /sys/devices/system/cpu/aarch32_el0
|
||||
Date: May 2021
|
||||
|
|
|
|||
49
Documentation/ABI/testing/sysfs-driver-qat
Normal file
49
Documentation/ABI/testing/sysfs-driver-qat
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
What: /sys/bus/pci/devices/<BDF>/qat/state
|
||||
Date: June 2022
|
||||
KernelVersion: 5.20
|
||||
Contact: qat-linux@intel.com
|
||||
Description: (RW) Reports the current state of the QAT device. Write to
|
||||
the file to start or stop the device.
|
||||
|
||||
The values are:
|
||||
|
||||
* up: the device is up and running
|
||||
* down: the device is down
|
||||
|
||||
|
||||
It is possible to transition the device from up to down only
|
||||
if the device is up and vice versa.
|
||||
|
||||
This attribute is only available for qat_4xxx devices.
|
||||
|
||||
What: /sys/bus/pci/devices/<BDF>/qat/cfg_services
|
||||
Date: June 2022
|
||||
KernelVersion: 5.20
|
||||
Contact: qat-linux@intel.com
|
||||
Description: (RW) Reports the current configuration of the QAT device.
|
||||
Write to the file to change the configured services.
|
||||
|
||||
The values are:
|
||||
|
||||
* sym;asym: the device is configured for running crypto
|
||||
services
|
||||
* dc: the device is configured for running compression services
|
||||
|
||||
It is possible to set the configuration only if the device
|
||||
is in the `down` state (see /sys/bus/pci/devices/<BDF>/qat/state)
|
||||
|
||||
The following example shows how to change the configuration of
|
||||
a device configured for running crypto services in order to
|
||||
run data compression::
|
||||
|
||||
# cat /sys/bus/pci/devices/<BDF>/qat/state
|
||||
up
|
||||
# cat /sys/bus/pci/devices/<BDF>/qat/cfg_services
|
||||
sym;asym
|
||||
# echo down > /sys/bus/pci/devices/<BDF>/qat/state
|
||||
# echo dc > /sys/bus/pci/devices/<BDF>/qat/cfg_services
|
||||
# echo up > /sys/bus/pci/devices/<BDF>/qat/state
|
||||
# cat /sys/bus/pci/devices/<BDF>/qat/cfg_services
|
||||
dc
|
||||
|
||||
This attribute is only available for qat_4xxx devices.
|
||||
|
|
@ -12,8 +12,9 @@ Description:
|
|||
configuration data to the guest userspace.
|
||||
|
||||
The authoritative guest-side hardware interface documentation
|
||||
to the fw_cfg device can be found in "docs/specs/fw_cfg.txt"
|
||||
in the QEMU source tree.
|
||||
to the fw_cfg device can be found in "docs/specs/fw_cfg.rst"
|
||||
in the QEMU source tree, or online at:
|
||||
https://qemu-project.gitlab.io/qemu/specs/fw_cfg.html
|
||||
|
||||
**SysFS fw_cfg Interface**
|
||||
|
||||
|
|
|
|||
|
|
@ -1,23 +1,22 @@
|
|||
config WARN_MISSING_DOCUMENTS
|
||||
|
||||
bool "Warn if there's a missing documentation file"
|
||||
depends on COMPILE_TEST
|
||||
help
|
||||
It is not uncommon that a document gets renamed.
|
||||
This option makes the Kernel to check for missing dependencies,
|
||||
warning when something is missing. Works only if the Kernel
|
||||
is built from a git tree.
|
||||
It is not uncommon that a document gets renamed.
|
||||
This option makes the Kernel to check for missing dependencies,
|
||||
warning when something is missing. Works only if the Kernel
|
||||
is built from a git tree.
|
||||
|
||||
If unsure, select 'N'.
|
||||
If unsure, select 'N'.
|
||||
|
||||
config WARN_ABI_ERRORS
|
||||
bool "Warn if there are errors at ABI files"
|
||||
depends on COMPILE_TEST
|
||||
help
|
||||
The files under Documentation/ABI should follow what's
|
||||
described at Documentation/ABI/README. Yet, as they're manually
|
||||
written, it would be possible that some of those files would
|
||||
have errors that would break them for being parsed by
|
||||
scripts/get_abi.pl. Add a check to verify them.
|
||||
The files under Documentation/ABI should follow what's
|
||||
described at Documentation/ABI/README. Yet, as they're manually
|
||||
written, it would be possible that some of those files would
|
||||
have errors that would break them for being parsed by
|
||||
scripts/get_abi.pl. Add a check to verify them.
|
||||
|
||||
If unsure, select 'N'.
|
||||
If unsure, select 'N'.
|
||||
|
|
|
|||
|
|
@ -125,14 +125,14 @@ Following piece of code illustrates the usage of the SR-IOV API.
|
|||
...
|
||||
}
|
||||
|
||||
static int dev_suspend(struct pci_dev *dev, pm_message_t state)
|
||||
static int dev_suspend(struct device *dev)
|
||||
{
|
||||
...
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int dev_resume(struct pci_dev *dev)
|
||||
static int dev_resume(struct device *dev)
|
||||
{
|
||||
...
|
||||
|
||||
|
|
@ -165,8 +165,7 @@ Following piece of code illustrates the usage of the SR-IOV API.
|
|||
.id_table = dev_id_table,
|
||||
.probe = dev_probe,
|
||||
.remove = dev_remove,
|
||||
.suspend = dev_suspend,
|
||||
.resume = dev_resume,
|
||||
.driver.pm = &dev_pm_ops,
|
||||
.shutdown = dev_shutdown,
|
||||
.sriov_configure = dev_sriov_configure,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@ implementation of that functionality. To support the historical interface of
|
|||
mmap() through files in /proc/bus/pci, platforms may also set HAVE_PCI_MMAP.
|
||||
|
||||
Alternatively, platforms which set HAVE_PCI_MMAP may provide their own
|
||||
implementation of pci_mmap_page_range() instead of defining
|
||||
implementation of pci_mmap_resource_range() instead of defining
|
||||
ARCH_GENERIC_PCI_MMAP_RESOURCE.
|
||||
|
||||
Platforms which support write-combining maps of PCI resources must define
|
||||
|
|
|
|||
|
|
@ -1844,10 +1844,10 @@ that meets this requirement.
|
|||
|
||||
Furthermore, NMI handlers can be interrupted by what appear to RCU to be
|
||||
normal interrupts. One way that this can happen is for code that
|
||||
directly invokes rcu_irq_enter() and rcu_irq_exit() to be called
|
||||
directly invokes ct_irq_enter() and ct_irq_exit() to be called
|
||||
from an NMI handler. This astonishing fact of life prompted the current
|
||||
code structure, which has rcu_irq_enter() invoking
|
||||
rcu_nmi_enter() and rcu_irq_exit() invoking rcu_nmi_exit().
|
||||
code structure, which has ct_irq_enter() invoking
|
||||
ct_nmi_enter() and ct_irq_exit() invoking ct_nmi_exit().
|
||||
And yes, I also learned of this requirement the hard way.
|
||||
|
||||
Loadable Modules
|
||||
|
|
@ -2195,7 +2195,7 @@ scheduling-clock interrupt be enabled when RCU needs it to be:
|
|||
sections, and RCU believes this CPU to be idle, no problem. This
|
||||
sort of thing is used by some architectures for light-weight
|
||||
exception handlers, which can then avoid the overhead of
|
||||
rcu_irq_enter() and rcu_irq_exit() at exception entry and
|
||||
ct_irq_enter() and ct_irq_exit() at exception entry and
|
||||
exit, respectively. Some go further and avoid the entireties of
|
||||
irq_enter() and irq_exit().
|
||||
Just make very sure you are running some of your tests with
|
||||
|
|
@ -2226,7 +2226,7 @@ scheduling-clock interrupt be enabled when RCU needs it to be:
|
|||
+-----------------------------------------------------------------------+
|
||||
| **Answer**: |
|
||||
+-----------------------------------------------------------------------+
|
||||
| One approach is to do ``rcu_irq_exit();rcu_irq_enter();`` every so |
|
||||
| One approach is to do ``ct_irq_exit();ct_irq_enter();`` every so |
|
||||
| often. But given that long-running interrupt handlers can cause other |
|
||||
| problems, not least for response time, shouldn't you work to keep |
|
||||
| your interrupt handler's runtime within reasonable bounds? |
|
||||
|
|
|
|||
|
|
@ -97,12 +97,12 @@ warnings:
|
|||
which will include additional debugging information.
|
||||
|
||||
- A low-level kernel issue that either fails to invoke one of the
|
||||
variants of rcu_user_enter(), rcu_user_exit(), rcu_idle_enter(),
|
||||
rcu_idle_exit(), rcu_irq_enter(), or rcu_irq_exit() on the one
|
||||
variants of rcu_eqs_enter(true), rcu_eqs_exit(true), ct_idle_enter(),
|
||||
ct_idle_exit(), ct_irq_enter(), or ct_irq_exit() on the one
|
||||
hand, or that invokes one of them too many times on the other.
|
||||
Historically, the most frequent issue has been an omission
|
||||
of either irq_enter() or irq_exit(), which in turn invoke
|
||||
rcu_irq_enter() or rcu_irq_exit(), respectively. Building your
|
||||
ct_irq_enter() or ct_irq_exit(), respectively. Building your
|
||||
kernel with CONFIG_RCU_EQS_DEBUG=y can help track down these types
|
||||
of issues, which sometimes arise in architecture-specific code.
|
||||
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ Under below explanation, we assume CONFIG_MEM_RES_CTRL_SWAP=y.
|
|||
=============
|
||||
|
||||
Page Cache is charged at
|
||||
- add_to_page_cache_locked().
|
||||
- filemap_add_folio().
|
||||
|
||||
The logic is very clear. (About migration, see below)
|
||||
|
||||
|
|
|
|||
|
|
@ -184,6 +184,14 @@ cgroup v2 currently supports the following mount options.
|
|||
ignored on non-init namespace mounts. Please refer to the
|
||||
Delegation section for details.
|
||||
|
||||
favordynmods
|
||||
Reduce the latencies of dynamic cgroup modifications such as
|
||||
task migrations and controller on/offs at the cost of making
|
||||
hot path operations such as forks and exits more expensive.
|
||||
The static usage pattern of creating a cgroup, enabling
|
||||
controllers, and then seeding it with CLONE_INTO_CGROUP is
|
||||
not affected by this option.
|
||||
|
||||
memory_localevents
|
||||
Only populate memory.events with data for the current cgroup,
|
||||
and not any subtrees. This is legacy behaviour, the default
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ Constructor parameters:
|
|||
size)
|
||||
5. the number of optional parameters (the parameters with an argument
|
||||
count as two)
|
||||
|
||||
start_sector n (default: 0)
|
||||
offset from the start of cache device in 512-byte sectors
|
||||
high_watermark n (default: 50)
|
||||
|
|
@ -74,20 +75,21 @@ Constructor parameters:
|
|||
the origin volume in the last n milliseconds
|
||||
|
||||
Status:
|
||||
|
||||
1. error indicator - 0 if there was no error, otherwise error number
|
||||
2. the number of blocks
|
||||
3. the number of free blocks
|
||||
4. the number of blocks under writeback
|
||||
5. the number of read requests
|
||||
6. the number of read requests that hit the cache
|
||||
7. the number of write requests
|
||||
8. the number of write requests that hit uncommitted block
|
||||
9. the number of write requests that hit committed block
|
||||
10. the number of write requests that bypass the cache
|
||||
11. the number of write requests that are allocated in the cache
|
||||
5. the number of read blocks
|
||||
6. the number of read blocks that hit the cache
|
||||
7. the number of write blocks
|
||||
8. the number of write blocks that hit uncommitted block
|
||||
9. the number of write blocks that hit committed block
|
||||
10. the number of write blocks that bypass the cache
|
||||
11. the number of write blocks that are allocated in the cache
|
||||
12. the number of write requests that are blocked on the freelist
|
||||
13. the number of flush requests
|
||||
14. the number of discard requests
|
||||
14. the number of discarded blocks
|
||||
|
||||
Messages:
|
||||
flush
|
||||
|
|
|
|||
|
|
@ -7,10 +7,9 @@ This list is the Linux Device List, the official registry of allocated
|
|||
device numbers and ``/dev`` directory nodes for the Linux operating
|
||||
system.
|
||||
|
||||
The LaTeX version of this document is no longer maintained, nor is
|
||||
the document that used to reside at lanana.org. This version in the
|
||||
mainline Linux kernel is the master document. Updates shall be sent
|
||||
as patches to the kernel maintainers (see the
|
||||
The version of this document at lanana.org is no longer maintained. This
|
||||
version in the mainline Linux kernel is the master document. Updates
|
||||
shall be sent as patches to the kernel maintainers (see the
|
||||
:ref:`Documentation/process/submitting-patches.rst <submittingpatches>` document).
|
||||
Specifically explore the sections titled "CHAR and MISC DRIVERS", and
|
||||
"BLOCK LAYER" in the MAINTAINERS file to find the right maintainers
|
||||
|
|
|
|||
|
|
@ -7,10 +7,10 @@ as a PE/COFF image, thereby convincing EFI firmware loaders to load
|
|||
it as an EFI executable. The code that modifies the bzImage header,
|
||||
along with the EFI-specific entry point that the firmware loader
|
||||
jumps to are collectively known as the "EFI boot stub", and live in
|
||||
arch/x86/boot/header.S and arch/x86/boot/compressed/eboot.c,
|
||||
arch/x86/boot/header.S and drivers/firmware/efi/libstub/x86-stub.c,
|
||||
respectively. For ARM the EFI stub is implemented in
|
||||
arch/arm/boot/compressed/efi-header.S and
|
||||
arch/arm/boot/compressed/efi-stub.c. EFI stub code that is shared
|
||||
drivers/firmware/efi/libstub/arm32-stub.c. EFI stub code that is shared
|
||||
between architectures is in drivers/firmware/efi/libstub.
|
||||
|
||||
For arm64, there is no compressed kernel support, so the Image itself
|
||||
|
|
|
|||
|
|
@ -400,6 +400,12 @@
|
|||
arm64.nomte [ARM64] Unconditionally disable Memory Tagging Extension
|
||||
support
|
||||
|
||||
arm64.nosve [ARM64] Unconditionally disable Scalable Vector
|
||||
Extension support
|
||||
|
||||
arm64.nosme [ARM64] Unconditionally disable Scalable Matrix
|
||||
Extension support
|
||||
|
||||
ataflop= [HW,M68k]
|
||||
|
||||
atarimouse= [HW,MOUSE] Atari Mouse
|
||||
|
|
@ -550,7 +556,7 @@
|
|||
nosocket -- Disable socket memory accounting.
|
||||
nokmem -- Disable kernel memory accounting.
|
||||
|
||||
checkreqprot [SELINUX] Set initial checkreqprot flag value.
|
||||
checkreqprot= [SELINUX] Set initial checkreqprot flag value.
|
||||
Format: { "0" | "1" }
|
||||
See security/selinux/Kconfig help text.
|
||||
0 -- check protection applied by kernel (includes
|
||||
|
|
@ -1439,7 +1445,7 @@
|
|||
(in particular on some ATI chipsets).
|
||||
The kernel tries to set a reasonable default.
|
||||
|
||||
enforcing [SELINUX] Set initial enforcing status.
|
||||
enforcing= [SELINUX] Set initial enforcing status.
|
||||
Format: {"0" | "1"}
|
||||
See security/selinux/Kconfig help text.
|
||||
0 -- permissive (log only, no denials).
|
||||
|
|
@ -3111,7 +3117,7 @@
|
|||
mem_encrypt=on: Activate SME
|
||||
mem_encrypt=off: Do not activate SME
|
||||
|
||||
Refer to Documentation/virt/kvm/amd-memory-encryption.rst
|
||||
Refer to Documentation/virt/kvm/x86/amd-memory-encryption.rst
|
||||
for details on when memory encryption can be activated.
|
||||
|
||||
mem_sleep_default= [SUSPEND] Default system suspend mode:
|
||||
|
|
@ -3169,7 +3175,7 @@
|
|||
improves system performance, but it may also
|
||||
expose users to several CPU vulnerabilities.
|
||||
Equivalent to: nopti [X86,PPC]
|
||||
kpti=0 [ARM64]
|
||||
if nokaslr then kpti=0 [ARM64]
|
||||
nospectre_v1 [X86,PPC]
|
||||
nobp=0 [S390]
|
||||
nospectre_v2 [X86,PPC,S390,ARM64]
|
||||
|
|
@ -3669,6 +3675,9 @@
|
|||
just as if they had also been called out in the
|
||||
rcu_nocbs= boot parameter.
|
||||
|
||||
Note that this argument takes precedence over
|
||||
the CONFIG_RCU_NOCB_CPU_DEFAULT_ALL option.
|
||||
|
||||
noiotrap [SH] Disables trapped I/O port accesses.
|
||||
|
||||
noirqdebug [X86-32] Disables the code which attempts to detect and
|
||||
|
|
@ -3743,11 +3752,6 @@
|
|||
noreplace-smp [X86-32,SMP] Don't replace SMP instructions
|
||||
with UP alternatives
|
||||
|
||||
nordrand [X86] Disable kernel use of the RDRAND and
|
||||
RDSEED instructions even if they are supported
|
||||
by the processor. RDRAND and RDSEED are still
|
||||
available to user space applications.
|
||||
|
||||
noresume [SWSUSP] Disables resume and restores original swap
|
||||
space.
|
||||
|
||||
|
|
@ -4567,6 +4571,9 @@
|
|||
no-callback mode from boot but the mode may be
|
||||
toggled at runtime via cpusets.
|
||||
|
||||
Note that this argument takes precedence over
|
||||
the CONFIG_RCU_NOCB_CPU_DEFAULT_ALL option.
|
||||
|
||||
rcu_nocb_poll [KNL]
|
||||
Rather than requiring that offloaded CPUs
|
||||
(specified by rcu_nocbs= above) explicitly
|
||||
|
|
@ -4676,6 +4683,34 @@
|
|||
When RCU_NOCB_CPU is set, also adjust the
|
||||
priority of NOCB callback kthreads.
|
||||
|
||||
rcutree.rcu_divisor= [KNL]
|
||||
Set the shift-right count to use to compute
|
||||
the callback-invocation batch limit bl from
|
||||
the number of callbacks queued on this CPU.
|
||||
The result will be bounded below by the value of
|
||||
the rcutree.blimit kernel parameter. Every bl
|
||||
callbacks, the softirq handler will exit in
|
||||
order to allow the CPU to do other work.
|
||||
|
||||
Please note that this callback-invocation batch
|
||||
limit applies only to non-offloaded callback
|
||||
invocation. Offloaded callbacks are instead
|
||||
invoked in the context of an rcuoc kthread, which
|
||||
scheduler will preempt as it does any other task.
|
||||
|
||||
rcutree.nocb_nobypass_lim_per_jiffy= [KNL]
|
||||
On callback-offloaded (rcu_nocbs) CPUs,
|
||||
RCU reduces the lock contention that would
|
||||
otherwise be caused by callback floods through
|
||||
use of the ->nocb_bypass list. However, in the
|
||||
common non-flooded case, RCU queues directly to
|
||||
the main ->cblist in order to avoid the extra
|
||||
overhead of the ->nocb_bypass list and its lock.
|
||||
But if there are too many callbacks queued during
|
||||
a single jiffy, RCU pre-queues the callbacks into
|
||||
the ->nocb_bypass queue. The definition of "too
|
||||
many" is supplied by this kernel boot parameter.
|
||||
|
||||
rcutree.rcu_nocb_gp_stride= [KNL]
|
||||
Set the number of NOCB callback kthreads in
|
||||
each group, which defaults to the square root
|
||||
|
|
|
|||
136
Documentation/admin-guide/perf/hns3-pmu.rst
Normal file
136
Documentation/admin-guide/perf/hns3-pmu.rst
Normal file
|
|
@ -0,0 +1,136 @@
|
|||
======================================
|
||||
HNS3 Performance Monitoring Unit (PMU)
|
||||
======================================
|
||||
|
||||
HNS3(HiSilicon network system 3) Performance Monitoring Unit (PMU) is an
|
||||
End Point device to collect performance statistics of HiSilicon SoC NIC.
|
||||
On Hip09, each SICL(Super I/O cluster) has one PMU device.
|
||||
|
||||
HNS3 PMU supports collection of performance statistics such as bandwidth,
|
||||
latency, packet rate and interrupt rate.
|
||||
|
||||
Each HNS3 PMU supports 8 hardware events.
|
||||
|
||||
HNS3 PMU driver
|
||||
===============
|
||||
|
||||
The HNS3 PMU driver registers a perf PMU with the name of its sicl id.::
|
||||
|
||||
/sys/devices/hns3_pmu_sicl_<sicl_id>
|
||||
|
||||
PMU driver provides description of available events, filter modes, format,
|
||||
identifier and cpumask in sysfs.
|
||||
|
||||
The "events" directory describes the event code of all supported events
|
||||
shown in perf list.
|
||||
|
||||
The "filtermode" directory describes the supported filter modes of each
|
||||
event.
|
||||
|
||||
The "format" directory describes all formats of the config (events) and
|
||||
config1 (filter options) fields of the perf_event_attr structure.
|
||||
|
||||
The "identifier" file shows version of PMU hardware device.
|
||||
|
||||
The "bdf_min" and "bdf_max" files show the supported bdf range of each
|
||||
pmu device.
|
||||
|
||||
The "hw_clk_freq" file shows the hardware clock frequency of each pmu
|
||||
device.
|
||||
|
||||
Example usage of checking event code and subevent code::
|
||||
|
||||
$# cat /sys/devices/hns3_pmu_sicl_0/events/dly_tx_normal_to_mac_time
|
||||
config=0x00204
|
||||
$# cat /sys/devices/hns3_pmu_sicl_0/events/dly_tx_normal_to_mac_packet_num
|
||||
config=0x10204
|
||||
|
||||
Each performance statistic has a pair of events to get two values to
|
||||
calculate real performance data in userspace.
|
||||
|
||||
The bits 0~15 of config (here 0x0204) are the true hardware event code. If
|
||||
two events have same value of bits 0~15 of config, that means they are
|
||||
event pair. And the bit 16 of config indicates getting counter 0 or
|
||||
counter 1 of hardware event.
|
||||
|
||||
After getting two values of event pair in usersapce, the formula of
|
||||
computation to calculate real performance data is:::
|
||||
|
||||
counter 0 / counter 1
|
||||
|
||||
Example usage of checking supported filter mode::
|
||||
|
||||
$# cat /sys/devices/hns3_pmu_sicl_0/filtermode/bw_ssu_rpu_byte_num
|
||||
filter mode supported: global/port/port-tc/func/func-queue/
|
||||
|
||||
Example usage of perf::
|
||||
|
||||
$# perf list
|
||||
hns3_pmu_sicl_0/bw_ssu_rpu_byte_num/ [kernel PMU event]
|
||||
hns3_pmu_sicl_0/bw_ssu_rpu_time/ [kernel PMU event]
|
||||
------------------------------------------
|
||||
|
||||
$# perf stat -g -e hns3_pmu_sicl_0/bw_ssu_rpu_byte_num,global=1/ -e hns3_pmu_sicl_0/bw_ssu_rpu_time,global=1/ -I 1000
|
||||
or
|
||||
$# perf stat -g -e hns3_pmu_sicl_0/config=0x00002,global=1/ -e hns3_pmu_sicl_0/config=0x10002,global=1/ -I 1000
|
||||
|
||||
|
||||
Filter modes
|
||||
--------------
|
||||
|
||||
1. global mode
|
||||
PMU collect performance statistics for all HNS3 PCIe functions of IO DIE.
|
||||
Set the "global" filter option to 1 will enable this mode.
|
||||
Example usage of perf::
|
||||
|
||||
$# perf stat -a -e hns3_pmu_sicl_0/config=0x1020F,global=1/ -I 1000
|
||||
|
||||
2. port mode
|
||||
PMU collect performance statistic of one whole physical port. The port id
|
||||
is same as mac id. The "tc" filter option must be set to 0xF in this mode,
|
||||
here tc stands for traffic class.
|
||||
|
||||
Example usage of perf::
|
||||
|
||||
$# perf stat -a -e hns3_pmu_sicl_0/config=0x1020F,port=0,tc=0xF/ -I 1000
|
||||
|
||||
3. port-tc mode
|
||||
PMU collect performance statistic of one tc of physical port. The port id
|
||||
is same as mac id. The "tc" filter option must be set to 0 ~ 7 in this
|
||||
mode.
|
||||
Example usage of perf::
|
||||
|
||||
$# perf stat -a -e hns3_pmu_sicl_0/config=0x1020F,port=0,tc=0/ -I 1000
|
||||
|
||||
4. func mode
|
||||
PMU collect performance statistic of one PF/VF. The function id is BDF of
|
||||
PF/VF, its conversion formula::
|
||||
|
||||
func = (bus << 8) + (device << 3) + (function)
|
||||
|
||||
for example:
|
||||
BDF func
|
||||
35:00.0 0x3500
|
||||
35:00.1 0x3501
|
||||
35:01.0 0x3508
|
||||
|
||||
In this mode, the "queue" filter option must be set to 0xFFFF.
|
||||
Example usage of perf::
|
||||
|
||||
$# perf stat -a -e hns3_pmu_sicl_0/config=0x1020F,bdf=0x3500,queue=0xFFFF/ -I 1000
|
||||
|
||||
5. func-queue mode
|
||||
PMU collect performance statistic of one queue of PF/VF. The function id
|
||||
is BDF of PF/VF, the "queue" filter option must be set to the exact queue
|
||||
id of function.
|
||||
Example usage of perf::
|
||||
|
||||
$# perf stat -a -e hns3_pmu_sicl_0/config=0x1020F,bdf=0x3500,queue=0/ -I 1000
|
||||
|
||||
6. func-intr mode
|
||||
PMU collect performance statistic of one interrupt of PF/VF. The function
|
||||
id is BDF of PF/VF, the "intr" filter option must be set to the exact
|
||||
interrupt id of function.
|
||||
Example usage of perf::
|
||||
|
||||
$# perf stat -a -e hns3_pmu_sicl_0/config=0x00301,bdf=0x3500,intr=0/ -I 1000
|
||||
|
|
@ -9,6 +9,7 @@ Performance monitor support
|
|||
|
||||
hisi-pmu
|
||||
hisi-pcie-pmu
|
||||
hns3-pmu
|
||||
imx-ddr
|
||||
qcom_l2_pmu
|
||||
qcom_l3_pmu
|
||||
|
|
|
|||
|
|
@ -612,8 +612,8 @@ the ``menu`` governor to be used on the systems that use the ``ladder`` governor
|
|||
by default this way, for example.
|
||||
|
||||
The other kernel command line parameters controlling CPU idle time management
|
||||
described below are only relevant for the *x86* architecture and some of
|
||||
them affect Intel processors only.
|
||||
described below are only relevant for the *x86* architecture and references
|
||||
to ``intel_idle`` affect Intel processors only.
|
||||
|
||||
The *x86* architecture support code recognizes three kernel command line
|
||||
options related to CPU idle time management: ``idle=poll``, ``idle=halt``,
|
||||
|
|
@ -635,10 +635,13 @@ idle, so it very well may hurt single-thread computations performance as well as
|
|||
energy-efficiency. Thus using it for performance reasons may not be a good idea
|
||||
at all.]
|
||||
|
||||
The ``idle=nomwait`` option disables the ``intel_idle`` driver and causes
|
||||
``acpi_idle`` to be used (as long as all of the information needed by it is
|
||||
there in the system's ACPI tables), but it is not allowed to use the
|
||||
``MWAIT`` instruction of the CPUs to ask the hardware to enter idle states.
|
||||
The ``idle=nomwait`` option prevents the use of ``MWAIT`` instruction of
|
||||
the CPU to enter idle states. When this option is used, the ``acpi_idle``
|
||||
driver will use the ``HLT`` instruction instead of ``MWAIT``. On systems
|
||||
running Intel processors, this option disables the ``intel_idle`` driver
|
||||
and forces the use of the ``acpi_idle`` driver instead. Note that in either
|
||||
case, ``acpi_idle`` driver will function only if all the information needed
|
||||
by it is in the system's ACPI tables.
|
||||
|
||||
In addition to the architecture-level kernel command line options affecting CPU
|
||||
idle time management, there are parameters affecting individual ``CPUIdle``
|
||||
|
|
|
|||
|
|
@ -38,8 +38,8 @@ acct
|
|||
|
||||
If BSD-style process accounting is enabled these values control
|
||||
its behaviour. If free space on filesystem where the log lives
|
||||
goes below ``lowwater``% accounting suspends. If free space gets
|
||||
above ``highwater``% accounting resumes. ``frequency`` determines
|
||||
goes below ``lowwater``\ % accounting suspends. If free space gets
|
||||
above ``highwater``\ % accounting resumes. ``frequency`` determines
|
||||
how often do we check the amount of free space (value is in
|
||||
seconds). Default:
|
||||
|
||||
|
|
|
|||
|
|
@ -100,6 +100,7 @@ Bit Log Number Reason that got the kernel tainted
|
|||
15 _/K 32768 kernel has been live patched
|
||||
16 _/X 65536 auxiliary taint, defined for and used by distros
|
||||
17 _/T 131072 kernel was built with the struct randomization plugin
|
||||
18 _/N 262144 an in-kernel test has been run
|
||||
=== === ====== ========================================================
|
||||
|
||||
Note: The character ``_`` is representing a blank in this table to make reading
|
||||
|
|
|
|||
69
Documentation/arm/google/chromebook-boot-flow.rst
Normal file
69
Documentation/arm/google/chromebook-boot-flow.rst
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
======================================
|
||||
Chromebook Boot Flow
|
||||
======================================
|
||||
|
||||
Most recent Chromebooks that use device tree are using the opensource
|
||||
depthcharge_ bootloader. Depthcharge_ expects the OS to be packaged as a `FIT
|
||||
Image`_ which contains an OS image as well as a collection of device trees. It
|
||||
is up to depthcharge_ to pick the right device tree from the `FIT Image`_ and
|
||||
provide it to the OS.
|
||||
|
||||
The scheme that depthcharge_ uses to pick the device tree takes into account
|
||||
three variables:
|
||||
|
||||
- Board name, specified at depthcharge_ compile time. This is $(BOARD) below.
|
||||
- Board revision number, determined at runtime (perhaps by reading GPIO
|
||||
strappings, perhaps via some other method). This is $(REV) below.
|
||||
- SKU number, read from GPIO strappings at boot time. This is $(SKU) below.
|
||||
|
||||
For recent Chromebooks, depthcharge_ creates a match list that looks like this:
|
||||
|
||||
- google,$(BOARD)-rev$(REV)-sku$(SKU)
|
||||
- google,$(BOARD)-rev$(REV)
|
||||
- google,$(BOARD)-sku$(SKU)
|
||||
- google,$(BOARD)
|
||||
|
||||
Note that some older Chromebooks use a slightly different list that may
|
||||
not include SKU matching or may prioritize SKU/rev differently.
|
||||
|
||||
Note that for some boards there may be extra board-specific logic to inject
|
||||
extra compatibles into the list, but this is uncommon.
|
||||
|
||||
Depthcharge_ will look through all device trees in the `FIT Image`_ trying to
|
||||
find one that matches the most specific compatible. It will then look
|
||||
through all device trees in the `FIT Image`_ trying to find the one that
|
||||
matches the *second most* specific compatible, etc.
|
||||
|
||||
When searching for a device tree, depthcharge_ doesn't care where the
|
||||
compatible string falls within a device tree's root compatible string array.
|
||||
As an example, if we're on board "lazor", rev 4, SKU 0 and we have two device
|
||||
trees:
|
||||
|
||||
- "google,lazor-rev5-sku0", "google,lazor-rev4-sku0", "qcom,sc7180"
|
||||
- "google,lazor", "qcom,sc7180"
|
||||
|
||||
Then depthcharge_ will pick the first device tree even though
|
||||
"google,lazor-rev4-sku0" was the second compatible listed in that device tree.
|
||||
This is because it is a more specific compatible than "google,lazor".
|
||||
|
||||
It should be noted that depthcharge_ does not have any smarts to try to
|
||||
match board or SKU revisions that are "close by". That is to say that
|
||||
if depthcharge_ knows it's on "rev4" of a board but there is no "rev4"
|
||||
device tree then depthcharge_ *won't* look for a "rev3" device tree.
|
||||
|
||||
In general when any significant changes are made to a board the board
|
||||
revision number is increased even if none of those changes need to
|
||||
be reflected in the device tree. Thus it's fairly common to see device
|
||||
trees with multiple revisions.
|
||||
|
||||
It should be noted that, taking into account the above system that
|
||||
depthcharge_ has, the most flexibility is achieved if the device tree
|
||||
supporting the newest revision(s) of a board omits the "-rev{REV}"
|
||||
compatible strings. When this is done then if you get a new board
|
||||
revision and try to run old software on it then we'll at pick the
|
||||
newest device tree we know about.
|
||||
|
||||
.. _depthcharge: https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/platform/depthcharge/
|
||||
.. _`FIT Image`: https://doc.coreboot.org/lib/payloads/fit.html
|
||||
|
|
@ -31,6 +31,8 @@ SoC-specific documents
|
|||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
google/chromebook-boot-flow
|
||||
|
||||
ixp4xx
|
||||
|
||||
marvell
|
||||
|
|
|
|||
|
|
@ -171,96 +171,73 @@ HWCAP_PACG
|
|||
Documentation/arm64/pointer-authentication.rst.
|
||||
|
||||
HWCAP2_DCPODP
|
||||
|
||||
Functionality implied by ID_AA64ISAR1_EL1.DPB == 0b0010.
|
||||
|
||||
HWCAP2_SVE2
|
||||
|
||||
Functionality implied by ID_AA64ZFR0_EL1.SVEVer == 0b0001.
|
||||
|
||||
HWCAP2_SVEAES
|
||||
|
||||
Functionality implied by ID_AA64ZFR0_EL1.AES == 0b0001.
|
||||
|
||||
HWCAP2_SVEPMULL
|
||||
|
||||
Functionality implied by ID_AA64ZFR0_EL1.AES == 0b0010.
|
||||
|
||||
HWCAP2_SVEBITPERM
|
||||
|
||||
Functionality implied by ID_AA64ZFR0_EL1.BitPerm == 0b0001.
|
||||
|
||||
HWCAP2_SVESHA3
|
||||
|
||||
Functionality implied by ID_AA64ZFR0_EL1.SHA3 == 0b0001.
|
||||
|
||||
HWCAP2_SVESM4
|
||||
|
||||
Functionality implied by ID_AA64ZFR0_EL1.SM4 == 0b0001.
|
||||
|
||||
HWCAP2_FLAGM2
|
||||
|
||||
Functionality implied by ID_AA64ISAR0_EL1.TS == 0b0010.
|
||||
|
||||
HWCAP2_FRINT
|
||||
|
||||
Functionality implied by ID_AA64ISAR1_EL1.FRINTTS == 0b0001.
|
||||
|
||||
HWCAP2_SVEI8MM
|
||||
|
||||
Functionality implied by ID_AA64ZFR0_EL1.I8MM == 0b0001.
|
||||
|
||||
HWCAP2_SVEF32MM
|
||||
|
||||
Functionality implied by ID_AA64ZFR0_EL1.F32MM == 0b0001.
|
||||
|
||||
HWCAP2_SVEF64MM
|
||||
|
||||
Functionality implied by ID_AA64ZFR0_EL1.F64MM == 0b0001.
|
||||
|
||||
HWCAP2_SVEBF16
|
||||
|
||||
Functionality implied by ID_AA64ZFR0_EL1.BF16 == 0b0001.
|
||||
|
||||
HWCAP2_I8MM
|
||||
|
||||
Functionality implied by ID_AA64ISAR1_EL1.I8MM == 0b0001.
|
||||
|
||||
HWCAP2_BF16
|
||||
|
||||
Functionality implied by ID_AA64ISAR1_EL1.BF16 == 0b0001.
|
||||
|
||||
HWCAP2_DGH
|
||||
|
||||
Functionality implied by ID_AA64ISAR1_EL1.DGH == 0b0001.
|
||||
|
||||
HWCAP2_RNG
|
||||
|
||||
Functionality implied by ID_AA64ISAR0_EL1.RNDR == 0b0001.
|
||||
|
||||
HWCAP2_BTI
|
||||
|
||||
Functionality implied by ID_AA64PFR0_EL1.BT == 0b0001.
|
||||
|
||||
HWCAP2_MTE
|
||||
|
||||
Functionality implied by ID_AA64PFR1_EL1.MTE == 0b0010, as described
|
||||
by Documentation/arm64/memory-tagging-extension.rst.
|
||||
|
||||
HWCAP2_ECV
|
||||
|
||||
Functionality implied by ID_AA64MMFR0_EL1.ECV == 0b0001.
|
||||
|
||||
HWCAP2_AFP
|
||||
|
||||
Functionality implied by ID_AA64MFR1_EL1.AFP == 0b0001.
|
||||
|
||||
HWCAP2_RPRES
|
||||
|
||||
Functionality implied by ID_AA64ISAR2_EL1.RPRES == 0b0001.
|
||||
|
||||
HWCAP2_MTE3
|
||||
|
||||
Functionality implied by ID_AA64PFR1_EL1.MTE == 0b0011, as described
|
||||
by Documentation/arm64/memory-tagging-extension.rst.
|
||||
|
||||
|
|
@ -301,6 +278,10 @@ HWCAP2_WFXT
|
|||
|
||||
Functionality implied by ID_AA64ISAR2_EL1.WFXT == 0b0010.
|
||||
|
||||
HWCAP2_EBF16
|
||||
|
||||
Functionality implied by ID_AA64ISAR1_EL1.BF16 == 0b0010.
|
||||
|
||||
4. Unused AT_HWCAP bits
|
||||
-----------------------
|
||||
|
||||
|
|
|
|||
|
|
@ -33,9 +33,8 @@ AArch64 Linux memory layout with 4KB pages + 4 levels (48-bit)::
|
|||
0000000000000000 0000ffffffffffff 256TB user
|
||||
ffff000000000000 ffff7fffffffffff 128TB kernel logical memory map
|
||||
[ffff600000000000 ffff7fffffffffff] 32TB [kasan shadow region]
|
||||
ffff800000000000 ffff800007ffffff 128MB bpf jit region
|
||||
ffff800008000000 ffff80000fffffff 128MB modules
|
||||
ffff800010000000 fffffbffefffffff 124TB vmalloc
|
||||
ffff800000000000 ffff800007ffffff 128MB modules
|
||||
ffff800008000000 fffffbffefffffff 124TB vmalloc
|
||||
fffffbfff0000000 fffffbfffdffffff 224MB fixed mappings (top down)
|
||||
fffffbfffe000000 fffffbfffe7fffff 8MB [guard region]
|
||||
fffffbfffe800000 fffffbffff7fffff 16MB PCI I/O space
|
||||
|
|
@ -51,9 +50,8 @@ AArch64 Linux memory layout with 64KB pages + 3 levels (52-bit with HW support):
|
|||
0000000000000000 000fffffffffffff 4PB user
|
||||
fff0000000000000 ffff7fffffffffff ~4PB kernel logical memory map
|
||||
[fffd800000000000 ffff7fffffffffff] 512TB [kasan shadow region]
|
||||
ffff800000000000 ffff800007ffffff 128MB bpf jit region
|
||||
ffff800008000000 ffff80000fffffff 128MB modules
|
||||
ffff800010000000 fffffbffefffffff 124TB vmalloc
|
||||
ffff800000000000 ffff800007ffffff 128MB modules
|
||||
ffff800008000000 fffffbffefffffff 124TB vmalloc
|
||||
fffffbfff0000000 fffffbfffdffffff 224MB fixed mappings (top down)
|
||||
fffffbfffe000000 fffffbfffe7fffff 8MB [guard region]
|
||||
fffffbfffe800000 fffffbffff7fffff 16MB PCI I/O space
|
||||
|
|
|
|||
|
|
@ -82,10 +82,14 @@ stable kernels.
|
|||
+----------------+-----------------+-----------------+-----------------------------+
|
||||
| ARM | Cortex-A57 | #1319537 | ARM64_ERRATUM_1319367 |
|
||||
+----------------+-----------------+-----------------+-----------------------------+
|
||||
| ARM | Cortex-A57 | #1742098 | ARM64_ERRATUM_1742098 |
|
||||
+----------------+-----------------+-----------------+-----------------------------+
|
||||
| ARM | Cortex-A72 | #853709 | N/A |
|
||||
+----------------+-----------------+-----------------+-----------------------------+
|
||||
| ARM | Cortex-A72 | #1319367 | ARM64_ERRATUM_1319367 |
|
||||
+----------------+-----------------+-----------------+-----------------------------+
|
||||
| ARM | Cortex-A72 | #1655431 | ARM64_ERRATUM_1742098 |
|
||||
+----------------+-----------------+-----------------+-----------------------------+
|
||||
| ARM | Cortex-A73 | #858921 | ARM64_ERRATUM_858921 |
|
||||
+----------------+-----------------+-----------------+-----------------------------+
|
||||
| ARM | Cortex-A76 | #1188873,1418040| ARM64_ERRATUM_1418040 |
|
||||
|
|
@ -102,6 +106,8 @@ stable kernels.
|
|||
+----------------+-----------------+-----------------+-----------------------------+
|
||||
| ARM | Cortex-A510 | #2077057 | ARM64_ERRATUM_2077057 |
|
||||
+----------------+-----------------+-----------------+-----------------------------+
|
||||
| ARM | Cortex-A510 | #2441009 | ARM64_ERRATUM_2441009 |
|
||||
+----------------+-----------------+-----------------+-----------------------------+
|
||||
| ARM | Cortex-A710 | #2119858 | ARM64_ERRATUM_2119858 |
|
||||
+----------------+-----------------+-----------------+-----------------------------+
|
||||
| ARM | Cortex-A710 | #2054223 | ARM64_ERRATUM_2054223 |
|
||||
|
|
|
|||
|
|
@ -17,6 +17,9 @@ solution to the problem to avoid everybody inventing their own. The IDR
|
|||
provides the ability to map an ID to a pointer, while the IDA provides
|
||||
only ID allocation, and as a result is much more memory-efficient.
|
||||
|
||||
The IDR interface is deprecated; please use the :doc:`XArray <xarray>`
|
||||
instead.
|
||||
|
||||
IDR usage
|
||||
=========
|
||||
|
||||
|
|
|
|||
|
|
@ -4,31 +4,29 @@
|
|||
Memory Protection Keys
|
||||
======================
|
||||
|
||||
Memory Protection Keys for Userspace (PKU aka PKEYs) is a feature
|
||||
which is found on Intel's Skylake (and later) "Scalable Processor"
|
||||
Server CPUs. It will be available in future non-server Intel parts
|
||||
and future AMD processors.
|
||||
Memory Protection Keys provide a mechanism for enforcing page-based
|
||||
protections, but without requiring modification of the page tables when an
|
||||
application changes protection domains.
|
||||
|
||||
For anyone wishing to test or use this feature, it is available in
|
||||
Amazon's EC2 C5 instances and is known to work there using an Ubuntu
|
||||
17.04 image.
|
||||
Pkeys Userspace (PKU) is a feature which can be found on:
|
||||
* Intel server CPUs, Skylake and later
|
||||
* Intel client CPUs, Tiger Lake (11th Gen Core) and later
|
||||
* Future AMD CPUs
|
||||
|
||||
Memory Protection Keys provides a mechanism for enforcing page-based
|
||||
protections, but without requiring modification of the page tables
|
||||
when an application changes protection domains. It works by
|
||||
dedicating 4 previously ignored bits in each page table entry to a
|
||||
"protection key", giving 16 possible keys.
|
||||
Pkeys work by dedicating 4 previously Reserved bits in each page table entry to
|
||||
a "protection key", giving 16 possible keys.
|
||||
|
||||
There is also a new user-accessible register (PKRU) with two separate
|
||||
bits (Access Disable and Write Disable) for each key. Being a CPU
|
||||
register, PKRU is inherently thread-local, potentially giving each
|
||||
Protections for each key are defined with a per-CPU user-accessible register
|
||||
(PKRU). Each of these is a 32-bit register storing two bits (Access Disable
|
||||
and Write Disable) for each of 16 keys.
|
||||
|
||||
Being a CPU register, PKRU is inherently thread-local, potentially giving each
|
||||
thread a different set of protections from every other thread.
|
||||
|
||||
There are two new instructions (RDPKRU/WRPKRU) for reading and writing
|
||||
to the new register. The feature is only available in 64-bit mode,
|
||||
even though there is theoretically space in the PAE PTEs. These
|
||||
permissions are enforced on data access only and have no effect on
|
||||
instruction fetches.
|
||||
There are two instructions (RDPKRU/WRPKRU) for reading and writing to the
|
||||
register. The feature is only available in 64-bit mode, even though there is
|
||||
theoretically space in the PAE PTEs. These permissions are enforced on data
|
||||
access only and have no effect on instruction fetches.
|
||||
|
||||
Syscalls
|
||||
========
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ The wiki documentation always refers to the linux-next version of the script.
|
|||
|
||||
For Semantic Patch Language(SmPL) grammar documentation refer to:
|
||||
|
||||
http://coccinelle.lip6.fr/documentation.php
|
||||
https://coccinelle.gitlabpages.inria.fr/website/docs/main_grammar.html
|
||||
|
||||
Using Coccinelle on the Linux kernel
|
||||
------------------------------------
|
||||
|
|
|
|||
|
|
@ -208,6 +208,14 @@ In general, the rules for selftests are
|
|||
Contributing new tests (details)
|
||||
================================
|
||||
|
||||
* In your Makefile, use facilities from lib.mk by including it instead of
|
||||
reinventing the wheel. Specify flags and binaries generation flags on
|
||||
need basis before including lib.mk. ::
|
||||
|
||||
CFLAGS = $(KHDR_INCLUDES)
|
||||
TEST_GEN_PROGS := close_range_test
|
||||
include ../lib.mk
|
||||
|
||||
* Use TEST_GEN_XXX if such binaries or files are generated during
|
||||
compiling.
|
||||
|
||||
|
|
@ -230,13 +238,30 @@ Contributing new tests (details)
|
|||
* First use the headers inside the kernel source and/or git repo, and then the
|
||||
system headers. Headers for the kernel release as opposed to headers
|
||||
installed by the distro on the system should be the primary focus to be able
|
||||
to find regressions.
|
||||
to find regressions. Use KHDR_INCLUDES in Makefile to include headers from
|
||||
the kernel source.
|
||||
|
||||
* If a test needs specific kernel config options enabled, add a config file in
|
||||
the test directory to enable them.
|
||||
|
||||
e.g: tools/testing/selftests/android/config
|
||||
|
||||
* Create a .gitignore file inside test directory and add all generated objects
|
||||
in it.
|
||||
|
||||
* Add new test name in TARGETS in selftests/Makefile::
|
||||
|
||||
TARGETS += android
|
||||
|
||||
* All changes should pass::
|
||||
|
||||
kselftest-{all,install,clean,gen_tar}
|
||||
kselftest-{all,install,clean,gen_tar} O=abo_path
|
||||
kselftest-{all,install,clean,gen_tar} O=rel_path
|
||||
make -C tools/testing/selftests {all,install,clean,gen_tar}
|
||||
make -C tools/testing/selftests {all,install,clean,gen_tar} O=abs_path
|
||||
make -C tools/testing/selftests {all,install,clean,gen_tar} O=rel_path
|
||||
|
||||
Test Module
|
||||
===========
|
||||
|
||||
|
|
@ -250,6 +275,14 @@ assist writing kernel modules that are for use with kselftest:
|
|||
- ``tools/testing/selftests/kselftest_module.h``
|
||||
- ``tools/testing/selftests/kselftest/module.sh``
|
||||
|
||||
Note that test modules should taint the kernel with TAINT_TEST. This will
|
||||
happen automatically for modules which are in the ``tools/testing/``
|
||||
directory, or for modules which use the ``kselftest_module.h`` header above.
|
||||
Otherwise, you'll need to add ``MODULE_INFO(test, "Y")`` to your module
|
||||
source. selftests which do not load modules typically should not taint the
|
||||
kernel, but in cases where a non-test module is loaded, TEST_TAINT can be
|
||||
applied from userspace by writing to ``/proc/sys/kernel/tainted``.
|
||||
|
||||
How to use
|
||||
----------
|
||||
|
||||
|
|
@ -308,6 +341,7 @@ A bare bones test module might look like this:
|
|||
KSTM_MODULE_LOADERS(test_foo);
|
||||
MODULE_AUTHOR("John Developer <jd@fooman.org>");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_INFO(test, "Y");
|
||||
|
||||
Example test script
|
||||
-------------------
|
||||
|
|
|
|||
|
|
@ -192,6 +192,21 @@ via UML. To run tests on qemu, by default it requires two flags:
|
|||
if we have downloaded the microblaze toolchain from the 0-day
|
||||
website to a directory in our home directory called toolchains.
|
||||
|
||||
This means that for most architectures, running under qemu is as simple as:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./tools/testing/kunit/kunit.py run --arch=x86_64
|
||||
|
||||
When cross-compiling, we'll likely need to specify a different toolchain, for
|
||||
example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./tools/testing/kunit/kunit.py run \
|
||||
--arch=s390 \
|
||||
--cross_compile=s390x-linux-gnu-
|
||||
|
||||
If we want to run KUnit tests on an architecture not supported by
|
||||
the ``--arch`` flag, or want to run KUnit tests on qemu using a
|
||||
non-default configuration; then we can write our own``QemuConfig``.
|
||||
|
|
@ -214,14 +229,11 @@ as
|
|||
--jobs=12 \
|
||||
--qemu_config=./tools/testing/kunit/qemu_configs/x86_64.py
|
||||
|
||||
To run existing KUnit tests on non-UML architectures, see:
|
||||
Documentation/dev-tools/kunit/non_uml.rst.
|
||||
|
||||
Command-Line Arguments
|
||||
======================
|
||||
|
||||
kunit_tool has a number of other command-line arguments which can
|
||||
be useful for our test environment. Below the most commonly used
|
||||
be useful for our test environment. Below are the most commonly used
|
||||
command line arguments:
|
||||
|
||||
- ``--help``: Lists all available options. To list common options,
|
||||
|
|
@ -245,3 +257,64 @@ command line arguments:
|
|||
added or modified. Instead, enable all tests
|
||||
which have satisfied dependencies by adding
|
||||
``CONFIG_KUNIT_ALL_TESTS=y`` to your ``.kunitconfig``.
|
||||
|
||||
- ``--kunitconfig``: Specifies the path or the directory of the ``.kunitconfig``
|
||||
file. For example:
|
||||
|
||||
- ``lib/kunit/.kunitconfig`` can be the path of the file.
|
||||
|
||||
- ``lib/kunit`` can be the directory in which the file is located.
|
||||
|
||||
This file is used to build and run with a predefined set of tests
|
||||
and their dependencies. For example, to run tests for a given subsystem.
|
||||
|
||||
- ``--kconfig_add``: Specifies additional configuration options to be
|
||||
appended to the ``.kunitconfig`` file. For example:
|
||||
|
||||
.. code-block::
|
||||
|
||||
./tools/testing/kunit/kunit.py run --kconfig_add CONFIG_KASAN=y
|
||||
|
||||
- ``--arch``: Runs tests on the specified architecture. The architecture
|
||||
argument is same as the Kbuild ARCH environment variable.
|
||||
For example, i386, x86_64, arm, um, etc. Non-UML architectures run on qemu.
|
||||
Default is `um`.
|
||||
|
||||
- ``--cross_compile``: Specifies the Kbuild toolchain. It passes the
|
||||
same argument as passed to the ``CROSS_COMPILE`` variable used by
|
||||
Kbuild. This will be the prefix for the toolchain
|
||||
binaries such as GCC. For example:
|
||||
|
||||
- ``sparc64-linux-gnu-`` if we have the sparc toolchain installed on
|
||||
our system.
|
||||
|
||||
- ``$HOME/toolchains/microblaze/gcc-9.2.0-nolibc/microblaze-linux/bin/microblaze-linux``
|
||||
if we have downloaded the microblaze toolchain from the 0-day
|
||||
website to a specified path in our home directory called toolchains.
|
||||
|
||||
- ``--qemu_config``: Specifies the path to a file containing a
|
||||
custom qemu architecture definition. This should be a python file
|
||||
containing a `QemuArchParams` object.
|
||||
|
||||
- ``--qemu_args``: Specifies additional qemu arguments, for example, ``-smp 8``.
|
||||
|
||||
- ``--jobs``: Specifies the number of jobs (commands) to run simultaneously.
|
||||
By default, this is set to the number of cores on your system.
|
||||
|
||||
- ``--timeout``: Specifies the maximum number of seconds allowed for all tests to run.
|
||||
This does not include the time taken to build the tests.
|
||||
|
||||
- ``--kernel_args``: Specifies additional kernel command-line arguments. May be repeated.
|
||||
|
||||
- ``--run_isolated``: If set, boots the kernel for each individual suite/test.
|
||||
This is useful for debugging a non-hermetic test, one that
|
||||
might pass/fail based on what ran before it.
|
||||
|
||||
- ``--raw_output``: If set, generates unformatted output from kernel. Possible options are:
|
||||
|
||||
- ``all``: To view the full kernel output, use ``--raw_output=all``.
|
||||
|
||||
- ``kunit``: This is the default option and filters to KUnit output. Use ``--raw_output`` or ``--raw_output=kunit``.
|
||||
|
||||
- ``--json``: If set, stores the test results in a JSON format and prints to `stdout` or
|
||||
saves to a file if a filename is specified.
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ It can be handy to create a bash function like:
|
|||
.. code-block:: bash
|
||||
|
||||
function run_kunit() {
|
||||
( cd "$(git rev-parse --show-toplevel)" && ./tools/testing/kunit/kunit.py run $@ )
|
||||
( cd "$(git rev-parse --show-toplevel)" && ./tools/testing/kunit/kunit.py run "$@" )
|
||||
}
|
||||
|
||||
.. note::
|
||||
|
|
@ -123,8 +123,7 @@ Putting it together into a copy-pastable sequence of commands:
|
|||
.. code-block:: bash
|
||||
|
||||
# Append coverage options to the current config
|
||||
$ echo -e "CONFIG_DEBUG_KERNEL=y\nCONFIG_DEBUG_INFO=y\nCONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y\nCONFIG_GCOV=y" >> .kunit/.kunitconfig
|
||||
$ ./tools/testing/kunit/kunit.py run
|
||||
$ ./tools/testing/kunit/kunit.py run --kunitconfig=.kunit/ --kunitconfig=tools/testing/kunit/configs/coverage_uml.config
|
||||
# Extract the coverage information from the build dir (.kunit/)
|
||||
$ lcov -t "my_kunit_tests" -o coverage.info -c -d .kunit/
|
||||
|
||||
|
|
|
|||
|
|
@ -505,7 +505,7 @@ By reusing the same ``cases`` array from above, we can write the test as a
|
|||
const char *str;
|
||||
const char *sha1;
|
||||
};
|
||||
struct sha1_test_case cases[] = {
|
||||
const struct sha1_test_case cases[] = {
|
||||
{
|
||||
.str = "hello world",
|
||||
.sha1 = "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed",
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
.. title:: Kernel-doc comments
|
||||
|
||||
===========================
|
||||
Writing kernel-doc comments
|
||||
===========================
|
||||
|
|
|
|||
|
|
@ -132,7 +132,8 @@ format-specific subdirectories under ``Documentation/output``.
|
|||
To generate documentation, Sphinx (``sphinx-build``) must obviously be
|
||||
installed. For prettier HTML output, the Read the Docs Sphinx theme
|
||||
(``sphinx_rtd_theme``) is used if available. For PDF output you'll also need
|
||||
``XeLaTeX`` and ``convert(1)`` from ImageMagick (https://www.imagemagick.org).
|
||||
``XeLaTeX`` and ``convert(1)`` from ImageMagick
|
||||
(https://www.imagemagick.org).\ [#ink]_
|
||||
All of these are widely available and packaged in distributions.
|
||||
|
||||
To pass extra options to Sphinx, you can use the ``SPHINXOPTS`` make
|
||||
|
|
@ -150,8 +151,19 @@ If the theme is not available, it will fall-back to the classic one.
|
|||
|
||||
The Sphinx theme can be overridden by using the ``DOCS_THEME`` make variable.
|
||||
|
||||
There is another make variable ``SPHINXDIRS``, which is useful when test
|
||||
building a subset of documentation. For example, you can build documents
|
||||
under ``Documentation/doc-guide`` by running
|
||||
``make SPHINXDIRS=doc-guide htmldocs``.
|
||||
The documentation section of ``make help`` will show you the list of
|
||||
subdirectories you can specify.
|
||||
|
||||
To remove the generated documentation, run ``make cleandocs``.
|
||||
|
||||
.. [#ink] Having ``inkscape(1)`` from Inkscape (https://inkscape.org)
|
||||
as well would improve the quality of images embedded in PDF
|
||||
documents, especially for kernel releases 5.18 and later.
|
||||
|
||||
Writing Documentation
|
||||
=====================
|
||||
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ For a function using multiple GPIOs all of those can be obtained with one call::
|
|||
|
||||
This function returns a struct gpio_descs which contains an array of
|
||||
descriptors. It also contains a pointer to a gpiolib private structure which,
|
||||
if passed back to get/set array functions, may speed up I/O proocessing::
|
||||
if passed back to get/set array functions, may speed up I/O processing::
|
||||
|
||||
struct gpio_descs {
|
||||
struct gpio_array *info;
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@ GPIO lines with debounce support
|
|||
Debouncing is a configuration set to a pin indicating that it is connected to
|
||||
a mechanical switch or button, or similar that may bounce. Bouncing means the
|
||||
line is pulled high/low quickly at very short intervals for mechanical
|
||||
reasons. This can result in the value being unstable or irqs fireing repeatedly
|
||||
reasons. This can result in the value being unstable or irqs firing repeatedly
|
||||
unless the line is debounced.
|
||||
|
||||
Debouncing in practice involves setting up a timer when something happens on
|
||||
|
|
@ -219,7 +219,7 @@ use a trick: when a line is set as output, if the line is flagged as open
|
|||
drain, and the IN output value is low, it will be driven low as usual. But
|
||||
if the IN output value is set to high, it will instead *NOT* be driven high,
|
||||
instead it will be switched to input, as input mode is high impedance, thus
|
||||
achieveing an "open drain emulation" of sorts: electrically the behaviour will
|
||||
achieving an "open drain emulation" of sorts: electrically the behaviour will
|
||||
be identical, with the exception of possible hardware glitches when switching
|
||||
the mode of the line.
|
||||
|
||||
|
|
@ -642,7 +642,7 @@ In this case the typical set-up will look like this:
|
|||
|
||||
As you can see pretty similar, but you do not supply a parent handler for
|
||||
the IRQ, instead a parent irqdomain, an fwnode for the hardware and
|
||||
a funcion .child_to_parent_hwirq() that has the purpose of looking up
|
||||
a function .child_to_parent_hwirq() that has the purpose of looking up
|
||||
the parent hardware irq from a child (i.e. this gpio chip) hardware irq.
|
||||
As always it is good to look at examples in the kernel tree for advice
|
||||
on how to find the required pieces.
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ These devices will appear on the system as ``/dev/gpiochip0`` thru
|
|||
found in the kernel tree ``tools/gpio`` subdirectory.
|
||||
|
||||
For structured and managed applications, we recommend that you make use of the
|
||||
libgpiod_ library. This provides helper abstractions, command line utlities
|
||||
libgpiod_ library. This provides helper abstractions, command line utilities
|
||||
and arbitration for multiple simultaneous consumers on the same GPIO chip.
|
||||
|
||||
.. _libgpiod: https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/
|
||||
|
|
|
|||
|
|
@ -25,8 +25,7 @@ and userspace consumers. The kernel space consumers can directly talk to HTE
|
|||
subsystem while userspace consumers timestamp requests go through GPIOLIB CDEV
|
||||
framework to HTE subsystem.
|
||||
|
||||
.. kernel-doc:: drivers/gpio/gpiolib.c
|
||||
:functions: gpiod_enable_hw_timestamp_ns gpiod_disable_hw_timestamp_ns
|
||||
See gpiod_enable_hw_timestamp_ns() and gpiod_disable_hw_timestamp_ns().
|
||||
|
||||
For userspace consumers, GPIO_V2_LINE_FLAG_EVENT_CLOCK_HTE flag must be
|
||||
specified during IOCTL calls. Refer to ``tools/gpio/gpio-event-mon.c``, which
|
||||
|
|
@ -37,7 +36,7 @@ LIC (Legacy Interrupt Controller) IRQ GTE
|
|||
|
||||
This GTE instance timestamps LIC IRQ lines in real time. There are 352 IRQ
|
||||
lines which this instance can add timestamps to in real time. The hte
|
||||
devicetree binding described at ``Documentation/devicetree/bindings/hte/``
|
||||
devicetree binding described at ``Documentation/devicetree/bindings/timestamp``
|
||||
provides an example of how a consumer can request an IRQ line. Since it is a
|
||||
one-to-one mapping with IRQ GTE provider, consumers can simply specify the IRQ
|
||||
number that they are interested in. There is no userspace consumer support for
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# Feature name: context-tracking
|
||||
# Kconfig: HAVE_CONTEXT_TRACKING
|
||||
# description: arch supports context tracking for NO_HZ_FULL
|
||||
# Feature name: user-context-tracking
|
||||
# Kconfig: HAVE_CONTEXT_TRACKING_USER
|
||||
# description: arch supports user context tracking for NO_HZ_FULL
|
||||
#
|
||||
-----------------------
|
||||
| arch |status|
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
| alpha: | TODO |
|
||||
| arc: | ok |
|
||||
| arm: | TODO |
|
||||
| arm64: | TODO |
|
||||
| arm64: | ok |
|
||||
| csky: | TODO |
|
||||
| hexagon: | TODO |
|
||||
| ia64: | TODO |
|
||||
|
|
|
|||
|
|
@ -59,8 +59,6 @@ acl Enable POSIX Access Control Lists support
|
|||
(requires CONFIG_EXT2_FS_POSIX_ACL).
|
||||
noacl Don't support POSIX ACLs.
|
||||
|
||||
nobh Do not attach buffer_heads to file pagecache.
|
||||
|
||||
quota, usrquota Enable user disk quota support
|
||||
(requires CONFIG_QUOTA).
|
||||
|
||||
|
|
|
|||
|
|
@ -818,10 +818,11 @@ Compression implementation
|
|||
Instead, the main goal is to reduce data writes to flash disk as much as
|
||||
possible, resulting in extending disk life time as well as relaxing IO
|
||||
congestion. Alternatively, we've added ioctl(F2FS_IOC_RELEASE_COMPRESS_BLOCKS)
|
||||
interface to reclaim compressed space and show it to user after putting the
|
||||
immutable bit. Immutable bit, after release, it doesn't allow writing/mmaping
|
||||
on the file, until reserving compressed space via
|
||||
ioctl(F2FS_IOC_RESERVE_COMPRESS_BLOCKS) or truncating filesize to zero.
|
||||
interface to reclaim compressed space and show it to user after setting a
|
||||
special flag to the inode. Once the compressed space is released, the flag
|
||||
will block writing data to the file until either the compressed space is
|
||||
reserved via ioctl(F2FS_IOC_RESERVE_COMPRESS_BLOCKS) or the file size is
|
||||
truncated to zero.
|
||||
|
||||
Compress metadata layout::
|
||||
|
||||
|
|
@ -830,12 +831,12 @@ Compress metadata layout::
|
|||
| cluster 1 | cluster 2 | ......... | cluster N |
|
||||
+-----------------------------------------------+
|
||||
. . . .
|
||||
. . . .
|
||||
. . . .
|
||||
. Compressed Cluster . . Normal Cluster .
|
||||
+----------+---------+---------+---------+ +---------+---------+---------+---------+
|
||||
|compr flag| block 1 | block 2 | block 3 | | block 1 | block 2 | block 3 | block 4 |
|
||||
+----------+---------+---------+---------+ +---------+---------+---------+---------+
|
||||
. .
|
||||
. .
|
||||
. .
|
||||
. .
|
||||
+-------------+-------------+----------+----------------------------+
|
||||
|
|
|
|||
|
|
@ -337,6 +337,7 @@ Currently, the following pairs of encryption modes are supported:
|
|||
- AES-256-XTS for contents and AES-256-CTS-CBC for filenames
|
||||
- AES-128-CBC for contents and AES-128-CTS-CBC for filenames
|
||||
- Adiantum for both contents and filenames
|
||||
- AES-256-XTS for contents and AES-256-HCTR2 for filenames (v2 policies only)
|
||||
|
||||
If unsure, you should use the (AES-256-XTS, AES-256-CTS-CBC) pair.
|
||||
|
||||
|
|
@ -357,6 +358,17 @@ To use Adiantum, CONFIG_CRYPTO_ADIANTUM must be enabled. Also, fast
|
|||
implementations of ChaCha and NHPoly1305 should be enabled, e.g.
|
||||
CONFIG_CRYPTO_CHACHA20_NEON and CONFIG_CRYPTO_NHPOLY1305_NEON for ARM.
|
||||
|
||||
AES-256-HCTR2 is another true wide-block encryption mode that is intended for
|
||||
use on CPUs with dedicated crypto instructions. AES-256-HCTR2 has the property
|
||||
that a bitflip in the plaintext changes the entire ciphertext. This property
|
||||
makes it desirable for filename encryption since initialization vectors are
|
||||
reused within a directory. For more details on AES-256-HCTR2, see the paper
|
||||
"Length-preserving encryption with HCTR2"
|
||||
(https://eprint.iacr.org/2021/1441.pdf). To use AES-256-HCTR2,
|
||||
CONFIG_CRYPTO_HCTR2 must be enabled. Also, fast implementations of XCTR and
|
||||
POLYVAL should be enabled, e.g. CRYPTO_POLYVAL_ARM64_CE and
|
||||
CRYPTO_AES_ARM64_CE_BLK for ARM64.
|
||||
|
||||
New encryption modes can be added relatively easily, without changes
|
||||
to individual filesystems. However, authenticated encryption (AE)
|
||||
modes are not currently supported because of the difficulty of dealing
|
||||
|
|
@ -404,11 +416,11 @@ alternatively has the file's nonce (for `DIRECT_KEY policies`_) or
|
|||
inode number (for `IV_INO_LBLK_64 policies`_) included in the IVs.
|
||||
Thus, IV reuse is limited to within a single directory.
|
||||
|
||||
With CTS-CBC, the IV reuse means that when the plaintext filenames
|
||||
share a common prefix at least as long as the cipher block size (16
|
||||
bytes for AES), the corresponding encrypted filenames will also share
|
||||
a common prefix. This is undesirable. Adiantum does not have this
|
||||
weakness, as it is a wide-block encryption mode.
|
||||
With CTS-CBC, the IV reuse means that when the plaintext filenames share a
|
||||
common prefix at least as long as the cipher block size (16 bytes for AES), the
|
||||
corresponding encrypted filenames will also share a common prefix. This is
|
||||
undesirable. Adiantum and HCTR2 do not have this weakness, as they are
|
||||
wide-block encryption modes.
|
||||
|
||||
All supported filenames encryption modes accept any plaintext length
|
||||
>= 16 bytes; cipher block alignment is not required. However,
|
||||
|
|
|
|||
|
|
@ -11,9 +11,9 @@ Introduction
|
|||
|
||||
fs-verity (``fs/verity/``) is a support layer that filesystems can
|
||||
hook into to support transparent integrity and authenticity protection
|
||||
of read-only files. Currently, it is supported by the ext4 and f2fs
|
||||
filesystems. Like fscrypt, not too much filesystem-specific code is
|
||||
needed to support fs-verity.
|
||||
of read-only files. Currently, it is supported by the ext4, f2fs, and
|
||||
btrfs filesystems. Like fscrypt, not too much filesystem-specific
|
||||
code is needed to support fs-verity.
|
||||
|
||||
fs-verity is similar to `dm-verity
|
||||
<https://www.kernel.org/doc/Documentation/device-mapper/verity.txt>`_
|
||||
|
|
@ -473,9 +473,9 @@ files being swapped around.
|
|||
Filesystem support
|
||||
==================
|
||||
|
||||
fs-verity is currently supported by the ext4 and f2fs filesystems.
|
||||
The CONFIG_FS_VERITY kconfig option must be enabled to use fs-verity
|
||||
on either filesystem.
|
||||
fs-verity is supported by several filesystems, described below. The
|
||||
CONFIG_FS_VERITY kconfig option must be enabled to use fs-verity on
|
||||
any of these filesystems.
|
||||
|
||||
``include/linux/fsverity.h`` declares the interface between the
|
||||
``fs/verity/`` support layer and filesystems. Briefly, filesystems
|
||||
|
|
@ -544,6 +544,13 @@ Currently, f2fs verity only supports a Merkle tree block size of 4096.
|
|||
Also, f2fs doesn't support enabling verity on files that currently
|
||||
have atomic or volatile writes pending.
|
||||
|
||||
btrfs
|
||||
-----
|
||||
|
||||
btrfs supports fs-verity since Linux v5.15. Verity-enabled inodes are
|
||||
marked with a RO_COMPAT inode flag, and the verity metadata is stored
|
||||
in separate btree items.
|
||||
|
||||
Implementation details
|
||||
======================
|
||||
|
||||
|
|
@ -622,14 +629,14 @@ workqueue, and then the workqueue work does the decryption or
|
|||
verification. Finally, pages where no decryption or verity error
|
||||
occurred are marked Uptodate, and the pages are unlocked.
|
||||
|
||||
Files on ext4 and f2fs may contain holes. Normally, ``->readahead()``
|
||||
simply zeroes holes and sets the corresponding pages Uptodate; no bios
|
||||
are issued. To prevent this case from bypassing fs-verity, these
|
||||
filesystems use fsverity_verify_page() to verify hole pages.
|
||||
On many filesystems, files can contain holes. Normally,
|
||||
``->readahead()`` simply zeroes holes and sets the corresponding pages
|
||||
Uptodate; no bios are issued. To prevent this case from bypassing
|
||||
fs-verity, these filesystems use fsverity_verify_page() to verify hole
|
||||
pages.
|
||||
|
||||
ext4 and f2fs disable direct I/O on verity files, since otherwise
|
||||
direct I/O would bypass fs-verity. (They also do the same for
|
||||
encrypted files.)
|
||||
Filesystems also disable direct I/O on verity files, since otherwise
|
||||
direct I/O would bypass fs-verity.
|
||||
|
||||
Userspace utility
|
||||
=================
|
||||
|
|
@ -648,7 +655,7 @@ Tests
|
|||
To test fs-verity, use xfstests. For example, using `kvm-xfstests
|
||||
<https://github.com/tytso/xfstests-bld/blob/master/Documentation/kvm-quickstart.md>`_::
|
||||
|
||||
kvm-xfstests -c ext4,f2fs -g verity
|
||||
kvm-xfstests -c ext4,f2fs,btrfs -g verity
|
||||
|
||||
FAQ
|
||||
===
|
||||
|
|
@ -771,15 +778,15 @@ weren't already directly answered in other parts of this document.
|
|||
e.g. magically trigger construction of a Merkle tree.
|
||||
|
||||
:Q: Does fs-verity support remote filesystems?
|
||||
:A: Only ext4 and f2fs support is implemented currently, but in
|
||||
principle any filesystem that can store per-file verity metadata
|
||||
can support fs-verity, regardless of whether it's local or remote.
|
||||
Some filesystems may have fewer options of where to store the
|
||||
verity metadata; one possibility is to store it past the end of
|
||||
the file and "hide" it from userspace by manipulating i_size. The
|
||||
data verification functions provided by ``fs/verity/`` also assume
|
||||
that the filesystem uses the Linux pagecache, but both local and
|
||||
remote filesystems normally do so.
|
||||
:A: So far all filesystems that have implemented fs-verity support are
|
||||
local filesystems, but in principle any filesystem that can store
|
||||
per-file verity metadata can support fs-verity, regardless of
|
||||
whether it's local or remote. Some filesystems may have fewer
|
||||
options of where to store the verity metadata; one possibility is
|
||||
to store it past the end of the file and "hide" it from userspace
|
||||
by manipulating i_size. The data verification functions provided
|
||||
by ``fs/verity/`` also assume that the filesystem uses the Linux
|
||||
pagecache, but both local and remote filesystems normally do so.
|
||||
|
||||
:Q: Why is anything filesystem-specific at all? Shouldn't fs-verity
|
||||
be implemented entirely at the VFS level?
|
||||
|
|
|
|||
|
|
@ -252,9 +252,8 @@ prototypes::
|
|||
bool (*release_folio)(struct folio *, gfp_t);
|
||||
void (*free_folio)(struct folio *);
|
||||
int (*direct_IO)(struct kiocb *, struct iov_iter *iter);
|
||||
bool (*isolate_page) (struct page *, isolate_mode_t);
|
||||
int (*migratepage)(struct address_space *, struct page *, struct page *);
|
||||
void (*putback_page) (struct page *);
|
||||
int (*migrate_folio)(struct address_space *, struct folio *dst,
|
||||
struct folio *src, enum migrate_mode);
|
||||
int (*launder_folio)(struct folio *);
|
||||
bool (*is_partially_uptodate)(struct folio *, size_t from, size_t count);
|
||||
int (*error_remove_page)(struct address_space *, struct page *);
|
||||
|
|
@ -280,9 +279,7 @@ invalidate_folio: yes exclusive
|
|||
release_folio: yes
|
||||
free_folio: yes
|
||||
direct_IO:
|
||||
isolate_page: yes
|
||||
migratepage: yes (both)
|
||||
putback_page: yes
|
||||
migrate_folio: yes (both)
|
||||
launder_folio: yes
|
||||
is_partially_uptodate: yes
|
||||
error_remove_page: yes
|
||||
|
|
|
|||
|
|
@ -490,10 +490,6 @@ overlay filesystem and the value of st_ino for filesystem objects may not be
|
|||
persistent and could change even while the overlay filesystem is mounted, as
|
||||
summarized in the `Inode properties`_ table above.
|
||||
|
||||
4) "idmapped mounts"
|
||||
When the upper or lower layers are idmapped mounts overlayfs will be mounted
|
||||
without support for POSIX Access Control Lists (ACLs). This limitation will
|
||||
eventually be lifted.
|
||||
|
||||
Changes to underlying filesystems
|
||||
---------------------------------
|
||||
|
|
@ -635,7 +631,7 @@ can be removed.
|
|||
User xattr
|
||||
----------
|
||||
|
||||
The the "-o userxattr" mount option forces overlayfs to use the
|
||||
The "-o userxattr" mount option forces overlayfs to use the
|
||||
"user.overlay." xattr namespace instead of "trusted.overlay.". This is
|
||||
useful for unprivileged mounting of overlayfs.
|
||||
|
||||
|
|
|
|||
|
|
@ -914,3 +914,11 @@ Calling conventions for file_open_root() changed; now it takes struct path *
|
|||
instead of passing mount and dentry separately. For callers that used to
|
||||
pass <mnt, mnt->mnt_root> pair (i.e. the root of given mount), a new helper
|
||||
is provided - file_open_root_mnt(). In-tree users adjusted.
|
||||
|
||||
---
|
||||
|
||||
**mandatory**
|
||||
|
||||
no_llseek is gone; don't set .llseek to that - just leave it NULL instead.
|
||||
Checks for "does that file have llseek(2), or should it fail with ESPIPE"
|
||||
should be done by looking at FMODE_LSEEK in file->f_mode.
|
||||
|
|
|
|||
|
|
@ -737,12 +737,8 @@ cache in your filesystem. The following members are defined:
|
|||
bool (*release_folio)(struct folio *, gfp_t);
|
||||
void (*free_folio)(struct folio *);
|
||||
ssize_t (*direct_IO)(struct kiocb *, struct iov_iter *iter);
|
||||
/* isolate a page for migration */
|
||||
bool (*isolate_page) (struct page *, isolate_mode_t);
|
||||
/* migrate the contents of a page to the specified target */
|
||||
int (*migratepage) (struct page *, struct page *);
|
||||
/* put migration-failed page back to right list */
|
||||
void (*putback_page) (struct page *);
|
||||
int (*migrate_folio)(struct mapping *, struct folio *dst,
|
||||
struct folio *src, enum migrate_mode);
|
||||
int (*launder_folio) (struct folio *);
|
||||
|
||||
bool (*is_partially_uptodate) (struct folio *, size_t from,
|
||||
|
|
@ -774,13 +770,38 @@ cache in your filesystem. The following members are defined:
|
|||
See the file "Locking" for more details.
|
||||
|
||||
``read_folio``
|
||||
called by the VM to read a folio from backing store. The folio
|
||||
will be locked when read_folio is called, and should be unlocked
|
||||
and marked uptodate once the read completes. If ->read_folio
|
||||
discovers that it cannot perform the I/O at this time, it can
|
||||
unlock the folio and return AOP_TRUNCATED_PAGE. In this case,
|
||||
the folio will be looked up again, relocked and if that all succeeds,
|
||||
->read_folio will be called again.
|
||||
Called by the page cache to read a folio from the backing store.
|
||||
The 'file' argument supplies authentication information to network
|
||||
filesystems, and is generally not used by block based filesystems.
|
||||
It may be NULL if the caller does not have an open file (eg if
|
||||
the kernel is performing a read for itself rather than on behalf
|
||||
of a userspace process with an open file).
|
||||
|
||||
If the mapping does not support large folios, the folio will
|
||||
contain a single page. The folio will be locked when read_folio
|
||||
is called. If the read completes successfully, the folio should
|
||||
be marked uptodate. The filesystem should unlock the folio
|
||||
once the read has completed, whether it was successful or not.
|
||||
The filesystem does not need to modify the refcount on the folio;
|
||||
the page cache holds a reference count and that will not be
|
||||
released until the folio is unlocked.
|
||||
|
||||
Filesystems may implement ->read_folio() synchronously.
|
||||
In normal operation, folios are read through the ->readahead()
|
||||
method. Only if this fails, or if the caller needs to wait for
|
||||
the read to complete will the page cache call ->read_folio().
|
||||
Filesystems should not attempt to perform their own readahead
|
||||
in the ->read_folio() operation.
|
||||
|
||||
If the filesystem cannot perform the read at this time, it can
|
||||
unlock the folio, do whatever action it needs to ensure that the
|
||||
read will succeed in the future and return AOP_TRUNCATED_PAGE.
|
||||
In this case, the caller should look up the folio, lock it,
|
||||
and call ->read_folio again.
|
||||
|
||||
Callers may invoke the ->read_folio() method directly, but using
|
||||
read_mapping_folio() will take care of locking, waiting for the
|
||||
read to complete and handle cases such as AOP_TRUNCATED_PAGE.
|
||||
|
||||
``writepages``
|
||||
called by the VM to write out pages associated with the
|
||||
|
|
@ -905,20 +926,12 @@ cache in your filesystem. The following members are defined:
|
|||
data directly between the storage and the application's address
|
||||
space.
|
||||
|
||||
``isolate_page``
|
||||
Called by the VM when isolating a movable non-lru page. If page
|
||||
is successfully isolated, VM marks the page as PG_isolated via
|
||||
__SetPageIsolated.
|
||||
|
||||
``migrate_page``
|
||||
``migrate_folio``
|
||||
This is used to compact the physical memory usage. If the VM
|
||||
wants to relocate a page (maybe off a memory card that is
|
||||
signalling imminent failure) it will pass a new page and an old
|
||||
page to this function. migrate_page should transfer any private
|
||||
data across and update any references that it has to the page.
|
||||
|
||||
``putback_page``
|
||||
Called by the VM when isolated page's migration fails.
|
||||
wants to relocate a folio (maybe from a memory device that is
|
||||
signalling imminent failure) it will pass a new folio and an old
|
||||
folio to this function. migrate_folio should transfer any private
|
||||
data across and update any references that it has to the folio.
|
||||
|
||||
``launder_folio``
|
||||
Called before freeing a folio - it writes back the dirty folio.
|
||||
|
|
|
|||
|
|
@ -21,7 +21,9 @@ specific type) associated with it.
|
|||
|
||||
In the ACPI _DSD context it is an element of the sub-package following the
|
||||
generic Device Properties UUID in the _DSD return package as specified in the
|
||||
Device Properties UUID definition document [1]_.
|
||||
section titled "Well-Known _DSD UUIDs and Data Structure Formats" sub-section
|
||||
"Device Properties UUID" in _DSD (Device Specific Data) Implementation Guide
|
||||
document [1]_.
|
||||
|
||||
It also may be regarded as the definition of a key and the associated data type
|
||||
that can be returned by _DSD in the Device Properties UUID sub-package for a
|
||||
|
|
@ -36,7 +38,9 @@ Property subsets are nested collections of properties. Each of them is
|
|||
associated with an additional key (name) allowing the subset to be referred
|
||||
to as a whole (and to be treated as a separate entity). The canonical
|
||||
representation of property subsets is via the mechanism specified in the
|
||||
Hierarchical Properties Extension UUID definition document [2]_.
|
||||
section titled "Well-Known _DSD UUIDs and Data Structure Formats" sub-section
|
||||
"Hierarchical Data Extension UUID" in _DSD (Device Specific Data)
|
||||
Implementation Guide document [1]_.
|
||||
|
||||
Property sets may be hierarchical. That is, a property set may contain
|
||||
multiple property subsets that each may contain property subsets of its
|
||||
|
|
@ -96,5 +100,4 @@ contents.
|
|||
References
|
||||
==========
|
||||
|
||||
.. [1] https://www.uefi.org/sites/default/files/resources/_DSD-device-properties-UUID.pdf
|
||||
.. [2] https://www.uefi.org/sites/default/files/resources/_DSD-hierarchical-data-extension-UUID-v1.1.pdf
|
||||
.. [1] https://github.com/UEFI/DSD-Guide
|
||||
|
|
|
|||
|
|
@ -168,7 +168,7 @@ An error injection example::
|
|||
0x00000008 Memory Correctable
|
||||
0x00000010 Memory Uncorrectable non-fatal
|
||||
# echo 0x12345000 > param1 # Set memory address for injection
|
||||
# echo $((-1 << 12)) > param2 # Mask 0xfffffffffffff000 - anywhere in this page
|
||||
# echo 0xfffffffffffff000 > param2 # Mask - anywhere in this page
|
||||
# echo 0x8 > error_type # Choose correctable memory error
|
||||
# echo 1 > error_inject # Inject now
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ Supported devices:
|
|||
* Aquacomputer Farbwerk RGB controller
|
||||
* Aquacomputer Farbwerk 360 RGB controller
|
||||
* Aquacomputer Octo fan controller
|
||||
* Aquacomputer Quadro fan controller
|
||||
|
||||
Author: Aleksa Savic
|
||||
|
||||
|
|
@ -33,6 +34,9 @@ better suited for userspace tools.
|
|||
The Octo exposes four temperature sensors and eight PWM controllable fans, along
|
||||
with their speed (in RPM), power, voltage and current.
|
||||
|
||||
The Quadro exposes four temperature sensors, a flow sensor and four PWM controllable
|
||||
fans, along with their speed (in RPM), power, voltage and current.
|
||||
|
||||
The Farbwerk and Farbwerk 360 expose four temperature sensors. Depending on the device,
|
||||
not all sysfs and debugfs entries will be available.
|
||||
|
||||
|
|
@ -45,13 +49,14 @@ the kernel and supports hotswapping.
|
|||
Sysfs entries
|
||||
-------------
|
||||
|
||||
================ =============================================
|
||||
================ ==============================================
|
||||
temp[1-4]_input Temperature sensors (in millidegrees Celsius)
|
||||
fan[1-2]_input Pump/fan speed (in RPM)
|
||||
power[1-2]_input Pump/fan power (in micro Watts)
|
||||
in[0-2]_input Pump/fan voltage (in milli Volts)
|
||||
curr[1-2]_input Pump/fan current (in milli Amperes)
|
||||
================ =============================================
|
||||
fan[1-8]_input Pump/fan speed (in RPM) / Flow speed (in dL/h)
|
||||
power[1-8]_input Pump/fan power (in micro Watts)
|
||||
in[0-7]_input Pump/fan voltage (in milli Volts)
|
||||
curr[1-8]_input Pump/fan current (in milli Amperes)
|
||||
pwm[1-8] Fan PWM (0 - 255)
|
||||
================ ==============================================
|
||||
|
||||
Debugfs entries
|
||||
---------------
|
||||
|
|
|
|||
|
|
@ -13,12 +13,16 @@ Supported boards:
|
|||
* ROG CROSSHAIR VIII FORMULA
|
||||
* ROG CROSSHAIR VIII HERO
|
||||
* ROG CROSSHAIR VIII IMPACT
|
||||
* ROG MAXIMUS XI HERO
|
||||
* ROG MAXIMUS XI HERO (WI-FI)
|
||||
* ROG STRIX B550-E GAMING
|
||||
* ROG STRIX B550-I GAMING
|
||||
* ROG STRIX X570-E GAMING
|
||||
* ROG STRIX X570-E GAMING WIFI II
|
||||
* ROG STRIX X570-F GAMING
|
||||
* ROG STRIX X570-I GAMING
|
||||
* ROG STRIX Z690-A GAMING WIFI D4
|
||||
* ROG ZENITH II EXTREME
|
||||
|
||||
Authors:
|
||||
- Eugene Shalygin <eugene.shalygin@gmail.com>
|
||||
|
|
|
|||
|
|
@ -46,6 +46,9 @@ temp[1-10]_input RO Temperature reading in milli-degrees
|
|||
temp[1-10]_label RO Temperature sensor label.
|
||||
=============================== ======= =======================================
|
||||
|
||||
Due to the nature of the SMM interface, each pwmX attribute controls
|
||||
fan number X.
|
||||
|
||||
Disabling automatic BIOS fan control
|
||||
------------------------------------
|
||||
|
||||
|
|
|
|||
|
|
@ -109,6 +109,7 @@ Hardware Monitoring Kernel Drivers
|
|||
lm95234
|
||||
lm95245
|
||||
lochnagar
|
||||
lt7182s
|
||||
ltc2992
|
||||
ltc2945
|
||||
ltc2947
|
||||
|
|
|
|||
|
|
@ -3,6 +3,14 @@ Kernel driver lm90
|
|||
|
||||
Supported chips:
|
||||
|
||||
* National Semiconductor LM84
|
||||
|
||||
Prefix: 'lm84'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
|
||||
* National Semiconductor LM90
|
||||
|
||||
Prefix: 'lm90'
|
||||
|
|
@ -43,6 +51,30 @@ Supported chips:
|
|||
|
||||
http://www.national.com/mpf/LM/LM86.html
|
||||
|
||||
* Analog Devices ADM1020
|
||||
|
||||
Prefix: 'adm1020'
|
||||
|
||||
Addresses scanned: I2C 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Analog Devices website
|
||||
|
||||
* Analog Devices ADM1021
|
||||
|
||||
Prefix: 'adm1021'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Analog Devices website
|
||||
|
||||
* Analog Devices ADM1021A/ADM1023
|
||||
|
||||
Prefix: 'adm1023'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Analog Devices website
|
||||
|
||||
* Analog Devices ADM1032
|
||||
|
||||
Prefix: 'adm1032'
|
||||
|
|
@ -73,6 +105,36 @@ Supported chips:
|
|||
|
||||
https://www.onsemi.com/PowerSolutions/product.do?id=ADT7461A
|
||||
|
||||
* Analog Devices ADT7481
|
||||
|
||||
Prefix: 'adt7481'
|
||||
|
||||
Addresses scanned: I2C 0x4b and 0x4c
|
||||
|
||||
Datasheet: Publicly available at the ON Semiconductor website
|
||||
|
||||
https://www.onsemi.com/PowerSolutions/product.do?id=ADT7481
|
||||
|
||||
* Analog Devices ADT7482
|
||||
|
||||
Prefix: 'adt7482'
|
||||
|
||||
Addresses scanned: I2C 0x4c
|
||||
|
||||
Datasheet: Publicly available at the ON Semiconductor website
|
||||
|
||||
https://www.onsemi.com/PowerSolutions/product.do?id=ADT7482
|
||||
|
||||
* Analog Devices ADT7483A
|
||||
|
||||
Prefix: 'adt7483a'
|
||||
|
||||
Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b, 0x4c, 0x4d, 0x4e
|
||||
|
||||
Datasheet: Publicly available at the ON Semiconductor website
|
||||
|
||||
https://www.onsemi.com/PowerSolutions/product.do?id=ADT7483A
|
||||
|
||||
* ON Semiconductor NCT1008
|
||||
|
||||
Prefix: 'nct1008'
|
||||
|
|
@ -83,6 +145,72 @@ Supported chips:
|
|||
|
||||
https://www.onsemi.com/PowerSolutions/product.do?id=NCT1008
|
||||
|
||||
* ON Semiconductor NCT210
|
||||
|
||||
Prefix: 'adm1021'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the ON Semiconductor website
|
||||
|
||||
https://www.onsemi.com/PowerSolutions/product.do?id=NCT210
|
||||
|
||||
* ON Semiconductor NCT214
|
||||
|
||||
Prefix: 'nct214'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the ON Semiconductor website
|
||||
|
||||
https://www.onsemi.com/PowerSolutions/product.do?id=NCT214
|
||||
|
||||
* ON Semiconductor NCT218
|
||||
|
||||
Prefix: 'nct218'
|
||||
|
||||
Addresses scanned: I2C 0x4c - 0x4d
|
||||
|
||||
Datasheet: Publicly available at the ON Semiconductor website
|
||||
|
||||
https://www.onsemi.com/PowerSolutions/product.do?id=NCT218
|
||||
|
||||
* ON Semiconductor NCT72
|
||||
|
||||
Prefix: 'nct72'
|
||||
|
||||
Addresses scanned: I2C 0x4c - 0x4d
|
||||
|
||||
Datasheet: Publicly available at the ON Semiconductor website
|
||||
|
||||
https://www.onsemi.com/PowerSolutions/product.do?id=NCT72
|
||||
|
||||
* Maxim MAX1617
|
||||
|
||||
Prefix: 'max1617'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
|
||||
* Maxim MAX1617A
|
||||
|
||||
Prefix: 'max1617a'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
|
||||
* Maxim MAX6642
|
||||
|
||||
Prefix: 'max6642'
|
||||
|
||||
Addresses scanned: I2C 0x48-0x4f
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
|
||||
http://datasheets.maxim-ic.com/en/ds/MAX6642.pdf
|
||||
|
||||
* Maxim MAX6646
|
||||
|
||||
Prefix: 'max6646'
|
||||
|
|
@ -105,7 +233,7 @@ Supported chips:
|
|||
|
||||
* Maxim MAX6648
|
||||
|
||||
Prefix: 'max6646'
|
||||
Prefix: 'max6648'
|
||||
|
||||
Addresses scanned: I2C 0x4c
|
||||
|
||||
|
|
@ -191,7 +319,7 @@ Supported chips:
|
|||
|
||||
* Maxim MAX6692
|
||||
|
||||
Prefix: 'max6646'
|
||||
Prefix: 'max6648'
|
||||
|
||||
Addresses scanned: I2C 0x4c
|
||||
|
||||
|
|
@ -275,6 +403,46 @@ Supported chips:
|
|||
|
||||
https://www.ti.com/lit/gpn/tmp461
|
||||
|
||||
* Philips NE1617, NE1617A
|
||||
|
||||
Prefix: 'max1617' (probably detected as a max1617)
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheets: Publicly available at the Philips website
|
||||
|
||||
* Philips NE1618
|
||||
|
||||
Prefix: 'ne1618'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheets: Publicly available at the Philips website
|
||||
|
||||
* Genesys Logic GL523SM
|
||||
|
||||
Prefix: 'gl523sm'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet:
|
||||
|
||||
* TI THMC10
|
||||
|
||||
Prefix: 'thmc10'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the TI website
|
||||
|
||||
* Onsemi MC1066
|
||||
|
||||
Prefix: 'mc1066'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Onsemi website
|
||||
|
||||
Author: Jean Delvare <jdelvare@suse.de>
|
||||
|
||||
|
||||
|
|
@ -285,6 +453,12 @@ The LM90 is a digital temperature sensor. It senses its own temperature as
|
|||
well as the temperature of up to one external diode. It is compatible
|
||||
with many other devices, many of which are supported by this driver.
|
||||
|
||||
The family of chips supported by this driver is derived from MAX1617.
|
||||
This chip as well as various compatible chips support a local and a remote
|
||||
temperature sensor with 8 bit accuracy. Later chips provide improved accuracy
|
||||
and other additional features such as hysteresis and temperature offset
|
||||
registers.
|
||||
|
||||
Note that there is no easy way to differentiate between the MAX6657,
|
||||
MAX6658 and MAX6659 variants. The extra features of the MAX6659 are only
|
||||
supported by this driver if the chip is located at address 0x4d or 0x4e,
|
||||
|
|
@ -292,15 +466,31 @@ or if the chip type is explicitly selected as max6659.
|
|||
The MAX6680 and MAX6681 only differ in their pinout, therefore they obviously
|
||||
can't (and don't need to) be distinguished.
|
||||
|
||||
The specificity of this family of chipsets over the ADM1021/LM84
|
||||
family is that it features critical limits with hysteresis, and an
|
||||
increased resolution of the remote temperature measurement.
|
||||
|
||||
The different chipsets of the family are not strictly identical, although
|
||||
very similar. For reference, here comes a non-exhaustive list of specific
|
||||
features:
|
||||
|
||||
LM84:
|
||||
* 8 bit sensor resolution
|
||||
|
||||
ADM1020, ADM1021, GL523SM, MAX1617, NE1617, NE1617A, THMC10:
|
||||
* 8 bit sensor resolution
|
||||
* Low temperature limits
|
||||
|
||||
NCT210, NE1618:
|
||||
* 11 bit sensor resolution for remote temperature sensor
|
||||
* Low temperature limits
|
||||
|
||||
ADM1021A, ADM1023:
|
||||
* Temperature offset register for remote temperature sensor
|
||||
* 11 bit resolution for remote temperature sensor
|
||||
* Low temperature limits
|
||||
|
||||
LM90:
|
||||
* 11 bit resolution for remote temperature sensor
|
||||
* Temperature offset register for remote temperature sensor
|
||||
* Low and critical temperature limits
|
||||
* Configurable conversion rate
|
||||
* Filter and alert configuration register at 0xBF.
|
||||
* ALERT is triggered by temperatures over critical limits.
|
||||
|
||||
|
|
@ -322,8 +512,31 @@ ADM1032:
|
|||
ADT7461, ADT7461A, NCT1008:
|
||||
* Extended temperature range (breaks compatibility)
|
||||
* Lower resolution for remote temperature
|
||||
* SMBus PEC support for Write Byte and Receive Byte transactions.
|
||||
* 10 bit temperature resolution
|
||||
|
||||
MAX6654:
|
||||
ADT7481, ADT7482, ADT7483:
|
||||
* Temperature offset register
|
||||
* SMBus PEC support
|
||||
* 10 bit temperature resolution for external sensors
|
||||
* Two remote sensors
|
||||
* Selectable address (ADT7483)
|
||||
|
||||
MAX6642:
|
||||
* No critical limit register
|
||||
* Conversion rate not configurable
|
||||
* Better local resolution (10 bit)
|
||||
* 10 bit external sensor resolution
|
||||
|
||||
MAX6646, MAX6647, MAX6649:
|
||||
* Better local resolution
|
||||
* Extended range unsigned external temperature
|
||||
|
||||
MAX6648, MAX6692:
|
||||
* Better local resolution
|
||||
* Unsigned temperature
|
||||
|
||||
MAX6654, MAX6690:
|
||||
* Better local resolution
|
||||
* Selectable address
|
||||
* Remote sensor type selection
|
||||
|
|
@ -423,6 +636,6 @@ two transactions will typically mean twice as much delay waiting for
|
|||
transaction completion, effectively doubling the register cache refresh time.
|
||||
I guess reliability comes at a price, but it's quite expensive this time.
|
||||
|
||||
So, as not everyone might enjoy the slowdown, PEC can be disabled through
|
||||
sysfs. Just write 0 to the "pec" file and PEC will be disabled. Write 1
|
||||
to that file to enable PEC again.
|
||||
So, as not everyone might enjoy the slowdown, PEC is disabled by default and
|
||||
can be enabled through sysfs. Just write 1 to the "pec" file and PEC will be
|
||||
enabled. Write 0 to that file to disable PEC again.
|
||||
|
|
|
|||
92
Documentation/hwmon/lt7182s.rst
Normal file
92
Documentation/hwmon/lt7182s.rst
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Kernel driver lt7182s
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* ADI LT7182S
|
||||
|
||||
Prefix: 'lt7182s'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: https://www.analog.com/en/products/lt7182s.html
|
||||
|
||||
Author: Guenter Roeck <linux@roeck-us.net>
|
||||
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
LT7182S is a Dual Channel 6A, 20V PolyPhase Step-Down Silent Switcher with
|
||||
Digital Power System Management support.
|
||||
|
||||
|
||||
Usage Notes
|
||||
-----------
|
||||
|
||||
This driver does not probe for PMBus devices. You will have to instantiate
|
||||
devices explicitly.
|
||||
|
||||
Example: the following commands will load the driver for a LT7182S
|
||||
at address 0x4f on I2C bus #4::
|
||||
|
||||
# modprobe lt7182s
|
||||
# echo lt7182s 0x4f > /sys/bus/i2c/devices/i2c-4/new_device
|
||||
|
||||
It can also be instantiated by declaring an entry in device tree.
|
||||
|
||||
|
||||
Sysfs attributes
|
||||
----------------
|
||||
|
||||
======================= ====================================
|
||||
curr[1-2]_label "iin[12]"
|
||||
curr[1-2]_input Measured input current
|
||||
curr[1-2]_max Maximum input current
|
||||
curr[1-2]_max_alarm Current high alarm
|
||||
|
||||
curr[3-4]_label "iout[1-2]"
|
||||
curr[3-4]_input Measured output current
|
||||
curr[3-4]_highest Highest measured output current
|
||||
curr[3-4]_max Maximum output current
|
||||
curr[3-4]_max_alarm Output current high alarm
|
||||
|
||||
in[1-2]_label "vin[12]"
|
||||
in[1-2]_input Measured input voltage
|
||||
in[1-2]_highest Highest measured input voltage
|
||||
in[1-2]_crit Critical maximum input voltage
|
||||
in[1-2]_crit_alarm Input voltage critical high alarm
|
||||
in[1-2]_min Minimum input voltage
|
||||
in[1-2]_min_alarm Input voltage low alarm
|
||||
in[1-2]_rated_min Rated minimum input voltage
|
||||
in[1-2]_rated_max Rated maximum input voltage
|
||||
in1_reset_history Write to reset history for all attributes
|
||||
|
||||
in[3-5]_label "vmon[1-3]"
|
||||
in[3-5]_input Measured voltage on ITH1/ITH2/EXTVCC pins
|
||||
Only available if enabled with MFR_ADC_CONTROL_LT7182S
|
||||
command.
|
||||
|
||||
in[3-4|6-7]_label "vout[1-2]"
|
||||
in[3-4|6-7]_input Measured output voltage
|
||||
in[3-4|6-7]_highest Highest measured output voltage
|
||||
in[3-4|6-7]_lcrit Critical minimum output voltage
|
||||
in[3-4|6-7]_lcrit_alarm Output voltage critical low alarm
|
||||
in[3-4|6-7]_min Minimum output voltage
|
||||
in[3-4|6-7]_max_alarm Output voltage low alarm
|
||||
in[3-4|6-7]_max Maximum output voltage
|
||||
in[3-4|6-7]_max_alarm Output voltage high alarm
|
||||
in[3-4|6-7]_crit Critical maximum output voltage
|
||||
in[3-4|6-7]_crit_alarm Output voltage critical high alarm
|
||||
|
||||
power[1-2]_label "pout[1-2]"
|
||||
power[1-2]_input Measured output power
|
||||
|
||||
temp1_input Measured temperature
|
||||
temp1_crit Critical high temperature
|
||||
temp1_crit_alarm Chip temperature critical high alarm
|
||||
temp1_max Maximum temperature
|
||||
temp1_max_alarm Chip temperature high alarm
|
||||
======================= ====================================
|
||||
|
|
@ -121,6 +121,15 @@ Specifically, it provides the following information.
|
|||
non-standard PMBus commands to standard commands, or to augment standard
|
||||
command return values with device specific information.
|
||||
|
||||
PEC Support
|
||||
===========
|
||||
|
||||
Many PMBus devices support SMBus PEC (Packet Error Checking). If supported
|
||||
by both the I2C adapter and by the PMBus chip, it is by default enabled.
|
||||
If PEC is supported, the PMBus core driver adds an attribute named 'pec' to
|
||||
the I2C device. This attribute can be used to control PEC support in the
|
||||
communication with the PMBus chip.
|
||||
|
||||
API functions
|
||||
=============
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ increase the chances of your change being accepted.
|
|||
* It should be unnecessary to mention, but please read and follow:
|
||||
|
||||
- Documentation/process/submit-checklist.rst
|
||||
- Documentation/process/submitting-drivers.rst
|
||||
- Documentation/process/submitting-patches.rst
|
||||
- Documentation/process/coding-style.rst
|
||||
|
||||
|
|
|
|||
|
|
@ -755,8 +755,7 @@ make a neat patch, there's administrative work to be done:
|
|||
it implies a more-than-passing commitment to some part of the code.
|
||||
|
||||
- Finally, don't forget to read
|
||||
``Documentation/process/submitting-patches.rst`` and possibly
|
||||
``Documentation/process/submitting-drivers.rst``.
|
||||
``Documentation/process/submitting-patches.rst``
|
||||
|
||||
Kernel Cantrips
|
||||
===============
|
||||
|
|
|
|||
|
|
@ -1894,6 +1894,7 @@ There are some more advanced barrier functions:
|
|||
|
||||
(*) dma_wmb();
|
||||
(*) dma_rmb();
|
||||
(*) dma_mb();
|
||||
|
||||
These are for use with consistent memory to guarantee the ordering
|
||||
of writes or reads of shared memory accessible to both the CPU and a
|
||||
|
|
@ -1925,11 +1926,11 @@ There are some more advanced barrier functions:
|
|||
The dma_rmb() allows us guarantee the device has released ownership
|
||||
before we read the data from the descriptor, and the dma_wmb() allows
|
||||
us to guarantee the data is written to the descriptor before the device
|
||||
can see it now has ownership. Note that, when using writel(), a prior
|
||||
wmb() is not needed to guarantee that the cache coherent memory writes
|
||||
have completed before writing to the MMIO region. The cheaper
|
||||
writel_relaxed() does not provide this guarantee and must not be used
|
||||
here.
|
||||
can see it now has ownership. The dma_mb() implies both a dma_rmb() and
|
||||
a dma_wmb(). Note that, when using writel(), a prior wmb() is not needed
|
||||
to guarantee that the cache coherent memory writes have completed before
|
||||
writing to the MMIO region. The cheaper writel_relaxed() does not provide
|
||||
this guarantee and must not be used here.
|
||||
|
||||
See the subsection "Kernel I/O barrier effects" for more information on
|
||||
relaxed I/O accessors and the Documentation/core-api/dma-api.rst file for
|
||||
|
|
|
|||
|
|
@ -20,20 +20,20 @@ possible source of information on its own, the EM framework intervenes as an
|
|||
abstraction layer which standardizes the format of power cost tables in the
|
||||
kernel, hence enabling to avoid redundant work.
|
||||
|
||||
The power values might be expressed in milli-Watts or in an 'abstract scale'.
|
||||
The power values might be expressed in micro-Watts or in an 'abstract scale'.
|
||||
Multiple subsystems might use the EM and it is up to the system integrator to
|
||||
check that the requirements for the power value scale types are met. An example
|
||||
can be found in the Energy-Aware Scheduler documentation
|
||||
Documentation/scheduler/sched-energy.rst. For some subsystems like thermal or
|
||||
powercap power values expressed in an 'abstract scale' might cause issues.
|
||||
These subsystems are more interested in estimation of power used in the past,
|
||||
thus the real milli-Watts might be needed. An example of these requirements can
|
||||
thus the real micro-Watts might be needed. An example of these requirements can
|
||||
be found in the Intelligent Power Allocation in
|
||||
Documentation/driver-api/thermal/power_allocator.rst.
|
||||
Kernel subsystems might implement automatic detection to check whether EM
|
||||
registered devices have inconsistent scale (based on EM internal flag).
|
||||
Important thing to keep in mind is that when the power values are expressed in
|
||||
an 'abstract scale' deriving real energy in milli-Joules would not be possible.
|
||||
an 'abstract scale' deriving real energy in micro-Joules would not be possible.
|
||||
|
||||
The figure below depicts an example of drivers (Arm-specific here, but the
|
||||
approach is applicable to any architecture) providing power costs to the EM
|
||||
|
|
@ -98,7 +98,7 @@ Drivers are expected to register performance domains into the EM framework by
|
|||
calling the following API::
|
||||
|
||||
int em_dev_register_perf_domain(struct device *dev, unsigned int nr_states,
|
||||
struct em_data_callback *cb, cpumask_t *cpus, bool milliwatts);
|
||||
struct em_data_callback *cb, cpumask_t *cpus, bool microwatts);
|
||||
|
||||
Drivers must provide a callback function returning <frequency, power> tuples
|
||||
for each performance state. The callback function provided by the driver is free
|
||||
|
|
@ -106,10 +106,10 @@ to fetch data from any relevant location (DT, firmware, ...), and by any mean
|
|||
deemed necessary. Only for CPU devices, drivers must specify the CPUs of the
|
||||
performance domains using cpumask. For other devices than CPUs the last
|
||||
argument must be set to NULL.
|
||||
The last argument 'milliwatts' is important to set with correct value. Kernel
|
||||
The last argument 'microwatts' is important to set with correct value. Kernel
|
||||
subsystems which use EM might rely on this flag to check if all EM devices use
|
||||
the same scale. If there are different scales, these subsystems might decide
|
||||
to: return warning/error, stop working or panic.
|
||||
to return warning/error, stop working or panic.
|
||||
See Section 3. for an example of driver implementing this
|
||||
callback, or Section 2.4 for further documentation on this API
|
||||
|
||||
|
|
@ -137,7 +137,7 @@ The .get_cost() allows to provide the 'cost' values which reflect the
|
|||
efficiency of the CPUs. This would allow to provide EAS information which
|
||||
has different relation than what would be forced by the EM internal
|
||||
formulas calculating 'cost' values. To register an EM for such platform, the
|
||||
driver must set the flag 'milliwatts' to 0, provide .get_power() callback
|
||||
driver must set the flag 'microwatts' to 0, provide .get_power() callback
|
||||
and provide .get_cost() callback. The EM framework would handle such platform
|
||||
properly during registration. A flag EM_PERF_DOMAIN_ARTIFICIAL is set for such
|
||||
platform. Special care should be taken by other frameworks which are using EM
|
||||
|
|
|
|||
|
|
@ -315,7 +315,7 @@ that these callbacks operate on::
|
|||
configuration space */
|
||||
unsigned int pme_support:5; /* Bitmask of states from which PME#
|
||||
can be generated */
|
||||
unsigned int pme_interrupt:1;/* Is native PCIe PME signaling used? */
|
||||
unsigned int pme_poll:1; /* Poll device's PME status bit */
|
||||
unsigned int d1_support:1; /* Low power state D1 is supported */
|
||||
unsigned int d2_support:1; /* Low power state D2 is supported */
|
||||
unsigned int no_d1d2:1; /* D1 and D2 are forbidden */
|
||||
|
|
|
|||
|
|
@ -10,8 +10,7 @@ of conventions and procedures which are used in the posting of patches;
|
|||
following them will make life much easier for everybody involved. This
|
||||
document will attempt to cover these expectations in reasonable detail;
|
||||
more information can also be found in the files
|
||||
:ref:`Documentation/process/submitting-patches.rst <submittingpatches>`,
|
||||
:ref:`Documentation/process/submitting-drivers.rst <submittingdrivers>`
|
||||
:ref:`Documentation/process/submitting-patches.rst <submittingpatches>`
|
||||
and :ref:`Documentation/process/submit-checklist.rst <submitchecklist>`.
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -5,15 +5,13 @@ For more information
|
|||
|
||||
There are numerous sources of information on Linux kernel development and
|
||||
related topics. First among those will always be the Documentation
|
||||
directory found in the kernel source distribution. The top-level :ref:`process/howto.rst <process_howto>`
|
||||
file is an important starting point; :ref:`process/submitting-patches.rst <submittingpatches>`
|
||||
and :ref:`process/submitting-drivers.rst <submittingdrivers>`
|
||||
are also something which all kernel developers should
|
||||
read. Many internal kernel APIs are documented using the kerneldoc
|
||||
mechanism; "make htmldocs" or "make pdfdocs" can be used to generate those
|
||||
documents in HTML or PDF format (though the version of TeX shipped by some
|
||||
distributions runs into internal limits and fails to process the documents
|
||||
properly).
|
||||
directory found in the kernel source distribution. Start with the
|
||||
top-level :ref:`process/howto.rst <process_howto>`; also read
|
||||
:ref:`process/submitting-patches.rst <submittingpatches>`. Many internal
|
||||
kernel APIs are documented using the kerneldoc mechanism; "make htmldocs"
|
||||
or "make pdfdocs" can be used to generate those documents in HTML or PDF
|
||||
format (though the version of TeX shipped by some distributions runs into
|
||||
internal limits and fails to process the documents properly).
|
||||
|
||||
Various web sites discuss kernel development at all levels of detail. Your
|
||||
author would like to humbly suggest https://lwn.net/ as a source;
|
||||
|
|
|
|||
|
|
@ -277,36 +277,61 @@ Thunderbird (GUI)
|
|||
Thunderbird is an Outlook clone that likes to mangle text, but there are ways
|
||||
to coerce it into behaving.
|
||||
|
||||
- Allow use of an external editor:
|
||||
The easiest thing to do with Thunderbird and patches is to use an
|
||||
"external editor" extension and then just use your favorite ``$EDITOR``
|
||||
for reading/merging patches into the body text. To do this, download
|
||||
and install the extension, then add a button for it using
|
||||
:menuselection:`View-->Toolbars-->Customize...` and finally just click on it
|
||||
when in the :menuselection:`Compose` dialog.
|
||||
After doing the modifications, this includes installing the extensions,
|
||||
you need to restart Thunderbird.
|
||||
|
||||
Please note that "external editor" requires that your editor must not
|
||||
fork, or in other words, the editor must not return before closing.
|
||||
You may have to pass additional flags or change the settings of your
|
||||
editor. Most notably if you are using gvim then you must pass the -f
|
||||
option to gvim by putting ``/usr/bin/gvim -f`` (if the binary is in
|
||||
``/usr/bin``) to the text editor field in :menuselection:`external editor`
|
||||
settings. If you are using some other editor then please read its manual
|
||||
to find out how to do this.
|
||||
- Allow use of an external editor:
|
||||
|
||||
The easiest thing to do with Thunderbird and patches is to use extensions
|
||||
which open your favorite external editor.
|
||||
|
||||
Here are some example extensions which are capable of doing this.
|
||||
|
||||
- "External Editor Revived"
|
||||
|
||||
https://github.com/Frederick888/external-editor-revived
|
||||
|
||||
https://addons.thunderbird.net/en-GB/thunderbird/addon/external-editor-revived/
|
||||
|
||||
It requires installing a "native messaging host".
|
||||
Please read the wiki which can be found here:
|
||||
https://github.com/Frederick888/external-editor-revived/wiki
|
||||
|
||||
- "External Editor"
|
||||
|
||||
https://github.com/exteditor/exteditor
|
||||
|
||||
To do this, download and install the extension, then open the
|
||||
:menuselection:`compose` window, add a button for it using
|
||||
:menuselection:`View-->Toolbars-->Customize...`
|
||||
then just click on the new button when you wish to use the external editor.
|
||||
|
||||
Please note that "External Editor" requires that your editor must not
|
||||
fork, or in other words, the editor must not return before closing.
|
||||
You may have to pass additional flags or change the settings of your
|
||||
editor. Most notably if you are using gvim then you must pass the -f
|
||||
option to gvim by putting ``/usr/bin/gvim --nofork"`` (if the binary is in
|
||||
``/usr/bin``) to the text editor field in :menuselection:`external editor`
|
||||
settings. If you are using some other editor then please read its manual
|
||||
to find out how to do this.
|
||||
|
||||
To beat some sense out of the internal editor, do this:
|
||||
|
||||
- Edit your Thunderbird config settings so that it won't use ``format=flowed``.
|
||||
Go to :menuselection:`edit-->preferences-->advanced-->config editor` to bring up
|
||||
the thunderbird's registry editor.
|
||||
- Edit your Thunderbird config settings so that it won't use ``format=flowed``!
|
||||
Go to your main window and find the button for your main dropdown menu.
|
||||
:menuselection:`Main Menu-->Preferences-->General-->Config Editor...`
|
||||
to bring up the thunderbird's registry editor.
|
||||
|
||||
- Set ``mailnews.send_plaintext_flowed`` to ``false``
|
||||
- Set ``mailnews.send_plaintext_flowed`` to ``false``
|
||||
|
||||
- Set ``mailnews.wraplength`` from ``72`` to ``0``
|
||||
- Set ``mailnews.wraplength`` from ``72`` to ``0``
|
||||
|
||||
- :menuselection:`View-->Message Body As-->Plain Text`
|
||||
- Don't write HTML messages! Go to the main window
|
||||
:menuselection:`Main Menu-->Account Settings-->youracc@server.something-->Composition & Addressing`!
|
||||
There you can disable the option "Compose messages in HTML format".
|
||||
|
||||
- :menuselection:`View-->Character Encoding-->Unicode (UTF-8)`
|
||||
- Open messages only as plain text! Go to the main window
|
||||
:menuselection:`Main Menu-->View-->Message Body As-->Plain Text`!
|
||||
|
||||
TkRat (GUI)
|
||||
***********
|
||||
|
|
|
|||
|
|
@ -105,8 +105,8 @@ required reading:
|
|||
patches if these rules are followed, and many people will only
|
||||
review code if it is in the proper style.
|
||||
|
||||
:ref:`Documentation/process/submitting-patches.rst <submittingpatches>` and :ref:`Documentation/process/submitting-drivers.rst <submittingdrivers>`
|
||||
These files describe in explicit detail how to successfully create
|
||||
:ref:`Documentation/process/submitting-patches.rst <submittingpatches>`
|
||||
This file describes in explicit detail how to successfully create
|
||||
and send a patch, including (but not limited to):
|
||||
|
||||
- Email contents
|
||||
|
|
|
|||
|
|
@ -40,7 +40,6 @@ Other guides to the community that are of interest to most developers are:
|
|||
:maxdepth: 1
|
||||
|
||||
changes
|
||||
submitting-drivers
|
||||
stable-api-nonsense
|
||||
management-style
|
||||
stable-kernel-rules
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
.. _kernel_docs:
|
||||
|
||||
Index of Documentation for People Interested in Writing and/or Understanding the Linux Kernel
|
||||
=============================================================================================
|
||||
Index of Further Kernel Documentation
|
||||
=====================================
|
||||
|
||||
Juan-Mariano de Goyeneche <jmseyas@dit.upm.es>
|
||||
Initial Author: Juan-Mariano de Goyeneche (<jmseyas@dit.upm.es>;
|
||||
email address is defunct now.)
|
||||
|
||||
The need for a document like this one became apparent in the
|
||||
linux-kernel mailing list as the same questions, asking for pointers
|
||||
|
|
@ -16,21 +17,16 @@ philosophy and design decisions behind this code.
|
|||
|
||||
Unfortunately, not many documents are available for beginners to
|
||||
start. And, even if they exist, there was no "well-known" place which
|
||||
kept track of them. These lines try to cover this lack. All documents
|
||||
available on line known by the author are listed, while some reference
|
||||
books are also mentioned.
|
||||
kept track of them. These lines try to cover this lack.
|
||||
|
||||
PLEASE, if you know any paper not listed here or write a new document,
|
||||
send me an e-mail, and I'll include a reference to it here. Any
|
||||
corrections, ideas or comments are also welcomed.
|
||||
include a reference to it here, following the kernel's patch submission
|
||||
process. Any corrections, ideas or comments are also welcome.
|
||||
|
||||
The papers that follow are listed in no particular order. All are
|
||||
cataloged with the following fields: the document's "Title", the
|
||||
"Author"/s, the "URL" where they can be found, some "Keywords" helpful
|
||||
when searching for specific topics, and a brief "Description" of the
|
||||
Document.
|
||||
|
||||
Enjoy!
|
||||
All documents are cataloged with the following fields: the document's
|
||||
"Title", the "Author"/s, the "URL" where they can be found, some
|
||||
"Keywords" helpful when searching for specific topics, and a brief
|
||||
"Description" of the Document.
|
||||
|
||||
.. note::
|
||||
|
||||
|
|
@ -83,6 +79,18 @@ On-line docs
|
|||
Finally this trace-log is used as base for more a exact conceptual
|
||||
exploration and description of the Linux TCP/IP implementation.*
|
||||
|
||||
* Title: **The Linux Kernel Module Programming Guide**
|
||||
|
||||
:Author: Peter Jay Salzman, Michael Burian, Ori Pomerantz, Bob Mottram,
|
||||
Jim Huang.
|
||||
:URL: https://sysprog21.github.io/lkmpg/
|
||||
:Date: 2021
|
||||
:Keywords: modules, GPL book, /proc, ioctls, system calls,
|
||||
interrupt handlers .
|
||||
:Description: A very nice GPL book on the topic of modules
|
||||
programming. Lots of examples. Currently the new version is being
|
||||
actively maintained at https://github.com/sysprog21/lkmpg.
|
||||
|
||||
* Title: **On submitting kernel Patches**
|
||||
|
||||
:Author: Andi Kleen
|
||||
|
|
@ -126,17 +134,19 @@ On-line docs
|
|||
describes how to write user-mode utilities for communicating with
|
||||
Card Services.
|
||||
|
||||
* Title: **The Linux Kernel Module Programming Guide**
|
||||
* Title: **How NOT to write kernel drivers**
|
||||
|
||||
:Author: Peter Jay Salzman, Michael Burian, Ori Pomerantz, Bob Mottram,
|
||||
Jim Huang.
|
||||
:URL: https://sysprog21.github.io/lkmpg/
|
||||
:Date: 2021
|
||||
:Keywords: modules, GPL book, /proc, ioctls, system calls,
|
||||
interrupt handlers .
|
||||
:Description: A very nice GPL book on the topic of modules
|
||||
programming. Lots of examples. Currently the new version is being
|
||||
actively maintained at https://github.com/sysprog21/lkmpg.
|
||||
:Author: Arjan van de Ven.
|
||||
:URL: https://landley.net/kdocs/ols/2002/ols2002-pages-545-555.pdf
|
||||
:Date: 2002
|
||||
:Keywords: driver.
|
||||
:Description: Programming bugs and Do-nots in kernel driver development
|
||||
:Abstract: *Quit a few tutorials, articles and books give an introduction
|
||||
on how to write Linux kernel drivers. Unfortunately the things one
|
||||
should NOT do in Linux kernel code is either only a minor appendix
|
||||
or, more commonly, completely absent. This paper tries to briefly touch
|
||||
the areas in which the most common and serious bugs and do-nots are
|
||||
encountered.*
|
||||
|
||||
* Title: **Global spinlock list and usage**
|
||||
|
||||
|
|
|
|||
|
|
@ -1,194 +0,0 @@
|
|||
.. _submittingdrivers:
|
||||
|
||||
Submitting Drivers For The Linux Kernel
|
||||
=======================================
|
||||
|
||||
This document is intended to explain how to submit device drivers to the
|
||||
various kernel trees. Note that if you are interested in video card drivers
|
||||
you should probably talk to XFree86 (https://www.xfree86.org/) and/or X.Org
|
||||
(https://x.org/) instead.
|
||||
|
||||
.. note::
|
||||
|
||||
This document is old and has seen little maintenance in recent years; it
|
||||
should probably be updated or, perhaps better, just deleted. Most of
|
||||
what is here can be found in the other development documents anyway.
|
||||
|
||||
Oh, and we don't really recommend submitting changes to XFree86 :)
|
||||
|
||||
Also read the :ref:`Documentation/process/submitting-patches.rst <submittingpatches>`
|
||||
document.
|
||||
|
||||
|
||||
Allocating Device Numbers
|
||||
-------------------------
|
||||
|
||||
Major and minor numbers for block and character devices are allocated
|
||||
by the Linux assigned name and number authority (currently this is
|
||||
Torben Mathiasen). The site is https://www.lanana.org/. This
|
||||
also deals with allocating numbers for devices that are not going to
|
||||
be submitted to the mainstream kernel.
|
||||
See :ref:`Documentation/admin-guide/devices.rst <admin_devices>`
|
||||
for more information on this.
|
||||
|
||||
If you don't use assigned numbers then when your device is submitted it will
|
||||
be given an assigned number even if that is different from values you may
|
||||
have shipped to customers before.
|
||||
|
||||
Who To Submit Drivers To
|
||||
------------------------
|
||||
|
||||
Linux 2.0:
|
||||
No new drivers are accepted for this kernel tree.
|
||||
|
||||
Linux 2.2:
|
||||
No new drivers are accepted for this kernel tree.
|
||||
|
||||
Linux 2.4:
|
||||
If the code area has a general maintainer then please submit it to
|
||||
the maintainer listed in MAINTAINERS in the kernel file. If the
|
||||
maintainer does not respond or you cannot find the appropriate
|
||||
maintainer then please contact Willy Tarreau <w@1wt.eu>.
|
||||
|
||||
Linux 2.6 and upper:
|
||||
The same rules apply as 2.4 except that you should follow linux-kernel
|
||||
to track changes in API's. The final contact point for Linux 2.6+
|
||||
submissions is Andrew Morton.
|
||||
|
||||
What Criteria Determine Acceptance
|
||||
----------------------------------
|
||||
|
||||
Licensing:
|
||||
The code must be released to us under the
|
||||
GNU General Public License. If you wish the driver to be
|
||||
useful to other communities such as BSD you may release
|
||||
under multiple licenses. If you choose to release under
|
||||
licenses other than the GPL, you should include your
|
||||
rationale for your license choices in your cover letter.
|
||||
See accepted licenses at include/linux/module.h
|
||||
|
||||
Copyright:
|
||||
The copyright owner must agree to use of GPL.
|
||||
It's best if the submitter and copyright owner
|
||||
are the same person/entity. If not, the name of
|
||||
the person/entity authorizing use of GPL should be
|
||||
listed in case it's necessary to verify the will of
|
||||
the copyright owner.
|
||||
|
||||
Interfaces:
|
||||
If your driver uses existing interfaces and behaves like
|
||||
other drivers in the same class it will be much more likely
|
||||
to be accepted than if it invents gratuitous new ones.
|
||||
If you need to implement a common API over Linux and NT
|
||||
drivers do it in userspace.
|
||||
|
||||
Code:
|
||||
Please use the Linux style of code formatting as documented
|
||||
in :ref:`Documentation/process/coding-style.rst <codingStyle>`.
|
||||
If you have sections of code
|
||||
that need to be in other formats, for example because they
|
||||
are shared with a windows driver kit and you want to
|
||||
maintain them just once separate them out nicely and note
|
||||
this fact.
|
||||
|
||||
Portability:
|
||||
Pointers are not always 32bits, not all computers are little
|
||||
endian, people do not all have floating point and you
|
||||
shouldn't use inline x86 assembler in your driver without
|
||||
careful thought. Pure x86 drivers generally are not popular.
|
||||
If you only have x86 hardware it is hard to test portability
|
||||
but it is easy to make sure the code can easily be made
|
||||
portable.
|
||||
|
||||
Clarity:
|
||||
It helps if anyone can see how to fix the driver. It helps
|
||||
you because you get patches not bug reports. If you submit a
|
||||
driver that intentionally obfuscates how the hardware works
|
||||
it will go in the bitbucket.
|
||||
|
||||
PM support:
|
||||
Since Linux is used on many portable and desktop systems, your
|
||||
driver is likely to be used on such a system and therefore it
|
||||
should support basic power management by implementing, if
|
||||
necessary, the .suspend and .resume methods used during the
|
||||
system-wide suspend and resume transitions. You should verify
|
||||
that your driver correctly handles the suspend and resume, but
|
||||
if you are unable to ensure that, please at least define the
|
||||
.suspend method returning the -ENOSYS ("Function not
|
||||
implemented") error. You should also try to make sure that your
|
||||
driver uses as little power as possible when it's not doing
|
||||
anything. For the driver testing instructions see
|
||||
Documentation/power/drivers-testing.rst and for a relatively
|
||||
complete overview of the power management issues related to
|
||||
drivers see :ref:`Documentation/driver-api/pm/devices.rst <driverapi_pm_devices>`.
|
||||
|
||||
Control:
|
||||
In general if there is active maintenance of a driver by
|
||||
the author then patches will be redirected to them unless
|
||||
they are totally obvious and without need of checking.
|
||||
If you want to be the contact and update point for the
|
||||
driver it is a good idea to state this in the comments,
|
||||
and include an entry in MAINTAINERS for your driver.
|
||||
|
||||
What Criteria Do Not Determine Acceptance
|
||||
-----------------------------------------
|
||||
|
||||
Vendor:
|
||||
Being the hardware vendor and maintaining the driver is
|
||||
often a good thing. If there is a stable working driver from
|
||||
other people already in the tree don't expect 'we are the
|
||||
vendor' to get your driver chosen. Ideally work with the
|
||||
existing driver author to build a single perfect driver.
|
||||
|
||||
Author:
|
||||
It doesn't matter if a large Linux company wrote the driver,
|
||||
or you did. Nobody has any special access to the kernel
|
||||
tree. Anyone who tells you otherwise isn't telling the
|
||||
whole story.
|
||||
|
||||
|
||||
Resources
|
||||
---------
|
||||
|
||||
Linux kernel master tree:
|
||||
ftp.\ *country_code*\ .kernel.org:/pub/linux/kernel/...
|
||||
|
||||
where *country_code* == your country code, such as
|
||||
**us**, **uk**, **fr**, etc.
|
||||
|
||||
https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git
|
||||
|
||||
Linux kernel mailing list:
|
||||
linux-kernel@vger.kernel.org
|
||||
[mail majordomo@vger.kernel.org to subscribe]
|
||||
|
||||
Linux Device Drivers, Third Edition (covers 2.6.10):
|
||||
https://lwn.net/Kernel/LDD3/ (free version)
|
||||
|
||||
LWN.net:
|
||||
Weekly summary of kernel development activity - https://lwn.net/
|
||||
|
||||
2.6 API changes:
|
||||
|
||||
https://lwn.net/Articles/2.6-kernel-api/
|
||||
|
||||
Porting drivers from prior kernels to 2.6:
|
||||
|
||||
https://lwn.net/Articles/driver-porting/
|
||||
|
||||
KernelNewbies:
|
||||
Documentation and assistance for new kernel programmers
|
||||
|
||||
https://kernelnewbies.org/
|
||||
|
||||
Linux USB project:
|
||||
http://www.linux-usb.org/
|
||||
|
||||
How to NOT write kernel driver by Arjan van de Ven:
|
||||
https://landley.net/kdocs/ols/2002/ols2002-pages-545-555.pdf
|
||||
|
||||
Kernel Janitor:
|
||||
https://kernelnewbies.org/KernelJanitors
|
||||
|
||||
GIT, Fast Version Control System:
|
||||
https://git-scm.com/
|
||||
|
|
@ -12,9 +12,8 @@ This document contains a large number of suggestions in a relatively terse
|
|||
format. For detailed information on how the kernel development process
|
||||
works, see Documentation/process/development-process.rst. Also, read
|
||||
Documentation/process/submit-checklist.rst
|
||||
for a list of items to check before submitting code. If you are submitting
|
||||
a driver, also read Documentation/process/submitting-drivers.rst; for device
|
||||
tree binding patches, read
|
||||
for a list of items to check before submitting code.
|
||||
For device tree binding patches, read
|
||||
Documentation/devicetree/bindings/submitting-patches.rst.
|
||||
|
||||
This documentation assumes that you're using ``git`` to prepare your patches.
|
||||
|
|
|
|||
|
|
@ -87,8 +87,7 @@ with the command.
|
|||
1.2.2 Completing a scmd w/ timeout
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The timeout handler is scsi_times_out(). When a timeout occurs, this
|
||||
function
|
||||
The timeout handler is scsi_timeout(). When a timeout occurs, this function
|
||||
|
||||
1. invokes optional hostt->eh_timed_out() callback. Return value can
|
||||
be one of
|
||||
|
|
|
|||
|
|
@ -731,7 +731,7 @@ Details::
|
|||
* Notes: If 'no_async_abort' is defined this callback
|
||||
* will be invoked from scsi_eh thread. No other commands
|
||||
* will then be queued on current host during eh.
|
||||
* Otherwise it will be called whenever scsi_times_out()
|
||||
* Otherwise it will be called whenever scsi_timeout()
|
||||
* is called due to a command timeout.
|
||||
*
|
||||
* Optionally defined in: LLD
|
||||
|
|
|
|||
|
|
@ -1046,7 +1046,7 @@ The keyctl syscall functions are:
|
|||
"filter" is either NULL to remove a watch or a filter specification to
|
||||
indicate what events are required from the key.
|
||||
|
||||
See Documentation/watch_queue.rst for more information.
|
||||
See Documentation/core-api/watch_queue.rst for more information.
|
||||
|
||||
Note that only one watch may be emplaced for any particular { key,
|
||||
queue_fd } combination.
|
||||
|
|
|
|||
|
|
@ -98,6 +98,6 @@ References
|
|||
|
||||
See [sev-api-spec]_ for more info regarding SEV ``LAUNCH_SECRET`` operation.
|
||||
|
||||
.. [sev] Documentation/virt/kvm/amd-memory-encryption.rst
|
||||
.. [sev] Documentation/virt/kvm/x86/amd-memory-encryption.rst
|
||||
.. [secrets-coco-abi] Documentation/ABI/testing/securityfs-secrets-coco
|
||||
.. [sev-api-spec] https://www.amd.com/system/files/TechDocs/55766_SEV-KM_API_Specification.pdf
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ Often times the XuY functions will not be large enough, and instead you'll
|
|||
want to pass a pre-filled struct to siphash. When doing this, it's important
|
||||
to always ensure the struct has no padding holes. The easiest way to do this
|
||||
is to simply arrange the members of the struct in descending order of size,
|
||||
and to use offsetendof() instead of sizeof() for getting the size. For
|
||||
and to use offsetofend() instead of sizeof() for getting the size. For
|
||||
performance reasons, if possible, it's probably a good thing to align the
|
||||
struct to the right boundary. Here's an example::
|
||||
|
||||
|
|
|
|||
|
|
@ -120,14 +120,21 @@ def markup_refs(docname, app, node):
|
|||
repl.append(nodes.Text(t[done:]))
|
||||
return repl
|
||||
|
||||
#
|
||||
# Keep track of cross-reference lookups that failed so we don't have to
|
||||
# do them again.
|
||||
#
|
||||
failed_lookups = { }
|
||||
def failure_seen(target):
|
||||
return (target) in failed_lookups
|
||||
def note_failure(target):
|
||||
failed_lookups[target] = True
|
||||
|
||||
#
|
||||
# In sphinx3 we can cross-reference to C macro and function, each one with its
|
||||
# own C role, but both match the same regex, so we try both.
|
||||
#
|
||||
def markup_func_ref_sphinx3(docname, app, match):
|
||||
class_str = ['c-func', 'c-macro']
|
||||
reftype_str = ['function', 'macro']
|
||||
|
||||
cdom = app.env.domains['c']
|
||||
#
|
||||
# Go through the dance of getting an xref out of the C domain
|
||||
|
|
@ -143,27 +150,28 @@ def markup_func_ref_sphinx3(docname, app, match):
|
|||
|
||||
if base_target not in Skipnames:
|
||||
for target in possible_targets:
|
||||
if target not in Skipfuncs:
|
||||
for class_s, reftype_s in zip(class_str, reftype_str):
|
||||
lit_text = nodes.literal(classes=['xref', 'c', class_s])
|
||||
lit_text += target_text
|
||||
pxref = addnodes.pending_xref('', refdomain = 'c',
|
||||
reftype = reftype_s,
|
||||
reftarget = target, modname = None,
|
||||
classname = None)
|
||||
#
|
||||
# XXX The Latex builder will throw NoUri exceptions here,
|
||||
# work around that by ignoring them.
|
||||
#
|
||||
try:
|
||||
xref = cdom.resolve_xref(app.env, docname, app.builder,
|
||||
reftype_s, target, pxref,
|
||||
lit_text)
|
||||
except NoUri:
|
||||
xref = None
|
||||
if (target not in Skipfuncs) and not failure_seen(target):
|
||||
lit_text = nodes.literal(classes=['xref', 'c', 'c-func'])
|
||||
lit_text += target_text
|
||||
pxref = addnodes.pending_xref('', refdomain = 'c',
|
||||
reftype = 'function',
|
||||
reftarget = target,
|
||||
modname = None,
|
||||
classname = None)
|
||||
#
|
||||
# XXX The Latex builder will throw NoUri exceptions here,
|
||||
# work around that by ignoring them.
|
||||
#
|
||||
try:
|
||||
xref = cdom.resolve_xref(app.env, docname, app.builder,
|
||||
'function', target, pxref,
|
||||
lit_text)
|
||||
except NoUri:
|
||||
xref = None
|
||||
|
||||
if xref:
|
||||
return xref
|
||||
if xref:
|
||||
return xref
|
||||
note_failure(target)
|
||||
|
||||
return target_text
|
||||
|
||||
|
|
|
|||
|
|
@ -201,9 +201,6 @@ static_key->entry field makes use of the two least significant bits.
|
|||
* ``void arch_jump_label_transform(struct jump_entry *entry, enum jump_label_type type)``,
|
||||
see: arch/x86/kernel/jump_label.c
|
||||
|
||||
* ``__init_or_module void arch_jump_label_transform_static(struct jump_entry *entry, enum jump_label_type type)``,
|
||||
see: arch/x86/kernel/jump_label.c
|
||||
|
||||
* ``struct jump_entry``,
|
||||
see: arch/x86/include/asm/jump_label.h
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. include:: ../../disclaimer-ita.rst
|
||||
|
||||
:Original: Documentation/devicetree/bindings/submitting-patches.rst
|
||||
|
||||
================================================
|
||||
Sottomettere patch per devicetree (DT) *binding*
|
||||
================================================
|
||||
|
||||
.. note:: to be translated
|
||||
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
.. _it_kernel_doc:
|
||||
|
||||
=================================
|
||||
Scrivere i commenti in kernel-doc
|
||||
=================================
|
||||
|
||||
|
|
@ -469,6 +470,7 @@ Il titolo che segue ``DOC:`` funziona da intestazione all'interno del file
|
|||
sorgente, ma anche come identificatore per l'estrazione di questi commenti di
|
||||
documentazione. Quindi, il titolo dev'essere unico all'interno del file.
|
||||
|
||||
=======================================
|
||||
Includere i commenti di tipo kernel-doc
|
||||
=======================================
|
||||
|
||||
|
|
|
|||
|
|
@ -5,8 +5,9 @@
|
|||
|
||||
.. _it_sphinxdoc:
|
||||
|
||||
Introduzione
|
||||
============
|
||||
=============================================
|
||||
Usare Sphinx per la documentazione del kernel
|
||||
=============================================
|
||||
|
||||
Il kernel Linux usa `Sphinx`_ per la generazione della documentazione a partire
|
||||
dai file `reStructuredText`_ che si trovano nella cartella ``Documentation``.
|
||||
|
|
@ -158,6 +159,9 @@ Per poter passare ulteriori opzioni a Sphinx potete utilizzare la variabile
|
|||
make ``SPHINXOPTS``. Per esempio, se volete che Sphinx sia più verboso durante
|
||||
la generazione potete usare il seguente comando ``make SPHINXOPTS=-v htmldocs``.
|
||||
|
||||
Potete anche personalizzare l'ouptut html passando un livello aggiuntivo
|
||||
DOCS_CSS usando la rispettiva variabile d'ambiente ``DOCS_CSS``.
|
||||
|
||||
Potete eliminare la documentazione generata tramite il comando
|
||||
``make cleandocs``.
|
||||
|
||||
|
|
@ -276,11 +280,11 @@ incrociato quando questa ha una voce nell'indice. Se trovate degli usi di
|
|||
Tabelle a liste
|
||||
---------------
|
||||
|
||||
Raccomandiamo l'uso delle tabelle in formato lista (*list table*). Le tabelle
|
||||
in formato lista sono liste di liste. In confronto all'ASCII-art potrebbero
|
||||
non apparire di facile lettura nei file in formato testo. Il loro vantaggio è
|
||||
che sono facili da creare o modificare e che la differenza di una modifica è
|
||||
molto più significativa perché limitata alle modifiche del contenuto.
|
||||
Il formato ``list-table`` può essere utile per tutte quelle tabelle che non
|
||||
possono essere facilmente scritte usando il formato ASCII-art di Sphinx. Però,
|
||||
questo genere di tabelle sono illeggibili per chi legge direttamente i file di
|
||||
testo. Dunque, questo formato dovrebbe essere evitato senza forti argomenti che
|
||||
ne giustifichino l'uso.
|
||||
|
||||
La ``flat-table`` è anch'essa una lista di liste simile alle ``list-table``
|
||||
ma con delle funzionalità aggiuntive:
|
||||
|
|
|
|||
|
|
@ -129,8 +129,7 @@ eseguiti simultaneamente.
|
|||
.. warning::
|
||||
|
||||
Il nome 'tasklet' è ingannevole: non hanno niente a che fare
|
||||
con i 'processi' ('tasks'), e probabilmente hanno più a che vedere
|
||||
con qualche pessima vodka che Alexey Kuznetsov si fece a quel tempo.
|
||||
con i 'processi' ('tasks').
|
||||
|
||||
Potete determinate se siete in un softirq (o tasklet) utilizzando la
|
||||
macro :c:func:`in_softirq()` (``include/linux/preempt.h``).
|
||||
|
|
@ -308,7 +307,7 @@ esse copiano una quantità arbitraria di dati da e verso lo spazio utente.
|
|||
Al contrario di:c:func:`put_user()` e :c:func:`get_user()`, queste
|
||||
funzioni ritornano la quantità di dati copiati (0 è comunque un successo).
|
||||
|
||||
[Sì, questa stupida interfaccia mi imbarazza. La battaglia torna in auge anno
|
||||
[Sì, questa interfaccia mi imbarazza. La battaglia torna in auge anno
|
||||
dopo anno. --RR]
|
||||
|
||||
Le funzioni potrebbero dormire implicitamente. Queste non dovrebbero mai essere
|
||||
|
|
@ -679,9 +678,8 @@ tutti sulle spine: questo riflette cambiamenti fondamentati (eg. la funzione
|
|||
non può più essere chiamata con le funzioni attive, o fa controlli aggiuntivi,
|
||||
o non fa più controlli che venivano fatti in precedenza). Solitamente a questo
|
||||
s'accompagna un'adeguata e completa nota sulla lista di discussone
|
||||
linux-kernel; cercate negli archivi.
|
||||
Solitamente eseguire una semplice sostituzione su tutto un file rendere
|
||||
le cose **peggiori**.
|
||||
più adatta; cercate negli archivi. Solitamente eseguire una semplice
|
||||
sostituzione su tutto un file rendere le cose **peggiori**.
|
||||
|
||||
Inizializzazione dei campi d'una struttura
|
||||
------------------------------------------
|
||||
|
|
@ -759,14 +757,14 @@ Mettere le vostre cose nel kernel
|
|||
Al fine d'avere le vostre cose in ordine per l'inclusione ufficiale, o
|
||||
anche per avere patch pulite, c'è del lavoro amministrativo da fare:
|
||||
|
||||
- Trovare di chi è lo stagno in cui state pisciando. Guardare in cima
|
||||
- Trovare chi è responsabile del codice che state modificando. Guardare in cima
|
||||
ai file sorgenti, all'interno del file ``MAINTAINERS``, ed alla fine
|
||||
di tutti nel file ``CREDITS``. Dovreste coordinarvi con queste persone
|
||||
per evitare di duplicare gli sforzi, o provare qualcosa che è già stato
|
||||
rigettato.
|
||||
|
||||
Assicuratevi di mettere il vostro nome ed indirizzo email in cima a
|
||||
tutti i file che create o che mangeggiate significativamente. Questo è
|
||||
tutti i file che create o che maneggiate significativamente. Questo è
|
||||
il primo posto dove le persone guarderanno quando troveranno un baco,
|
||||
o quando **loro** vorranno fare una modifica.
|
||||
|
||||
|
|
@ -787,16 +785,15 @@ anche per avere patch pulite, c'è del lavoro amministrativo da fare:
|
|||
"obj-$(CONFIG_xxx) += xxx.o". La sintassi è documentata nel file
|
||||
``Documentation/kbuild/makefiles.rst``.
|
||||
|
||||
- Aggiungete voi stessi in ``CREDITS`` se avete fatto qualcosa di notevole,
|
||||
solitamente qualcosa che supera il singolo file (comunque il vostro nome
|
||||
dovrebbe essere all'inizio dei file sorgenti). ``MAINTAINERS`` significa
|
||||
- Aggiungete voi stessi in ``CREDITS`` se credete di aver fatto qualcosa di
|
||||
notevole, solitamente qualcosa che supera il singolo file (comunque il vostro
|
||||
nome dovrebbe essere all'inizio dei file sorgenti). ``MAINTAINERS`` significa
|
||||
che volete essere consultati quando vengono fatte delle modifiche ad un
|
||||
sottosistema, e quando ci sono dei bachi; questo implica molto di più
|
||||
di un semplice impegno su una parte del codice.
|
||||
sottosistema, e quando ci sono dei bachi; questo implica molto di più di un
|
||||
semplice impegno su una parte del codice.
|
||||
|
||||
- Infine, non dimenticatevi di leggere
|
||||
``Documentation/process/submitting-patches.rst`` e possibilmente anche
|
||||
``Documentation/process/submitting-drivers.rst``.
|
||||
``Documentation/process/submitting-patches.rst``.
|
||||
|
||||
Trucchetti del kernel
|
||||
=====================
|
||||
|
|
|
|||
|
|
@ -102,16 +102,11 @@ che non esistano.
|
|||
Sincronizzazione nel kernel Linux
|
||||
=================================
|
||||
|
||||
Se posso darvi un suggerimento: non dormite mai con qualcuno più pazzo di
|
||||
voi. Ma se dovessi darvi un suggerimento sulla sincronizzazione:
|
||||
**mantenetela semplice**.
|
||||
Se dovessi darvi un suggerimento sulla sincronizzazione: **mantenetela
|
||||
semplice**.
|
||||
|
||||
Siate riluttanti nell'introduzione di nuovi *lock*.
|
||||
|
||||
Abbastanza strano, quest'ultimo è l'esatto opposto del mio suggerimento
|
||||
su quando **avete** dormito con qualcuno più pazzo di voi. E dovreste
|
||||
pensare a prendervi un cane bello grande.
|
||||
|
||||
I due principali tipi di *lock* nel kernel: spinlock e mutex
|
||||
------------------------------------------------------------
|
||||
|
||||
|
|
@ -316,7 +311,7 @@ Pete Zaitcev ci offre il seguente riassunto:
|
|||
|
||||
- Se siete in un contesto utente (una qualsiasi chiamata di sistema)
|
||||
e volete sincronizzarvi con altri processi, usate i mutex. Potete trattenere
|
||||
il mutex e dormire (``copy_from_user*(`` o ``kmalloc(x,GFP_KERNEL)``).
|
||||
il mutex e dormire (``copy_from_user(`` o ``kmalloc(x,GFP_KERNEL)``).
|
||||
|
||||
- Altrimenti (== i dati possono essere manipolati da un'interruzione) usate
|
||||
spin_lock_irqsave() e spin_unlock_irqrestore().
|
||||
|
|
@ -979,9 +974,6 @@ fallisce nel trovare quello che vuole, quindi rilascia il *lock* di lettura,
|
|||
trattiene un *lock* di scrittura ed inserisce un oggetto; questo genere di
|
||||
codice presenta una corsa critica.
|
||||
|
||||
Se non riuscite a capire il perché, per favore state alla larga dal mio
|
||||
codice.
|
||||
|
||||
corsa fra temporizzatori: un passatempo del kernel
|
||||
--------------------------------------------------
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
.. include:: ../disclaimer-ita.rst
|
||||
|
||||
:Original: Documentation/process/botching-up-ioctls.rst
|
||||
|
||||
.. _it_configuregit:
|
||||
|
||||
Configurare Git
|
||||
===============
|
||||
|
||||
.. note:: To be translated
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
.. include:: ../disclaimer-ita.rst
|
||||
|
||||
:Original: :ref:`Documentation/networking/netdev-FAQ.rst <netdev-FAQ>`
|
||||
:Original: :ref:`Documentation/process/maintainer-netdev.rst <netdev-FAQ>`
|
||||
|
||||
.. _it_netdev-FAQ:
|
||||
|
||||
|
|
|
|||
|
|
@ -168,14 +168,15 @@ in questa ricerca:
|
|||
|
||||
.../scripts/get_maintainer.pl
|
||||
|
||||
Se questo script viene eseguito con l'opzione "-f" ritornerà il
|
||||
manutentore(i) attuale per un dato file o cartella. Se viene passata una
|
||||
patch sulla linea di comando, lo script elencherà i manutentori che
|
||||
dovrebbero riceverne una copia. Ci sono svariate opzioni che regolano
|
||||
quanto a fondo get_maintainer.pl debba cercare i manutentori;
|
||||
siate quindi prudenti nell'utilizzare le opzioni più aggressive poiché
|
||||
potreste finire per includere sviluppatori che non hanno un vero interesse
|
||||
per il codice che state modificando.
|
||||
Se questo script viene eseguito con l'opzione "-f" ritornerà il manutentore(i)
|
||||
attuale per un dato file o cartella. Se viene passata una patch sulla linea di
|
||||
comando, lo script elencherà i manutentori che dovrebbero riceverne una copia.
|
||||
Questo è la maniera raccomandata (non quella con "-f") per ottenere la lista di
|
||||
persone da aggiungere a Cc per le vostre patch. Ci sono svariate opzioni che
|
||||
regolano quanto a fondo get_maintainer.pl debba cercare i manutentori; siate
|
||||
quindi prudenti nell'utilizzare le opzioni più aggressive poiché potreste finire
|
||||
per includere sviluppatori che non hanno un vero interesse per il codice che
|
||||
state modificando.
|
||||
|
||||
Se tutto ciò dovesse fallire, parlare con Andrew Morton potrebbe essere
|
||||
un modo efficace per capire chi è il manutentore di un dato pezzo di codice.
|
||||
|
|
|
|||
|
|
@ -16,9 +16,8 @@ e di procedure per la pubblicazione delle patch; seguirle renderà la vita
|
|||
più facile a tutti quanti. Questo documento cercherà di coprire questi
|
||||
argomenti con un ragionevole livello di dettaglio; più informazioni possono
|
||||
essere trovare nella cartella 'Documentation', nei file
|
||||
:ref:`translations/it_IT/process/submitting-patches.rst <it_submittingpatches>`,
|
||||
:ref:`translations/it_IT/process/submitting-drivers.rst <it_submittingdrivers>`, e
|
||||
:ref:`translations/it_IT/process/submit-checklist.rst <it_submitchecklist>`.
|
||||
:ref:`translations/it_IT/process/submitting-patches.rst <it_submittingpatches>`
|
||||
e :ref:`translations/it_IT/process/submit-checklist.rst <it_submitchecklist>`.
|
||||
|
||||
|
||||
Quando pubblicarle
|
||||
|
|
@ -214,13 +213,28 @@ irrilevanti (quelli generati dal processo di generazione, per esempio, o i file
|
|||
di backup del vostro editor). Il file "dontdiff" nella cartella Documentation
|
||||
potrà esservi d'aiuto su questo punto; passatelo a diff con l'opzione "-X".
|
||||
|
||||
Le etichette sopra menzionante sono usate per descrivere come i vari
|
||||
sviluppatori sono stati associati allo sviluppo di una patch. Sono descritte
|
||||
in dettaglio nel documento :ref:`translations/it_IT/process/submitting-patches.rst <it_submittingpatches>`;
|
||||
quello che segue è un breve riassunto. Ognuna di queste righe ha il seguente
|
||||
formato:
|
||||
Le etichette sopracitate danno un'idea di come una patch prende vita e sono
|
||||
descritte nel dettaglio nel documento
|
||||
:ref:`Documentation/translations/it_IT/process/submitting-patches.rst <it_submittingpatches>`.
|
||||
Qui di seguito un breve riassunto.
|
||||
|
||||
::
|
||||
Un'etichetta ci può dire quale commit ha introdotto il problema che viene corretto nella patch::
|
||||
|
||||
Fixes: 1f2e3d4c5b6a ("The first line of the commit specified by the first 12 characters of its SHA-1 ID")
|
||||
|
||||
Un'altra etichetta viene usata per fornire collegamenti a pagine web contenenti
|
||||
maggiori informazioni, per esempio un rapporto circa il baco risolto dalla
|
||||
patch, oppure un documento con le specifiche implementate dalla patch::
|
||||
|
||||
Link: https://example.com/somewhere.html optional-other-stuff
|
||||
|
||||
Alcuni manutentori aggiungono quest'etichetta alla patch per fare riferimento
|
||||
alla più recente discussione pubblica. A volte questo è fatto automaticamente da
|
||||
alcuni strumenti come b4 or un *hook* git come quello descritto qui
|
||||
'Documentation/translations/it_IT/maintainer/configure-git.rst'
|
||||
|
||||
Un terzo tipo di etichetta viene usato per indicare chi ha contribuito allo
|
||||
sviluppo della patch. Tutte queste etichette seguono il formato::
|
||||
|
||||
tag: Full Name <email address> optional-other-stuff
|
||||
|
||||
|
|
|
|||
|
|
@ -13,9 +13,8 @@ e argomenti correlati. Primo tra questi sarà sempre la cartella Documentation
|
|||
che si trova nei sorgenti kernel.
|
||||
|
||||
Il file :ref:`process/howto.rst <it_process_howto>` è un punto di partenza
|
||||
importante; :ref:`process/submitting-patches.rst <it_submittingpatches>` e
|
||||
:ref:`process/submitting-drivers.rst <it_submittingdrivers>` sono
|
||||
anch'essi qualcosa che tutti gli sviluppatori del kernel dovrebbero leggere.
|
||||
importante; :ref:`process/submitting-patches.rst <it_submittingpatches>` è
|
||||
anch'esso qualcosa che tutti gli sviluppatori del kernel dovrebbero leggere.
|
||||
Molte API interne al kernel sono documentate utilizzando il meccanismo
|
||||
kerneldoc; "make htmldocs" o "make pdfdocs" possono essere usati per generare
|
||||
quei documenti in HTML o PDF (sebbene le versioni di TeX di alcune
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@ Requisiti minimi per compilare il kernel
|
|||
Introduzione
|
||||
============
|
||||
|
||||
Questo documento fornisce una lista dei software necessari per eseguire i
|
||||
kernel 4.x.
|
||||
Questo documento fornisce una lista dei software necessari per eseguire questa
|
||||
versione del kernel.
|
||||
|
||||
Questo documento è basato sul file "Changes" del kernel 2.0.x e quindi le
|
||||
persone che lo scrissero meritano credito (Jared Mauch, Axel Boldt,
|
||||
|
|
@ -32,12 +32,13 @@ PC Card, per esempio, probabilmente non dovreste preoccuparvi di pcmciautils.
|
|||
====================== ================= ========================================
|
||||
Programma Versione minima Comando per verificare la versione
|
||||
====================== ================= ========================================
|
||||
GNU C 4.9 gcc --version
|
||||
Clang/LLVM (optional) 10.0.1 clang --version
|
||||
GNU C 5.1 gcc --version
|
||||
Clang/LLVM (optional) 11.0.0 clang --version
|
||||
GNU make 3.81 make --version
|
||||
binutils 2.23 ld -v
|
||||
flex 2.5.35 flex --version
|
||||
bison 2.0 bison --version
|
||||
pahole 1.16 pahole --version
|
||||
util-linux 2.10o fdformat --version
|
||||
kmod 13 depmod -V
|
||||
e2fsprogs 1.41.4 e2fsck -V
|
||||
|
|
@ -58,6 +59,7 @@ iptables 1.4.2 iptables -V
|
|||
openssl & libcrypto 1.0.0 openssl version
|
||||
bc 1.06.95 bc --version
|
||||
Sphinx\ [#f1]_ 1.7 sphinx-build --version
|
||||
cpio any cpio --version
|
||||
====================== ================= ========================================
|
||||
|
||||
.. [#f1] Sphinx è necessario solo per produrre la documentazione del Kernel
|
||||
|
|
@ -111,6 +113,16 @@ Bison
|
|||
Dalla versione 4.16, il sistema di compilazione, durante l'esecuzione, genera
|
||||
un parsificatore. Questo richiede bison 2.0 o successivo.
|
||||
|
||||
pahole
|
||||
------
|
||||
|
||||
Dalla versione 5.2, quando viene impostato CONFIG_DEBUG_INFO_BTF, il sistema di
|
||||
compilazione genera BTF (BPF Type Format) a partire da DWARF per vmlinux. Più
|
||||
tardi anche per i moduli. Questo richiede pahole v1.16 o successivo.
|
||||
|
||||
A seconda della distribuzione, lo si può trovare nei pacchetti 'dwarves' o
|
||||
'pahole'. Oppure lo si può trovare qui: https://fedorapeople.org/~acme/dwarves/.
|
||||
|
||||
Perl
|
||||
----
|
||||
|
||||
|
|
@ -455,6 +467,11 @@ mcelog
|
|||
|
||||
- <http://www.mcelog.org/>
|
||||
|
||||
cpio
|
||||
----
|
||||
|
||||
- <https://www.gnu.org/software/cpio/>
|
||||
|
||||
Rete
|
||||
****
|
||||
|
||||
|
|
|
|||
|
|
@ -466,14 +466,52 @@ la riga della parentesi graffa di chiusura. Ad esempio:
|
|||
}
|
||||
EXPORT_SYMBOL(system_is_up);
|
||||
|
||||
6.1) Prototipi di funzione
|
||||
**************************
|
||||
|
||||
Nei prototipi di funzione, includete i nomi dei parametri e i loro tipi.
|
||||
Nonostante questo non sia richiesto dal linguaggio C, in Linux viene preferito
|
||||
perché è un modo semplice per aggiungere informazioni importanti per il
|
||||
lettore.
|
||||
|
||||
Non usate la parola chiave ``extern`` coi prototipi di funzione perché
|
||||
Non usate la parola chiave ``extern`` con le dichiarazioni di funzione perché
|
||||
rende le righe più lunghe e non è strettamente necessario.
|
||||
|
||||
Quando scrivete i prototipi di funzione mantenete `l'ordine degli elementi <https://lore.kernel.org/mm-commits/CAHk-=wiOCLRny5aifWNhr621kYrJwhfURsa0vFPeUEm8mF0ufg@mail.gmail.com/>`_.
|
||||
|
||||
Prendiamo questa dichiarazione di funzione come esempio::
|
||||
|
||||
__init void * __must_check action(enum magic value, size_t size, u8 count,
|
||||
char *fmt, ...) __printf(4, 5) __malloc;
|
||||
|
||||
L'ordine suggerito per gli elementi di un prototipo di funzione è il seguente:
|
||||
|
||||
- classe d'archiviazione (in questo caso ``static __always_inline``. Da notare
|
||||
che ``__always_inline`` è tecnicamente un attributo ma che viene trattato come
|
||||
``inline``)
|
||||
- attributi della classe di archiviazione (in questo caso ``__init``, in altre
|
||||
parole la sezione, ma anche cose tipo ``__cold``)
|
||||
- il tipo di ritorno (in questo caso, ``void *``)
|
||||
- attributi per il valore di ritorno (in questo caso, ``__must_check``)
|
||||
- il nome della funzione (in questo caso, ``action``)
|
||||
- i parametri della funzione(in questo caso,
|
||||
``(enum magic value, size_t size, u8 count, char *fmt, ...)``,
|
||||
da notare che va messo anche il nome del parametro)
|
||||
- attributi dei parametri (in questo caso, ``__printf(4, 5)``)
|
||||
- attributi per il comportamento della funzione (in questo caso, ``__malloc_``)
|
||||
|
||||
Notate che per la **definizione** di una funzione (il altre parole il corpo
|
||||
della funzione), il compilatore non permette di usare gli attributi per i
|
||||
parametri dopo i parametri. In questi casi, devono essere messi dopo gli
|
||||
attributi della classe d'archiviazione (notate che la posizione di
|
||||
``__printf(4,5)`` cambia rispetto alla **dichiarazione**)::
|
||||
|
||||
static __always_inline __init __printf(4, 5) void * __must_check action(enum magic value,
|
||||
size_t size, u8 count, char *fmt, ...) __malloc
|
||||
{
|
||||
...
|
||||
}*)**``)**``)``)``*)``)``)``)``*``)``)``)*)
|
||||
|
||||
7) Centralizzare il ritorno delle funzioni
|
||||
------------------------------------------
|
||||
|
||||
|
|
@ -855,7 +893,7 @@ I messaggi del kernel non devono terminare con un punto fermo.
|
|||
Scrivere i numeri fra parentesi (%d) non migliora alcunché e per questo
|
||||
dovrebbero essere evitati.
|
||||
|
||||
Ci sono alcune macro per la diagnostica in <linux/device.h> che dovreste
|
||||
Ci sono alcune macro per la diagnostica in <linux/dev_printk.h> che dovreste
|
||||
usare per assicurarvi che i messaggi vengano associati correttamente ai
|
||||
dispositivi e ai driver, e che siano etichettati correttamente: dev_err(),
|
||||
dev_warn(), dev_info(), e così via. Per messaggi che non sono associati ad
|
||||
|
|
|
|||
|
|
@ -69,8 +69,8 @@ dovrebbero essere fatto negli argomenti di funzioni di allocazione di memoria
|
|||
piccoli di quelli che il chiamante si aspettava. L'uso di questo modo di
|
||||
allocare può portare ad un overflow della memoria di heap e altri
|
||||
malfunzionamenti. (Si fa eccezione per valori numerici per i quali il
|
||||
compilatore può generare avvisi circa un potenziale overflow. Tuttavia usare
|
||||
i valori numerici come suggerito di seguito è innocuo).
|
||||
compilatore può generare avvisi circa un potenziale overflow. Tuttavia, anche in
|
||||
questi casi è preferibile riscrivere il codice come suggerito di seguito).
|
||||
|
||||
Per esempio, non usate ``count * size`` come argomento::
|
||||
|
||||
|
|
@ -80,6 +80,9 @@ Al suo posto, si dovrebbe usare l'allocatore a due argomenti::
|
|||
|
||||
foo = kmalloc_array(count, size, GFP_KERNEL);
|
||||
|
||||
Nello specifico, kmalloc() può essere sostituta da kmalloc_array(), e kzalloc()
|
||||
da kcalloc().
|
||||
|
||||
Se questo tipo di allocatore non è disponibile, allora dovrebbero essere usate
|
||||
le funzioni del tipo *saturate-on-overflow*::
|
||||
|
||||
|
|
@ -100,9 +103,20 @@ Invece, usate la seguente funzione::
|
|||
invitati a riorganizzare il vostro codice usando il
|
||||
`flexible array member <#zero-length-and-one-element-arrays>`_.
|
||||
|
||||
Per maggiori dettagli fate riferimento a array_size(),
|
||||
array3_size(), e struct_size(), così come la famiglia di
|
||||
funzioni check_add_overflow() e check_mul_overflow().
|
||||
Per altri calcoli, usate le funzioni size_mul(), size_add(), e size_sub(). Per
|
||||
esempio, al posto di::
|
||||
|
||||
foo = krealloc(current_size + chunk_size * (count - 3), GFP_KERNEL);
|
||||
|
||||
dovreste scrivere:
|
||||
|
||||
foo = krealloc(size_add(current_size,
|
||||
size_mul(chunk_size,
|
||||
size_sub(count, 3))), GFP_KERNEL);
|
||||
|
||||
Per maggiori dettagli fate riferimento a array3_size() e flex_array_size(), ma
|
||||
anche le funzioni della famiglia check_mul_overflow(), check_add_overflow(),
|
||||
check_sub_overflow(), e check_shl_overflow().
|
||||
|
||||
simple_strtol(), simple_strtoll(), simple_strtoul(), simple_strtoull()
|
||||
----------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -109,8 +109,7 @@ Di seguito una lista di file che sono presenti nei sorgente del kernel e che
|
|||
accetteranno patch solo se queste osserveranno tali regole, e molte
|
||||
persone revisioneranno il codice solo se scritto nello stile appropriato.
|
||||
|
||||
:ref:`Documentation/translations/it_IT/process/submitting-patches.rst <it_submittingpatches>` e
|
||||
:ref:`Documentation/translations/it_IT/process/submitting-drivers.rst <it_submittingdrivers>`
|
||||
:ref:`Documentation/translations/it_IT/process/submitting-patches.rst <it_submittingpatches>`
|
||||
|
||||
Questo file descrive dettagliatamente come creare ed inviare una patch
|
||||
con successo, includendo (ma non solo questo):
|
||||
|
|
|
|||
|
|
@ -41,12 +41,12 @@ degli sviluppatori:
|
|||
:maxdepth: 1
|
||||
|
||||
changes
|
||||
submitting-drivers
|
||||
stable-api-nonsense
|
||||
management-style
|
||||
stable-kernel-rules
|
||||
submit-checklist
|
||||
kernel-docs
|
||||
maintainers
|
||||
|
||||
Ed infine, qui ci sono alcune guide più tecniche che son state messe qua solo
|
||||
perché non si è trovato un posto migliore.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,24 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. include:: ../disclaimer-ita.rst
|
||||
|
||||
:Original: Documentation/process/maintainer-handbooks.rst
|
||||
:Translator: Federico Vaga <federico.vaga@vaga.pv.it>
|
||||
|
||||
.. _it_maintainer_handbooks_main:
|
||||
|
||||
Note sul processo di sviluppo dei sottosistemi e dei sorgenti dei manutentori
|
||||
=============================================================================
|
||||
|
||||
Lo scopo di questo documento è quello di fornire informazioni sul processo di
|
||||
sviluppo dedicate ai sottosistemi che vanno ad integrare quelle più generali
|
||||
descritte in :ref:`Documentation/translations/it_IT/process
|
||||
<it_development_process_main>`.
|
||||
|
||||
Indice:
|
||||
|
||||
.. toctree::
|
||||
:numbered:
|
||||
:maxdepth: 2
|
||||
|
||||
maintainer-tip
|
||||
|
|
@ -931,12 +931,11 @@ che avete nel vostro portachiavi::
|
|||
uid [ unknown] Linus Torvalds <torvalds@kernel.org>
|
||||
sub rsa2048 2011-09-20 [E]
|
||||
|
||||
Poi, aprite il `PGP pathfinder`_. Nel campo "From", incollate l'impronta
|
||||
digitale della chiave di Linus Torvalds che si vede nell'output qui sopra.
|
||||
Nel campo "to", incollate il key-id della chiave sconosciuta che avete
|
||||
trovato con ``gpg --search``, e poi verificare il risultato:
|
||||
|
||||
- `Finding paths to Linus`_
|
||||
Poi, cercate un percorso affidabile da Linux Torvalds alla chiave che avete
|
||||
trovato con ``gpg --search`` usando la chiave sconosciuta.Per farlo potete usare
|
||||
diversi strumenti come https://github.com/mricon/wotmate,
|
||||
https://git.kernel.org/pub/scm/docs/kernel/pgpkeys.git/tree/graphs, e
|
||||
https://the.earth.li/~noodles/pathfind.html.
|
||||
|
||||
Se trovate un paio di percorsi affidabili è un buon segno circa la validità
|
||||
della chiave. Ora, potete aggiungerla al vostro portachiavi dal keyserver::
|
||||
|
|
@ -948,6 +947,3 @@ fiducia nell'amministratore del servizio *PGP Pathfinder* sperando che non
|
|||
sia malintenzionato (infatti, questo va contro :ref:`it_devs_not_infra`).
|
||||
Tuttavia, se mantenete con cura la vostra rete di fiducia sarà un deciso
|
||||
miglioramento rispetto alla cieca fiducia nei keyserver.
|
||||
|
||||
.. _`PGP pathfinder`: https://pgp.cs.uu.nl/
|
||||
.. _`Finding paths to Linus`: https://pgp.cs.uu.nl/paths/79BE3E4300411886/to/C94035C21B4F2AEB.html
|
||||
|
|
|
|||
10
Documentation/translations/it_IT/process/maintainer-tip.rst
Normal file
10
Documentation/translations/it_IT/process/maintainer-tip.rst
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. include:: ../disclaimer-ita.rst
|
||||
|
||||
:Original: Documentation/process/maintainer-tip.rst
|
||||
|
||||
Il tascabile dei sorgenti tip
|
||||
=============================
|
||||
|
||||
.. note:: To be translated
|
||||
13
Documentation/translations/it_IT/process/maintainers.rst
Normal file
13
Documentation/translations/it_IT/process/maintainers.rst
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
:Original: Documentation/process/maintainers.rst
|
||||
|
||||
Lista dei manutentori e come inviare modifiche al kernel
|
||||
========================================================
|
||||
|
||||
Questa pagina non verrà tradotta. Fate riferimento alla versione originale in
|
||||
inglese.
|
||||
|
||||
.. note:: La pagina originale usa una direttiva speciale per integrare il file
|
||||
`MAINTAINERS` in sphinx. La parte di quel documento che si potrebbe
|
||||
tradurre contiene comunque informazioni già presenti in
|
||||
:ref:`Documentation/translations/it_IT/process/submitting-patches.rst
|
||||
<it_submittingpatches>`.
|
||||
|
|
@ -41,10 +41,10 @@ Regole sul tipo di patch che vengono o non vengono accettate nei sorgenti
|
|||
Procedura per sottomettere patch per i sorgenti -stable
|
||||
-------------------------------------------------------
|
||||
|
||||
- Una patch di sicurezza non dovrebbero essere gestite (solamente) dal processo
|
||||
di revisione -stable, ma dovrebbe seguire le procedure descritte in
|
||||
:ref:`Documentation/translations/it_IT/admin-guide/security-bugs.rst <it_securitybugs>`.
|
||||
|
||||
.. note::
|
||||
Una patch di sicurezza non dovrebbe essere gestita (solamente) dal processo
|
||||
di revisione -stable, ma dovrebbe seguire le procedure descritte in
|
||||
:ref:`Documentation/translations/it_IT/admin-guide/security-bugs.rst <it_securitybugs>`.
|
||||
|
||||
Per tutte le altre sottomissioni, scegliere una delle seguenti procedure
|
||||
------------------------------------------------------------------------
|
||||
|
|
@ -90,9 +90,9 @@ L':ref:`it_option_2` e l':ref:`it_option_3` sono più utili quando, al momento
|
|||
dell'inclusione dei sorgenti principali, si ritiene che non debbano essere
|
||||
incluse anche in quelli stabili (per esempio, perché si crede che si dovrebbero
|
||||
fare più verifiche per eventuali regressioni). L':ref:`it_option_3` è
|
||||
particolarmente utile se la patch ha bisogno di qualche modifica per essere
|
||||
applicata ad un kernel più vecchio (per esempio, perché nel frattempo l'API è
|
||||
cambiata).
|
||||
particolarmente utile se una patch dev'essere riportata su una versione
|
||||
precedente (per esempio la patch richiede modifiche a causa di cambiamenti di
|
||||
API).
|
||||
|
||||
Notate che per l':ref:`it_option_3`, se la patch è diversa da quella nei
|
||||
sorgenti principali (per esempio perché è stato necessario un lavoro di
|
||||
|
|
@ -167,9 +167,18 @@ Ciclo di una revisione
|
|||
della lista linux-kernel obietta la bontà della patch, sollevando problemi
|
||||
che i manutentori ed i membri non avevano compreso, allora la patch verrà
|
||||
rimossa dalla coda.
|
||||
- Alla fine del ciclo di revisione tutte le patch che hanno ricevuto l'ACK
|
||||
verranno aggiunte per il prossimo rilascio -stable, e successivamente
|
||||
questo nuovo rilascio verrà fatto.
|
||||
- Le patch che hanno ricevuto un ACK verranno inviate nuovamente come parte di
|
||||
un rilascio candidato (-rc) al fine di essere verificate dagli sviluppatori e
|
||||
dai testatori.
|
||||
- Solitamente si pubblica solo una -rc, tuttavia se si riscontrano problemi
|
||||
importanti, alcune patch potrebbero essere modificate o essere scartate,
|
||||
oppure nuove patch potrebbero essere messe in coda. Dunque, verranno pubblicate
|
||||
nuove -rc e così via finché non si ritiene che non vi siano più problemi.
|
||||
- Si può rispondere ad una -rc scrivendo sulla lista di discussione un'email
|
||||
con l'etichetta "Tested-by:". Questa etichetta verrà raccolta ed aggiunta al
|
||||
commit rilascio.
|
||||
- Alla fine del ciclo di revisione il nuovo rilascio -stable conterrà tutte le
|
||||
patch che erano in coda e sono state verificate.
|
||||
- Le patch di sicurezza verranno accettate nei sorgenti -stable direttamente
|
||||
dalla squadra per la sicurezza del kernel, e non passerà per il normale
|
||||
ciclo di revisione. Contattate la suddetta squadra per maggiori dettagli
|
||||
|
|
@ -186,8 +195,19 @@ Sorgenti
|
|||
- Il rilascio definitivo, e marchiato, di tutti i kernel stabili può essere
|
||||
trovato in rami distinti per versione al seguente indirizzo:
|
||||
|
||||
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
|
||||
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
|
||||
|
||||
- I rilasci candidati di tutti i kernel stabili possono essere trovati al
|
||||
seguente indirizzo:
|
||||
|
||||
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/
|
||||
|
||||
|
||||
.. warning::
|
||||
I sorgenti -stable-rc sono un'istantanea dei sorgenti stable-queue e
|
||||
subirà frequenti modifiche, dunque verrà anche trapiantato spesso.
|
||||
Dovrebbe essere usato solo allo scopo di verifica (per esempio in un
|
||||
sistema di CI)
|
||||
|
||||
Comitato per la revisione
|
||||
-------------------------
|
||||
|
|
|
|||
|
|
@ -1,16 +0,0 @@
|
|||
.. include:: ../disclaimer-ita.rst
|
||||
|
||||
:Original: :ref:`Documentation/process/submitting-drivers.rst <submittingdrivers>`
|
||||
:Translator: Federico Vaga <federico.vaga@vaga.pv.it>
|
||||
|
||||
.. _it_submittingdrivers:
|
||||
|
||||
Sottomettere driver per il kernel Linux
|
||||
=======================================
|
||||
|
||||
.. note::
|
||||
|
||||
Questo documento è vecchio e negli ultimi anni non è stato più aggiornato;
|
||||
dovrebbe essere aggiornato, o forse meglio, rimosso. La maggior parte di
|
||||
quello che viene detto qui può essere trovato anche negli altri documenti
|
||||
dedicati allo sviluppo. Per questo motivo il documento non verrà tradotto.
|
||||
|
|
@ -18,16 +18,18 @@ Questo documento contiene un vasto numero di suggerimenti concisi. Per maggiori
|
|||
dettagli su come funziona il processo di sviluppo del kernel leggete
|
||||
Documentation/translations/it_IT/process/development-process.rst. Leggete anche
|
||||
Documentation/translations/it_IT/process/submit-checklist.rst per una lista di
|
||||
punti da verificare prima di inviare del codice. Se state inviando un driver,
|
||||
allora leggete anche
|
||||
Documentation/translations/it_IT/process/submitting-drivers.rst; per delle patch
|
||||
relative alle associazioni per Device Tree leggete
|
||||
punti da verificare prima di inviare del codice.
|
||||
Per delle patch relative alle associazioni per Device Tree leggete
|
||||
Documentation/translations/it_IT/process/submitting-patches.rst.
|
||||
|
||||
Questa documentazione assume che sappiate usare ``git`` per preparare le patch.
|
||||
Se non siete pratici di ``git``, allora è bene che lo impariate;
|
||||
renderà la vostra vita di sviluppatore del kernel molto più semplice.
|
||||
|
||||
I sorgenti di alcuni sottosistemi e manutentori contengono più informazioni
|
||||
riguardo al loro modo di lavorare ed aspettative. Consultate
|
||||
:ref:`Documentation/translations/it_IT/process/maintainer-handbooks.rst <it_maintainer_handbooks_main>`
|
||||
|
||||
Ottenere i sorgenti attuali
|
||||
---------------------------
|
||||
|
||||
|
|
@ -84,11 +86,11 @@ comporti come descritto.
|
|||
|
||||
I manutentori vi saranno grati se scrivete la descrizione della patch in un
|
||||
formato che sia compatibile con il gestore dei sorgenti usato dal kernel,
|
||||
``git``, come un "commit log". Leggete :ref:`it_explicit_in_reply_to`.
|
||||
``git``, come un "commit log". Leggete :ref:`it_the_canonical_patch_format`.
|
||||
|
||||
Risolvete solo un problema per patch. Se la vostra descrizione inizia ad
|
||||
essere lunga, potrebbe essere un segno che la vostra patch necessita d'essere
|
||||
divisa. Leggete :ref:`split_changes`.
|
||||
divisa. Leggete :ref:`it_split_changes`.
|
||||
|
||||
Quando inviate o rinviate una patch o una serie, includete la descrizione
|
||||
completa delle modifiche e la loro giustificazione. Non limitatevi a dire che
|
||||
|
|
@ -104,17 +106,28 @@ do frotz" piuttosto che "[This patch] makes xyzzy do frotz" or "[I] changed
|
|||
xyzzy to do frotz", come se steste dando ordini al codice di cambiare il suo
|
||||
comportamento.
|
||||
|
||||
Se la patch corregge un baco conosciuto, fare riferimento a quel baco inserendo
|
||||
il suo numero o il suo URL. Se la patch è la conseguenza di una discussione
|
||||
su una lista di discussione, allora fornite l'URL all'archivio di quella
|
||||
discussione; usate i collegamenti a https://lore.kernel.org/ con il
|
||||
``Message-Id``, in questo modo vi assicurerete che il collegamento non diventi
|
||||
invalido nel tempo.
|
||||
Se ci sono delle discussioni, o altre informazioni d'interesse, che fanno
|
||||
riferimento alla patch, allora aggiungete l'etichetta 'Link:' per farvi
|
||||
riferimento. Per esempio, se la vostra patch corregge un baco potete aggiungere
|
||||
quest'etichetta per fare riferimento ad un rapporto su una lista di discussione
|
||||
o un *bug tracker*. Un altro esempio; potete usare quest'etichetta per far
|
||||
riferimento ad una discussione precedentemente avvenuta su una lista di
|
||||
discussione, o qualcosa di documentato sul web, da cui poi è nata la patch in
|
||||
questione.
|
||||
|
||||
Tuttavia, cercate di rendere la vostra spiegazione comprensibile anche senza
|
||||
far riferimento a fonti esterne. In aggiunta ai collegamenti a bachi e liste
|
||||
di discussione, riassumente i punti più importanti della discussione che hanno
|
||||
portato alla creazione della patch.
|
||||
Quando volete fare riferimento ad una lista di discussione, preferite il
|
||||
servizio d'archiviazione lore.kernel.org. Per create un collegamento URL è
|
||||
sufficiente usare il campo ``Message-Id``, presente nell'intestazione del
|
||||
messaggio, senza parentesi angolari. Per esempio::
|
||||
|
||||
Link: https://lore.kernel.org/r/30th.anniversary.repost@klaava.Helsinki.FI/
|
||||
|
||||
Prima d'inviare il messaggio ricordatevi di verificare che il collegamento così
|
||||
creato funzioni e che indirizzi verso il messaggio desiderato.
|
||||
|
||||
Tuttavia, provate comunque a dare una spiegazione comprensibile anche senza
|
||||
accedere alle fonti esterne. Inoltre, riassumente i punti più salienti che hanno
|
||||
condotto all'invio della patch.
|
||||
|
||||
Se volete far riferimento a uno specifico commit, non usate solo
|
||||
l'identificativo SHA-1. Per cortesia, aggiungete anche la breve riga
|
||||
|
|
@ -226,10 +239,11 @@ nella vostra patch.
|
|||
|
||||
Dovreste sempre inviare una copia della patch ai manutentori dei sottosistemi
|
||||
interessati dalle modifiche; date un'occhiata al file MAINTAINERS e alla storia
|
||||
delle revisioni per scoprire chi si occupa del codice. Lo script
|
||||
scripts/get_maintainer.pl può esservi d'aiuto. Se non riuscite a trovare un
|
||||
manutentore per il sottosistema su cui state lavorando, allora Andrew Morton
|
||||
(akpm@linux-foundation.org) sarà la vostra ultima possibilità.
|
||||
delle revisioni per scoprire chi si occupa del codice. Lo script
|
||||
scripts/get_maintainer.pl può esservi d'aiuto (passategli il percorso alle
|
||||
vostre patch). Se non riuscite a trovare un manutentore per il sottosistema su
|
||||
cui state lavorando, allora Andrew Morton (akpm@linux-foundation.org) sarà la
|
||||
vostra ultima possibilità.
|
||||
|
||||
Normalmente, dovreste anche scegliere una lista di discussione a cui inviare la
|
||||
vostra serie di patch. La lista di discussione linux-kernel@vger.kernel.org
|
||||
|
|
@ -324,14 +338,19 @@ cosa stia accadendo.
|
|||
|
||||
Assicuratevi di dire ai revisori quali cambiamenti state facendo e di
|
||||
ringraziarli per il loro tempo. Revisionare codice è un lavoro faticoso e che
|
||||
richiede molto tempo, e a volte i revisori diventano burberi. Tuttavia, anche
|
||||
in questo caso, rispondete con educazione e concentratevi sul problema che
|
||||
hanno evidenziato.
|
||||
richiede molto tempo, e a volte i revisori diventano burberi. Tuttavia, anche in
|
||||
questo caso, rispondete con educazione e concentratevi sul problema che hanno
|
||||
evidenziato. Quando inviate una version successiva ricordatevi di aggiungere un
|
||||
``patch changelog`` alla email di intestazione o ad ogni singola patch spiegando
|
||||
le differenze rispetto a sottomissioni precedenti (vedere
|
||||
:ref:`it_the_canonical_patch_format`).
|
||||
|
||||
Leggete Documentation/translations/it_IT/process/email-clients.rst per
|
||||
le raccomandazioni sui programmi di posta elettronica e l'etichetta da usare
|
||||
sulle liste di discussione.
|
||||
|
||||
.. _it_resend_reminders:
|
||||
|
||||
Non scoraggiatevi - o impazientitevi
|
||||
------------------------------------
|
||||
|
||||
|
|
@ -504,7 +523,8 @@ Utilizzare Reported-by:, Tested-by:, Reviewed-by:, Suggested-by: e Fixes:
|
|||
L'etichetta Reported-by da credito alle persone che trovano e riportano i bachi
|
||||
e si spera che questo possa ispirarli ad aiutarci nuovamente in futuro.
|
||||
Rammentate che se il baco è stato riportato in privato, dovrete chiedere il
|
||||
permesso prima di poter utilizzare l'etichetta Reported-by.
|
||||
permesso prima di poter utilizzare l'etichetta Reported-by. Questa etichetta va
|
||||
usata per i bachi, dunque non usatela per richieste di nuove funzionalità.
|
||||
|
||||
L'etichetta Tested-by: indica che la patch è stata verificata con successo
|
||||
(su un qualche sistema) dalla persona citata. Questa etichetta informa i
|
||||
|
|
@ -574,6 +594,8 @@ previste per i kernel stabili, e nemmeno dalla necessità di aggiungere
|
|||
in copia conoscenza stable@vger.kernel.org su tutte le patch per
|
||||
suddetti kernel.
|
||||
|
||||
.. _it_the_canonical_patch_format:
|
||||
|
||||
Il formato canonico delle patch
|
||||
-------------------------------
|
||||
|
||||
|
|
@ -719,6 +741,8 @@ messe correttamente oltre la riga.::
|
|||
|
||||
Maggiori dettagli sul formato delle patch nei riferimenti qui di seguito.
|
||||
|
||||
.. _it_backtraces:
|
||||
|
||||
Aggiungere i *backtrace* nei messaggi di commit
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user