- New Support & Features
* Add extensive support for the Analog Devices ADP5589 I/O expander, including
core MFD, GPIO, PWM, and a new keypad matrix input driver. This also adds
support for handling various events including GPI, keypad, reset and unlock
ev ents.
* Add support for the TI TPS652G1 PMIC, a stripped-down version of the TPS65224,
including core MFD, PFSM, pinctrl, and GPIO support.
* Add support for the Apple Silicon System Management Controller (SMC), including
the core MFD driver which handles the RTKit-based protocol, a new GPIO driver
for PMU GPIOs, and a new reboot/power-off driver.
- Improvements & Fixes
* Dynamically add ADP5585 sub-devices based on device tree properties.
* Move ADP5585 oscillator control from the child PWM driver to the main MFD
driver to better handle shared resources.
* Add support for a hardware reset pin and VDD regulator to the ADP5585 driver.
* Update the TPS65219 MFD cell's GPIO compatible string for the TPS65214 to
reflect hardware capabilities correctly.
* Separate the ChromeOS EC charge-control probing from the USB-PD subsystem,
allowing it to probe independently based on the dedicated EC_FEATURE_CHARGER.
* Fix an interrupt naming typo in the MT6370 driver.
* Fix RK806 PMIC reset behavior by allowing the reset mode to be customized via a
new device tree property.
* Fix AXP20X regulator cell ID conflicts for secondary PMICs on boards without an
IRQ line connected.
* Fix MT6397 keypad sub-device creation to use specific names instead of a
generic one, ensuring correct driver binding.
* Fix a build warning in the stm32-timers driver by adding a missing include for
export.h.
- Cleanups & Refactoring
* Refactor the ADP5585 driver to simplify how regmap defaults are handled, making
it easier to add new chip variants.
* Introduce per-chip register map structures for the ADP5585/ADP5589 family to
handle differences between the devices.
* Convert several drivers to use dev_fwnode() instead of of_fwnode_handle().
* Make various static structures const in the cs40l50, rohm-bd71828, tps65219,
and twl6040 drivers.
* Remove redundant pm_runtime_mark_last_busy() calls from several drivers.
* Alphabetize Kconfig entries for Cirrus Logic and Maxim drivers.
* Remove unused fields from the 'tps65219' struct.
* Update several MFD-related headers to follow the 'Include What You Use' (IWYU)
principle.
- Removals
* Remove the old, platform-data-based adp5589-keys input driver, which is now
superseded by the new MFD-based adp5585-keys driver.
* Remove the unused twl6030_mmc_card_detect() functions and associated header
declarations.
* Remove the now unused pcf50633/core.h header file.
* Remove the fsl,imx8qxp-csr device tree binding, which was being used
incorrectly.
- Device Tree Bindings Updates
* Add support for the Analog Devices ADP5589 I/O expander to the adi,adp5585.yaml
binding.
* Add new properties to the adi,adp5585.yaml binding for input events, including
keypad pins, unlock events, and reset events.
* Add a reset-gpios property to the adi,adp5585.yaml binding.
* Add the TI TPS652G1 PMIC to the ti,tps6594.yaml binding.
* Add new bindings for the Apple Mac System Management Controller (SMC) and its
sub-devices: apple,smc.yaml, apple,smc-gpio.yaml, and apple,smc-reboot.yaml.
* Convert the Freescale MXS LRADC binding (mxs-lradc) to YAML schema format.
* Convert and combine the NXP LPC1850 CREG, DMAMUX, and USB OTG PHY bindings into
a single YAML schema file.
* Convert the TI TPS65910 binding to YAML schema format.
* Add a comment to the samsung,s2mps11.yaml binding to clarify the use of 'oneOf'
for interrupt properties.
* Add the rockchip,reset-mode property to the rockchip,rk806.yaml binding to
allow customization of the PMIC's reset behavior.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEdrbJNaO+IJqU8IdIUa+KL4f8d2EFAmiKNQgACgkQUa+KL4f8
d2HXOw//bquorwKRgOmi85ZMFNVowywRiUfEYUmKKkjlaK/mfUwmiPxlzREWmR0p
paAvlL2bKHYsEt/3gh8l8Q8cIo3ELlhSHmECG22Pz8+msq06n7vZ/fpzXhjqdHLR
PIyA7oJv2kBE+glmRiDL2yRGQU42i/Mmq5vo9eJD49aOL8nOzNk17N7fFp9aDGQ6
C+MDrvaFV4jYjMH8/A/pBh9KaPwzvuIvNvMFeC4F5Zjpym6X1gClDEVgQvSHsyz0
NyT2qpHG6KkUVNhm8dBcYUxdAbpZLjWiPpqfe4KzWflZ9kUjAow5z2NhiwtDxZuG
DVICs64O1YvoqZXIazptYEIHLmDks1URdADd/efJDbBKm12G2DgRJtbLVFW/hWUz
g7itYgJk3cpRoFUVjiniLvy+Nlp67XfN5qADNiHnRJpk4DCW5sNqPp5AHFhhD8hC
5t6EyOYaO7U1I+0ZgWvsSaCv+D/r4pjcUBalUB1Wh7QcEWOXVJgFmkggbXEPEzob
FtM6GCFcIr+yrrqGL3o6DNgQmuiAenuIjGs9jk6on+0zUmDvgvwbERpktweEofki
anW4jtm0tDKSP9qBFEhGC8dOygFU/jnXqaHGsXeEHOv5zb5mSk/dL+W/QHqmG2QO
08UEh02sfWiUE8hwL3vZ/cXvR7SfgK00nBC3g8QfEWF1AHplGE0=
=YYgL
-----END PGP SIGNATURE-----
Merge tag 'mfd-next-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
Pull MFD updates from Lee Jones:
"New Support & Features:
- Add extensive support for the Analog Devices ADP5589 I/O expander,
including core MFD, GPIO, PWM, and a new keypad matrix input
driver. This also adds support for handling various events
including GPI, keypad, reset and unlock ev ents
- Add support for the TI TPS652G1 PMIC, a stripped-down version of
the TPS65224, including core MFD, PFSM, pinctrl, and GPIO support
- Add support for the Apple Silicon System Management Controller
(SMC), including the core MFD driver which handles the RTKit-based
protocol, a new GPIO driver for PMU GPIOs, and a new
reboot/power-off driver.
Improvements & Fixes:
- Dynamically add ADP5585 sub-devices based on device tree properties
- Move ADP5585 oscillator control from the child PWM driver to the
main MFD driver to better handle shared resources
- Add support for a hardware reset pin and VDD regulator to the
ADP5585 driver
- Update the TPS65219 MFD cell's GPIO compatible string for the
TPS65214 to reflect hardware capabilities correctly
- Separate the ChromeOS EC charge-control probing from the USB-PD
subsystem, allowing it to probe independently based on the
dedicated EC_FEATURE_CHARGER
- Fix an interrupt naming typo in the MT6370 driver
- Fix RK806 PMIC reset behavior by allowing the reset mode to be
customized via a new device tree property
- Fix AXP20X regulator cell ID conflicts for secondary PMICs on
boards without an IRQ line connected
- Fix MT6397 keypad sub-device creation to use specific names instead
of a generic one, ensuring correct driver binding
- Fix a build warning in the stm32-timers driver by adding a missing
include for export.h.
Cleanups & Refactoring:
- Refactor the ADP5585 driver to simplify how regmap defaults are
handled, making it easier to add new chip variants
- Introduce per-chip register map structures for the ADP5585/ADP5589
family to handle differences between the devices
- Convert several drivers to use dev_fwnode() instead of
of_fwnode_handle()
- Make various static structures const in the cs40l50, rohm-bd71828,
tps65219, and twl6040 drivers
- Remove redundant pm_runtime_mark_last_busy() calls from several
drivers
- Alphabetize Kconfig entries for Cirrus Logic and Maxim drivers
- Remove unused fields from the 'tps65219' struct
- Update several MFD-related headers to follow the 'Include What You
Use' (IWYU) principle.
Removals:
- Remove the old, platform-data-based adp5589-keys input driver,
which is now superseded by the new MFD-based adp5585-keys driver
- Remove the unused twl6030_mmc_card_detect() functions and
associated header declarations
- Remove the now unused pcf50633/core.h header file
- Remove the fsl,imx8qxp-csr device tree binding, which was being
used incorrectly.
Device Tree Bindings Updates:
- Add support for the Analog Devices ADP5589 I/O expander to the
adi,adp5585.yaml binding
- Add new properties to the adi,adp5585.yaml binding for input
events, including keypad pins, unlock events, and reset events
- Add a reset-gpios property to the adi,adp5585.yaml binding
- Add the TI TPS652G1 PMIC to the ti,tps6594.yaml binding
- Add new bindings for the Apple Mac System Management Controller
(SMC) and its sub-devices: apple,smc.yaml, apple,smc-gpio.yaml, and
apple,smc-reboot.yaml
- Convert the Freescale MXS LRADC binding (mxs-lradc) to YAML schema
format
- Convert and combine the NXP LPC1850 CREG, DMAMUX, and USB OTG PHY
bindings into a single YAML schema file
- Convert the TI TPS65910 binding to YAML schema format
- Add a comment to the samsung,s2mps11.yaml binding to clarify the
use of 'oneOf' for interrupt properties
- Add the rockchip,reset-mode property to the rockchip,rk806.yaml
binding to allow customization of the PMIC's reset behavior"
* tag 'mfd-next-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (28 commits)
mfd: dt-bindings: Convert TPS65910 to DT schema
mfd: Minor Cirrus/Maxim Kconfig order fixes
mfd: Remove redundant pm_runtime_mark_last_busy() calls
mfd: mt6397: Do not use generic name for keypad sub-devices
mfd: axp20x: Set explicit ID for regulator cell if no IRQ line is present
mfd: mt6370: Fix the interrupt naming typo
mfd: rk8xx-core: Allow to customize RK806 reset mode
dt-bindings: mfd: rk806: Allow to customize PMIC reset mode
mfd: syscon: atmel-smc: Don't use "proxy" headers
mfd: madera: Don't use "proxy" headers
mfd: wm8350-core: Don't use "proxy" headers
dt-bindings: mfd: samsung,s2mps11: Add comment about interrupts properties
mfd: davinci_voicecodec: Don't use "proxy" headers
mfd: pcf50633: Remove the header file core.h
mfd: tps65219: Remove another unused field from 'struct tps65219'
mfd: tps65219: Remove an unused field from 'struct tps65219'
mfd: tps65219: Constify struct regmap_irq_sub_irq_map and tps65219_chip_data
mfd: rohm-bd71828: Constify some structures
dt-bindings: mfd: fsl,imx8qxp-csr: Remove binding documentation
mfd: axp20x: Set explicit ID for AXP313 regulator
...