Commit Graph

1136096 Commits

Author SHA1 Message Date
Yang Yingliang 02010cf009 mfd: ocelot-spi: Add missing MODULE_DEVICE_TABLE
This patch adds missing MODULE_DEVICE_TABLE definition which generates
correct modalias for automatic loading of this driver when it is built
as an external module.

Fixes: f3e893626a ("mfd: ocelot: Add support for the vsc7512 chip via spi")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220922103703.1731266-1-yangyingliang@huawei.com
2022-09-28 16:17:42 +01:00
Chris Morgan 11cb8da018 power: supply: Add charger driver for Rockchip RK817
Add support for the Rockchip rk817 battery charger integrated into the
rk817 PMIC.

Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Signed-off-by: Maya Matuszczyk <maccraft123mc@gmail.com>
Acked-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220827021623.23829-4-macroalpha82@gmail.com
2022-09-28 16:17:42 +01:00
ChiYuan Huang e1f1629df9 dt-bindings: mfd: mt6370: Fix the indentation in the example
Fix the indentation in the binding example. There're two redudant space
charactors need to be removed.

Fixes: 76f52f815f1a ("dt-bindings: mfd: Add MediaTek MT6370")
Signed-off-by: ChiYuan Huang <cy_huang@richtek.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/1663295929-9024-1-git-send-email-u0084500@gmail.com
2022-09-28 16:17:42 +01:00
Jens Hillenstedt 834382ea32 mfd: da9061: Fix Failed to set Two-Wire Bus Mode.
In da9062_i2c_probe() regmap_clear_bits() tries to access CONFIG_J
register. As CONFIG_J is not present in da9061_aa_writeable_ranges[] probe
of da9061 fails:

  da9062 2-0058: Entering I2C mode!
  da9062 2-0058: Failed to set Two-Wire Bus Mode.
  da9062: probe of 2-0058 failed with error -5

Add CONFIG_J register to da9061_aa_writeable_ranges[].

Fixes: 5c6f0f4563 ("mfd: da9062: Support SMBus and I2C mode")
Signed-off-by: Jens Hillenstedt <jens.hillenstedt@ise.de>
Reviewed-by: Adam Ward <DLG-Adam.Ward.opensource@dm.renesas.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220915092004.168744-1-jens.hillenstedt@ise.de
2022-09-28 16:17:41 +01:00
Peng Wu 9c90f21f93 mfd: htc-i2cpld: Fix an IS_ERR() vs NULL bug in htcpld_core_probe()
The gpiochip_request_own_desc() function returns error pointers on error,
it doesn't return NULL.

Fixes: 0ef5164a81fbf ("mfd/omap1: htc-i2cpld: Convert to a pure GPIO driver")
Signed-off-by: Peng Wu <wupeng58@huawei.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220913071659.94677-1-wupeng58@huawei.com
2022-09-28 16:17:41 +01:00
Krzysztof Kozlowski a328ae8504 dt-bindings: mfd: qcom,tcsr: Drop simple-mfd from IPQ6018
Commit 7677ed11e9 ("dt-bindings: mfd: qcom,tcsr: Convert to dtschema")
converted bindings to DT schema literally - including the
qcom,tcsr-ipq6018 expecting syscon and simple-mfd.  Such configuration
is not used in DTS and there is no actual need of it.  The TCSR block is
purely configuration block and should not have children.  Any child
device should be simply moved outside of TCSR syscon block.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220909091056.128949-1-krzysztof.kozlowski@linaro.org
2022-09-28 16:17:41 +01:00
Jiasheng Jiang 8325a6c24a mfd: sm501: Add check for platform_driver_register()
As platform_driver_register() can return error numbers,
it should be better to check platform_driver_register()
and deal with the exception.

Fixes: b6d6454fdb ("[PATCH] mfd: SM501 core driver")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220913091112.1739138-1-jiasheng@iscas.ac.cn
2022-09-28 16:17:41 +01:00
Allen-KH Cheng a5e84f33cd dt-bindings: mfd: mediatek: Add scpsys compatible for mt8186
Add a new scpsys compatible for mt8186 SoC.

Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220923131148.6678-2-allen-kh.cheng@mediatek.com
2022-09-28 16:17:41 +01:00
Andy Shevchenko 6c6a8c6af6 mfd: twl4030: Add missed linux/device.h header
With compile testing on non-OMAP platforms compiler might be not happy:

