Commit graph

1,462,193 commits

Author SHA1 Message Date
Cen Zhang
89c0dc3de7 btrfs: annotate lockless read of defrag_bytes in should_nocow()
should_nocow() reads inode->defrag_bytes without holding inode->lock,
while btrfs_set_delalloc_extent() and btrfs_clear_delalloc_extent()
update it under that spinlock.

This is a data race.  The read is a quick check used to decide whether
to fall back to COW for a NOCOW inode: if defrag_bytes is non-zero and
the range is tagged EXTENT_DEFRAG, we force COW so that defragmentation
can rewrite the extent.  Reading a stale value is harmless because:

  - A missed increment may skip COW once, but the defrag pass will
    redo the extent later.
  - A stale non-zero may force an unnecessary COW, which is a minor
    efficiency loss, not a correctness issue.

On 64-bit platforms an aligned u64 load is naturally atomic so tearing
cannot happen.  On 32-bit platforms u64 may tear, but we only test for
zero vs non-zero, so the heuristic stays correct regardless.  Use
data_race() annotation.

Fixes: 47059d930f ("Btrfs: make defragment work with nodatacow option")
Signed-off-by: Cen Zhang <zzzccc427@gmail.com>
[ Use data_race() instead of READ_ONCXE() ]
Signed-off-by: David Sterba <dsterba@suse.com>
2026-06-09 18:22:44 +02:00
David Sterba
69a7911183 btrfs: send: switch struct fs_path to auto freeing
The fs_path can use the auto freeing pattern and it's completely
contained in send. Define the freeing wrapper and add the cleanup
attributes.

Almost all conversions are straightforward, replacing goto with direct
return.

Signed-off-by: David Sterba <dsterba@suse.com>
2026-06-09 18:22:44 +02:00
David Sterba
32e67e8da7 btrfs: add message format for qgroupid
The qgroupid has a specific format, add common format specifier, similar
to what we have for checksums and keys.

Reviewed-by: Boris Burkov <boris@bur.io>
Signed-off-by: David Sterba <dsterba@suse.com>
2026-06-09 18:22:44 +02:00
Johannes Thumshirn
21a3533b99 btrfs: zoned: always set max_active_zones for zoned devices
When a block device does not report a maximum number of open or active
zones,  currently assign BTRFS_DEFAULT_MAX_ACTIVE_ZONES (128) to
the internal limit, if the device has more than
BTRFS_DEFAULT_MAX_ACTIVE_ZONES zones.

But if the device has less than BTRFS_DEFAULT_MAX_ACTIVE_ZONES the
internal max_active_zones limit will stay at 0, even if the device has
zone resource limits. Furthermore, if the device has a total number of
zones that is less than BTRFS_DEFAULT_MAX_ACTIVE_ZONE, max_active_zones
should be set to at most the number of zones.

Also move the max_active_zone calculation and setting into a dedicated
helper, to shrink btrfs_get_dev_zone_info().

Fixes: 04147d8394 ("btrfs: zoned: limit active zones to max_open_zones")
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2026-06-09 18:22:44 +02:00
Matthew Wilcox (Oracle)
3f1cc3620e btrfs: use bvec_phys() in compressed_bio_last_folio()
This is open-coded bvec_phys(), also remove direct use of bv_page.

Reviewed-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: Boris Burkov <boris@bur.io>
Tested-by: Boris Burkov <boris@bur.io>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: David Sterba <dsterba@suse.com>
2026-06-09 18:22:44 +02:00
Matthew Wilcox (Oracle)
03f1fc95a7 btrfs: replace __free_page with folio_put() in attach_eb_folio_to_filemap()
Calling __free_page() on folio_page() happens to work today, but
won't always.  Besides, it's far simpler to call folio_put().

Reviewed-by: Boris Burkov <boris@bur.io>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Tested-by: Boris Burkov <boris@bur.io>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: David Sterba <dsterba@suse.com>
2026-06-09 18:22:44 +02:00
Matthew Wilcox (Oracle)
0279bed34c Revert "btrfs: fix the file offset calculation inside btrfs_decompress_buf2page()"
It seems that af566bdaff was tested against a tree which did not
contain commit 12851bd921 ("fs: Turn page_offset() into a wrapper
around folio_pos()).  Unfortunately it has a bug of its own; on 32-bit
systems, shifting by PAGE_SHIFT will overflow on files larger than 4GiB.
Since page_offset() is now fixed, just revert af566bdaff.

Fixes: af566bdaff (btrfs: fix the file offset calculation inside btrfs_decompress_buf2page())
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: Boris Burkov <boris@bur.io>
Tested-by: Boris Burkov <boris@bur.io>
Signed-off-by: David Sterba <dsterba@suse.com>
2026-06-09 18:22:44 +02:00
Johannes Thumshirn
814c3b4ea3 btrfs: zoned: fix deadlock waiting for ticket during data relocation
When performing data relocation on a zoned filesystem, BTRFS can deadlock
in handle_reserve_tickets(). The relocation process is waiting on a space
reservation ticket that can never be fulfilled, because the relocation
itself is the operation responsible for freeing up that space.

Fix this by introducing a new flush state,
BTRFS_RESERVE_FLUSH_ZONED_RELOCATION, specifically for data chunk
allocation during zoned relocation. Like
BTRFS_RESERVE_FLUSH_FREE_SPACE_INODE, this state uses
priority_reclaim_data_space() instead of the normal flushing path, which
avoids re-entering the relocation code and breaking the deadlock cycle.

In btrfs_alloc_data_chunk_ondemand(), select this new flush state when the
inode belongs to a data relocation root on a zoned filesystem.

Fixes: e2a7fd2237 ("btrfs: zoned: add zone reclaim flush state for DATA space_info")
Reviewed-by: Boris Burkov <boris@bur.io>
Reviewed-by: Naohiro Aota <naohiro.aota@wdc.com>
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2026-06-09 18:22:44 +02:00
Johannes Thumshirn
52416a27aa btrfs: zoned: don't account data relocation space-info in statfs free space
Don't account the free space in a data relocation space-info sub-group as
usable free space in statfs.

This is misleading as no user allocations can be made in this space-info
sub-group. It is only a target for relocation.

Fixes: f92ee31e03 ("btrfs: introduce btrfs_space_info sub-group")
Reviewed-by: Boris Burkov <boris@bur.io>
Reviewed-by: Naohiro Aota <naohiro.aota@wdc.com>
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2026-06-09 18:22:44 +02:00
Johannes Thumshirn
82fd26090e btrfs: zoned: always set data_relocation_bg
When searching for a data relocation block-group on mount,
btrfs_zoned_reserve_data_reloc_bg() is looking for the first empty DATA
block-group. But it first checks if the block-group is empty and if yes
continues the search, and then checks if it is the first DATA block-group.

There is actually no point in looking for the second empty DATA block
group as new DATA allocations will just allocate a new chunk for it. Pick
the first DATA block-group without any allocations done and set it as
relocation block-group.

