summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-01-22mfd: intel-lpss: Add Intel Nova Lake-S PCI IDsIlpo Järvinen
Add Intel Nova Lake-S LPSS PCI IDs. Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://patch.msgid.link/20260113172151.48062-1-ilpo.jarvinen@linux.intel.com Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: ls2kbmc: Use PCI API instead of direct accessesAndy Shevchenko
There is a PCI API to access device resources. Use it instead of direct accesses. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Binbin Zhou <zhoubinbin@loongson.cn> Link: https://patch.msgid.link/20251030113735.3741913-3-andriy.shevchenko@linux.intel.com Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: ls2kbmc: Fully convert to use managed resourcesAndy Shevchenko
The mixing of managed and non-managed resources may lead to possible use-after-free bugs. In this driver the problematic part is the device functionality that may just have gone behind the functions back, e.g., when interrupt is being served. Fix this by switching to managed resources for PCI. Fixes: 91a3e1f5453a ("mfd: ls2kbmc: Check for devm_mfd_add_devices() failure") Fixes: d952bba3fbb5 ("mfd: ls2kbmc: Add Loongson-2K BMC reset function support") Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Binbin Zhou <zhoubinbin@loongson.cn> Link: https://patch.msgid.link/20251030113735.3741913-2-andriy.shevchenko@linux.intel.com Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22dt-bindings: mfd: mediatek: mt6397: Add missing MT6331 regulator compatAngeloGioacchino Del Regno
Add the missing mediatek,mt6331-regulator in the compatible string list for the regulators subnode. Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Acked-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/20260113110000.36953-3-angelogioacchino.delregno@collabora.com Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22dt-bindings: mfd: mediatek,mt8195-scpsys: Add mediatek,mt6795-scpsysAngeloGioacchino Del Regno
Add a new compatible for the SCPSYS IP block found in the MT6795 Helio X10 SoC. Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Acked-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/20260113110000.36953-2-angelogioacchino.delregno@collabora.com Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22dt-bindings: mfd: atmel,sama5d2-flexcom: Add microchip,lan9691-flexcomRobert Marko
Add binding documentation for Microchip LAN969x. Signed-off-by: Robert Marko <robert.marko@sartura.hr> Acked-by: Conor Dooley <conor.dooley@microchip.com> Reviewed-by: Claudiu Beznea <claudiu.beznea@tuxon.dev> Link: https://patch.msgid.link/20251229184004.571837-3-robert.marko@sartura.hr Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: omap-usb-host: Fix OF populate on driver rebindJohan Hovold
Since commit c6e126de43e7 ("of: Keep track of populated platform devices") child devices will not be created by of_platform_populate() if the devices had previously been deregistered individually so that the OF_POPULATED flag is still set in the corresponding OF nodes. Switch to using of_platform_depopulate() instead of open coding so that the child devices are created if the driver is rebound. Fixes: c6e126de43e7 ("of: Keep track of populated platform devices") Cc: stable@vger.kernel.org # 3.16 Signed-off-by: Johan Hovold <johan@kernel.org> Reviewed-by: Andreas Kemnade <andreas@kemnade.info> Link: https://patch.msgid.link/20251219110714.23919-1-johan@kernel.org Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: qcom-pm8xxx: Fix OF populate on driver rebindJohan Hovold
Since commit c6e126de43e7 ("of: Keep track of populated platform devices") child devices will not be created by of_platform_populate() if the devices had previously been deregistered individually so that the OF_POPULATED flag is still set in the corresponding OF nodes. Switch to using of_platform_depopulate() instead of open coding so that the child devices are created if the driver is rebound. Fixes: c6e126de43e7 ("of: Keep track of populated platform devices") Cc: stable@vger.kernel.org # 3.16 Signed-off-by: Johan Hovold <johan@kernel.org> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://patch.msgid.link/20251219110947.24101-1-johan@kernel.org Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22dt-bindings: mfd: syscon: Allow syscon compatible for mediatek,mt7981-topmiscAngeloGioacchino Del Regno
Commit a95419ff9f21 ("dt-bindings: mfd: syscon: Add mt7981-topmisc") added the mediatek,mt7981-topmisc compatible to the `select` block which is used only for compatibility with older dtschema, but did not add it in the actual block allowing to specify the "syscon" fallback compatible, which is required for such node to do anything meaningful in the end. Add the mediatek,mt7981-topmisc compatible in the right list to allow specifing compatible = "mediatek,mt7981-topmisc", "syscon" in the relevant devicetree node. Fixes: a95419ff9f21 ("dt-bindings: mfd: syscon: Add mt7981-topmisc") Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Link: https://patch.msgid.link/20260109114356.36454-1-angelogioacchino.delregno@collabora.com Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: qnap-mcu: Add driver data for TS133 variantHeiko Stuebner
Add the TS133 compatible and affiliated driver data to qnap-mcu. The TS133 is mostly similar to the TS233/TS433, except only having one drive and no USB-LED. The fan pwm-limits from the vendor-configuration also are the same as for the TS233/TS433 variants. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Link: https://patch.msgid.link/20260104173310.2685852-3-heiko@sntech.de Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22dt-bindings: mfd: qnap,ts433-mcu: Add qnap,ts133-mcu compatibleHeiko Stuebner
The same MCU is used on a number of devices, each with a slightly different set of features, like the number of LEDs. Add a compatible for the MCU used in the TS133 variant. This is the 1-disk consumer variant of the RK356x-based family. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Acked-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/20260104173310.2685852-2-heiko@sntech.de Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: sec: Fix IRQ domain names duplicationAndré Draszik
For the S2MPG10 IRQ and chained IRQ, regmap IRQ will try to create a folder with the same name which is impossible and fails with: debugfs: ':firmware:power-management:pmic' already exists in 'domains' Add domain_suffix to the chained IRQ chip driver to fix it. Fixes: ee19b52c31b3 ("mfd: sec: Use chained IRQs for s2mpg10") Signed-off-by: André Draszik <andre.draszik@linaro.org> Link: https://patch.msgid.link/20260105-s2mpg10-chained-irq-domain-suffix-v1-1-01ab16204b97@linaro.org Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: simple-mfd-i2c: Add Delta TN48M CPLD supportRobert Marko
Delta TN48M switches have a Lattice CPLD that serves multiple purposes including being a GPIO expander. So, lets use the simple I2C MFD driver to provide the MFD core. Also add a virtual symbol which pulls in the simple-mfd-i2c driver and provide a common symbol on which the subdevice drivers can depend on. Fixes: b3dcb5de6209 ("gpio: Add Delta TN48M CPLD GPIO driver") Signed-off-by: Robert Marko <robert.marko@sartura.hr> Link: https://lore.kernel.org/20220131133049.77780-2-robert.marko@sartura.hr Link: https://lore.kernel.org/linux-gpio/20260112064950.3837737-1-rdunlap@infradead.org/ Signed-off-by: Linus Walleij <linusw@kernel.org> Link: https://patch.msgid.link/20260112-mfd-tn48m-v11-1-00c798d8cd2a@kernel.org Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: macsmc: Initialize mutexJanne Grunau
Initialize struct apple_smc's mutex in apple_smc_probe(). Using the mutex uninitialized surprisingly resulted only in occasional NULL pointer dereferences in apple_smc_read() calls from the probe() functions of sub devices. Cc: stable@vger.kernel.org Fixes: e038d985c9823 ("mfd: Add Apple Silicon System Management Controller") Signed-off-by: Janne Grunau <j@jannau.net> Reviewed-by: Sven Peter <sven@kernel.org> Reviewed-by: Neal Gompa <neal@gompa.dev> Link: https://patch.msgid.link/20251231-macsmc-mutex_init-v2-1-5818c9dc9b29@jannau.net Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22dt-bindings: mfd: nxp: Add NXP LPC32xx System Control BlockVladimir Zapolskiy
NXP LPC32xx SoC series contains a System Control Block, which serves for a multitude of purposes including clock and power management, DMA muxing, storing SoC unique ID etc. Signed-off-by: Vladimir Zapolskiy <vz@mleia.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/20251231215754.2222308-2-vz@mleia.com Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: Kconfig: Default MFD_SPACEMIT_P1 to 'm' if ARCH_SPACEMITTroy Mitchell
The default value of the P1 sub-device depends on the value of P1, so P1 should have a default value here. Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com> Acked-by: Alex Elder <elder@riscstar.com> Link: https://patch.msgid.link/20251225-p1-kconfig-fix-v4-2-44b6728117c1@linux.spacemit.com Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: axp20x: AXP717: Add type-C CC registersChen-Yu Tsai
The AXP717 has some extra registers related to type-C CC pin negotiation. They were missing from the original submission. Add them for completeness. Signed-off-by: Chen-Yu Tsai <wens@kernel.org> Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com> Link: https://patch.msgid.link/20251225080241.3153453-1-wens@kernel.org Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: core: Simplify storing device_node in mfd_match_of_node_to_dev()Krzysztof Kozlowski
of_node_get() returns the same pointer it received and canonical form of storing device_node is to use of_node_get() in the assignment. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Link: https://patch.msgid.link/20251224124456.208529-4-krzysztof.kozlowski@oss.qualcomm.com Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: core: Simplify with scoped for each OF child loopKrzysztof Kozlowski
Use scoped for-each loop when iterating over device nodes to make code a bit simpler. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Link: https://patch.msgid.link/20251224124456.208529-3-krzysztof.kozlowski@oss.qualcomm.com Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22dt-bindings: mfd: Add Bitmain BM1880 System ControllerRob Herring (Arm)
Add the already in use Bitmain BM1880 System Controller binding. All the child nodes already have schemas. Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Link: https://patch.msgid.link/20251215212639.3320085-1-robh@kernel.org Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: tps65219: Implement LOCK register handling for TPS65214Kory Maincent (TI.com)
The TPS65214 PMIC variant has a LOCK_REG register that prevents writes to nearly all registers when locked. Unlock the registers at probe time and leave them unlocked permanently. This approach is justified because: - Register locking is very uncommon in typical system operation - No code path is expected to lock the registers during runtime - Adding a custom regmap write function would add overhead to every register write, including voltage changes triggered by CPU OPP transitions from the cpufreq governor which could happen quite frequently Cc: stable@vger.kernel.org Fixes: 7947219ab1a2d ("mfd: tps65219: Add support for TI TPS65214 PMIC") Reviewed-by: Andrew Davis <afd@ti.com> Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com> Link: https://patch.msgid.link/20251218-fix_tps65219-v5-1-8bb511417f3a@bootlin.com Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: atmel-hlcdc: Add compatible for sama7d65 XLCD controllerRyan Wanner
Add compatible for sama7d65 XLCD controller. Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com> Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com> Link: https://patch.msgid.link/20251218040521.463937-2-manikandan.m@microchip.com Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22dt-bindings: mfd: atmel,hlcdc: Add sama7d65 compatible stringManikandan Muralidharan
Add LCD compatible string for sama7d65. Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com> Link: https://patch.msgid.link/20251218040521.463937-1-manikandan.m@microchip.com Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22dt-bindings: mfd: syscon: Document the GPR syscon for the NXP S32 SoCsDan Carpenter
The NXP S32 SoCs have a GPR region which is used by a variety of drivers. Some examples of the registers in this region are: * DDR_PMU_IRQ * GMAC0_PHY_INTF_SEL * GMAC1_PHY_INTF_SEL * PFE_EMACS_INTF_SEL * PFE_COH_EN * PFE_PWR_CTRL * PFE_EMACS_GENCTRL1 * PFE_GENCTRL3 Use the syscon interface to access these registers. Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Link: https://patch.msgid.link/792d3f59b9f519529b94e673faf70d77c4b61fb3.1765806521.git.dan.carpenter@linaro.org Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: max77759: Drop use of irqd_get_trigger_typeAndré Draszik
irqd_get_trigger_type() is meant for cases where the driver needs to know the configured IRQ trigger type and e.g. wants to change its behaviour accordingly. Furthermore, platform support code, e.g. DT handling, will configure the hardware based on that, and drivers don't need to pass the trigger type into request_irq() and friends. Drop the use from this driver, as it doesn't need to know the trigger type. Signed-off-by: André Draszik <andre.draszik@linaro.org> Link: https://patch.msgid.link/20251217-max77759-mfd-irq-trigger-v1-1-e7d29f84d34f@linaro.org Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: macsmc: Wire up Apple SMC input subdeviceJames Calligeros
Add the new SMC input function to the mfd device Signed-off-by: James Calligeros <jcalligeros99@gmail.com> Reviewed-by: Neal Gompa <neal@gompa.dev> Link: https://patch.msgid.link/20251215-macsmc-subdevs-v6-5-0518cb5f28ae@gmail.com Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: macsmc: Wire up Apple SMC hwmon subdeviceJames Calligeros
Add the SMC hwmon functionality to the mfd device Signed-off-by: James Calligeros <jcalligeros99@gmail.com> Reviewed-by: Neal Gompa <neal@gompa.dev> Link: https://patch.msgid.link/20251215-macsmc-subdevs-v6-3-0518cb5f28ae@gmail.com Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: macsmc: Wire up Apple SMC RTC subdeviceJames Calligeros
Add the new SMC RTC function to the mfd device Signed-off-by: James Calligeros <jcalligeros99@gmail.com> Reviewed-by: Neal Gompa <neal@gompa.dev> Link: https://patch.msgid.link/20251215-macsmc-subdevs-v6-2-0518cb5f28ae@gmail.com Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: arizona: Fix regulator resource leak on wm5102_clear_write_sequencer() ↵Haotian Zhang
failure The wm5102_clear_write_sequencer() helper may return an error and just return, bypassing the cleanup sequence and causing regulators to remain enabled, leading to a resource leak. Change the direct return to jump to the err_reset label to properly free the resources. Fixes: 1c1c6bba57f5 ("mfd: wm5102: Ensure we always boot the device fully") Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn> Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://patch.msgid.link/20251214145804.2037-1-vulab@iscas.ac.cn Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: core: Add locking around 'mfd_of_node_list'Douglas Anderson
Manipulating a list in the kernel isn't safe without some sort of mutual exclusion. Add a mutex any time we access / modify 'mfd_of_node_list' to prevent possible crashes. Cc: stable@vger.kernel.org Fixes: 466a62d7642f ("mfd: core: Make a best effort attempt to match devices with the correct of_nodes") Signed-off-by: Douglas Anderson <dianders@chromium.org> Link: https://patch.msgid.link/20251210113002.1.I6ceaca2cfb7eb25737012b166671f516696be4fd@changeid Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: bd71828: Add some missing charger related registersAndreas Kemnade
As there are some registers missing which are required for future charger extensions, add them. Signed-off-by: Andreas Kemnade <andreas@kemnade.info> Reviewed-by: Matti Vaittinen <mazziesaccount@gmail.com> Link: https://patch.msgid.link/20251207085024.7375-1-andreas@kemnade.info Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: core: Improve compile coverage of mfd_match_of_node_to_dev()Geert Uytterhoeven
As of commit c7fe3bbfd622b5ee ('mfd: core: Use of_property_read_reg() to parse "reg"'), all code in mfd_match_of_node_to_dev() compiles fine when CONFIG_OF is disabled. As the sole caller of this function is protected by IS_ENABLED(CONFIG_OF), the #ifdef inside the function can be removed to increase build coverage, without impacting code size. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://patch.msgid.link/7b9a4a355c5da3fe812ead663285d05b64b84857.1764320964.git.geert+renesas@glider.be Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22mfd: tps6105x: Fix kernel-doc warnings relating to the core struct and ↵Randy Dunlap
tps6105x_mode Fix spelling of an enum to fix a kernel-doc warning. Fix kernel-doc of struct tps6105x to prevent kernel-doc warnings. Warning: include/linux/mfd/tps6105x.h:68 Enum value 'TPS6105X_MODE_TORCH' not described in enum 'tps6105x_mode' Warning: include/linux/mfd/tps6105x.h:68 Excess enum value '%TPS61905X_MODE_TORCH' description in 'tps6105x_mode' Warning: include/linux/mfd/tps6105x.h:93 struct member 'pdata' not described in 'tps6105x' Warning: include/linux/mfd/tps6105x.h:93 struct member 'client' not described in 'tps6105x' Fixes: 798a8eee44da ("mfd: Add a core driver for TI TPS61050/TPS61052 chips v2") Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Link: https://patch.msgid.link/20251125022750.3165569-1-rdunlap@infradead.org Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22Revert "mfd: da9052-spi: Change read-mask to write-mask"Marcus Folkesson
This reverts commit 2e3378f6c79a1b3f7855ded1ef306ea4406352ed. Almost every register in this chip can be customized via OTP memory. Somehow the value for R19, which decide if the flag is set on read or write operation, seems to have been overwritten for the chip the original patch were written for. Revert the change to follow the default behavior. Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com> Link: https://patch.msgid.link/20251124-da9052-revert-v1-1-fbeb2c894002@gmail.com Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-22Merge branches 'ib-mfd-clk-gpio-power-regulator-rtc-6.20', ↵Lee Jones
'ib-mfd-regulator-6.20' and 'ib-mfd-rtc-6.20' into ibs-for-mfd-merged
2026-01-22s390/boot/vmlinux.lds.S: Ensure bzImage ends with SecureBoot trailerAlexander Egorenkov
Since commit 3e86e4d74c04 ("kbuild: keep .modinfo section in vmlinux.unstripped") the .modinfo section which has SHF_ALLOC ends up in bzImage after the SecureBoot trailer. This breaks SecureBoot because the bootloader can no longer find the SecureBoot trailer with kernel's signature at the expected location in bzImage. To fix the bug, move discarded sections before the ELF_DETAILS macro and discard the .modinfo section which is not needed by the decompressor. Fixes: 3e86e4d74c04 ("kbuild: keep .modinfo section in vmlinux.unstripped") Cc: stable@vger.kernel.org Suggested-by: Vasily Gorbik <gor@linux.ibm.com> Reviewed-by: Vasily Gorbik <gor@linux.ibm.com> Tested-by: Vasily Gorbik <gor@linux.ibm.com> Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2026-01-22mtd: parsers: Fix memory leak in mtd_parser_tplink_safeloader_parse()Zilin Guan
The function mtd_parser_tplink_safeloader_parse() allocates buf via mtd_parser_tplink_safeloader_read_table(). If the allocation for parts[idx].name fails inside the loop, the code jumps to the err_free label without freeing buf, leading to a memory leak. Fix this by freeing the temporary buffer buf in the err_free label. Compile tested only. Issue found using a prototype static analysis tool and code review. Fixes: 00a3588084be ("mtd: parsers: add TP-Link SafeLoader partitions table parser") Signed-off-by: Zilin Guan <zilin@seu.edu.cn> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
2026-01-22dt-bindings: mtd: partitions: Combine simple partition bindingsRob Herring (Arm)
Several partition node bindings are just a compatible plus properties defined in partition.yaml. Move all of these bindings to a single schema file. Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
2026-01-22dt-bindings: mtd: partitions: Convert brcm,trx to DT schemaRob Herring (Arm)
Convert the brcm,trx partition binding to DT schema format. As the "linksys,ns-firmware" compatible also uses "brcm,trx" as a fallback, move it to the converted binding. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
2026-01-22dt-bindings: mtd: fixed-partitions: Restrict undefined propertiesRob Herring (Arm)
The fixed-partitions schema allowed undefined properties in order to avoid warnings when there are nested fixed-partitions. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
2026-01-22dt-bindings: mtd: Ensure partition node properties are documentedRob Herring (Arm)
Partition nodes without a compatible have no restrictions on additional properties. Fix this by ensuring 'unevaluatedProperties' is set when there's no compatible property. If there is a compatible property, then there should be a specific schema for it which will enforce 'unevaluatedProperties'. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
2026-01-22dt-bindings: mtd: partitions: Drop partitions.yamlRob Herring (Arm)
The partitions.yaml schema is an unusual structure in that it includes all possible partition types, and it disables the normal matching by compatible strings. As partitions.yaml has nothing to match on, it is only applied when explicitly referenced. The use of "oneOf" also results in misleading warnings which are difficult to understand. Drop partitions.yaml and rely on the standard compatible matching instead. The "mmc-card" case previously allowed any partition type, but now only allows "fixed-partitions". There aren't any users and the original intent appeared to be only for "fixed-partitions". Acked-by: Ulf Hansson <ulf.hansson@linaro.org> # For MMC Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
2026-01-22dt-bindings: mtd: partitions: Define "#{address,size}-cells" in specific schemasRob Herring (Arm)
Whether "#address-cells" and "#size-cells" are used or not depends on the specific partition type, so drop them from partitions.yaml and define them in the specific partition schemas as needed. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
2026-01-22dt-bindings: mtd: partitions: Allow "nvmem-layout" in generic partition nodesRob Herring (Arm)
An "nvmem-layout" node can be used in any partition node, so add it. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
2026-01-22dt-bindings: mtd: partitions: Move "sercomm,scpart-id" to partition.yamlRob Herring (Arm)
Defining child node properties specific to the parent schema doesn't work unless all the child node properties are known. They aren't known because any partition can define its own properties. The solution to this is typically something like spi-peripheral-props.yaml, but that's overkill for this single property. Just move it to partition.yaml instead. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
2026-01-22dt-bindings: mtd: fixed-partitions: Move "compression" to partition nodeRob Herring (Arm)
The "compression" property is defined in the wrong place as it applies to individual partitions nodes, not all nodes. Fixes: 8baba8d52ff5 ("dt-bindings: mtd: fixed-partitions: Add compression property") Reviewed-by: Simon Glass <simon.glass@canonical.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
2026-01-22dt-bindings: mtd: brcm,brcmnand: Drop "brcm,brcmnand" compatible for iProcRob Herring (Arm)
Some users of "brcm,nand-iproc" include "brcm,brcmnand" and some don't. The "brcm,brcmnand" compatible is not useful for iProc systems as there's a separate driver for iProc. So drop it as a fallback. Reviewed-by: William Zhang <william.zhang@broadcom.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
2026-01-22mtd: jedec_probe: fix shift-out-of-bounds UB in JEDEC ID maskingChenxi Hou
UBSAN reports shift-out-of-bounds in jedec_read_mfr() and jedec_read_id():   UBSAN: shift-out-of-bounds in drivers/mtd/chips/jedec_probe.c:1924:13   shift exponent 32 is too large for 32-bit type 'int'   UBSAN: shift-out-of-bounds in drivers/mtd/chips/jedec_probe.c:1940:12   shift exponent 32 is too large for 32-bit type 'int' The JEDEC manufacturer/device ID masking uses:   (1 << (cfi->device_type * 8)) - 1 When cfi->device_type is 4, this evaluates to 1 << 32. Since the literal '1' has type int, this is a 32-bit shift and is undefined behavior. Fix it by using a 64-bit literal (1ULL) so the shift is performed in a 64-bit type. Co-developed-by: Hui Peng <benquike@gmail.com> Signed-off-by: Hui Peng <benquike@gmail.com> Co-developed-by: Zhihao Yao (Zephyr) <zhihao.yao@njit.edu> Signed-off-by: Zhihao Yao (Zephyr) <zhihao.yao@njit.edu> Signed-off-by: Chenxi Hou <ch395@njit.edu> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
2026-01-22i2c: designware: Remove an unnecessary conditionHeikki Krogerus
Writing also the high speed timing registers unconditionally. The reset value for these registers is 0, so this should always be safe. Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Andi Shyti <andi.shyti@kernel.org> Link: https://lore.kernel.org/r/20260120130729.1679560-5-heikki.krogerus@linux.intel.com
2026-01-22i2c: designware: Enable mode swappingHeikki Krogerus
The DesignWare I2C can not be operated as I2C master and I2C slave simultaneously, but that does not actually mean master and slave modes can not be supported at the same time. It just means an explicit mode swap needs to be executed when the mode is changed. The DesignWare I2C documentation actually describes a couple of cases where the mode is excepted to be changed. The I2C master will now always be supported. Both modes are now always configured in i2c_dw_configure(), but the slave mode will continue to be available only when the Kconfig option I2C_SLAVE is enabled. The driver will now start in master mode and then swap to slave mode when a slave device is registered. After a slave device is registered, the controller is swapped to master mode when a transfer in master mode is started and then back to slave mode again after the transfer is completed. The DesignWare I2C can now be used with protocols such as MCTP (drivers/net/mctp/mctp-i2c.c) and IPMI (drivers/char/ipmi/) that require support for both I2C master and I2C slave. It is now also possible to support the SMBus Host Notification Protocol as I2C master if needed. Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Andi Shyti <andi.shyti@kernel.org> Link: https://lore.kernel.org/r/20260120130729.1679560-4-heikki.krogerus@linux.intel.com