In function ‘twl4030_sih_setup’:
  error: implicit declaration of function ‘dev_err’ [-Werror=implicit-function-declaration]
  error: implicit declaration of function ‘dev_info’ [-Werror=implicit-function-declaration]
In function ‘twl4030_init_irq’:
  error: invalid use of undefined type ‘struct device’

Add missed header.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220923175401.8723-1-andriy.shevchenko@linux.intel.com
2022-09-28 16:17:41 +01:00
Conor Dooley c15c19dd4e dt-bindings: mfd: dlg,da9063: Add missing regulator patterns
Commit 5621d3977e29 ("dt-bindings: mfd: Add missing (unevaluated|
additional)Properties on child nodes") exposed a flaw in the original
binding, where "merged" versions of some regulators were missing,
leading to warnings on the HiFive Unmatched Devicetree.

Add the missing patterns (and merge some of the trivial ones).

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220916190009.2292223-1-conor@kernel.org
2022-09-28 16:17:41 +01:00
Chunyan Zhang a53ffb04ea dt-bindings: mfd: sprd: Add bindings for ums512 global registers
Add bindings for Unisoc system global register which provide register map
for clocks.

Signed-off-by: Chunyan Zhang <chunyan.zhang@unisoc.com>
Signed-off-by: Cixi Geng <cixi.geng1@unisoc.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220909152421.278662-2-gengcixi@gmail.com
2022-09-28 16:17:41 +01:00
Andy Shevchenko 1801c448d4 mfd: intel_soc_pmic_chtdc_ti: Switch from __maybe_unused to pm_sleep_ptr() etc
Letting the compiler remove these functions when the kernel is built
without CONFIG_PM_SLEEP support is simpler and less heavier for builds
than the use of __maybe_unused attributes.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220906134256.14293-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Lee Jones <lee@kernel.org>
2022-09-28 16:17:41 +01:00
Sebastian Reichel 3064c115bc dt-bindings: mfd: syscon: Add rk3588 QoS register compatible
Document rk3588 compatible for QoS registers.

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220906143825.199089-5-sebastian.reichel@collabora.com
2022-09-28 16:17:41 +01:00
Dmitry Torokhov ac3e91199d mfd: stmpe: Switch to using gpiod API
This patch switches the driver away from legacy gpio/of_gpio API to
gpiod API, and removes use of of_get_named_gpio_flags() which I want to
make private to gpiolib.

We also need to patch relevant DTS files, as the original code relied on
the fact that of_get_named_gpio_flags() would fetch any data encoded in
GPIO flags, even if it does not reflect valid flags for a GPIO.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/YxeS1BK2OBH1P/kO@google.com
2022-09-28 16:17:40 +01:00
Luca Weiss 62a0261c9f mfd: qcom-spmi-pmic: Add pm7250b compatible
Document the compatible for pm7250b that is used with e.g. sm6350.

Also while we're at it, sort the compatibles alphabetically.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220902111055.106814-1-luca.weiss@fairphone.com
2022-09-28 16:17:40 +01:00
Rob Herring 42839dcafd dt-bindings: mfd: Add missing (unevaluated|additional)Properties on child nodes
In order to ensure only documented properties are present, node schemas
must have unevaluatedProperties or additionalProperties set to false
(typically).

Signed-off-by: Rob Herring <robh@kernel.org>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Alistair Francis <alistair@alistair23.me>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220823145649.3118479-4-robh@kernel.org
2022-09-28 16:17:40 +01:00
Linus Walleij a47137a513 mfd/omap1: htc-i2cpld: Convert to a pure GPIO driver
Instead of passing GPIO numbers pertaining to ourselves through
platform data, just request GPIO descriptors from our own GPIO
chips and use them, and cut down on the unnecessary complexity.

Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
Cc: Janusz Krzysztofik <jmkrzyszt@gmail.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Cory Maccarrone <darkstar6262@gmail.com>
Cc: linux-omap@vger.kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220905115810.5987-1-linus.walleij@linaro.org
2022-09-28 16:17:40 +01:00
Russ Weight 6a96f6c132 mfd: intel-m10-bmc: Add d5005 bmc secure update driver
Add the D5005 BMC secure update driver to the MAX10 BMC driver
for D5005 devices.