At first, the commit 694ce5e143 ("btrfs: zoned: reserve data_reloc
block group on mount") introduced the functionality. At that time, we
took second unused (used == 0) block group, as the first one might be a
block group used for normal data.  Later, commit daa0fde322 ("btrfs:
zoned: fix data relocation block group reservation") switched to look
for an empty block group (alloc_offset == 0). At this point, there is no
reason taking the second one anymore. So, this commit is fixing an issue
in commit daa0fde322.

Reviewed-by: Boris Burkov <boris@bur.io>
Reviewed-by: Naohiro Aota <naohiro.aota@wdc.com>
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2026-06-09 18:22:43 +02:00
Ryan Chen
df6f379eb4
arm64: Kconfig: Add ASPEED SoC family Kconfig support
Add support for ASPEED SoC family like ast27XX 8th
generation ASPEED BMCs.

Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
Link: https://lore.kernel.org/r/20260609-upstream_ast2700-v9-2-f631752f0cb1@aspeedtech.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-09 18:15:32 +02:00
Ryan Chen
34efd73379
dt-bindings: arm: aspeed: Add AST2700 board compatible
Add device tree compatible string for AST2700 based boards
("aspeed,ast2700-evb" and "aspeed,ast2700") to the Aspeed SoC
board bindings. This allows proper schema validation and
enables support for AST2700 platforms.

Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20260609-upstream_ast2700-v9-1-f631752f0cb1@aspeedtech.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-09 18:15:31 +02:00
Arnd Bergmann
1012d4d9f7 Microchip RISC-V devicetrees for v7.2
This time around, there's nothing other than patches for Microchip
 boards. All of this is low priority fixes and cleanup, centred on the
 pic64gx and beaglev-fire boards. There is no new support added.
 
 Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCaiaVfAAKCRB4tDGHoIJi
 0ukrAP9WOUMFZsIkVJvjMgrPoC+0km/Uy8WDj4efBgxW8Z7xvwD8D2uG9Revojwm
 8PRjydw22KWI2DIxzxP3Gei7HMZLwQE=
 =1br7
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmooO9MACgkQmmx57+YA
 GNluoA/+IAZnT8Aa1dRag6H67qgERTFzyeU3uE48Vv/MHrhAuuRc8G22z4/i33Er
 0z5mrb7PwGmC3OfrAkr3ATQDY9reYjADRe5jq3xA9Ip3e43uphBDcHN3qpDREDdX
 DaYOaWSwOkK80lWQ1nRE8OlztEIqqb2TamPZ7HYpuyMho8OHm0QZHQOMsSMzxlhX
 vYay2jSB/KwjcJWJdWANeyRarxnNY/g/V5lQT5YM4nt9vJ6W6/bRrR8O0wsHiGn8
 daJ1ZljOKxEfhfQ12gbuzBKesz0aZ06aWPtuvsN/6HlkFWUwfxcsrJvbRR5zLKAZ
 QeKBnyWeN3xZe9ZiZN4rMgU6IxCChQbYsWB3yLei/NUTcB4YsM2NZXt7c3JBPIIj
 fqt7Pj9BCrSnvSFMS2bA43M7sNTfIA1DyNEgTo+Gp3D/4HFTz69vOBwSERS5PlfK
 JBXiw4/uVskQxbNwc9IhpEGo0Aa1Y+Vf9I+XbqFqvbGqNpaaw9LeFCCLjqHHRnjW
 l8YFxj7FO4u7BDt8LZ2NIUrQu0NTJHYSWNZe+ps4TpwkRrFMD/xODRP0QkFxd3Gy
 wLDAHN6MPBRLo3/zusoXHRe0xZK4f4C8SFXjVBB8K5pCYgZLgbxg/IprDgTLvU10
 vLVjiDlkBlLa/AnT1QAGoAsmuE2kWy/NR6GPx4SVn1yc/vdUxxs=
 =syLy
 -----END PGP SIGNATURE-----

Merge tag 'riscv-dt-for-v7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into soc/dt

Microchip RISC-V devicetrees for v7.2

This time around, there's nothing other than patches for Microchip
boards. All of this is low priority fixes and cleanup, centred on the
pic64gx and beaglev-fire boards. There is no new support added.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

* tag 'riscv-dt-for-v7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux:
  riscv: dts: microchip: remove redudant enabling of syscontroller
  riscv: dts: microchip: fix pic64gx gpio interrupt-cells
  riscv: dts: microchip: add gpio line names on beaglev-fire
  riscv: dts: microchip: add adc interrupt on beaglev-fire
  riscv: dts: microchip: clean up beaglev-fire regulator node names
  riscv: dts: microchip: remove gpio hogs from beaglev-fire
  riscv: dts: microchip: gpio controllers on mpfs need 2 interrupt cells
  riscv: dts: microchip: sort pic64gx i2c nodes alphanumerically
  riscv: dts: microchip: update pic64gx gpio interrupts to better match the SoC
  riscv: dts: microchip: add tsu clock to macb on pic64gx

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-09 18:14:06 +02:00
Richard Fitzgerald
60a1646b38
ASoC: cs35l56: Increase pm_runtime autosuspend delay
Increase the pm_runtime autosuspend delay to be longer than the
timeout of the firmware's own inactivity timer.

There is no point attempting to pm_runtime suspend any sooner than
the firmware idle timeout because it would only mean the driver has
to poll waiting for the firmware idle.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://patch.msgid.link/20260609122946.288103-1-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2026-06-09 17:13:41 +01:00
Tang Yizhou
5bdb8ec58b block: propagate in_flight to whole disk on partition I/O
Now when I/O is submitted to a partition, the per-CPU in_flight[]
counter is incremented only on the partition's block_device, not on the
underlying whole disk. This leads to a problem which can be shown by a
fio test:

lsblk
  NAME     MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
  mydev    252:1    0   20G  0 disk
  └─mydev1 259:0    0   10G  0 part

iostat -xp 1
  Device       r/s        rkB/s      ... aqu-sz   %util
  mydev    128153.00  512612.00      ...  13.22   72.20
  mydev1   128154.00  512616.00      ...  13.22  100.00

%util is different between mydev and mydev1, which is unexpected.

This is the cumulative effect of a series of patches. The root cause is
commit e016b78201 ("block: return just one value from part_in_flight"),
which deleted the branch in part_in_flight() that aggregated the whole-disk
in_flight count on top of the partition's. Then the second commit is
commit 10ec5e86f9 ("block: merge part_{inc,dev}_in_flight into their
only callers"), which folded the whole-disk in_flight accounting into
generic_start_io_acct() and generic_end_io_acct(). Those two helpers
were then removed by commit e722fff238 ("block: remove
generic_{start,end}_io_acct"), and from that point on the whole disk's
in_flight is no longer accounted at all.

In update_io_ticks(), if calling bdev_count_inflight() finds that the
inflight value of the whole device is 0, the accumulation of io_ticks will
be skipped, causing the reported util% value to be underestimated.

Fix it by restoring the whole-disk in_flight accounting.

Fixes: e016b78201 ("block: return just one value from part_in_flight")
Suggested-by: Leon Hwang <leon.huangfu@shopee.com>
Assisted-by: Claude:claude-opus-4-7
Signed-off-by: Tang Yizhou <yizhou.tang@shopee.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://patch.msgid.link/20260526021555.359500-1-yizhou.tang@shopee.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2026-06-09 10:12:50 -06:00
Arnd Bergmann
a9219ea848 We've got basic camera support on RK3588!
New peripherals RK3588 vicap plus camera addition to some boards,
 RK3528 USB and USB enablement on some boards, RGA3 support on RK3588.
 Missing EL2 virtual timer interrupt added to RK3588.
 
 Some more added peripherals for the Khadas Edge 2L board.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmojShgQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgUA3B/90b5Ot4cK7ke1kX9SMzDtXjc5cNfsLA2wT
 2CCwbZVPTxbmhZLd1OUU6v8A1ThY08TYMDVoph5ngxbnv2jjliWt1mPr76rkk+fk
 X2UCEkTCwpIXB1WCn4XU5q4WNUchDTf3Ggkbybuyfy5XZD77B90auTVUdFmJQOme
 zKpupUmXCf5xm1hcdgoXkC4mLb5DrRDCV5bQBbagQuimtR78tWmalJvj60IJJ6zx
 4SZgMO5y87oLjgwecYEEElBGdO9kulzWsWqL1qXTk3Z/D2erE/fCEteFjWXRvGGS
 U/lz6a4BVPPqemEMz2aHK/8U2D+qZ30r4o0ENcCBT80RyCfJHQFT
 =k9Nv
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmooO28ACgkQmmx57+YA
 GNli+A/+K8bFV8M8569aTKmwXpBtfSjcYIK+/qBwkiDSVWlUyghUlq+Tx8hZZ203
 J6ak+U8nH9zfeuL+5gLeQ9BaqRK1ns5CbIv9H0sZvHfp9wqaxvYKgeXF3Px36bSP
 tZlJmgLY6mBnfo7x2UokWYMClPHgF2dIVnvwAwe69UD4GXgElZL1FL+kFZZErwlH
 9SS76nyVA2JnalqNsqQ+ZzTzMCB5uCrUlxde9b6GxjB9vjlvCNCPtlHRQh0tPDmt
 kBEZzXD6YF6OfGofHYFIaNTaU5iGwNGdFMzcVwPks7CMNgtrZxILW/qYbvD36Fud
 wILmAqNDyZhCHwjfmLj4F5sLYe6SAk9GMRjROy+IxVngRM1EhsU4IA+Db10THmcb
 FsVwO0d3/KP9xJUhmAMm0m77fi718UvgpBfrJpP0xkRzBindhHaghMJq9ueGiZq8
 CkFL6hWYrPDx6QSATcVUvZfbitaT4uuC54sKytWI+j9H+J3RO3px6A7WiRXH3Txb
 r/v9uYF3XUxZlk8kAxLrF1TAI8y8mP682Ms2JPSBZyFz66QscmatwnW6G5jOfgiL
 3hzGUGpy6e2bUQaXMQSO9Jx4oATngocwz79e0xsNMzv2wjhBhB7hVofhosBrd0Gr
 nCX1vJn9YmOjMeIkRzWoj7RUjFUqahE+WQyPLulMzix9DglzlDs=
 =qcRw
 -----END PGP SIGNATURE-----

Merge tag 'v7.2-rockchip-dts64-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt

We've got basic camera support on RK3588!

New peripherals RK3588 vicap plus camera addition to some boards,
RK3528 USB and USB enablement on some boards, RGA3 support on RK3588.
Missing EL2 virtual timer interrupt added to RK3588.

Some more added peripherals for the Khadas Edge 2L board.

* tag 'v7.2-rockchip-dts64-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm64: dts: rockchip: Fix vcc_sdio regulator max voltage on Pinebook Pro
  arm64: dts: rockchip: Enable USB 2.0 ports on NanoPi Zero2
  arm64: dts: rockchip: Enable USB 2.0 ports on ArmSoM Sige1
  arm64: dts: rockchip: Enable USB ports on Radxa ROCK 2A/2F
  arm64: dts: rockchip: Enable USB 2.0 ports on Radxa E20C
  arm64: dts: rockchip: Add USB nodes for RK3528
  arm64: dts: rockchip: enable adc button for Radxa E25
  arm64: dts: rockchip: Add Bluetooth support for Khadas Edge 2L
  arm64: dts: rockchip: Enable USB for Khadas Edge 2L
  arm64: dts: rockchip: Disable removed devices from rk3399-nanopi-r4s
  arm64: dts: rockchip: Fix EEPROM compatible on rk3399-nanopi-r4s-enterprise
  arm64: dts: rockchip: add radxa camera 4k on rock 5b+ cam1
  arm64: dts: rockchip: add radxa camera 4k on rock 5b+ cam0
  arm64: dts: rockchip: add vicap node to rk3588
  arm64: dts: rockchip: Add EL2 virtual timer interrupt
  arm64: dts: rockchip: add rga3 dt nodes to rk3588

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-09 18:12:26 +02:00
Yuho Choi
51a7c560cf PM: QoS: Fix misc device registration unwind
cpu_latency_qos_init() registers cpu_dma_latency first and, when
CONFIG_PM_QOS_CPU_SYSTEM_WAKEUP is enabled, registers cpu_wakeup_latency
afterwards. The second registration overwrites the first return value.

As a result, a failure to register cpu_dma_latency can be masked if the
second registration succeeds. Conversely, if cpu_dma_latency succeeds and
cpu_wakeup_latency fails, the function returns an error while leaving the
first misc device registered.

Return immediately on the first registration failure and deregister
cpu_dma_latency if the second registration fails.

Fixes: a4e6512a79 ("PM: QoS: Introduce a CPU system wakeup QoS limit")
Signed-off-by: Yuho Choi <dbgh9129@gmail.com>
Link: https://patch.msgid.link/20260608170748.82273-1-dbgh9129@gmail.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2026-06-09 18:10:46 +02:00
Michael Bommarito
0fd835f5e9 virtio-blk: clamp zone report to the report buffer capacity
virtblk_report_zones() trusts the device-reported number of zones when
walking the report buffer:

	nz = min_t(u64, virtio64_to_cpu(vblk->vdev, report->nr_zones),
		   nr_zones);
	...
	for (i = 0; i < nz && zone_idx < nr_zones; i++) {
		ret = virtblk_parse_zone(vblk, &report->zones[i], ...);

The buffer is allocated by virtblk_alloc_report_buffer(), whose size is
capped by the queue's max hardware sectors and max segments and can
therefore hold fewer descriptors than nr_zones. nz is bounded only by
the device-supplied report->nr_zones and the requested nr_zones, never
by the buffer's descriptor capacity. At probe time the request count is
unbounded (blk_revalidate_disk_zones() calls report_zones() with
nr_zones == UINT_MAX), so the device-supplied report->nr_zones is the
sole gate: a device that reports more zones than fit in the buffer
drives the loop to read report->zones[i] past the end of the allocation.

A malicious or buggy virtio-blk device that reports an inflated nr_zones
triggers this during zone revalidation at probe. KASAN reports a
vmalloc-out-of-bounds read in virtblk_report_zones() against the report
buffer allocated a few lines earlier.

Clamp nz to the number of descriptors that actually fit in the report
buffer.

Fixes: 95bfec41bd ("virtio-blk: add support for zoned block devices")
Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Michael Bommarito <michael.bommarito@gmail.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Link: https://patch.msgid.link/20260607124834.3059944-1-michael.bommarito@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2026-06-09 10:01:50 -06:00
Arnd Bergmann
0f6455d1cb ARM64: DT: HiSilicon ARM64 DT updates for v7.2
- Move role-switch endpoint into connector on hi3660-hikey960
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEQeMYD8qOQTc1R/snC8hXbtmJZlwFAmoifxsVHHh1d2VpNUBo
 aXNpbGljb24uY29tAAoJEAvIV27ZiWZc0icP/i08TxerLmQCh018cLGVwoVhh+XP
 guGSSMSy/9SSk3i6Fe2AXYwLc7evyXbK5k0aoXyciM40v/p3qwV6OFkyQret5/2O
 2MDDRIQvwtkMqatP21gNJjAkd8OUtNjpJsB+TNjHBFGfIwMviLLWuUOo/U2n034b
 dKyZQeg6/ydMCFfdQ3udiof/LzSuA4Cy5htfYZg6njBRLb+wEKey6d2SDDgsyy+N
 cFFivrLaJ03XsJgoxl13PJhNpL1PPpELfXSYgdMbwswRYp7L7gMS/J0gVHmE12cH
 +RDtqTxt0oktw4CdtNUFm2zuseM+VnG3CwI1eQAeCvu8iFJHAN2vWVWL5KaaIPuS
 DdBujDgWyNxUNOxiIMIdvSHau30CFUSY1UchwkmyXXXVibh/JwrAUimTgLSs91B4
 hgyTgnlMhDMQwNEIFDacEoJs+yko63psvIa04OcDRC4qgeqN8Qw0ehXyikiEIhI7
 Nd7MlGU4sDFnjQI/JYk4881yoh4bTSIMUbVoFMXC6cKI9Mp7nWy4mqAURTVKJWM6
 twBD5Sz6R8Z54jxlGOMOitAfZb8KROjJ1dyUKVavRGtMzI/kH0ee62NEth1Z7Cw1
 OhOXIEvcj0OWJcjQfpJcwqzzSuxAOStzCcmfTVkOiSj+JCjIiBZXta5siqi9Ks/L
 i1L+/13PC6pys5kG
 =FHQm
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmooOPAACgkQmmx57+YA
 GNlUxxAAkppuYtYJRbCaUHqyLnYkl5X970XLeWtk5orpI90PuzEyE4f96DWWQhqK
 pY7cwY48DRRJ/ck9+yzEu/t/NMobpEvmhusipuRtF2O8rkSVWAeZ3jE6jMaVyMS8
 PQuxL3V3ky4kQWPPylLcTAiTJVB0OdKZabty265fyt6K2SBjFMkY0VdRf8iCTLC3
 P0mPcFa0tS7Hbz6JnnxPSPxBN74YGKAfpM0Gbiqyx9cd7nYuOZsEKbiNQY8utFIz
 1SeQvzk+ViEwCNLrLDe6UdyAzGi6WkVl8vO5ygAwUz8uXvaFn9hsu+oqcZMLgzJa
 dQ/KHMpUGs6bj9LV58bZIuDc2QQRf6bBvapB6PRx6xaMprwC/xq9PsYIxHpLqzMc
 /vKxR9zA/6ujdUo1NIwQ+53bkiNoHKkt7gMk94VLutrcbVmlfzU6e7G4DSt4lZmo
 xaCfaW3aXmuXr5wQ4HLYL87AERJKY1mCiD+xTs+dQZjJaY9ElBguhx3IFdMZo/b7
 I+5EwYiw95wG7GkDAOm6N+aB1T26eV9MxMVdPYvcLQa0AjNFrhEdmbWOYqmYh7gd
 HH+it/521QLhUwkGffR7ZRd8Glt5lvGQ1DSJnTIXYlHpm1fqKZQrXTJZHJWWzQnL
 6tjjoAQepwudOKfMjm9ne/mjTmy+D0SD8Lf5YUtlpwuln8Me0Ac=
 =X4sI
 -----END PGP SIGNATURE-----

Merge tag 'hisi-arm64-dt-for-7.2' of https://github.com/hisilicon/linux-hisi into soc/dt

ARM64: DT: HiSilicon ARM64 DT updates for v7.2

- Move role-switch endpoint into connector on hi3660-hikey960

* tag 'hisi-arm64-dt-for-7.2' of https://github.com/hisilicon/linux-hisi:
  arm64: dts: hisilicon: hi3660-hikey960: move role-switch endpoint into connector

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-09 18:01:43 +02:00
Arnd Bergmann
1c00051aa2 i.MX ARM device tree changes for 7.2:
DT Binding Cleanup:
 - Replaced undocumented compatible strings with proper ones:
   * edt,edt-ft5x06 -> edt,edt-ft5206
   * marvell,88E1510 -> ethernet-phy-ieee802.3-c22
   * karo,imx6qdl-tx6-sgtl5000 -> simple-audio-card
 - Fixed incorrect VAR-SOM-MX6UL references (corrected to VAR-SOM-MX6)
 - Added missing required properties:
   * #phy-cells for usb-nop-xceiv
   * #io-channel-cells to ADC nodes
   * bus-type for ov5642/ov5640 cameras
   * ti,deskew = <0> for ti,tfp410
 - Added missing supply properties (power-supply, vdd-supply, dvdd-supply, avdd-supply)
 - Removed redundant/empty properties (bus-width for video-mux, empty clock-names)
 - Fixed boolean property warnings and non-existent property references
 - Converted TS-4800 watchdog to DT schema
 - Renamed wdt nodes to watchdog for consistency
 
 New Features Added:
 - PCIe Root Port nodes and PERST property for imx6qdl, imx6sx, and imx7d
 - OV5645 camera support for imx7d-pico-pi
 - LVDS display panel support for imx6ul-var-som
 - WiFi and Bluetooth support for VAR-SOM boards
 - nvmem-layout support for imx7
 - New bus bindings: fsl,aipi-bus and fsl,emi-bus
 - New board binding: variscite,var-som-imx6ull
 
 Code Refactoring:
 - VAR-SOM-MX6UL/ULL: factored out common parts for CPU variants
 - Separated audio, ethernet (ENET1/ENET2), and SD card support into reusable components
 -----BEGIN PGP SIGNATURE-----
 
 iQHFBAABCgAvFiEEJS45w2QNr0ezLVaoNF3oRQ23YkwFAmohrsYRHGZyYW5rLmxp
 QG54cC5jb20ACgkQNF3oRQ23YkzBuwv/WKlLxwHxUxt8Uc5QbZUb7QPBnaxTy+8U
 MaqSFG167KqiApMpWtkp+GDEoEHL59mUR673j8R6m679GMc1OqcZy2WxbzPP8LwM
 DegTZd7d0kssckxCy5QH83NtJVww0bocys4KdFjIB6BBLESWOA4SgxZOv2cUCdwW
 lLvlJyhI2c/VpbT1t8NP4EH7zHtExoB8ls8aTfHUTE2oFIGF5Y+qodn4xiyZ3fV0
 V7kRDZbq4gXw+mhy6D0eeQ7oc4E612ql7lJbI3uZELRzuT5NH1usYTEl2E4oiie3
 3/7QlXp4iSyhHvFUqVUssMAIxpTqmfErplbzrh+EBi/8qEr8SDXfrNJyGjaaN520
 /1Sj0b0qkIouqEeYliv/5Jk0MpnhUzWuKXFYer8PqP3drRITZUWZnDXSYp/uQAL7
 IjOi6xuTcU2XHCtd1Y9e1+V32P3mFrv9sc/CT3rkJjccxmbkdXUcL/QQoKucrnI1
 PRbL83kqSu2ipc8kv4epokHOJRltE4Pq
 =lNRO
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmooOJMACgkQmmx57+YA
 GNnX/RAAoZrjV4u2RLy1aBssCy1SoTonJin+mvBwMdCIDWq0gI2lTEuOOSwQ1o7h
 t+mgvXlixmH8f8pcLqxpx671L3Ul0DBCkBBQba9RdnoHc8xmSxGQdWwUcCFPqshN
 85Ly2QoUr7r2g4/Cb1krRTzLql3BZ7LgBXIQZjHDhp8FrRejEyTX9YE8t5tDQ9R9
 oZQexd9GP036LMm01Df17iU18os+a98J6kaPB/pt5P/tX/rAR5xPBrRIkc9y+6Nr
 EAAwNpQw8SJQj/MaVB2MNAX5pBSW7wOvNp6leAvujyqmxhP3DLbWhHLaZK84A09j
 mUuY1auouLeuCcdJpXsw3AObffxUyeubSwoMJBoWNYjlLQQwQ8zAI9b7j7rK84L3
 ESJnGHvOthK18SHGEsk+cPnrc+nr1nE73lgkzu/zCKPwW1kJgyt5eUTR4DKrKh0M
 7QTxtn0XnQrQWPchKopAAjZs6tIM9JcqOOMmXl+kxuRNK+qL3ix6UNLfQqnEELI2
 eiGefnEh22qPkTGXFv2LMcBPZxyaaYG5nnKLk5Ul0evuHg70Qr6NfjUfOmP39G68
 aNSPQO0YSdkG8neOIqukDpmN2b26qUZz8OH/YpU1mzaKK2SFzcZnMdPkXh45q5ob
 nfFvRspn39d6B3KiXDgUXMYzPAxGej2nJBN2i+nmdfsd1Tx8Ejo=
 =FNvR
 -----END PGP SIGNATURE-----

Merge tag 'imx-dt-7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/frank.li/linux into soc/dt

i.MX ARM device tree changes for 7.2:

DT Binding Cleanup:
- Replaced undocumented compatible strings with proper ones:
  * edt,edt-ft5x06 -> edt,edt-ft5206
  * marvell,88E1510 -> ethernet-phy-ieee802.3-c22
  * karo,imx6qdl-tx6-sgtl5000 -> simple-audio-card
- Fixed incorrect VAR-SOM-MX6UL references (corrected to VAR-SOM-MX6)
- Added missing required properties:
  * #phy-cells for usb-nop-xceiv
  * #io-channel-cells to ADC nodes
  * bus-type for ov5642/ov5640 cameras
  * ti,deskew = <0> for ti,tfp410
- Added missing supply properties (power-supply, vdd-supply, dvdd-supply, avdd-supply)
- Removed redundant/empty properties (bus-width for video-mux, empty clock-names)
- Fixed boolean property warnings and non-existent property references
- Converted TS-4800 watchdog to DT schema
- Renamed wdt nodes to watchdog for consistency

New Features Added:
- PCIe Root Port nodes and PERST property for imx6qdl, imx6sx, and imx7d
- OV5645 camera support for imx7d-pico-pi
- LVDS display panel support for imx6ul-var-som
- WiFi and Bluetooth support for VAR-SOM boards
- nvmem-layout support for imx7
- New bus bindings: fsl,aipi-bus and fsl,emi-bus
- New board binding: variscite,var-som-imx6ull

Code Refactoring:
- VAR-SOM-MX6UL/ULL: factored out common parts for CPU variants
- Separated audio, ethernet (ENET1/ENET2), and SD card support into reusable components

* tag 'imx-dt-7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/frank.li/linux: (35 commits)
  dt-bindings: soc: imx: Add fsl,aipi-bus and fsl,emi-bus
  ARM: dts: freescale: add bootph-all to i.MX7ULP watchdog nodes
  ARM: dts: imx7: add nvmem-layout
  ARM: dts: imx7d-pico-pi: add OV5645 camera support
  ARM: dts: imx6-display5: replace marvell,88E1510 with ethernet-phy-ieee802.3-c22
  ARM: dts: imx: replace undocumented compatible string edt,edt-ft5x06 with edt,edt-ft5206
  ARM: dts: imx6qdl-tx6: remove undocumented karo,imx6qdl-tx6-sgtl5000 and keep only simple-audio-card
  ARM: dts: imx: Add bus-type for ov5642/ov5640
  ARM: dts: imx: remove redundant bus-width for video-mux
  ARM: dts: imx: add (power|vdd)-supply for related node
  ARM: dts: imx53-ppd: add '#phy-cells' for usb-nop-xceiv
  ARM: dts: imx53-qsb: add dvdd and avdd supply for panel sii,43wvf1g
  ARM: dts: imx: add ti,deskew = <0> for ti,tfp410
  ARM: dts: imx7d: Add Root Port node and PERST property
  ARM: dts: imx6sx: Add Root Port node and PERST property
  ARM: dts: imx6qdl: Add Root Port node and PERST property
  ARM: dts: nxp: imx51-ts4800: Rename wdt node to watchdog
  dt-bindings: watchdog: Convert TS-4800 to DT schema
  ARM: dts: imx6ul: add #io-channel-cells to ADC
  ARM: dts: imx25: remove empty clock-names for nand-controller@bb000000
  ...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-09 18:00:17 +02:00
Arnd Bergmann
b55ed73106 Apple SoC DT update for 7.2
Add minimal device trees for all t8122 / base M3 based devices and some
 required new compatibles to the dt-bindings. These are enough to boot
 Linux on these devices to a simple serial console but future work is
 required to make these machines useful for end users.
 
 Signed-off-by: Sven Peter <sven@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQS3vz815OHsEaWy0u9EEX0kKnUe6QUCaiFSMAAKCRBEEX0kKnUe
 6ULzAQDG1d3BZ6IKYZRZkCNuQUecKZY/NA/6TdzU1I8eQ3nW7gEAsYeh/OSPD5/+
 ZehIZZ7sIqowWzcmGAAXNDJvZBJKCw8=
 =mqxb
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmooOGQACgkQmmx57+YA
 GNnHnxAAvKzB3bciQatigK6ggr53jjWm3XKzWlzE9ICGWiQk7uNcXQ3xsVVekOcg
 vAR1pEoVbi1ofNvptdiEIOvUULCB/0s/6aso7lqhMLC2M+CRCKPnvIOQvAh91pdJ
 ZvuHlptrK3guFLunGiDjWrahjwY7oLs0DOBXsLJq9BIsHJKtAlNzSMAIVJJAMd23
 sVm6lq/kfFEa46YFLQYkZAKaW/DrhxFLQR092qMvoquFZwMxKm5y9ajt0h5LXLPb
 jPKRarCK0BJ+NwyRkIRHM2bYQxQrmBEhlJ/XetDtuA6o6fJce1rDZS2i3IywDVzP
 tvt8UPticpO6J5YbF1YHG2iMQkqPnquYl28RaPq8PPjWoJJ57phfhiffJZ7ZSusH
 mOis0++87Fe9uVKcvBiTCfjZibbFOAVgU5yu2M+GrSs6rl+OnbUqGOY7QNnMmDER
 autZuhuWNbTnNIuXa7s4j8GlS6YNoHIvlkTF20v2ABJeJc9zcaMJwgQOVNDShqhu
 HKml8AgdPIylSSHInZ9nkGjjfmUczTxtCMA3Pkp2Qi+SF41ry9dJP0oncX3kWSdV
 rRYAMDe5VQSI7aHKxHUuFxii6FG4mdEWeDjvjw/LGELenp52gSC5SCDY3/mycGop
 S+XMKxN6EO9+p8SrYBpmFVVJskSWIP+d5P+R4RVmfNZiHDA6h+s=
 =thB1
 -----END PGP SIGNATURE-----

Merge tag 'apple-soc-dt-7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/sven/linux into soc/dt

Apple SoC DT update for 7.2

Add minimal device trees for all t8122 / base M3 based devices and some
required new compatibles to the dt-bindings. These are enough to boot
Linux on these devices to a simple serial console but future work is
required to make these machines useful for end users.

Signed-off-by: Sven Peter <sven@kernel.org>

* tag 'apple-soc-dt-7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/sven/linux:
  arm64: dts: apple: Initial t8122 (M3) device trees
  dt-bindings: arm: apple: Add M3 based devices
  dt-bindings: pwm: apple,s5l-fpwm: Add t8122 compatible
  dt-bindings: power: apple,pmgr-pwrstate: Add t8122 compatible
  dt-bindings: arm: apple: apple,pmgr: Add t8122 compatible

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-09 17:59:31 +02:00
Arnd Bergmann
018450d76e TI K3 device tree updates for v7.2
SoC Specific Features and Fixes:
 
 J722S:
 - Use ti,j7200-padconf compatible for pad configuration
 - Add MCU and wakeup domain peripherals specific to J722S
 - Use J722S-specific compatibles for WIZ, gmii-sel and CPSW3G nodes
 
 Board Specific Features and Fixes:
 
 AM62x (Toradex Verdin):
 - Add display overlays: DSI-to-HDMI adapter, DSI-to-LVDS adapter with 10.1"
   panel, capacitive touch displays in 7" DSI, 10.1" DSI and 10.1" LVDS
   configurations, and Mezzanine with 10.1" LVDS display
 - Add NAU8822 Bridge Tied Load audio support
 - Add OV5640 CSI camera overlays
 - Add Verdin Mezzanine CAN overlay
 - Reserve UART_4 for Cortex-M4F use
 
 AM625:
 - Add support for TQ-Systems TQMa62xx SoM and MBa62xx carrier board,
   including new dt-bindings compatible strings
 
 AM62x (phyBOARD-Lyra):
 - Add DT overlay for Lincoln LCD185-101CT OLDI panel
 
 AM62-LP SK:
 - Add system-power-controller node
 
 AM62A7 SK:
 - Add bootph-all tag to vqmmc regulator for proper boot sequencing
 
 J721S2-som:
 - Add bootph-pre-ram property to PMIC-B for proper early boot sequencing
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmogR3cACgkQ3bWEnRc2
 JJ2uxg/8Cq1I66AnGNcIcGd3HeRRrD38Wh3BYdY1lboi8sl4c1LRnaztSMPAt629
 m+W3c7GOi22PPpNxJX0xRnB3FHARp5M0804Hg1fW5fxE0V/YcC+9nVmpAlSoyjO1
 qifUYVbtRLFDCvG+a7KRQDUAU2Q8RY9/Es+pVyvaJ6d2++xOcRGbONVh/kF24l56
 QJV96ew0zDtio3gZO07MspoihEMnTTdsQYiER1kPBF0Al3OxLhF9787u4WSUJd0x
 2F5mKw2UXW3xQ0i2+dmw8y81DmLIV6yyzaga/mUiC8k7DE0lxNAKAABlweidAEmd
 o8JJ2MxjN6fWyiIY10KTo/WFdkJx1a6itMxThDLKDt8Lj5Y0cvPPrDXGA5DBSPB9
 0/B6/SucM0UjHlZUOqpSFmrKSOmF6P/HqB+6YzUf7acfjMmgLqFiaicUpptruS1C
 NL8rJ8l71kHbJhUnUIlrqoP9ELIaWGIUlg0oz48b2H5jYyDf2IXAKUjEsGuAlFsX
 si3aZl0DMXOi8LWlBiMb9w8y6G3TKmHHGm+0ATVW3uP8XWaKdoHK0xZeVrGfsYPa
 86+HC/4m58wFZCc+ga3Nk/uSbazWBzVCcreVHm49e622rVvTTknajLBPlbKsMN+b
 qY5AOR8DGG4NSPDP9KF1dJVBXI+E3u9taKJGhlKRxQSkZ7S5jx0=
 =NfiJ
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmooN9IACgkQmmx57+YA
 GNmmRxAAxAvU3Pe4QWXYIbTnrz6waKTXQgEiwiaknXbhi/uc2k4qIN8f4DPRcnXU
 mZENpVsSVxJpDB/IoqqWLobq9ZCLnMkWSBDVTtfodKJQKy6GyaCfGKeARFdssD73
 ixVb4wWtEfiJRRhFqwlcrI1On42vw2bhUL9PBmv5tVK68Ehf/BIN41e6ev7x79+b
 81htJlHZBCd+a3UCVQkG3i6HmMPho6M1/C/weiw3KOsay3yuAZmcLdxRjjcqvmTE
 Rmgvv4IamlzKmyfP7b/XcKIrQv88L1uKFbcSNKfUg0NDBvSGrFfplrwVllfQv8NW
 TcNwP9P3R+9sz5jxl6G76IMnCqFXE+tlJ8juP5S7mRv/DMuZG7pkIVneXFXMEZjB
 qhw7vLdZnFxmyHdQNTGLZDkIXX4YanlcDia1zyFw5yOv2VUuz1cXRNXPj1AdoVq0
 jb23yvRfz44NwFL61f5chchX/tjlKqUHYPC7a9zLnFEczDoj05m6wXizU8KTSPxC
 Pm7yt0A2G5+OsdoFFrRauLRumbGz+7fOVpQr0RqI2GJNB/ypFuYa+fQcQNfD4jVb
 D+aHaxkWb+lq54bmP98fZSEGLYrIV3myMCJqz6Qz6c9KXQT6jPZlNHuNxxG4MB0Z
 MZ3QFGom+flQeqj8g+iW+xDtM0oUkRaf4TzOdXPIR3A7tgeaI6w=
 =6Kjh
 -----END PGP SIGNATURE-----

Merge tag 'ti-k3-dt-for-v7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/dt

TI K3 device tree updates for v7.2

SoC Specific Features and Fixes:

J722S:
- Use ti,j7200-padconf compatible for pad configuration
- Add MCU and wakeup domain peripherals specific to J722S
- Use J722S-specific compatibles for WIZ, gmii-sel and CPSW3G nodes

Board Specific Features and Fixes:

AM62x (Toradex Verdin):
- Add display overlays: DSI-to-HDMI adapter, DSI-to-LVDS adapter with 10.1"
  panel, capacitive touch displays in 7" DSI, 10.1" DSI and 10.1" LVDS
  configurations, and Mezzanine with 10.1" LVDS display
- Add NAU8822 Bridge Tied Load audio support
- Add OV5640 CSI camera overlays
- Add Verdin Mezzanine CAN overlay
- Reserve UART_4 for Cortex-M4F use

AM625:
- Add support for TQ-Systems TQMa62xx SoM and MBa62xx carrier board,
  including new dt-bindings compatible strings

AM62x (phyBOARD-Lyra):
- Add DT overlay for Lincoln LCD185-101CT OLDI panel

AM62-LP SK:
- Add system-power-controller node

AM62A7 SK:
- Add bootph-all tag to vqmmc regulator for proper boot sequencing

J721S2-som:
- Add bootph-pre-ram property to PMIC-B for proper early boot sequencing

* tag 'ti-k3-dt-for-v7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  arm64: dts: ti: k3-am62-verdin: Add Mezzanine with Toradex Display 10.1" LVDS
  arm64: dts: ti: k3-am62-verdin: Add Toradex Verdin Mezzanine CAN
  arm64: dts: ti: k3-am62-verdin: Add Toradex OV5640 CSI Cameras
  arm64: dts: ti: k3-am62-verdin: Reserve UART_4 for Cortex-M4F
  arm64: dts: ti: k3-am62-verdin: Add NAU8822 Bridge Tied Load
  arm64: dts: ti: k3-am62-verdin: Add Toradex Capacitive Touch Display 7" DSI
  arm64: dts: ti: k3-am62-verdin: Add Toradex Capacitive Touch Display 10.1" DSI
  arm64: dts: ti: k3-am62-verdin: Add Toradex Capacitive Touch Display 10.1" LVDS
  arm64: dts: ti: k3-am62-verdin: Add Toradex DSI to LVDS adapter with 10.1" display
  arm64: dts: ti: k3-j722s-main: use J722S compatibles for WIZ, gmii-sel and CPSW3G
  arm64: dts: ti: k3-am62-verdin: Add DSI to HDMI adapter overlay
  arm64: dts: ti: Add TQ-Systems TQMa62xx SoM and MBa62xx carrier board Device Trees
  dt-bindings: arm: ti: Add compatible for AM625-based TQMa62xx SOM family and carrier board
  arm64: dts: ti: am62-phyboard-lyra: Add DT overlay for Lincoln LCD185-101CT panel
  arm64: dts: ti: k3-j721s2-som-p0: add bootph-pre-ram property to PMIC-B
  arm64: dts: ti: k3-j722s: Add wakeup domain peripherals specific to J722S
  arm64: dts: ti: k3-j722s: Add mcu domain peripherals specific to J722S
  arm64: dts: ti: k3-j722s: Use ti,j7200-padconf compatible
  arm64: dts: ti: k3-am62-lp-sk: Add system-power-controller
  arm64: dts: ti: k3-am62a7-sk: Add bootph-all tag to vqmmc

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-09 17:57:00 +02:00
Arnd Bergmann
c52ef0229b This pull request contains Broadcom ARM-based SoCs Device Tree changes
for 7.2, please pull the following:
 
 - Rosen moves the Meraki MX6X pinctrl configuration to the PWM node
   where it belongs, also fixes the USB3 GPIO for the R6300v2 and
   EA6500v2 routers
 
 - Jinseok fixes a gpio label for the bcm2711 systems (Raspberry Pi 4)
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmod6zkACgkQh9CWnEQH
 BwT8rA//fyt24BziBBI0p36ZyQtM09aALU1o0lw7/SvA1dNXLwVyZpGkYLuvQEhU
 9cMPnvgk2zzcGkC0kEAb+URgZJm/jSC6q1XktV/Ah+mXFbydFzB6mZpnl36zJYSS
 77ZHSNzXmGbFjJ1A9Z7PTj91P6OnrwS2qzTb4zfC+t+u/AU5fud7sId7KzPgiUHM
 pJFYhlPRdwpg1CwxRkXP1VK318bvDYD4BIs42nYZd1HE8Yzl/5DTePrteUAHRk57
 oJkuKn3ZYi7pgboIUKypqO6VyHh5LD3qoZN8SbkWA9gZ/A61mkpR2dceg7zCTNFu
 CtFyxicfsNacOOkYkN4B+9OebE7KsNOgjuO6bDDZdb92PeoVDzMUr8DNkKlnuCE9
 TmerTX06WLjEti/aKW4XmLhDKtGNSbbtdWNVMAPrJbLn5ctEdxDH5ILaHlvcrq8f
 Ya4JNZLDhG+JJqZSX65S9aYcinUb7BmUpoli5YbczG1yQbte6qHeHOjIuHGncDHc
 B030XEYD4SMAyPpJqKJze20QEK9lKaSgSPixZq5Pb9ZZuUBDc8zPUEV3+7hailpU
 Zm0jdffpTRP3bpIymefPuy2N6V3YxfZKRetW32JrLzcecCEr6KlqvVztFlUjjM7s
 nITgB/qfTkmVz8TsjYyLf2f7E60OJGai16gBSB/qzOUp9qJTatQ=
 =+Xv1
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmooN54ACgkQmmx57+YA
 GNlY7xAAnykFhBvTpvWvm+QnNIEz7FnTOZ5tJxHkzU3ra2BA5XENn2i9hr9bTaC3
 pcvV9Uj7ciidA5W0vsr2+Mx6MDqRrbCNUMNYJmzQoSsJThCYCk3bEeYtwVJWgp2E
 iNt2SBdTtmRpmD/0OK/3u6y37NJTmoaBy2E/MpCl+5aWJnoUZso1I9BVE1CIXD5I
 Ztdf+OKYIG00eFl7l1qf0wxu7AhagW8tEUO2sy3mb++pga6nlsk4tyGOFF9zIhcr
 6di/ifDDkjQCTO4YHcnmi1k7sAImD+46bSRd3gbgXCtaUYuPmDzwYzk1Z5fXHcJ3
 f3FtWfzjKXCpV+FLrCoSNEiku0EO7wOnx9qfHs8ObUTIUCqFNrTGZ5NQvh+CKsct
 3BCYccx73lTStTqk1fbtshDdzQG495xylTBc3T8Tjt2yM2SzWtMIkRb5lfL/1dh6
 3NisDK3tSppnSKbnnLIsG0l1IdRm8Wwd8oR7TJjv3J37fxw1HeEBEWYSv2jVzNJl
 vLaontWV6b0Umn/737nb7nMXXYOf53zes7Qa57GP7jSuJ6JIOR0BC+orEc75LNxJ
 5n8ZTQa5TcgEq30cfWzUhjphKoU/URafsT92m/t9msMG7MPpfBpR3M2W692mP93i
 1dQ83VF+LotOLIpqcixLIAJyQbaYr2A0wXGk51n521CFnnscNM4=
 =iAvC
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-7.2/devicetree' of https://github.com/Broadcom/stblinux into soc/dt

This pull request contains Broadcom ARM-based SoCs Device Tree changes
for 7.2, please pull the following:

- Rosen moves the Meraki MX6X pinctrl configuration to the PWM node
  where it belongs, also fixes the USB3 GPIO for the R6300v2 and
  EA6500v2 routers

- Jinseok fixes a gpio label for the bcm2711 systems (Raspberry Pi 4)

* tag 'arm-soc/for-7.2/devicetree' of https://github.com/Broadcom/stblinux:
  arm: dts: bcm2711: Fix typo in gpio-line-names
  ARM: dts: BCM5301X: EA6500v2: fix USB3
  ARM: dts: BCM5301X: R6300v2: fix USB3
  ARM: dts: NSP: Move MX6X pinctrl config to PWM node

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-09 17:56:05 +02:00
Arnd Bergmann
47be56c13c arm64: tegra: Changes for v7.2-rc1
This contains a fix for GPIO on Jetson AGX Thor and enables the PCIe
 controllers used on this platform.
 
 Smaug (a.k.a. Pixel C) devices can now be properly powered off via the
 PMIC.
 
 Miscellaneous improvements are made across a number of different boards,
 such as SMMU enablement on Tegra194 platforms and some better bootloader
 interoperation on Chromium-based devices.
 
 Finally, various minor fixes to device tree properties round off this
 set of changes.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmobywUACgkQ3SOs138+
 s6HDpg/8D6TiSLg6O2ei6dFCeyZGXyG1MxlZyBW9eS4peb8WR3J5AwL5xWMj3gyk
 JRXLQcQbme+f6EVlBxZBUcNvqilKw4ESd4Zi58P/4Jw/yZ7ExcuXmlt9b0JIiqNC
 8LsQkAqYIU6sWlcb9ti5SKXalNTZ4KglJicmXS1YdV+cCMnBXydRui2kc9cTSrFF
 TyP6sdb+OebvKltiFd3tlV18joEeoKy1H/Uz8hTuDefEOAKAYqy+rUi68qm/yqR0
 kSt4swqVRHRotmdoP0eqNCxi+iD10roiRLw+GZZ88dpvrmpN3jIXoTs35u3tUTOA
 +exKTJOggr7bGkb4RZ5pZ9r1+TTPD/trcao98oer9RU+++1d29rmIV4+mXt9wVEo
 PA+gelULpY9K/FUSohwkXt+X+XODVel1Ijo5QdXlhGwzoooR/O7uAzOoT0+i5/3g
 RR/WjSQ/7li7TTFDGWSZS0SbIVPDsb8+gRePLWwEDJdEIhnSc24X2j/qziV2Mys6
 ohrtERbXtIm8Wv/v4ACtROQ2uDWtigvMZ+XIUjriHXau5JYiBClutX43TfI/vL8l
 c8y0dHpu37SMIa4wYo4/RIjdK4d1UIdr8tz/8VSKEczf4vogftAnH9iQDTKQsAN6
 rgSVJHs694rKYThGWgF77uC5U0uf87AAPh5xpCCd9mywgyw5HmA=
 =kj5P
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmooNrYACgkQmmx57+YA
 GNkarBAAtrNMz2vLZVgizX3Xi2UmG5hgCBoAH94m8T9+NmQjc52wWGMqZI5nUI5g
 U1P/D9yme+V4NYTArll5bmW+NEXtqUIczUO1zmvUQmfici/bp3exOQF7TEP0PhZ/
 dPxPcR47UGWXoysSbHWeSHPb+wqaU+F6NciSYfDmpV1GGuNWOtfbLTINNEEfFqWJ
 jpab7TTsWudekfKk5xJMFKjannb0obGg9qj6Qq7djE/z1maoOYURdWXCK0+wYQb0
 4idZTA/6qf4rKs41JAVOr4KuHVKFjtiOiMWerOJbm28EkN6tOckTkSU6U1MpZE9V
 oVaMSMZY0QT2MHc4q4lE2m921bNKB7w2czdj02/7cskePEUZGQI47Ol/7OreEI+7
 on21CRM3NxbSLi6z+GjbwhArnKJGl+UXIVji142+goZgWyJiGEe79ZqAZq6P/wyf
 zRHCS2B7/S5YNmLxTl9JkXxZorU0BHV0A15YyudFlL1HRW6s8mmEwAVuhVjwJ2SO
 O2eut6iy4RMCKHP2Ff7lcWGwXnJdeE1nEf/mtCVNaE5H75m7rwiphMyKg+at8Mi2
 tID/hhCdBlyGDwWGyO/QOkdi78KolbYCW4pDb64Y04c45natalc0hmbh3lca3Uep
 guGYsNfumPtXwDJDxG68v/T4Bbbd4lrrstNVHrcfWWqsa1IAOPU=
 =VIOE
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-7.2-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt

arm64: tegra: Changes for v7.2-rc1

This contains a fix for GPIO on Jetson AGX Thor and enables the PCIe
controllers used on this platform.

Smaug (a.k.a. Pixel C) devices can now be properly powered off via the
PMIC.

Miscellaneous improvements are made across a number of different boards,
such as SMMU enablement on Tegra194 platforms and some better bootloader
interoperation on Chromium-based devices.

Finally, various minor fixes to device tree properties round off this
set of changes.

* tag 'tegra-for-7.2-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: tegra: Enable SMMU on Tegra194 display controllers
  Revert "arm64: tegra: Disable ISO SMMU for Tegra194"
  arm64: tegra: Add #{address,size}-cells to Chromium-based /firmware
  arm64: tegra: Fix aspm-l1-entry-delay-ns L1 latency cells
  arm64: tegra: Mark MAX77620 as system power controller on Smaug
  arm64: tegra: Enable PCIe for Jetson AGX Thor
  arm64: tegra: Fix address of Tegra264 main GPIO controller
  arm64: tegra: Add aspm-l1-entry-delay-ns to PCIe nodes
  arm64: tegra: Fix Tegra234 MGBE PTP clock

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-09 17:52:21 +02:00
Richard Zhu
9dda3f83ba PCI: imx6: Assert ref_clk_en after reference clock stabilizes on i.MX95
According to the PHY Databook Common Block Signals section, the
ref_clk_en signal must remain de-asserted until the reference clock is
running at the appropriate frequency. Once the clock is stable,
ref_clk_en can be asserted. For lower power states where the reference
clock to the PHY is disabled, ref_clk_en should also be de-asserted.

Move the ref_clk_en bit manipulation into imx95_pcie_enable_ref_clk()
to ensure the reference clock stabilizes before ref_clk_en is asserted
and before the PHY reset is de-asserted. This aligns with the timing
requirements specified in the PHY documentation.

Fixes: d8574ce57d ("PCI: imx6: Add external reference clock input mode support")
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20260518072715.3166514-3-hongxing.zhu@nxp.com
2026-06-09 21:15:30 +05:30
Richard Zhu
0c26b1c34d PCI: imx6: Configure REF_USE_PAD before PHY reset for i.MX95
According to the i.MX95 PCIe PHY Databook, the ref_use_pad signal in the
Common Block Signals section selects the reference clock source connected
to the PHY pads. Per the specification, any change to this input must be
followed by a PHY reset assertion to take effect.

Move the REF_USE_PAD configuration before the PHY reset toggle to comply
with the required initialization sequence.

Fixes: 47f54a902d ("PCI: imx6: Toggle the core reset for i.MX95 PCIe")
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
[mani: renamed the callback and helper to match the usecase]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20260518072715.3166514-2-hongxing.zhu@nxp.com
2026-06-09 21:14:56 +05:30
Kumar Kartikeya Dwivedi
f1a660bbd1
Merge branch 'bpf-enforce-btf-pointer-write-checks-for-global-args'
Nuoqi Gui says:

====================
bpf: Enforce BTF pointer write checks for global args

check_mem_reg() verifies both read and write access when a caller passes
memory into a global subprogram. For PTR_TO_BTF_ID callers,
check_helper_mem_access() currently always checks the access as BPF_READ.

That lets a tracing program pass a task_struct field pointer to a global
subprogram argument typed as writable memory. The direct field store is rejected
with "only read is supported", but the callee is validated with a generic
writable PTR_TO_MEM argument and can store through it.

Forward the requested access type into the PTR_TO_BTF_ID helper-access path and
add verifier coverage for the global-subprogram argument case.

Validation (tested on bpf-next 8496d9020f):

  Without this series:
    direct BTF field store rejected with "only read is supported";
    global-subprogram candidate loaded, attached, and runtime-confirmed.

  With this series applied:
    direct BTF field store rejected with "only read is supported";
    global-subprogram candidate rejected with "only read is supported".

Signed-off-by: Nuoqi Gui <gnq25@mails.tsinghua.edu.cn>
---
====================

Link: https://patch.msgid.link/20260609-f01-04-btf-writable-arg-v1-0-f449cd970669@mails.tsinghua.edu.cn
Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
2026-06-09 17:39:47 +02:00
Nuoqi Gui
af8c3f170f
selftests/bpf: Cover writable BTF field global subprog args
Add a verifier test for passing a BTF-backed task_struct field pointer to a
global subprogram argument typed as writable memory.

The direct field store is already rejected.
The global subprogram path should be rejected too.
The callee must not lose the BTF pointer's read-only provenance.
It must not validate the argument as ordinary writable memory.

Signed-off-by: Nuoqi Gui <gnq25@mails.tsinghua.edu.cn>
Link: https://lore.kernel.org/bpf/20260609-f01-04-btf-writable-arg-v1-2-f449cd970669@mails.tsinghua.edu.cn
Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
2026-06-09 17:39:46 +02:00
Nuoqi Gui
fa75b7c85b
bpf: Enforce write checks for BTF pointer helper access
check_mem_reg() verifies both read and write access for global subprogram
memory arguments. When the caller register is PTR_TO_BTF_ID,
check_helper_mem_access() currently forwards the access to
check_ptr_to_btf_access() as BPF_READ regardless of the requested access
type.

This lets a BTF-backed kernel object field pointer pass the caller-side
writable memory check for a global subprogram argument. The callee is then
validated with a generic writable PTR_TO_MEM argument and can store through
it, even though an equivalent direct BTF field store is rejected with "only
read is supported".

Forward the requested access type to check_ptr_to_btf_access().
This enforces existing BTF write restrictions for global subprogram memory
arguments as well.

Fixes: 3e30be4288 ("bpf: Allow helpers access trusted PTR_TO_BTF_ID.")
Signed-off-by: Nuoqi Gui <gnq25@mails.tsinghua.edu.cn>
Link: https://lore.kernel.org/bpf/20260609-f01-04-btf-writable-arg-v1-1-f449cd970669@mails.tsinghua.edu.cn
Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
2026-06-09 17:39:46 +02:00
Claudio Imbrenda
9030da050c KVM: s390: Document the KVM_CAP_S390_HPAGE_2G capability
Document the KVM_CAP_S390_HPAGE_2G capability, which behaves very
similarly to the existing KVM_CAP_S390_HPAGE_1M.

Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Message-ID: <20260609150930.665370-5-imbrenda@linux.ibm.com>
2026-06-09 17:30:57 +02:00
Claudio Imbrenda
46756c0863 KVM: s390: Allow for 2G hugepages
Change gmap_2g_allowed() to perform the necessary checks to allow for
2G hugepages to be used, instead of returning false. The
GMAP_FLAG_ALLOW_HPAGE_2G gmap flag is now taken into account.

Also add appropriate kerneldoc comments.

Reviewed-by: Steffen Eiden <seiden@linux.ibm.com>
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Message-ID: <20260609150930.665370-4-imbrenda@linux.ibm.com>
2026-06-09 17:30:57 +02:00
Claudio Imbrenda
103ff3a50e KVM: s390: Add capability to support 2G hugepages
Add KVM_CAP_S390_HPAGE_2G to signal to userspace that 2G hugepages may
be used to back the guest; restrictions apply similar to 1M hugepages.

Enable the (for now still ignored) GMAP_FLAG_ALLOW_HPAGE_2G flag for
the guest gmap, and propagate / disable it as necessary.

Reviewed-by: Steffen Eiden <seiden@linux.ibm.com>
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Message-ID: <20260609150930.665370-3-imbrenda@linux.ibm.com>
2026-06-09 17:30:57 +02:00
Claudio Imbrenda
782fec4ab9 KVM: s390: Add module parameter to fence 2G hugepages
Add the hpage_2g module parameter to KVM to allow enabling or disabling
2G hugepages in KVM.

If hpage_2g is enabled but hpage is not enabled, print a message and
disable hpage_2g.

Opportunistically fix the comment for the hpage module parameter.

Reviewed-by: Steffen Eiden <seiden@linux.ibm.com>
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Message-ID: <20260609150930.665370-2-imbrenda@linux.ibm.com>
2026-06-09 17:30:57 +02:00
Nuno Sá
55c01d3794 gpio: gpio-ltc4283: Add support for the LTC4283 Swap Controller
The LTC4283 device has up to 8 pins that can be configured as GPIOs.

Note that PGIO pins are not set as GPIOs by default so if they are
configured to be used as GPIOs we need to make sure to initialize them
to a sane default. They are set as inputs by default.

Acked-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Signed-off-by: Nuno Sá <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20260502-ltc4283-support-v13-3-1c206542e652@analog.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-06-09 08:30:29 -07:00
Nuno Sá
dd63353a0b hwmon: ltc4283: Add support for the LTC4283 Swap Controller
Support the LTC4283 Hot Swap Controller. The device features programmable
current limit with foldback and independently adjustable inrush current to
optimize the MOSFET safe operating area (SOA). The SOA timer limits MOSFET
temperature rise for reliable protection against overstresses.

An I2C interface and onboard ADC allow monitoring of board current,
voltage, power, energy, and fault status.

Signed-off-by: Nuno Sá <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20260502-ltc4283-support-v13-2-1c206542e652@analog.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-06-09 08:28:55 -07:00
Frederic Weisbecker
bb0c250e8e timers/migration: Temporarily disable per capacity hierarchies
Some workloads with different CPU capacities consume more power with
timer migration than before. The recently introduced per capacity
hierarchies were supposed to alleviate this problem. However it appears
to also regress other types of workloads, especially when plenty of
capacities live together in the same machine.

Disable the feature until a reasonable solution is found.

Fixes: 098cbaad8e ("timers/migration: Split per-capacity hierarchies")
Reported-by: Christian Loehle <christian.loehle@arm.com>
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Link: https://patch.msgid.link/20260609123356.28449-1-frederic@kernel.org
Closes: https://lore.kernel.org/all/3b79338f-6cfc-4722-8062-9103db2c8ad1@arm.com
2026-06-09 17:25:54 +02:00
Linus Torvalds
685441a6d3 11 hotfixes. 9 are for MM. 8 are cc:stable and the remaining 3
address post-7.1 issues or aren't considered suitable for backporting.
 
 Thre's a 2 patch series "mm/damon/{reclaim,lru_sort}: handle ctx
 allocation failures" from SeongJae Park which fixes a couple of DAMON
 -ENOMEM bloopers.  The rest are singletons - please see the individual
 changelogs for details.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTTMBEPP41GrTpTJgfdBJ7gKXxAjgUCaieN5AAKCRDdBJ7gKXxA
 jkN7AP9wXhRFOUq0EPeQxnlie7vgM/jiDuOoPAn7EUt9S7pqCwEApJnxEbMzXioD
 Jx6MxoUqqa/d5wXb7u0MRgT76n9KOwk=
 =hdKc
 -----END PGP SIGNATURE-----

Merge tag 'mm-hotfixes-stable-2026-06-08-20-51' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Pull misc fixes from Andrew Morton:
 "11 hotfixes. 9 are for MM. 8 are cc:stable and the remaining 3 address
  post-7.1 issues or aren't considered suitable for backporting.

  Thre's a two-patch series "mm/damon/{reclaim,lru_sort}: handle ctx
  allocation failures" from SeongJae Park which fixes a couple of DAMON
  -ENOMEM bloopers. The rest are singletons - please see the individual
  changelogs for details"

* tag 'mm-hotfixes-stable-2026-06-08-20-51' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
  mm/mincore: handle non-swap entries before !CONFIG_SWAP guard
  arm64: mm: call pagetable dtor when freeing hot-removed page tables
  mm/list_lru: drain before clearing xarray entry on reparent
  mm/huge_memory: use correct flags for device private PMD entry
  mm/damon/lru_sort: handle ctx allocation failure
  mm/damon/reclaim: handle ctx allocation failure
  zram: fix use-after-free in zram_bvec_write_partial()
  MAINTAINERS: update Baoquan He's email address
  tools headers UAPI: sync linux/taskstats.h for procacct.c
  mm/cma_sysfs: skip inactive CMA areas in sysfs
  ipc/shm: serialize orphan cleanup with shm_nattch updates
2026-06-09 08:24:25 -07:00
Nuno Sá
7ab12d5ab4 dt-bindings: hwmon: Document the LTC4283 Swap Controller
The LTC4283 is a negative voltage hot swap controller that drives an
external N-channel MOSFET to allow a board to be safely inserted and
removed from a live backplane.

Special note for the "adi,vpower-drns-enable" property. It allows to choose
between the attenuated MOSFET drain voltage or the attenuated input
voltage at the RTNS pin (effectively choosing between input or output
power). This is a system level decision not really intended to change at
runtime and hence is being added as a Firmware property.

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Nuno Sá <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20260502-ltc4283-support-v13-1-1c206542e652@analog.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-06-09 08:24:22 -07:00
Ashish Yadav
d647ebf5a5 hwmon: (pmbus/xdp720) Fix driver issues xdp720/730
Fix driver issues:
- Add the missing regulator and property files in include
- Declare XDP720_DEFAULT_RIMON as unsigned constant
- Declare struct pmbus_driver_info xdp720_info as constant

Signed-off-by: Ashish Yadav <ashish.yadav@infineon.com>
Link: https://lore.kernel.org/r/20260609072231.15486-4-Ashish.Yadav@infineon.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-06-09 08:23:21 -07:00
Ashish Yadav
7c264a7d07 hwmon: (pmbus/xdp720) Add support for efuse xdp730
Adds support for the Infineon XDP730 Digital eFuse Controller by
updating the existing XDP720 driver.

Signed-off-by: Ashish Yadav <ashish.yadav@infineon.com>
Link: https://lore.kernel.org/r/20260609072231.15486-3-Ashish.Yadav@infineon.com
[groeck: Fixed conflicts in xdp720_id declaration]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-06-09 08:23:18 -07:00
Ashish Yadav
adf2bba494 dt-bindings: hwmon/pmbus: Add Infineon xdp730
Add documentation for the device tree binding of the XDP730 eFuse.
Rename node to efuse to accurately reflect its hardware function.

Signed-off-by: Ashish Yadav <ashish.yadav@infineon.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20260609072231.15486-2-Ashish.Yadav@infineon.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-06-09 08:23:18 -07:00
Kory Maincent
cd1b42617a hwmon: (adt7462) Add of_match_table to support devicetree
Add of_match_table to add support of devicetree probing.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
[rgantois: Removed of_match_ptr().]
Signed-off-by: Romain Gantois <romain.gantois@bootlin.com>
Link: https://lore.kernel.org/r/20260608-adt7462-bindings-v2-1-272982c40325@bootlin.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-06-09 08:23:18 -07:00
Brian Downey
5f6617089d hwmon: (asus-ec-sensors) add ROG MAXIMUS Z790 EXTREME
Add support for ROG MAXIMUS Z790 EXTREME

Signed-off-by: Brian Downey <bdowne01@gmail.com>
Signed-off-by: Eugene Shalygin <eugene.shalygin@gmail.com>
Link: https://lore.kernel.org/r/20260608060855.40469-1-eugene.shalygin@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-06-09 08:23:18 -07:00
Syed Arif
9e8475a02b hwmon: (pmbus/max20860a) Add driver for Analog Devices MAX20860A
Add a PMBus driver for the Analog Devices MAX20860A step-down DC-DC
switching regulator. The MAX20860A provides monitoring of input/output
voltage, output current, and temperature via the PMBus interface using
linear data format. Optional regulator support is available via
CONFIG_SENSORS_MAX20860A_REGULATOR.

Signed-off-by: Syed Arif <arif.syed@hpe.com>
Signed-off-by: Sanman Pradhan <psanman@juniper.net>
Link: https://lore.kernel.org/r/20260601184516.919488-3-sanman.pradhan@hpe.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-06-09 08:23:18 -07:00
Sanman Pradhan
9ccccac56b dt-bindings: hwmon: pmbus: Add Analog Devices MAX20860A
Add devicetree binding documentation for the Analog Devices MAX20860A
step-down DC-DC switching regulator with PMBus interface.

Signed-off-by: Sanman Pradhan <psanman@juniper.net>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20260601184516.919488-2-sanman.pradhan@hpe.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-06-09 08:23:18 -07:00
Daniel Nilsson
cd447db64f hwmon: (pmbus) Add support for Flex BMR316, BMR321, BMR350 and BMR351
Add support for BMR316, BMR321, BMR350 and BMR351 DC/DC converter
modules from Flex to the pmbus driver.

Signed-off-by: Daniel Nilsson <linux@erq.se>
Link: https://lore.kernel.org/r/20260603085712.659432-2-linux@erq.se
[groeck: Resolved conflicts (explicit struct members in pmbus_id)]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-06-09 08:23:17 -07:00
Uwe Kleine-König (The Capable Hub)
d12bcf7d41 hwmon: Use named initializers for platform_device_id arrays
Named initializers are better readable and more robust to changes of the
struct definition. This robustness is relevant for a planned change to
struct platform_device_id replacing .driver_data by an anonymous unit.

While touching these arrays unify usage of commas.

Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com>
Link: https://lore.kernel.org/r/25d38df8db42d69f33fa30267c9fd5ea058223d0.1779894738.git.u.kleine-koenig@baylibre.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-06-09 08:23:17 -07:00
Uwe Kleine-König (The Capable Hub)
acac4eb97a hwmon: (cros_ec) Drop unused assignment of platform_device_id driver data
The driver explicitly set the .driver_data member of struct
platform_device_id to zero without relying on that value. Drop this
unused assignments.

While touching this array unify spacing and use named initializers for
.name.

Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com>
Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org>
Acked-by: Thomas Weißschuh <linux@weissschuh.net>
Link: https://lore.kernel.org/r/972c9998054c7944f63266819d6fb08b36edb5c5.1779894738.git.u.kleine-koenig@baylibre.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-06-09 08:23:13 -07:00
Nikita Zhandarovich
7f8581c70a hwmon: (it87) Clamp negative values to zero in set_fan()
set_fan() parses user input with kstrtol() and passes the resulting
value to FAN16_TO_REG() on chips with 16-bit fan support.

Negative fan speeds are not meaningful and should be rejected before
conversion. Worst scenario, one may be able to abuse undefined
behaviour of signed overflow to possibly induce rpm * 2 == 0 in
FAN16_TO_REG(), thus causing a division by zero.

Instead, clamp val < 0 to zero and keep the conversion in its valid
input domain, avoiding unsafe arithmetic in the register conversion
path.

Found by Linux Verification Center (linuxtesting.org) with static
analysis tool SVACE.

Fixes: 17d648bf57 ("it87: Add support for the IT8716F")
Signed-off-by: Nikita Zhandarovich <n.zhandarovich@fintech.ru>
Link: https://lore.kernel.org/r/20260529141839.1639287-1-n.zhandarovich@fintech.ru
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-06-09 08:23:09 -07:00
Eugene Shalygin
5e9f315435 hwmon: (asus-ec-sensors) add ROG STRIX B850-E GAMING WIFI
The board has a similar sensor configuration to the
ROG STRIX B850-I GAMING WIFI, but includes an additional
T-Sensor header. The patch was provided via GitHub [1].

[1] https://github.com/zeule/asus-ec-sensors/pull/105

Signed-off-by: Eugene Shalygin <eugene.shalygin@gmail.com>
Link: https://lore.kernel.org/r/20260607123626.100630-1-eugene.shalygin@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-06-09 08:23:09 -07:00