for 6.18, please pull the following:
- Krzysztof fixes a DTC warning for the ARM GIC in bcm2712.dtsi
- Ivan adds the pin controller node(s), an additional GPIO controller,
the second SDHCI controller node for SDIO Wi-Fi, and the UARTA for
Bluetooth to the BCM2712 DTS (Raspberry Pi 5)
- Stanimir adds the Ethernet DT node and enables it for the RP1 sister
chip
- Andrea deletes a number of redundant PCIe DT node enablement, updates
a comment to describe the relationship between bcm2712 and RP1 and
finally enables the USB controllers with RP1
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmjBsLIACgkQh9CWnEQH
BwTFFBAAzwb6T/eAb1eu2ut8Jn42SzqowKd1YLBkonVCQ55onTAIXaH9IyIsQ/gs
tCOc6aTJaVZCjvTl4Qp1dCB/XLEtK2WtCed3Avu5JZLTWRZjjsYFW5dHTbScl4m/
AOoXGj1p9IDHB8LRzdd/5DSh0dIj1Y5npCEti1J9mFoL8zPEIHfEvSa+wXV49i2a
25xZKA8TwQOmfwtxYrLIKO0aEaOLPFGcbqc+9lDCwGzJj3Af5VpB2P6lGTjpLFdG
AE3sUvtL6Hfs47XgHn/oRoQFvljuTClEU9tUWq+k6BUz9p6t13833jVwz8I6lZPl
9XoYRvuP3g2hELWRbX63PogePTNZp5Iqn5KG1YLlLigsxrHHN7TQnu2AP6l/R6Ti
gm108ZmidXOFbc10ONkOUQv0MX/U8Mi9XW4xXTvDG85UkiftEMXaXcfozlNoWnrB
rSwLotqsMVyfR5yu/kuxWODGsRdLteRFTv1T4Bzf2r4p/EbVRp4hcPQyQGAazGXZ
gUKqn11FBAdKAEkgH8VpSfBh7Freet3Cgs/ttaTpmG7I0NDPJ4PBegdxMlB6TY9K
ThhUv4qEWMXuggZxbgLp1v1tPtbheHN4REX62nYLxYrdaAXREukGFhcjrNZl4CVk
E77Vl5sNjOgBJqrgaw2b3Nbs7VMymEdSoTnGrY+RCYlE/SEZ/L8=
=1ROS
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmjIEWMACgkQmmx57+YA
GNmhzA/8CjEyy71uETe/H5rPJwL34OR8SH3XNNHle14Ce5qlYS7n9sADz/n8Q4Vi
JvDPZcZsH+2Bc7adaw9pvWRzTtnj0bkxPXe1Wp400UX8JLNIDfbRm5BWpIh2Gk2U
ET/FqynAr7ppcxu1Py3qnCfFuZrIYrQFYk0nPvOuaYysjtXAIOJbjVdI1JjpqkM1
5LhAsV//0CT7OTfbww4P+Sga+weM0aB+3sZ/7dg8Uf6AXP3nfzwtf9vch5GBvnok
rYB6SCKdD9ZVF/SpbF1ruvaCekzemNqVXITrEicCjnzjzUKP/fbxR0IddntQ1cYk
ZuUDQ24H39qeXoirDDw8gQ3BFBOH6mOYB2hMCzL/hLMXc5ljevZtfThbPv9v6xmb
9qHVWfeu2yD0JA/dIva1OVTwQMzDSy+v4BfWnOzXxLZemwoL4Ly1o15tdzAsGXb7
BIYVMTe8h+PAvUoYC+yEbMJrf8ZW8knFvMLPBZTL/GVWaAIVLBYiXVkRVFHtSMVN
MOGDLroW6iIKVnp/KSeTyeSy4V0gYRDLF8qWXUX2QKLwfJipCAo+dACWzbmA59Ex
JjhgQ48lwybJB8P9TePzR1CyTyj2Jf03AvhV6rkULEFz6pQiXbwktgGgfsw9RgI2
g2AhRKLgoUghc2odjfbDFy9z5/WRn5m3Uv7raAUEnOT22TKg9NQ=
=4ja6
-----END PGP SIGNATURE-----
Merge tag 'arm-soc/for-6.18/devicetree-arm64' of https://github.com/Broadcom/stblinux into soc/dt
This pull request contains Broadcom ARM64-based SoCs Device Tree updates
for 6.18, please pull the following:
- Krzysztof fixes a DTC warning for the ARM GIC in bcm2712.dtsi
- Ivan adds the pin controller node(s), an additional GPIO controller,
the second SDHCI controller node for SDIO Wi-Fi, and the UARTA for
Bluetooth to the BCM2712 DTS (Raspberry Pi 5)
- Stanimir adds the Ethernet DT node and enables it for the RP1 sister
chip
- Andrea deletes a number of redundant PCIe DT node enablement, updates
a comment to describe the relationship between bcm2712 and RP1 and
finally enables the USB controllers with RP1
* tag 'arm-soc/for-6.18/devicetree-arm64' of https://github.com/Broadcom/stblinux:
arm64: dts: broadcom: Enable USB devicetree entries for Rpi5
arm64: dts: broadcom: rp1: Add USB nodes
arm64: dts: broadcom: amend the comment about the role of BCM2712 board DTS
arm64: dts: broadcom: delete redundant pcie enablement nodes
arm64: dts: broadcom: Enable RP1 ethernet for Raspberry Pi 5
arm64: dts: rp1: Add ethernet DT node
dt-bindings: mmc: Add support for capabilities to Broadcom SDHCI controller
arm64: dts: broadcom: bcm2712: Add UARTA controller node
arm64: dts: broadcom: bcm2712: Add second SDHCI controller node
arm64: dts: broadcom: bcm2712: Add one more GPIO node
arm64: dts: broadcom: bcm2712: Add pin controller nodes
arm64: dts: broadcom: bcm2712: Add default GIC address cells
Link: https://lore.kernel.org/r/20250910171910.666401-3-florian.fainelli@broadcom.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
1. Drop S3C2416 SoC from bindings, because it was removed from kernel
in 2023.
2. Add Ethernet attached via SROM controller (memory bus) on SMDK5250.
This wasn't tested, but code should work just like it is working on
Exynos5410-based boards.
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmjAda4QHGtyemtAa2Vy
bmVsLm9yZwAKCRDBN2bmhouD176ID/4y6wg9Z3QmfhdJfKwunnkYz6A2tV53h/KX
E4FL+Ussc/hz9GZu9IagdXOlE0DaP1+QI2uA6azfK6pbsgVJR72M72O0meOkvXoF
YCUWEzZPkqZhxmJSJYdFaEIcGW48gFAlrthZXfZxXIrBngRd5UUeWkTExV5HdoPx
TVi8tE4CLECFQzsSEYKHVuMSqKVlmd8haJyzNo1I9IXNE60ThuTdTayeT8VO6h4a
J4J0j9Wb8PZE0kDrxA7lZZECbNVGwWaBSAaDcsqjIzlCBhia2Lc3CnEiCWoB3YFk
KZ2NxhQK1PvNuDmSSkJ35eu+yJJNXRpP4g5xBRd1IRLZU6MzSu/lMw/WPYbWIk5c
9RPiBlinJTshjk6NoaolIs2OUslokCaKcYWsmwZePLI0epWJSLRcEaJ+HIgK8VXJ
guLbpN3JDBnC1ocyWnEFAJUTnpnS/GDus9GbjftSj+2Er4rrbXYbws72fQuCPKTk
rPFnLhwKir64P/Dk8VDOUWVFOBrhslrMRG9LdZp9pRToA6lqp/70EDVX+/7MFKJf
wtBsCOtwE0oTyr1HNsJnn/Wmn9RfV+Umtprd1LYkB5S2JYxJcqmxl/OcEP80/C+G
MQh9gO2ZU80A9E/+kAbtDTjHMyYHROwNJTQK3/PdWQ11hlgg9SQpUjM7LHiVWouH
+SHP8+BTiQ==
=7TWt
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmjIEIsACgkQmmx57+YA
GNndrw/8CjlAVt+L0lVi7/I+x/Bi2cDH0oOSJwZTdArhOjymaGZKHdstxadFbJnE
hCSGmOZifU+Mpifwf1d/7VZlivdwlMk1/Ruzlh2BAK/lOPQtfMyTXiAlILRRrRuU
BsvPr0Ob/8KAEY0L/Hq6iKsVdjkq+2CdRHqmmrM9h47cdKzogZTXH/BwpkZP3JcX
fQdshVqgpio9oQF74SXwlZ+/ZUDwZJCfHKN7UdcHXht3Aiw0BN2Cf0wkTaQe6WXJ
v2/kRiF8Poj/skEDOQX+heXoLbzlBVz7+9vR/f7ykuMUbELBUWfFEzXYVZi+ml0d
Ew1gAl1HfQwAPgBi9c5x++gVyI8GTZQIq2vmt39abRcxpnEpl4m+Cg9xKxFxRcqu
bVrxdde1ZG8H3TrFUAyRZaD/hnVRbRnSbci+fcRGV1WqlPkQ7o6SO/A5K+tHTuf8
+gYJli9DAHwB6ElQKSGNO7a2oyezGampCx3fEMzyyT4evD17CIY4suYIY9ImShxj
u0DWZR55zkyYsF89Q2enic3ldUlCe5mdMi+ReFnV+iciqR09oc2rYGLpCusJ+9sD
fWQ6Vs2BaZxihiMijBoHZdL90dHpokkwrAS/iME8QzIoZPyq6wlmGa4MtcLhEiGR
QgybbsgpoimjAKV4VBbGIExMhmoq8a9V1lsVa3wuLHL46sTxbQI=
=T++I
-----END PGP SIGNATURE-----
Merge tag 'samsung-dt-6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/dt
Samsung DTS ARM changes for v6.18
1. Drop S3C2416 SoC from bindings, because it was removed from kernel
in 2023.
2. Add Ethernet attached via SROM controller (memory bus) on SMDK5250.
This wasn't tested, but code should work just like it is working on
Exynos5410-based boards.
* tag 'samsung-dt-6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
ARM: dts: samsung: smdk5250: add sromc node
ARM: dts: samsung: exynos5250: describe sromc bank memory map
ARM: dts: samsung: exynos5410: use multiple tuples for sromc ranges
dt-bindings: arm: samsung: Drop S3C2416
Link: https://lore.kernel.org/r/20250909184559.105777-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Having a platform need a mach-* directory should be seen as a negative,
it means the platform needs special non-standard handling. ARM64 support
does not allow mach-* directories at all. While we may not get to that
given all the non-standard architectures we support, we should still try
to get as close as we can and reduce the number of mach directories.
The mach-hpe/ directory and files, provides just one "feature":
having the kernel print the machine name if the DTB does not also contain
a "model" string (which they always do). To reduce the number of mach-*
directories let's do without that feature and remove this directory.
Note, we drop the l2c_aux_mask = ~0 line, but this is safe as
the fallback GENERIC_DT machine has that as the default.
Signed-off-by: Andrew Davis <afd@ti.com>
Link: https://lore.kernel.org/r/20250813170308.290349-1-afd@ti.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
INITRAMFS_PRESERVE_MTIME is only used in init/initramfs.c and
init/initramfs_test.c. Hence add a dependency on BLK_DEV_INITRD, to
prevent asking the user about this feature when configuring a kernel
without initramfs support.
Fixes: 1274aea127 ("initramfs: add INITRAMFS_PRESERVE_MTIME Kconfig option")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Martin Wilck <mwilck@suse.com>
Reviewed-by: David Disseldorp <ddiss@suse.de>
Signed-off-by: Christian Brauner <brauner@kernel.org>
HINLINK H66K / H68K .
Interesting new peripherals: I guess the most interesting one is likely
the NPU on RK3588. The rocket driver has been merged into both the DRM
tree as well as mainline Mesa.
Other stll interesting ones are DW-Displayport on RK3588, DSI on RK3576
(missing soc pwm-support to be useful on most boards), thermal support
and watchdog on RK3576.
The rest peripheral additions on a number of boards (Beelink A1,
Pine{phone,book}, rk3576-evb1-v10, Rock 5*, ...)
-----BEGIN PGP SIGNATURE-----
iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmi9tiEQHGhlaWtvQHNu
dGVjaC5kZQAKCRDzpnnJnNEdgZQaB/47jWeYR6rOGm1+TDB20oxYtjIw4JQMH9wU
vXUeVFjghAzdO2vkvKQ+q0WztNxyQMS1Gwq53mnHtqprA4q4SDLN29zkptt7cBRj
8M3pi30RSKmOBGodceKNoCViK7/+mKBaQm66S2SaJaAWp9ZOwWQx1NsGLmiKe7uP
XeMtD8ZHXyw7/NZ0zCcIfApX22A3EQdYc1zfjj6Xo3lDcQhyaI96PP/ZWKZHHS/o
Tm76uVTOP9rk0IAwvG/51jcBRSRNg9+bSdoAuUb7hbRE4yG888wDcH/BDk6B9PwS
yvu2gj8h1ZMPB686bZM+7IHt06FyjNYxl9ceLPOFIYTdTGYigN8T
=wD74
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmjIDMUACgkQmmx57+YA
GNn5Lw/+PkudDxFyHfbLeX+rCxgMqNZXdCPhb5BIElQo3drH75dsjUFdpYazOo5u
hkcr4QOGMllaPKEtkjdyu1AbExCzft30d5dvtKxCmkDNKCkFWw5YHqrxg3KJteRz
PDJMqUYPfhIn9xWm9D0ZFoKH+IV1iK7SF9STHjMzkaRI9rOpFoAvYZ18yfLhOPoZ
+wrm7D4nQlUayjXYByBwoYd42dCpnaJYWNTcqISWnNKlPXxXUGatDA6lkWUfzqyx
GZ+iHOYhevwyuXErjHwBKyseSrGmZScJ38v4PXM33frwE5KjsXh9UHb9lpaYgweE
b2IsfLNzTSde/Ge2qZsIQHGs7AMf20AFVKgVzdAWh92d9hR3GRNPkakF8s8JwuSB
PsA3p4JM2soHDCChwxjWEYndjgw/zzyATDfN3RrbV2uDNEySrfvHaogAktttCX9J
TXnSFZQaiS+qCqkGip/sH8bQbRvcxgHMEl3705Nc6km5OANK6BhdAsfJJlCbsiT6
D13YopeCpNRBGO/XJYdFWBGCuK2TiQ/Vbj0CJXXnlhiKw2byLw2VewI1GD52iuVx
X1+xCDSkVVN7m/JEVXo8IDbKBUcT4XqPsTpKWX3A1N+LpwCDB3aeaHihjuB333R+
t7arvRCcJARLDc8h13Q/buGo+SRiTwykwHH8uGvR9WlxuQ8mylI=
=lmF1
-----END PGP SIGNATURE-----
Merge tag 'v6.18-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt
New boards: FriendlyElec NanoPi Zero2, ArmSoM Sige1, Radxa ROCK 2A/2F,
HINLINK H66K / H68K .
Interesting new peripherals: I guess the most interesting one is likely
the NPU on RK3588. The rocket driver has been merged into both the DRM
tree as well as mainline Mesa.
Other stll interesting ones are DW-Displayport on RK3588, DSI on RK3576
(missing soc pwm-support to be useful on most boards), thermal support
and watchdog on RK3576.
The rest peripheral additions on a number of boards (Beelink A1,
Pine{phone,book}, rk3576-evb1-v10, Rock 5*, ...)
* tag 'v6.18-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (46 commits)
arm64: dts: rockchip: Enable DP2HDMI for ROCK 5 ITX
arm64: dts: rockchip: Enable DisplayPort for rk3588s Cool Pi 4B
arm64: dts: rockchip: Add DP1 for rk3588
arm64: dts: rockchip: Add DP0 for rk3588
arm64: dts: rockchip: Add FriendlyElec NanoPi Zero2
dt-bindings: arm: rockchip: Add FriendlyElec NanoPi Zero2
arm64: dts: rockchip: Add ArmSoM Sige1
dt-bindings: arm: rockchip: Add ArmSoM Sige1
arm64: dts: rockchip: Add Radxa ROCK 2A/2F
dt-bindings: arm: rockchip: Add Radxa ROCK 2A/2F
dt-bindings: soc: rockchip: add missing clock reference for rk3576-dcphy syscon
arm64: dts: rockchip: add USB3 on Beelink A1
arm64: dts: rockchip: add SPDIF audio to Beelink A1
arm64: dts: rockchip: add IR receiver to rk3328-roc
arm64: dts: rockchip: Further describe the WiFi for the Pinephone Pro
arm64: dts: rockchip: Further describe the WiFi for the Pinebook Pro
arm64: dts: rockchip: Enable the NPU on NanoPi R6C/R6S
arm64: dts: rockchip: enable NPU on OPI5/5B
arm64: dts: rockchip: Add Bluetooth on rk3576-evb1-v10
arm64: dts: rockchip: Add WiFi on rk3576-evb1-v10
...
Link: https://lore.kernel.org/r/5241735.C4sosBPzcN@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Add a device tree node for the IMG BXM-4-64 GPU present in the T-HEAD
TH1520 SoC used by the Lichee Pi 4A board. This node enables support for
the GPU using the drm/imagination driver.
By adding this node, the kernel can recognize and initialize the GPU,
providing graphics acceleration capabilities on the Lichee Pi 4A and
other boards based on the TH1520 SoC. The display controller and HDMI
output are still a work in progress.
Also included is a MAINTAINERS patch that adds an entry for the T-Head
SoC patchwork.
Signed-off-by: Drew Fustini <fustini@kernel.org>
-----BEGIN PGP SIGNATURE-----
iHUEABYIAB0WIQSy8G7QpEpV9aCf6Lbb7CzD2SixDAUCaLx9VAAKCRDb7CzD2Six
DHXtAQCxK0kmJWID+40PSrvAnK6TO0nDPmS5IP1ZCP4cNp3RQAD/ePNIwaBDGiP1
8uyujrLGrp1t4B4jKPDUgpdDr9ZYxQE=
=FKml
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmjIDA4ACgkQmmx57+YA
GNk2rxAAngIWvzhGLd3AW/ejkLLO2yurZJnbwNfCaLpJpGWFRRIorlL0L/yfoC0m
Q2zUxFZ0+m/ZorVY+P/QntzUSfFOCYoo8sEkZiQGFq1un5dOVVXbpRecXbWKVUmf
Qq24Uic7kVtLLTyBaH0pZe/WySRiJL8LYi0V57dVbeKhDKkm0eVjK6UnJwUOK57f
q/H3/xS+COudss0Yt10Uc3hFlL/A77vV6fBqlXZZqlG6gXbhuNaeOx2yd3sNQh0z
zP5laN8kbIopPYA+HzCzpcPLbUoa/cQGPe74FHBHe+keUknvoq9G+9UCDndGeNSp
JDb1nE83vg1vBHBBERTDHjOCwXKFUvGbv4cx9otQV3xMQ9ypkkL/Bimf5DtFjydJ
FNzzhxSukD6MyohjiBWeVMCR2gpxR/+K/DZFVRba789pEf0ypCzsP9gI1tk0aPuc
RuqsqcENCCu4ClWqXyDjfekWdVGQgo3YV3VZChSM4izIH5iSxGFGi6/ylotueHMA
7E3Wza046jd8FrrMpdP6SjNBVQToLl0BZ1FaYq9PeD1US+wMesQYXk9+m0ZSa2gs
dN/S7uJJk8j2AycoRVT1QddR3boaWABOJCO7+L/RBrBaPqlNcO0qHhwWDl5AxRv/
5XXSf59Rhzsw6X/K4huDpo73mkWMfEtrmWvKjryU86tfmwahUhc=
=NobZ
-----END PGP SIGNATURE-----
Merge tag 'thead-dt-for-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/fustini/linux into soc/dt
T-HEAD Devicetrees for v6.18
Add a device tree node for the IMG BXM-4-64 GPU present in the T-HEAD
TH1520 SoC used by the Lichee Pi 4A board. This node enables support for
the GPU using the drm/imagination driver.
By adding this node, the kernel can recognize and initialize the GPU,
providing graphics acceleration capabilities on the Lichee Pi 4A and
other boards based on the TH1520 SoC. The display controller and HDMI
output are still a work in progress.
Also included is a MAINTAINERS patch that adds an entry for the T-Head
SoC patchwork.
Signed-off-by: Drew Fustini <fustini@kernel.org>
* tag 'thead-dt-for-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/fustini/linux:
MAINTAINERS: Add RISC-V T-HEAD SoC patchwork
riscv: dts: thead: th1520: Add IMG BXM-4-64 GPU node
Link: https://lore.kernel.org/r/aLyIXR1G9DUzwGWc@x1
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Add the local variable 'nr_disks' and replace the manual ternary "s"
pluralization with the standardized str_plural() helper function.
Use pr_notice() instead of printk(KERN_NOTICE) to silence a checkpatch
warning.
No functional changes intended.
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Use struct_size() to calculate the number of bytes to allocate for a new
directory entry. No functional changes.
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: Christian Brauner <brauner@kernel.org>
The xe_preempt_fence_create() function returns error pointers. It
never returns NULL. Update the error checking to match.
Fixes: dd08ebf6c3 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Link: https://lore.kernel.org/r/aJTMBdX97cof_009@stanley.mountain
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
If CONFIG_HID_HAPTIC is enabled, and the device is recognized to have
simple haptic capabilities, try initializing the haptic device, check
input frames for pressure and handle it using hid_haptic_* API.
Signed-off-by: Angela Czubak <aczubak@google.com>
Co-developed-by: Jonathan Denose <jdenose@google.com>
Signed-off-by: Jonathan Denose <jdenose@google.com>
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
Function hid_haptic_switch_mode() can be used to switch between
device-controlled mode and host-controlled mode. Uploading a
WAVEFORMPRESS or WAVEFORMRELEASE effect triggers host-controlled mode if
the device is in device-controlled mode.
Signed-off-by: Angela Czubak <aczubak@google.com>
Co-developed-by: Jonathan Denose <jdenose@google.com>
Signed-off-by: Jonathan Denose <jdenose@google.com>
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
Add a flag to generate ABS_PRESSURE as sum of ABS_MT_PRESSURE across
all slots.
This flag should be set if one knows a device reports true force and would
like to report total force to the userspace.
Signed-off-by: Angela Czubak <aczubak@google.com>
Co-developed-by: Jonathan Denose <jdenose@google.com>
Signed-off-by: Jonathan Denose <jdenose@google.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
Implement hid_haptic_handle_press_release() which generates haptic feedback
as well as saves the pressed state of the haptic device.
Add functions to increase and reset the state of the pressure detected by
the device.
Signed-off-by: Angela Czubak <aczubak@google.com>
Co-developed-by: Jonathan Denose <jdenose@google.com>
Signed-off-by: Jonathan Denose <jdenose@google.com>
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
Assume that if the pressure is given in newtons it should be normalized
to grams. If the pressure has no unit do not calculate resolution.
Signed-off-by: Angela Czubak <aczubak@google.com>
Co-developed-by: Jonathan Denose <jdenose@google.com>
Signed-off-by: Jonathan Denose <jdenose@google.com>
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
Add hid_haptic_init(). Parse autotrigger report to retrieve ordinals for
press and release waveforms.
Implement force feedback functions.
Signed-off-by: Angela Czubak <aczubak@google.com>
Co-developed-by: Jonathan Denose <jdenose@google.com>
Signed-off-by: Jonathan Denose <jdenose@google.com>
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
This change makes it possible to parse output reports by input mapping
functions by HID drivers.
Signed-off-by: Angela Czubak <aczubak@google.com>
Co-developed-by: Jonathan Denose <jdenose@google.com>
Signed-off-by: Jonathan Denose <jdenose@google.com>
Reviewed-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
Define a new structure that contains simple haptic device configuration
as well as current state.
Add functions that recognize auto trigger and manual trigger reports
as well as save their addresses.
Verify that the pressure unit is either grams or newtons.
Mark the input device as a haptic touchpad if the unit is correct and
the reports are found.
Signed-off-by: Angela Czubak <aczubak@google.com>
Co-developed-by: Jonathan Denose <jdenose@google.com>
Signed-off-by: Jonathan Denose <jdenose@google.com>
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
INPUT_PROP_HAPTIC_TOUCHPAD property is to be set for a device with simple
haptic capabilities.
Signed-off-by: Angela Czubak <aczubak@google.com>
Co-developed-by: Jonathan Denose <jdenose@google.com>
Signed-off-by: Jonathan Denose <jdenose@google.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
FF_HAPTIC effect type can be used to trigger haptic feedback with HID
simple haptic usages.
Signed-off-by: Angela Czubak <aczubak@google.com>
Co-developed-by: Jonathan Denose <jdenose@google.com>
Signed-off-by: Jonathan Denose <jdenose@google.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
Introduce haptic usages as defined in HID Usage Tables specification.
Add HID units for newton and gram.
Signed-off-by: Angela Czubak <aczubak@google.com>
Co-developed-by: Jonathan Denose <jdenose@google.com>
Signed-off-by: Jonathan Denose <jdenose@google.com>
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
This adds fs name and few fields from struct inode: i_mode, i_opflags,
i_flags, i_state and i_count.
All values printed raw, no attempt to pretty-print anything.
Compile tested on i386 and runtime tested on amd64.
Sample output:
[ 23.121281] VFS_WARN_ON_INODE("crap") encountered for inode ffff9a1a83ce3660
fs pipefs mode 10600 opflags 0x4 flags 0x0 state 0x38 count 0
Signed-off-by: Mateusz Guzik <mjguzik@gmail.com>
Clean up the formatting of the MANUF() and PRODUCT() macro definitions
in 'drivers/zorro/names.c' by removing unneeded spaces.
No functional changes.
Signed-off-by: Dishank Jogi <jogidishank503@gmail.com>
Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Link: https://patch.msgid.link/20250728071452.35171-1-jogidishank503@gmail.com
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
The local variables 'rotator' and 'rotate' (used for the progress
indicator) aren't used on s390. Building the kernel with W=1 generates
the following warning:
init/do_mounts_rd.c:192:17: warning: variable 'rotate' set but not used [-Wunused-but-set-variable]
192 | unsigned short rotate = 0;
| ^
1 warning generated.
Remove the preprocessor directives and use the IS_ENABLED(CONFIG_S390)
macro instead, allowing the compiler to optimize away unused variables
and avoid the warning on s390.
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Similar to may_open().
No functional changes.
Signed-off-by: Mateusz Guzik <mjguzik@gmail.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Global variables that are never modified should be "const" so so that
they live in the .rodata section instead of the .data section of the
kernel, gaining the protection of the kernel's strict memory
permissions as described in Documentation/security/self-protection.rst
Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Call kobject_put() for the failure path to release the kobject
v2: remove extra newline. (Matt)
Fixes: e3d0839aa5 ("drm/xe/tile: Abort driver load for sysfs creation failure")
Cc: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
Link: https://lore.kernel.org/r/20250819153950.2973344-2-shuicheng.lin@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
(cherry picked from commit b98775bca9)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Set reader_tasks to NULL after kfree() in ref_scale_cleanup() to
improve debugging experience with kernel debugging tools. This
follows the common pattern of NULLing pointers after freeing to
avoid dangling pointer issues during debugging sessions.
Setting pointers to NULL after freeing helps debugging tools like
kdgb,drgn, and other kernel debuggers by providing clear indication
that the memory has been freed and the pointer is no longer valid.
Suggested-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Kaushlendra Kumar <kaushlendra.kumar@intel.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Remove unnecessary kfree(main_task) call in ref_scale_cleanup() as
torture_stop_kthread() already handles the memory cleanup for the
task structure internally.
The additional kfree(main_task) call after torture_stop_kthread()
is redundant and confusing since torture_stop_kthread() sets the
pointer to NULL, making this a no-op.
This pattern is consistent with other torture test modules where
torture_stop_kthread() is called without explicit kfree() of the
task pointer, as the torture framework manages the task lifecycle
internally.
Signed-off-by: Kaushlendra Kumar <kaushlendra.kumar@intel.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Currently, the srcu_gp_start_if_needed() is always be invoked in
preempt disable's critical section, this commit therefore remove
redundant preempt_disable/enable() in srcu_gp_start_if_needed()
and adds a call to lockdep_assert_preemption_disabled() in order
to enable lockdep to diagnose mistaken invocations of this function
from preempts-enabled code.
Fixes: 65b4a59557 ("srcu: Make Tiny SRCU explicitly disable preemption")
Signed-off-by: Zqiang <qiang.zhang@linux.dev>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
The smp_mb() memory barrier at the end of srcu_flip() has a comment,
but that comment does not make it clear that this memory barrier is an
optimization, as opposed to being needed for correctness. This commit
therefore adds this information and points out that it is omitted
for SRCU-fast, where a much heavier weight synchronize_srcu() would
be required.
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: <bpf@vger.kernel.org>
This commit documents the implicit RCU readers that are implied by the
this_cpu_inc() and atomic_long_inc() operations in __srcu_read_lock_fast()
and __srcu_read_unlock_fast(). While in the area, fix the documentation
of the memory pairing of atomic_long_inc() in __srcu_read_lock_fast().
[ paulmck: Apply Joel Fernandes feedback. ]
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: <bpf@vger.kernel.org>
Detect the Bhyve hypervisor and enable 15-bit MSI support if available.
Detecting Bhyve used to be a purely cosmetic issue of the kernel printing
'Hypervisor detected: Bhyve' at boot time.
But FreeBSD 15.0 will support¹ the 15-bit MSI enlightenment to support
more than 255 vCPUs (http://david.woodhou.se/ExtDestId.pdf) which means
there's now actually some functional reason to do so.
¹ 313a68ea20
[ bp: Massage, move tail comment ontop. ]
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Acked-by: Ahmed S. Darwish <darwi@linutronix.de>
Link: https://lore.kernel.org/03802f6f7f5b5cf8c5e8adfe123c397ca8e21093.camel@infradead.org
Map the hyp text section as RO, there are no secrets there
and that allows the kernel extract info for debugging.
As in case of panic we can now dump the faulting instructions
similar to the kernel.
Signed-off-by: Mostafa Saleh <smostafa@google.com>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Similar to the kernel panic, where the instruction code is printed,
we can do the same for hypervisor panics.
This patch does that only in case of “CONFIG_NVHE_EL2_DEBUG” or nvhe.
The next patch adds support for pKVM.
Also, remove the hardcoded argument dump_kernel_instr().
Signed-off-by: Mostafa Saleh <smostafa@google.com>
Tested-by: Kunwu Chan <chentao@kylinos.cn>
Reviewed-by: Kunwu Chan <chentao@kylinos.cn>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
The filio lock has been released here, so there is no need to jump to
error_folio_unlock to release it again.
Reported-by: syzbot+b73c7d94a151e2ee1e9b@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=b73c7d94a151e2ee1e9b
Signed-off-by: Lizhi Xu <lizhi.xu@windriver.com>
Acked-by: David Howells <dhowells@redhat.com>
Reviewed-by: Paulo Alcantara (Red Hat) <pc@manguebit.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Adding HDMI-In capture support for the PTL products which doesn't have
onboard I2S codec. But need to support HDMI-In capture via I2S and
audio playback through HDMI/DP monitor.
Signed-off-by: Balamurugan C <balamurugan.c@intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://patch.msgid.link/20250915025655.1154279-1-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Use dev_get_drvdata(dev->parent) instead of dev_get_platdata(dev)
to correctly obtain acp_chip_info members in the acp I2S driver.
Previously, some members were not updated properly due to incorrect
data access, which could potentially lead to null pointer
dereferences.
This issue was missed in the earlier commit
("ASoC: amd: acp: Fix NULL pointer deref in acp_i2s_set_tdm_slot"),
which only addressed set_tdm_slot(). This change ensures that all
relevant functions correctly retrieve acp_chip_info, preventing
further null pointer dereference issues.
Fixes: e3933683b2 ("ASoC: amd: acp: Remove redundant acp_dev_data structure")
Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com>
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://patch.msgid.link/20250910171419.3682468-1-venkataprasad.potturu@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
PRODUCT_NAME is machine-specific. Use PRODUCT_FAMILY to ensure
the machine quirk is applied with consistent audio configurations
across Fatcat series products.
Signed-off-by: Mac Chiang <mac.chiang@intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://patch.msgid.link/20250915025456.1154200-1-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
The QCS8275 board is based on Qualcomm's QCS8300 SoC family, and all
supported firmware files are located in the qcs8300 directory. The
sound topology and ALSA UCM configuration files have also been migrated
from the qcs8275 directory to the actual SoC qcs8300 directory in
linux-firmware. With the current setup, the sound topology fails
to load, resulting in sound card registration failure.
This patch updates the driver match data to use the correct driver name
qcs8300 for the qcs8275-sndcard, ensuring that the sound card driver
correctly loads the sound topology and ALSA UCM configuration files
from the qcs8300 directory.
Fixes: 34d340d48e ("ASoC: qcom: sc8280xp: Add support for QCS8275")
Cc: stable@vger.kernel.org
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://patch.msgid.link/20250914131549.1198740-1-mohammad.rafi.shaik@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Currently a call to regmap_write is not being error checked because the
return checke is being performed on the variable ret and this variable
is not assigned the return value from the regmap_write call. Fix this
by adding in the missing assignment.
Fixes: 4670db6f32 ("spi: amlogic: add driver for Amlogic SPI Flash Controller")
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Link: https://patch.msgid.link/20250913201612.1338217-1-colin.i.king@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>