Signed-off-by: Russ Weight <russell.h.weight@intel.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220902165706.518074-2-russell.h.weight@intel.com
2022-09-28 16:17:40 +01:00
Krzysztof Kozlowski 2002d60dcf dt-bindings: mfd: syscon: Drop ref from reg-io-width
reg-io-width is a standard property, so no need for defining its type

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220823101021.387034-1-krzysztof.kozlowski@linaro.org
2022-09-28 16:17:40 +01:00
Chris Morgan a592aa3a2a dt-bindings: mfd: Add Rockchip rk817 battery charger support
Create dt-binding documentation to document rk817 battery and charger
usage. New device-tree properties have been added.

- rockchip,resistor-sense-micro-ohms: The value in microohms of the
                                      sample resistor.
- rockchip,sleep-enter-current-microamp: The value in microamps of the
                                         sleep enter current.
- rockchip,sleep-filter-current: The value in microamps of the sleep
                                 filter current.

Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Signed-off-by: Maya Matuszczyk <maccraft123mc@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220827021623.23829-2-macroalpha82@gmail.com
2022-09-28 16:17:40 +01:00
Krzysztof Kozlowski 07a1300336 MAINTAINERS: Drop Robert Jones
Emails to Robert Jones bounce ("550 5.2.1 The email account that you
tried to reach is disabled").

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-By: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220808111113.71890-1-krzysztof.kozlowski@linaro.org
2022-09-28 16:17:40 +01:00
Robert Marko 90d7c4033c mfd: qcom-spmi-pmic: Add support for PMP8074
Add support for PMP8074 PMIC which is a companion PMIC for the Qualcomm
IPQ8074 SoC-s.

It shares the same subtype identifier as PM8901.

Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220818221815.346233-2-robimarko@gmail.com
2022-09-28 16:17:40 +01:00
Robert Marko ce436a3016 dt-bindings: mfd: qcom-spmi-pmic: Add support for PMP8074
Document compatible for the PMP8074 PMIC.

Signed-off-by: Robert Marko <robimarko@gmail.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220818221815.346233-1-robimarko@gmail.com
2022-09-28 16:17:39 +01:00
Wolfram Sang 6a32d3995f mfd: Move from strlcpy with unused retval to strscpy
Follow the advice of the below link and prefer 'strscpy' in this
subsystem. Conversion is 1:1 because the return value is not used.
Generated by a coccinelle script.

Link: https://lore.kernel.org/r/CAHk-=wgfRnXz0W3D37d01q3JFkr_i_uTL=V6A6G1oUZcprmknw@mail.gmail.com/
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220818210030.7012-1-wsa+renesas@sang-engineering.com
2022-09-28 16:17:39 +01:00
Dan Carpenter 75db790735 mfd: fsl-imx25: Fix check for platform_get_irq() errors
The mx25_tsadc_remove() function assumes all non-zero returns are success
but the platform_get_irq() function returns negative on error and
positive non-zero values on success.  It never returns zero, but if it
did then treat that as a success.

Fixes: 18f7739379 ("mfd: fsl-imx25: Clean up irq settings during removal")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Martin Kaiser <martin@kaiser.cx>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/YvTfkbVQWYKMKS/t@kili
2022-09-28 16:17:39 +01:00
Krzysztof Kozlowski f8c1940165 dt-bindings: mfd: qcom,tcsr: Add several devices
Document existing (MSM8996, SC7280) and new compatibles for TCSR syscon
registers (QCS404, SC7180, SDM630, SDM845, SM8150, MSM8998).

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220819083209.50844-2-krzysztof.kozlowski@linaro.org
2022-09-28 16:17:39 +01:00
Rafael J. Wysocki 599618e589 Update devfreq next for v6.1
Detailed description for this pull request:
 1. Handle -EPROBE_DEFER when regulator is not probed on mtk-ci-devfreq.c
 2. Use dev_err_probe to reduce the error log on rockchip-dfi.c
 -----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEEsSpuqBtbWtRe4rLGnM3fLN7rz1MFAmMwqywWHGN3MDAuY2hv
 aUBzYW1zdW5nLmNvbQAKCRCczd8s3uvPU5fyD/9YSSK8/uX5ZWEynU2gB+uQuvPe
 Ciy42b+vQQvmLM6ELCUhvD3W9EH7GCREnh1dbMa8LREz8JpS5z1Q/B/0QZD5OJ5p
 Hk81Dnl+f6OfZ++fvdrouYdyj4UiPNOW8j1V00gk2p/VATG9jhyjCk9rp1lVjGyW
 LL2roMkgKglpsQGv5WZhXHoSCfEXpXwLikuaD6pLLIISbdthiiM/X6w6Krz+0sY5
 MhgAVWpfpV1OhvMEKXUGbg0UaEMCdBINSLD7miIxKN1GlK/1Zpoc2zTReTEqLzGd
 dflNyUWP2ruplPl+m2ZLHwIPYS586aVyPNXAJvEcnrnyM9OdGhpf7YInAwR5xEtG
 12Y546YnvDmbTxDJpQAkMrG9n7Kp2oxBRM+JKk/lDZc8JVjqsXo1P72qgvtJmN0e
 E+LU2RDWwiqaynD3g6UiZZRWBEDXnIC/4adxlLu8TNsKD8nYD/Rpzhak4YI9hmjA
 7RpLjmYcd0WuvxdlES/YoujQbHEMuZJAHYC6oSLwwBoK+An3NFvzdr3Ddn4HMPiF
 WIco5MY7gd6Sd+jUJarSfrbntEz2apUBIn1EqdgNoBnQa/cSNqHIYv1e4PuA7gkq
 Iseyl3vV1CaE3iBYnnOncbiolRgHsPDoUonDCQVd8JoFpRZZt+BYj12bZtxrvbIx
 qly4awiytFstr+1FzA==
 =c+Jg
 -----END PGP SIGNATURE-----

Merge tag 'devfreq-next-for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux

Pull devfreq next for v6.1 from Chanwoo Choi:

"1. Handle -EPROBE_DEFER when regulator is not probed on mtk-ci-devfreq.c
 2. Use dev_err_probe to reduce the error log on rockchip-dfi.c"

* tag 'devfreq-next-for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux:
  PM / devfreq: rockchip-dfi: Fix an error message
  PM / devfreq: mtk-cci: Handle sram regulator probe deferral
2022-09-28 17:14:48 +02:00
Rafael J. Wysocki 8e3d086767 cpufreq/arm updates for 6.1-rc1
- Add SM6115 to cpufreq-dt blocklist (Adam Skladowski).
 - Add support for Tegra239 and minor cleanups (Sumit Gupta, ye xingchen,
   and Yang Yingliang).
 - Add freq qos for qcom cpufreq driver and minor cleanups (Xuewen Yan,
   and Viresh Kumar).
 - Minor cleanups around functions called at module_init() (Xiu Jianfeng).
 - Use module_init and add module_exit for bmips driver (Zhang Jianhua).
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEx73Crsp7f6M6scA70rkcPK6BEhwFAmMxf2UACgkQ0rkcPK6B
 Ehw4jA//TjMC1SlKDS3UEizGll8EV5Tzm7lqLC7WL9A2PcIIZjbo7IEBWusG+D7x
 ynYU6OMw2pcEZ7rhAz85nvRCfyt7nq4Q+QbYPSgBfg2DLdlspQAWmE+D5CrZCmQG
 kJiBUCwswz166VbHGyvJ0C4/BPe/dOgp6NMDXftambuqyRiePdIc7NcovaJdqgnn
 6GGXQcxAPRizsNiqjrkJU1so6kbZ/ApR+pGwxcA/FWP+5EHDv9zUW4yR7S/dyNmP
 /ezDN+DlLnJuSpPoYMe9e6I+5uB7URv8ZmrBUepY9YM/veIppL/enBIFmUoiopKC
 OqaJ4Z1cICdNjC3ODjvQmjz6cH8zR1YzbJRFOo+XOV4Jk5/Dd3yadP4NT+NlyotM
 irZsSuzMtCUytta42AchMCl6jCx/xd3M8t9TOCgmfTj3Au+i7ee2QYys7RoTyeFf
 A9oo3jSWbGeU4TGUTo+o4+C7WxW9EESnxE3NjgD7vcRbtnKgRXcVWrau662gcxrI
 fQdymVfTGSwVNqwja8c8QO4oWi5PcKg/OCVBF/zyUX+nu+cbgJThwNZLzt8Z9fcJ
 BBp9i59ZK4yEUWkp/lV6S+ymgZutHKWAOUpmqgIs98G/Dq2dce6MId85cS+by5Sq
 Tl6CIZeRnj6M97nVVMPK1QX20Jwf5Y/YRLwG/Lx+/FbGOW0VDZ8=
 =iTZh
 -----END PGP SIGNATURE-----

Merge tag 'cpufreq-arm-updates-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm

Pull cpufreq/arm updates for 6.1-rc1 from Viresh Kumar:

"- Add SM6115 to cpufreq-dt blocklist (Adam Skladowski).
 - Add support for Tegra239 and minor cleanups (Sumit Gupta, ye xingchen,
   and Yang Yingliang).
 - Add freq qos for qcom cpufreq driver and minor cleanups (Xuewen Yan,
   and Viresh Kumar).
 - Minor cleanups around functions called at module_init() (Xiu Jianfeng).
 - Use module_init and add module_exit for bmips driver (Zhang
   Jianhua)."

* tag 'cpufreq-arm-updates-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm:
  cpufreq: qcom-cpufreq-hw: Add cpufreq qos for LMh
  cpufreq: Add __init annotation to module init funcs
  cpufreq: tegra194: change tegra239_cpufreq_soc to static
  cpufreq: tegra194: Add support for Tegra239
  cpufreq: qcom-cpufreq-hw: Fix uninitialized throttled_freq warning
  cpufreq: tegra194: Remove the unneeded result variable
  cpufreq: bmips-cpufreq: Use module_init and add module_exit
  cpufreq: Add SM6115 to cpufreq-dt-platdev blocklist
2022-09-28 17:10:15 +02:00
Krzysztof Kozlowski f4b632da13 dt-bindings: mfd: qcom,spmi-pmic: Fix TM ADC node schema on PM8998
There are two bindings for Qualcomm SPMI PMIC Thermal Monitoring ADC:
one for ADC HC and one for ADC TM5 and TM7.  PM8998 uses the former one,
so fix matching of child schema:

  qcom/msm8998-asus-novago-tp370ql.dtb: pmic@0: adc-tm@3400:compatible:0: 'qcom,spmi-adc-tm-hc' is not one of ['qcom,spmi-adc-tm5', 'qcom,spmi-adc-tm5-gen2', 'qcom,adc-tm7']

Fixes: 3f5117be95 ("dt-bindings: mfd: convert to yaml Qualcomm SPMI PMIC")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220828084341.112146-15-krzysztof.kozlowski@linaro.org
2022-09-28 16:09:51 +01:00
Krzysztof Kozlowski ea0dd0df65 dt-bindings: mfd: qcom,spmi-pmic: Fix regulator node schema
The regulators node of Qualcomm SPMI PMIC represents sub-device, so it
has its own compatible, multiple regulators and uses dedicated bindings.

Fixes: 3f5117be95 ("dt-bindings: mfd: convert to yaml Qualcomm SPMI PMIC")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220828084341.112146-14-krzysztof.kozlowski@linaro.org
2022-09-28 16:09:51 +01:00
Krzysztof Kozlowski 6f42a14bc2 dt-bindings: mfd: qcom,spmi-pmic: Extend example
Add a more complete example with PM6150 to provide better validation of
the bindings.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220828130113.5845-1-krzysztof.kozlowski@linaro.org
2022-09-28 16:09:51 +01:00
Krzysztof Kozlowski f5e90351a3 dt-bindings: mfd: syscon: Require specific compatible also for simple-mfd
The syscon bindings require a device specific compatible, beside the
"syscon".  However schema counts "simple-mfd" as such, which allows
simple-mfd+syscon to sneak in.

Adjust the match to be sure simple-mfd also comes with a device specific
compatible.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220817142246.828762-5-krzysztof.kozlowski@linaro.org
2022-09-28 16:09:51 +01:00
Krzysztof Kozlowski 0a6df9f16f dt-bindings: mfd: qcom,spmi-pmic: Add missing compatibles
Conversion from TXT to DT schema lost several compatibles.

Fixes: 3f5117be95 ("dt-bindings: mfd: convert to yaml Qualcomm SPMI PMIC")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Reviewed-by: David Heidelberg <david@ixit.cz>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220828065123.39734-1-krzysztof.kozlowski@linaro.org
2022-09-28 16:09:51 +01:00
Tinghan Shen 26331d261f dt-bindings: mfd: mt8195: Add bindings for MediaTek SCPSYS
The System Control Processor System (SCPSYS) has several power
management related tasks in the system. Add the bindings for it.

Signed-off-by: Tinghan Shen <tinghan.shen@mediatek.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220811025813.21492-7-tinghan.shen@mediatek.com
2022-09-28 16:09:51 +01:00
Rob Herring 79ea68e0a9 dt-bindings: mfd: aspeed,ast2x00-scu: Convert to DT schema format
Convert the aspeed,ast2[456]00-scu binding to DT schema format.

The original binding was missing '#address-cells', '#size-cells',
'ranges', and child nodes, so add them.

Signed-off-by: Rob Herring <robh@kernel.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220810161635.73936-3-robh@kernel.org
2022-09-28 16:09:51 +01:00
ChiYuan Huang 6460f51ae3 dt-binding: mfd: Add Richtek RT5120 PMIC support
Add Richtek RT5120 PMIC devicetree document.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: ChiYuan Huang <cy_huang@richtek.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/1660100142-32493-2-git-send-email-u0084500@gmail.com
2022-09-28 16:09:51 +01:00
ChiYuan Huang 4e4627e1ae mfd: rt5120: Add Richtek PMIC support
Add Richtek RT5120 PMIC I2C driver.

Signed-off-by: ChiYuan Huang <cy_huang@richtek.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/1660100142-32493-3-git-send-email-u0084500@gmail.com
2022-09-28 16:09:50 +01:00
Michal Oleszczyk 8e88c61d6f mfd: core: Delete corresponding OF node entries from list on MFD removal
When we consider MFD which implements hotplug (e.g. USB hotplug
driver based on product and vendor IDs) functionality it turns out
that its sub-devices are correctly matched with corresponding device
tree nodes only at the first time. When physical device reboots
or is replugged (and MFD driver is disconnected and probed back
again) all sub-devices fails in mfd_add_device() with error
'Failed to locate of_node'.

The reason of that behavior is that when any MFD sub-device is
created for the first time (and matched with device tree node) it
is added to the mfd_of_node_list. It looks like this list is never
cleaned even if devices added there are intentionally removed from
the system. So when MFD device is replugged and all sub-devices
are matched with their device tree nodes again they fail as matched
nodes already exist in mfd_of_node_list. In other words current
implementation does not support MFD with hotplug feature.

This commit extends MFD core for hotplugging support by removing
appropriate OF node entry from mfd_of_node_list when corresponding
device is removed from the system. Thanks to that when device is
added once again it can be matched with its device tree node
successfully.

Signed-off-by: Michal Oleszczyk <oleszczyk.m@gmail.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220809060336.31892-1-m.oleszczyk@grinn-global.com
2022-09-28 16:09:50 +01:00
Jason Wang 31961dc598 mfd: twl-core: Fix double "to to" in comment.
The double `to' is duplicated in the comment, remove one.

Signed-off-by: Jason Wang <wangborong@cdjrlc.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220802201757.8142-1-wangborong@cdjrlc.com
2022-09-28 16:09:50 +01:00
Christophe JAILLET 557244f628 mfd: lp8788: Fix an error handling path in lp8788_irq_init() and lp8788_irq_init()
In lp8788_irq_init(), if an error occurs after a successful
irq_domain_add_linear() call, it must be undone by a corresponding
irq_domain_remove() call.

irq_domain_remove() should also be called in lp8788_irq_exit() for the same
reason.

Fixes: eea6b7cc53 ("mfd: Add lp8788 mfd driver")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/bcd5a72c9c1c383dd6324680116426e32737655a.1659261275.git.christophe.jaillet@wanadoo.fr
2022-09-28 16:09:50 +01:00
Christophe JAILLET becfdcd751 mfd: lp8788: Fix an error handling path in lp8788_probe()
Should an error occurs in mfd_add_devices(), some resources need to be
released, as already done in the .remove() function.

Add an error handling path and a lp8788_irq_exit() call to undo a previous
lp8788_irq_init().

Fixes: eea6b7cc53 ("mfd: Add lp8788 mfd driver")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/18398722da9df9490722d853e4797350189ae79b.1659261275.git.christophe.jaillet@wanadoo.fr
2022-09-28 16:09:50 +01:00
Christophe JAILLET 3fa9e4cfb5 mfd: fsl-imx25: Fix an error handling path in mx25_tsadc_setup_irq()
If devm_of_platform_populate() fails, some resources need to be
released.

Introduce a mx25_tsadc_unset_irq() function that undoes
mx25_tsadc_setup_irq() and call it both from the new error handling path
of the probe and in the remove function.

Fixes: a55196eff6 ("mfd: fsl-imx25: Use devm_of_platform_populate()")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/d404e04828fc06bcfddf81f9f3e9b4babbe35415.1659269156.git.christophe.jaillet@wanadoo.fr
2022-09-28 16:09:50 +01:00
Samuel Holland 625065dae9 dt-bindings: mfd: x-powers,axp152: Document the AXP228 variant
AXP228 is a PMIC used on boards such as the Clockwork ClockworkPi and
DevTerm. Its register map appears to be identical to the AXP221 variant.
The only known difference is in the default values for regulator on/off
states and voltages.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220810013430.27061-1-samuel@sholland.org
2022-09-28 16:09:50 +01:00
Alistair Francis 5e88619b30 mfd: silergy,sy7636a: Add config option MFD_SY7636A
Add a specific MFD_SY7636A config option.

As part of this change we can use MFD_SY7636A as a dependency for all
SY7636a components and also remove the name from MFD_SIMPLE_MFD_I2C as
it no longer needs to be selectable.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220525115554.430971-2-alistair@alistair23.me
2022-09-28 16:09:50 +01:00
ChiYuan Huang b2adf788e6 mfd: mt6370: Add MediaTek MT6370 support
This adds support for the MediaTek MT6370 SubPMIC. MediaTek MT6370 is a
SubPMIC consisting of a single cell battery charger with ADC monitoring,
RGB LEDs, dual channel flashlight, WLED backlight driver, display bias
voltage supply, one general purpose LDO, and the USB Type-C & PD controller
complies with the latest USB Type-C and PD standards.

Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: ChiYuan Huang <cy_huang@richtek.com>
Signed-off-by: ChiaEn Wu <chiaen_wu@richtek.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220805070610.3516-8-peterwu.pub@gmail.com
2022-09-28 16:09:50 +01:00
ChiYuan Huang 7f915eef50 dt-bindings: mfd: Add MediaTek MT6370
Add MediaTek MT6370 binding documentation.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: ChiYuan Huang <cy_huang@richtek.com>
Signed-off-by: ChiaEn Wu <chiaen_wu@richtek.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220805070610.3516-7-peterwu.pub@gmail.com
2022-09-28 16:09:50 +01:00
Chris Morgan 2d48bfca42 mfd: rk808: Add Rockchip rk817 battery charger support
Add rk817 charger support cell to rk808 mfd driver.

Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Signed-off-by: Maya Matuszczyk <maccraft123mc@gmail.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220808173809.11320-3-macroalpha82@gmail.com
2022-09-28 16:09:49 +01:00
Andy Shevchenko 03f271b0b1 mfd: intel_soc_pmic_crc: Update the copyright year
Update the copyright year to be 2012-2014, 2022.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220801114211.36267-10-andriy.shevchenko@linux.intel.com
2022-09-28 16:09:49 +01:00
Andy Shevchenko 39c8980cb2 mfd: intel_soc_pmic_crc: Replace intel_soc_pmic with crystal_cove
To reflect the point that this driver is only for one type of the PMICs,
replace intel_soc_pmic with crystal_cove (avoid using crc for possible
namespace collisions with CRC library APIs).

Note, also rename the driver name since we don't expect any user
that enumerates by it, only ACPI known so far.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220801114211.36267-9-andriy.shevchenko@linux.intel.com
2022-09-28 16:09:49 +01:00
Andy Shevchenko 0c602c7f6d mfd: intel_soc_pmic_crc: Convert driver to use ->probe_new()
Use the ->probe_new() callback.

The driver does not use const struct i2c_device_id * argument,
so convert it to utilise the simplified I²C driver registration.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220801114211.36267-8-andriy.shevchenko@linux.intel.com
2022-09-28 16:09:49 +01:00