summaryrefslogtreecommitdiff
path: root/arch/arm
AgeCommit message (Collapse)Author
2025-02-18ARM: imx: Switch to use hrtimer_setup()Nam Cao
hrtimer_setup() takes the callback function pointer as argument and initializes the timer completely. Replace hrtimer_init() and the open coded initialization of hrtimer::function with the new setup mechanism. Signed-off-by: Nam Cao <namcao@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/all/aff915511ee629b461fee98688b8e859075386ac.1738746821.git.namcao@linutronix.de
2025-02-18ARM: dts: imx53-ppd: Fix touchscreen reset-gpiosFabio Estevam
According to atmel,maxtouch.yaml, the correct property that describes the GPIO connected to the touchscreen reset line is 'reset-gpios'. Change it accordingly to fix the following dt-schema warning: 'reset-gpio' does not match any of the regexes: 'pinctrl-[0-9]+' Signed-off-by: Fabio Estevam <festevam@denx.de> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2025-02-18ARM: dts: imx7s: Move csi-mux to below rootAlexander Stein
fsl,imx-iomuxc-gpr.yaml only contains the mux-controller but the actual video-mux is not part of it. So move it below root node. Fixes the dtbs_check warning: arch/arm/boot/dts/nxp/imx/imx7s-mba7.dtb: iomuxc-gpr@30340000: 'csi-mux' does not match any of the regexes: 'pinctrl-[0-9]+' from schema $id: http://devicetree.org/schemas/soc/imx/fsl,imx-iomuxc-gpr.yaml# Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2025-02-17ARM: dts: mxs: Add descriptions for imx287 based btt3-[012] devicesLukasz Majewski
The btt3 device' HW revisions from 0 to 2 use imx287 SoC and are to some extend similar to already upstreamed XEA devices, hence are using common imx28-lwe.dtsi file. New, imx28-btt3.dtsi has been added to embrace common DTS properties for different HW revisions for this device. As a result - changes introduced in imx28-btt3-[012].dts are minimal. Signed-off-by: Lukasz Majewski <lukma@denx.de> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2025-02-17ARM: dts: microchip: sama7d65_curiosity: Add power monitor supportMihai Sain
Add PAC1934 support in order to monitor the board power consumption. Device is connected on flexcom10 in twi mode. [root@SAMA7D65 ~]$ awk -f pac1934.awk VDD3V3 current: 146.173 mA, voltage: 3302.73 mV VDDIODDR current: 62.1356 mA, voltage: 1353.96 mV VDDCORE current: 242.248 mA, voltage: 1204.36 mV VDDCPU current: 213.565 mA, voltage: 1303.05 mV Signed-off-by: Mihai Sain <mihai.sain@microchip.com> Link: https://lore.kernel.org/r/20250211143302.4102-3-mihai.sain@microchip.com [claudiu.beznea: kept pinctrl nodes alphanumerically sorted in the pinctrl container] Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
2025-02-17ARM: dts: microchip: sama7d65: Add flexcom 10 nodeMihai Sain
Add flexcom 10 node and its i2c-controller subnode for usage on the SAMA7D65 Curiosity board. Signed-off-by: Mihai Sain <mihai.sain@microchip.com> Link: https://lore.kernel.org/r/20250211143302.4102-2-mihai.sain@microchip.com [claudiu.beznea: use compatible, reg, ranges order in flexcom node] Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
2025-02-17ARM: dts: at91: usb_a9g20_lpw: use proper mmc node nameWolfram Sang
Adhere to DT schema. Found by 'make dtbs_check'. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com> Link: https://lore.kernel.org/r/20250131210236.36212-10-wsa+renesas@sang-engineering.com Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
2025-02-17ARM: dts: at91: calao_usb: fix button nodesWolfram Sang
Adhere naming to DT schema. And remove the unneeded #*-cells. Found by 'make dtbs_check'. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com> Link: https://lore.kernel.org/r/20250131210236.36212-9-wsa+renesas@sang-engineering.com Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
2025-02-17ARM: dts: at91: use correct vendor name for Calao boardsWolfram Sang
The company was named "Calao", not "Caloa". Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com> Link: https://lore.kernel.org/r/20250131210236.36212-8-wsa+renesas@sang-engineering.com Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
2025-02-17ARM: dts: at91: calao_usb: remove heartbeat for User LEDsWolfram Sang
Default DTs should be minimal. It is cumbersome carrying a custom patch disabling the heartbeat just to use the LED for own cases. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com> Link: https://lore.kernel.org/r/20250131162611.33338-6-wsa+renesas@sang-engineering.com Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
2025-02-17ARM: dts: at91: calao_usb: fix wrong polarity for LEDWolfram Sang
It is active high per testing via sysfs. Also matches the very similar usb_a9263 variant. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com> Link: https://lore.kernel.org/r/20250131162611.33338-5-wsa+renesas@sang-engineering.com Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
2025-02-12ARM: dts: ixp4xx: Add Netgear WG302 v1 GPIOsLinus Walleij
This adds GPIO LED indicators, the reset GPIO RESET button on the Netgear WG302 v1 to the device tree. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/20250210-ixp4xx-dts-v1-3-6b752d745e04@linaro.org
2025-02-12ARM: dts: ixp4xx: Fix up PCI on WG302Linus Walleij
Looking at the board file for WG302 v2 was not a good idea because the GPIO IRQ for slot 2 differs, and v1 uses GPIO 10 instead of GPIO 9. Fix it up. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/20250210-ixp4xx-dts-v1-2-6b752d745e04@linaro.org
2025-02-12ARM: dts: Properly assign NPE to ethALinus Walleij
The way to assign NPE (network processing engines) shifted during device tree design and an erroneous entry was left behind in a disabled node. Fix it up. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/20250210-ixp4xx-dts-v1-1-6b752d745e04@linaro.org
2025-02-12ARM: dts: cirrus: ep7211: Align GPIO hog name with bindingsKrzysztof Kozlowski
Bindings expect GPIO hog names to end with 'hog' suffix, so correct it to fix dtbs_check warning: ep7211-edb7211.dtb: lcden: $nodename:0: 'lcden' does not match '^.+-hog(-[0-9]+)?$' Link: https://lore.kernel.org/r/20250115211747.194191-1-krzysztof.kozlowski@linaro.org Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-02-12fs: add open_tree_attr()Christian Brauner
Add open_tree_attr() which allow to atomically create a detached mount tree and set mount options on it. If OPEN_TREE_CLONE is used this will allow the creation of a detached mount with a new set of mount options without it ever being exposed to userspace without that set of mount options applied. Link: https://lore.kernel.org/r/20250128-work-mnt_idmap-update-v2-v1-3-c25feb0d2eb3@kernel.org Reviewed-by: "Seth Forshee (DigitalOcean)" <sforshee@kernel.org> Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-02-09lib/crc-t10dif: remove crc_t10dif_is_optimized()Eric Biggers
With the "crct10dif" algorithm having been removed from the crypto API, crc_t10dif_is_optimized() is no longer used. Acked-by: Ard Biesheuvel <ardb@kernel.org> Link: https://lore.kernel.org/r/20250208175647.12333-1-ebiggers@kernel.org Signed-off-by: Eric Biggers <ebiggers@google.com>
2025-02-09ARM: dts: sunxi: add support for NetCube Systems KumquatLukas Schmid
NetCube Systems Kumquat is a board based on the Allwinner V3s SoC, including: - 64MB DDR2 included in SoC - 10/100 Mbps Ethernet - USB-C DRD - Audio Codec - Isolated CAN-FD - ESP32 over SDIO - 8MB SPI-NOR Flash for bootloader - I2C EEPROM for MAC addresses - SDIO Connector for eMMC or SD-Card - 8x 12/24V IOs, 4x normally open relays - DS3232 RTC with Battery Backup - QWIIC connectors for external I2C devices Signed-off-by: Lukas Schmid <lukas.schmid@netcube.li> Link: https://patch.msgid.link/20250205164716.2509650-5-lukas.schmid@netcube.li Signed-off-by: Chen-Yu Tsai <wens@csie.org>
2025-02-09ARM: dts: sunxi: add uart1_pe pinctrl for sun8i-v3sLukas Schmid
Added the uart1_pe_pins pinctrl for use by the NetCube Systems Kumquat board Signed-off-by: Lukas Schmid <lukas.schmid@netcube.li> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Link: https://patch.msgid.link/20250205164716.2509650-4-lukas.schmid@netcube.li Signed-off-by: Chen-Yu Tsai <wens@csie.org>
2025-02-08lib/crc32: remove "_le" from crc32c base and arch functionsEric Biggers
Following the standardization on crc32c() as the lib entry point for the Castagnoli CRC32 instead of the previous mix of crc32c(), crc32c_le(), and __crc32c_le(), make the same change to the underlying base and arch functions that implement it. Reviewed-by: Ard Biesheuvel <ardb@kernel.org> Link: https://lore.kernel.org/r/20250208024911.14936-7-ebiggers@kernel.org Signed-off-by: Eric Biggers <ebiggers@google.com>
2025-02-08lib/crc32: remove obsolete CRC32 options from defconfig filesEric Biggers
Remove all remaining references to CONFIG_CRC32_BIT, CONFIG_CRC32_SARWATE, CONFIG_CRC32_SLICEBY4, and CONFIG_CRC32_SLICEBY8. These options no longer exist, now that we've standardized on a single generic CRC32 implementation. Acked-by: Ard Biesheuvel <ardb@kernel.org> Link: https://lore.kernel.org/r/20250205000424.75149-1-ebiggers@kernel.org Signed-off-by: Eric Biggers <ebiggers@google.com>
2025-02-06Merge drm/drm-next into drm-misc-nextMaxime Ripard
Bring rc1 to start the new release dev. Signed-off-by: Maxime Ripard <mripard@kernel.org>
2025-02-05ARM: dts: omap4-panda-a4: Add missing model and compatible propertiesTom Rini
When moving the model and compatible properties out of the common Pandaboard files and in to the specific boards, the omap4-panda-a4 file wasn't updated as well and so has lacked a model and compatible entry ever since. Fixes: a1a57abaaf82 ("ARM: dts: omap4-panda: Fix model and SoC family details") Signed-off-by: Tom Rini <trini@konsulko.com> Link: https://lore.kernel.org/r/20250123174901.1182176-2-trini@konsulko.com Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2025-02-05ARM: dts: ti/omap: omap4-serial: fix interrupts syntaxAndreas Kemnade
Usually interrupts are overwritten in the board file to specify a mux-dependent dedicated wakeup irq, so there is interrupts and interrupts-extended property which is not allowed. That has generated a lot of noise during dts changes if just a phandle involved has randomly changed. Avoid that mess by specifying interrupts-extended in the dtsi file. Signed-off-by: Andreas Kemnade <andreas@kemnade.info> Reported-by: Rob Herring <robh@kernel.org> Closes: https://lore.kernel.org/linux-omap/173558214240.2262575.18233884215338168789.robh@kernel.org/ Closes: https://lore.kernel.org/linux-omap/172784021601.525825.18405282128990798038.robh@kernel.org/ Reviewed-by: Roger Quadros <rogerq@kernel.org> Link: https://lore.kernel.org/r/20241230195556.112118-1-andreas@kemnade.info Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2025-02-05ARM: dts: ti: omap: Align GPIO hog name with bindingsKrzysztof Kozlowski
Bindings expect GPIO hog names to end with 'hog' suffix, so correct it to fix dtbs_check warning: omap3-evm.dtb: en_on_board_gpio_61: $nodename:0: 'en_on_board_gpio_61' does not match '^.+-hog(-[0-9]+)?$' Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20250115211648.194016-1-krzysztof.kozlowski@linaro.org Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2025-02-04ARM: zynq: Do not define address/size-cells for nand-controllerMichal Simek
There is no reason to define address/size-cells without defining child nodes in zynq-7000.dtsi. Define it in board file instead. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/7a3b9eb256b90ea19d35f8bbe3fd311890767974.1736233292.git.michal.simek@amd.com
2025-02-03ARM: zynq: Remove ethernet0 alias from MicrozedMichal Simek
Ethernet is not using alias for ID assignment that's why alias is not needed and can be removed. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/f4189063a8923ad380675f8e426e739ee3110baa.1733920873.git.michal.simek@amd.com
2025-02-03ARM: zynq: Add sdhci to alias nodeMichal Simek
Ensure that controller will all the time use the same ID. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/9fa60b57e038d51ae6677fac6628ecd663ddd2cd.1733920873.git.michal.simek@amd.com
2025-02-03ARM: zynq: Enable QSPIs on platformsMichal Simek
Enable QSPIs with default MTD layout used for testing. Zybos, Microzed and Zturn are only enabling controller without specifying MTD map. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/b10d922fec7fde0948205b266bf7e960113859c5.1733920873.git.michal.simek@amd.com
2025-02-03ARM: zynq: Fix fpga region DT nodes nameMichal Simek
fpga-full is not aligned with the latest dt-schema. Generic name fpga-region should be used. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/0fcce9f0fa4fc2e170a7c5374d0b4063fa0bbd71.1733920873.git.michal.simek@amd.com
2025-02-03ARM: zynq: Rename i2c?-gpio to i2c?-gpio-grpMichal Simek
Anything ending with gpio/gpios is taken as gpio phande/description which is reported as the issue coming from gpio-consumer.yaml schema. That's why rename the gpio suffix to gpio-grp to avoid name collision. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/43b2f451bfd2ebce70f3ac6442586838d3e21951.1733920873.git.michal.simek@amd.com
2025-02-03ARM: zynq: Define rtc alias on zc702/zc706Michal Simek
Define rtc alias on zc702/zc706 boards. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/9ee86a22d15fb127b8b31cf1ab6059ffb05ad55b.1733920873.git.michal.simek@amd.com
2025-02-03ARM: zynq: Point via nvmem0 alias to eeprom on zc702/zc706Michal Simek
EEPROM stores identification information about board like a board name, revision, serial number and ethernet MAC address. U-Boot is capable to read nvmemX aliases and read/display provided information when nvmem alias link is described. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/c4a28874455a8747638551cf09ba31aa803b8b09.1733920873.git.michal.simek@amd.com
2025-02-03ARM: zynq: Define u-boot bootscrip addr via DTMichal Simek
Define bootscript address in RAM via DT property. Adding default value to common DTSI. Platform DT description can remove this property or rewrite it. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/9252bb464c5c82fda6018ea450c6f453a5d8412c.1733920873.git.michal.simek@amd.com
2025-02-03ARM: zynq: Wire smcc with nand/nor memories on zc770 platformMichal Simek
Describe nor child flash node under smcc and enable it for xm012 extension card. And also describe nand flash memory for xm011 card. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/12e697975a1d026e811c2f63aa8bbbd0b9ff4f70.1733920873.git.michal.simek@amd.com
2025-02-03ARM: zynq: Mark boot-phase-specific device nodesMichal Simek
Tag boot specific device nodes which are required for booting. In our case this is sync up with U-Boot project where all these IPs are already tagged and tested. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/f25387e0123ee81f7d8246add3c6ec063f3cfa78.1733920873.git.michal.simek@amd.com
2025-02-03ARM: zynq: DT: List OCM memory for all platformsMichal Simek
Move OCM description from zc702 to all zynq boards. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/68da82d3d0733e33672562487a9df4a9374d8e1a.1733920873.git.michal.simek@amd.com
2025-02-03ARM: zynq: Remove deprecated device_type propertyMichal Simek
Based on DT specification device_type property is deprecated and should be used only for cpu and memory nodes. That's why remove other usage. In this case ethernet phy. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/77152dc14271a2340f63e6d407f36293ed656d49.1733920873.git.michal.simek@amd.com
2025-02-03ARM: zynq: Replace 'io-standard' with 'power-source' propertySai Krishna Potthuri
Replace 'io-standard' property with 'power-source' property in all zynq dts files to be in sync with Zynq Pinctrl driver. Signed-off-by: Sai Krishna Potthuri <lakshmi.sai.krishna.potthuri@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/cf45ed95fe0be083446d5aaf5f946f38acba7728.1733920873.git.michal.simek@amd.com
2025-02-03ARM: s3c: Do not include <linux/fb.h>Thomas Zimmermann
These ARM architecture's source files do not require <linux/fb.h>. Remove the include statements. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://lore.kernel.org/r/20250203102818.56747-3-tzimmermann@suse.de Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-02-03ARM: dts: stm32: lxa-fairytux2: add Linux Automation GmbH FairyTux 2Leonard Göhrs
The Linux Automation GmbH FairyTux2 is a small Linux device based on an Octavo Systems OSD32MP153c SiP, that occupies just two slots on a DIN rail. The device contains an eMMC for storage, a gigabit Ethernet connection, a CAN bus and a RS485 transceiver. Add support for the lxa-fairytux2 generation 1 and 2 boards based on the STM32MP153c. Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2025-02-03ARM: shmobile: rcar-gen2: Remove CMA reservation codeGeert Uytterhoeven
If CONFIG_HIGHMEM=y, two reserved blocks are allocated on R-Car Gen2: cma: Reserved 256 MiB at 0x70000000 on node -1 cma: Reserved 64 MiB at 0x6c000000 on node -1 The first block is reserved by the family-specific rcar_gen2_reserve(), the second by the common arm_memblock_init() (shmobile_defconfig sets CONFIG_CMA_SIZE_MBYTES=64). As both blocks are reserved (eventually) using dma_contiguous_reserve_area(), they both have the same name ("reserved"). Hence if CONFIG_CMA_SYSFS=y: sysfs: cannot create duplicate filename '/kernel/mm/cma/reserved' ... cma_sysfs_init from do_one_initcall+0x84/0x178 ... kobject: kobject_add_internal failed for reserved with -EEXIST, don't try to register things with the same name in the same directory. This causes cma_sysfs_init() to fail completely, and not to create /sys/kernel/mm/cma/ at all. Fix this by dropping the R-Car Gen2-specific reservation. Compared to when it was introduced, now there exist more flexible mechanisms to control the size of memory reserved for CMA. Users can reserve more memory by increasing CONFIG_CMA_SIZE_MBYTES, passing the cma=<N> kernel command line parameter, or adding a reserved-memory/linux,cma node to DT. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Acked-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Tested-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Link: https://lore.kernel.org/3d38f4fec20c4af46e4570012de7017eee9a39e9.1736249109.git.geert+renesas@glider.be
2025-02-03ARM: shmobile: defconfig: Supplement DTB with ATAG informationNiklas Söderlund
Enable CONFIG_ARM_ATAG_DTB_COMPAT to allow U-Boot to override kernel command line from DTB using the bootargs argument. This is needed at least on R-Car H1 Marzen to control the command line from U-Boot. Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Tested-by: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://lore.kernel.org/20250116153204.615736-1-niklas.soderlund+renesas@ragnatech.se Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2025-02-03ARM: dts: ti: davinci: Align GPIO hog name with bindingsKrzysztof Kozlowski
Bindings expect GPIO hog names to end with 'hog' suffix, so correct it to fix dtbs_check warnings like: da850-lego-ev3.dtb: batt_volt_en: $nodename:0: 'batt_volt_en' does not match '^.+-hog(-[0-9]+)?$' Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Acked-by: David Lechner <david@lechnology.com> Link: https://lore.kernel.org/r/20250116090030.87452-1-krzysztof.kozlowski@linaro.org Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2025-01-29Merge tag 'constfy-sysctl-6.14-rc1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/sysctl/sysctl Pull sysctl table constification from Joel Granados: "All ctl_table declared outside of functions and that remain unmodified after initialization are const qualified. This prevents unintended modifications to proc_handler function pointers by placing them in the .rodata section. This is a continuation of the tree-wide effort started a few releases ago with the constification of the ctl_table struct arguments in the sysctl API done in 78eb4ea25cd5 ("sysctl: treewide: constify the ctl_table argument of proc_handlers")" * tag 'constfy-sysctl-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/sysctl/sysctl: treewide: const qualify ctl_tables where applicable
2025-01-28Merge tag 'driver-core-6.14-rc1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core Pull driver core and debugfs updates from Greg KH: "Here is the big set of driver core and debugfs updates for 6.14-rc1. Included in here is a bunch of driver core, PCI, OF, and platform rust bindings (all acked by the different subsystem maintainers), hence the merge conflict with the rust tree, and some driver core api updates to mark things as const, which will also require some fixups due to new stuff coming in through other trees in this merge window. There are also a bunch of debugfs updates from Al, and there is at least one user that does have a regression with these, but Al is working on tracking down the fix for it. In my use (and everyone else's linux-next use), it does not seem like a big issue at the moment. Here's a short list of the things in here: - driver core rust bindings for PCI, platform, OF, and some i/o functions. We are almost at the "write a real driver in rust" stage now, depending on what you want to do. - misc device rust bindings and a sample driver to show how to use them - debugfs cleanups in the fs as well as the users of the fs api for places where drivers got it wrong or were unnecessarily doing things in complex ways. - driver core const work, making more of the api take const * for different parameters to make the rust bindings easier overall. - other small fixes and updates All of these have been in linux-next with all of the aforementioned merge conflicts, and the one debugfs issue, which looks to be resolved "soon"" * tag 'driver-core-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (95 commits) rust: device: Use as_char_ptr() to avoid explicit cast rust: device: Replace CString with CStr in property_present() devcoredump: Constify 'struct bin_attribute' devcoredump: Define 'struct bin_attribute' through macro rust: device: Add property_present() saner replacement for debugfs_rename() orangefs-debugfs: don't mess with ->d_name octeontx2: don't mess with ->d_parent or ->d_parent->d_name arm_scmi: don't mess with ->d_parent->d_name slub: don't mess with ->d_name sof-client-ipc-flood-test: don't mess with ->d_name qat: don't mess with ->d_name xhci: don't mess with ->d_iname mtu3: don't mess wiht ->d_iname greybus/camera - stop messing with ->d_iname mediatek: stop messing with ->d_iname netdevsim: don't embed file_operations into your structs b43legacy: make use of debugfs_get_aux() b43: stop embedding struct file_operations into their objects carl9170: stop embedding file_operations into their objects ...
2025-01-28treewide: const qualify ctl_tables where applicableJoel Granados
Add the const qualifier to all the ctl_tables in the tree except for watchdog_hardlockup_sysctl, memory_allocation_profiling_sysctls, loadpin_sysctl_table and the ones calling register_net_sysctl (./net, drivers/inifiniband dirs). These are special cases as they use a registration function with a non-const qualified ctl_table argument or modify the arrays before passing them on to the registration function. Constifying ctl_table structs will prevent the modification of proc_handler function pointers as the arrays would reside in .rodata. This is made possible after commit 78eb4ea25cd5 ("sysctl: treewide: constify the ctl_table argument of proc_handlers") constified all the proc_handlers. Created this by running an spatch followed by a sed command: Spatch: virtual patch @ depends on !(file in "net") disable optional_qualifier @ identifier table_name != { watchdog_hardlockup_sysctl, iwcm_ctl_table, ucma_ctl_table, memory_allocation_profiling_sysctls, loadpin_sysctl_table }; @@ + const struct ctl_table table_name [] = { ... }; sed: sed --in-place \ -e "s/struct ctl_table .table = &uts_kern/const struct ctl_table *table = \&uts_kern/" \ kernel/utsname_sysctl.c Reviewed-by: Song Liu <song@kernel.org> Acked-by: Steven Rostedt (Google) <rostedt@goodmis.org> # for kernel/trace/ Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> # SCSI Reviewed-by: Darrick J. Wong <djwong@kernel.org> # xfs Acked-by: Jani Nikula <jani.nikula@intel.com> Acked-by: Corey Minyard <cminyard@mvista.com> Acked-by: Wei Liu <wei.liu@kernel.org> Acked-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Bill O'Donnell <bodonnel@redhat.com> Acked-by: Baoquan He <bhe@redhat.com> Acked-by: Ashutosh Dixit <ashutosh.dixit@intel.com> Acked-by: Anna Schumaker <anna.schumaker@oracle.com> Signed-off-by: Joel Granados <joel.granados@kernel.org>
2025-01-27Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rmk/linuxLinus Torvalds
Pull ARM updates from Russell King: - fix typos in vfpmodule.c - drop obsolete VFP accessor fallback for old assemblers - add cache line identifier register accessor functions - add cacheinfo support * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rmk/linux: ARM: 9440/1: cacheinfo fix format field mask ARM: 9433/2: implement cacheinfo support ARM: 9432/2: add CLIDR accessor functions ARM: 9438/1: assembler: Drop obsolete VFP accessor fallback ARM: 9437/1: vfp: Fix typographical errors in vfpmodule.c
2025-01-26Merge tag 'mm-stable-2025-01-26-14-59' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Pull MM updates from Andrew Morton: "The various patchsets are summarized below. Plus of course many indivudual patches which are described in their changelogs. - "Allocate and free frozen pages" from Matthew Wilcox reorganizes the page allocator so we end up with the ability to allocate and free zero-refcount pages. So that callers (ie, slab) can avoid a refcount inc & dec - "Support large folios for tmpfs" from Baolin Wang teaches tmpfs to use large folios other than PMD-sized ones - "Fix mm/rodata_test" from Petr Tesarik performs some maintenance and fixes for this small built-in kernel selftest - "mas_anode_descend() related cleanup" from Wei Yang tidies up part of the mapletree code - "mm: fix format issues and param types" from Keren Sun implements a few minor code cleanups - "simplify split calculation" from Wei Yang provides a few fixes and a test for the mapletree code - "mm/vma: make more mmap logic userland testable" from Lorenzo Stoakes continues the work of moving vma-related code into the (relatively) new mm/vma.c - "mm/page_alloc: gfp flags cleanups for alloc_contig_*()" from David Hildenbrand cleans up and rationalizes handling of gfp flags in the page allocator - "readahead: Reintroduce fix for improper RA window sizing" from Jan Kara is a second attempt at fixing a readahead window sizing issue. It should reduce the amount of unnecessary reading - "synchronously scan and reclaim empty user PTE pages" from Qi Zheng addresses an issue where "huge" amounts of pte pagetables are accumulated: https://lore.kernel.org/lkml/cover.1718267194.git.zhengqi.arch@bytedance.com/ Qi's series addresses this windup by synchronously freeing PTE memory within the context of madvise(MADV_DONTNEED) - "selftest/mm: Remove warnings found by adding compiler flags" from Muhammad Usama Anjum fixes some build warnings in the selftests code when optional compiler warnings are enabled - "mm: don't use __GFP_HARDWALL when migrating remote pages" from David Hildenbrand tightens the allocator's observance of __GFP_HARDWALL - "pkeys kselftests improvements" from Kevin Brodsky implements various fixes and cleanups in the MM selftests code, mainly pertaining to the pkeys tests - "mm/damon: add sample modules" from SeongJae Park enhances DAMON to estimate application working set size - "memcg/hugetlb: Rework memcg hugetlb charging" from Joshua Hahn provides some cleanups to memcg's hugetlb charging logic - "mm/swap_cgroup: remove global swap cgroup lock" from Kairui Song removes the global swap cgroup lock. A speedup of 10% for a tmpfs-based kernel build was demonstrated - "zram: split page type read/write handling" from Sergey Senozhatsky has several fixes and cleaups for zram in the area of zram_write_page(). A watchdog softlockup warning was eliminated - "move pagetable_*_dtor() to __tlb_remove_table()" from Kevin Brodsky cleans up the pagetable destructor implementations. A rare use-after-free race is fixed - "mm/debug: introduce and use VM_WARN_ON_VMG()" from Lorenzo Stoakes simplifies and cleans up the debugging code in the VMA merging logic - "Account page tables at all levels" from Kevin Brodsky cleans up and regularizes the pagetable ctor/dtor handling. This results in improvements in accounting accuracy - "mm/damon: replace most damon_callback usages in sysfs with new core functions" from SeongJae Park cleans up and generalizes DAMON's sysfs file interface logic - "mm/damon: enable page level properties based monitoring" from SeongJae Park increases the amount of information which is presented in response to DAMOS actions - "mm/damon: remove DAMON debugfs interface" from SeongJae Park removes DAMON's long-deprecated debugfs interfaces. Thus the migration to sysfs is completed - "mm/hugetlb: Refactor hugetlb allocation resv accounting" from Peter Xu cleans up and generalizes the hugetlb reservation accounting - "mm: alloc_pages_bulk: small API refactor" from Luiz Capitulino removes a never-used feature of the alloc_pages_bulk() interface - "mm/damon: extend DAMOS filters for inclusion" from SeongJae Park extends DAMOS filters to support not only exclusion (rejecting), but also inclusion (allowing) behavior - "Add zpdesc memory descriptor for zswap.zpool" from Alex Shi introduces a new memory descriptor for zswap.zpool that currently overlaps with struct page for now. This is part of the effort to reduce the size of struct page and to enable dynamic allocation of memory descriptors - "mm, swap: rework of swap allocator locks" from Kairui Song redoes and simplifies the swap allocator locking. A speedup of 400% was demonstrated for one workload. As was a 35% reduction for kernel build time with swap-on-zram - "mm: update mips to use do_mmap(), make mmap_region() internal" from Lorenzo Stoakes reworks MIPS's use of mmap_region() so that mmap_region() can be made MM-internal - "mm/mglru: performance optimizations" from Yu Zhao fixes a few MGLRU regressions and otherwise improves MGLRU performance - "Docs/mm/damon: add tuning guide and misc updates" from SeongJae Park updates DAMON documentation - "Cleanup for memfd_create()" from Isaac Manjarres does that thing - "mm: hugetlb+THP folio and migration cleanups" from David Hildenbrand provides various cleanups in the areas of hugetlb folios, THP folios and migration - "Uncached buffered IO" from Jens Axboe implements the new RWF_DONTCACHE flag which provides synchronous dropbehind for pagecache reading and writing. To permite userspace to address issues with massive buildup of useless pagecache when reading/writing fast devices - "selftests/mm: virtual_address_range: Reduce memory" from Thomas Weißschuh fixes and optimizes some of the MM selftests" * tag 'mm-stable-2025-01-26-14-59' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (321 commits) mm/compaction: fix UBSAN shift-out-of-bounds warning s390/mm: add missing ctor/dtor on page table upgrade kasan: sw_tags: use str_on_off() helper in kasan_init_sw_tags() tools: add VM_WARN_ON_VMG definition mm/damon/core: use str_high_low() helper in damos_wmark_wait_us() seqlock: add missing parameter documentation for raw_seqcount_try_begin() mm/page-writeback: consolidate wb_thresh bumping logic into __wb_calc_thresh mm/page_alloc: remove the incorrect and misleading comment zram: remove zcomp_stream_put() from write_incompressible_page() mm: separate move/undo parts from migrate_pages_batch() mm/kfence: use str_write_read() helper in get_access_type() selftests/mm/mkdirty: fix memory leak in test_uffdio_copy() kasan: hw_tags: Use str_on_off() helper in kasan_init_hw_tags() selftests/mm: virtual_address_range: avoid reading from VM_IO mappings selftests/mm: vm_util: split up /proc/self/smaps parsing selftests/mm: virtual_address_range: unmap chunks after validation selftests/mm: virtual_address_range: mmap() without PROT_WRITE selftests/memfd/memfd_test: fix possible NULL pointer dereference mm: add FGP_DONTCACHE folio creation flag mm: call filemap_fdatawrite_range_kick() after IOCB_DONTCACHE issue ...
2025-01-26Merge tag 'mm-nonmm-stable-2025-01-24-23-16' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Pull non-MM updates from Andrew Morton: "Mainly individually changelogged singleton patches. The patch series in this pull are: - "lib min_heap: Improve min_heap safety, testing, and documentation" from Kuan-Wei Chiu provides various tightenings to the min_heap library code - "xarray: extract __xa_cmpxchg_raw" from Tamir Duberstein preforms some cleanup and Rust preparation in the xarray library code - "Update reference to include/asm-<arch>" from Geert Uytterhoeven fixes pathnames in some code comments - "Converge on using secs_to_jiffies()" from Easwar Hariharan uses the new secs_to_jiffies() in various places where that is appropriate - "ocfs2, dlmfs: convert to the new mount API" from Eric Sandeen switches two filesystems to the new mount API - "Convert ocfs2 to use folios" from Matthew Wilcox does that - "Remove get_task_comm() and print task comm directly" from Yafang Shao removes now-unneeded calls to get_task_comm() in various places - "squashfs: reduce memory usage and update docs" from Phillip Lougher implements some memory savings in squashfs and performs some maintainability work - "lib: clarify comparison function requirements" from Kuan-Wei Chiu tightens the sort code's behaviour and adds some maintenance work - "nilfs2: protect busy buffer heads from being force-cleared" from Ryusuke Konishi fixes an issues in nlifs when the fs is presented with a corrupted image - "nilfs2: fix kernel-doc comments for function return values" from Ryusuke Konishi fixes some nilfs kerneldoc - "nilfs2: fix issues with rename operations" from Ryusuke Konishi addresses some nilfs BUG_ONs which syzbot was able to trigger - "minmax.h: Cleanups and minor optimisations" from David Laight does some maintenance work on the min/max library code - "Fixes and cleanups to xarray" from Kemeng Shi does maintenance work on the xarray library code" * tag 'mm-nonmm-stable-2025-01-24-23-16' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (131 commits) ocfs2: use str_yes_no() and str_no_yes() helper functions include/linux/lz4.h: add some missing macros Xarray: use xa_mark_t in xas_squash_marks() to keep code consistent Xarray: remove repeat check in xas_squash_marks() Xarray: distinguish large entries correctly in xas_split_alloc() Xarray: move forward index correctly in xas_pause() Xarray: do not return sibling entries from xas_find_marked() ipc/util.c: complete the kernel-doc function descriptions gcov: clang: use correct function param names latencytop: use correct kernel-doc format for func params minmax.h: remove some #defines that are only expanded once minmax.h: simplify the variants of clamp() minmax.h: move all the clamp() definitions after the min/max() ones minmax.h: use BUILD_BUG_ON_MSG() for the lo < hi test in clamp() minmax.h: reduce the #define expansion of min(), max() and clamp() minmax.h: update some comments minmax.h: add whitespace around operators and after commas nilfs2: do not update mtime of renamed directory that is not moved nilfs2: handle errors that nilfs_prepare_chunk() may return CREDITS: fix spelling mistake ...