Bjorn Andersson
e7488f3e4e
mfd: qcom-spmi-pmic: Add missing PMICs supported by socinfo
...
The Qualcomm socinfo driver has eight more PMICs described, add these to
the SPMI PMIC driver as well.
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20211017161218.2378176-4-bjorn.andersson@linaro.org
2021-11-05 14:40:27 +00:00
Bjorn Andersson
7d165f6451
mfd: qcom-spmi-pmic: Document ten more PMICs in the binding
...
Update the binding with eight more SPMI PMIC compatibles found in the
PMIC info list in the Qualcomm socinfo driver and add the two PM660
related PMICs supported by the SPMI PMIC driver but are missing from the
document.
Then remove the duplicate entry for pma8084.
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20211017161218.2378176-3-bjorn.andersson@linaro.org
2021-11-05 14:40:27 +00:00
Bjorn Andersson
0e2a35ac05
mfd: qcom-spmi-pmic: Sort compatibles in the driver
...
Sort the compatibles in the driver, to make it easier to validate that
the DT binding and driver are in sync.
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20211017161218.2378176-2-bjorn.andersson@linaro.org
2021-11-05 14:40:27 +00:00
Bjorn Andersson
0af9b5c509
mfd: qcom-spmi-pmic: Sort the compatibles in the binding
...
Create some order in the list of compatibles by sorting them.
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20211017161218.2378176-1-bjorn.andersson@linaro.org
2021-11-05 14:40:27 +00:00
Qing Wang
6ae210f1b5
mfd: janz-cmoio: Replace snprintf in show functions with sysfs_emit
...
show() must not use snprintf() when formatting the value to be
returned to user space.
Fix the following coccicheck warning:
drivers/mfd/janz-cmodio.c:157: WARNING: use scnprintf or sprintf.
Use sysfs_emit instead of scnprintf or sprintf makes more sense.
Signed-off-by: Qing Wang <wangqing@vivo.com >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/1634280592-4722-1-git-send-email-wangqing@vivo.com
2021-11-05 14:40:27 +00:00
Arnd Bergmann
37f127cf81
mfd: altera-a10sr: Include linux/module.h
...
Without the header, the MODULE_DEVICE_TABLE() declaration fails:
drivers/mfd/altera-a10sr.c:153:1: error: data definition has no type or storage class [-Werror]
153 | MODULE_DEVICE_TABLE(of, altr_a10sr_spi_of_match);
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20211013144402.2292128-1-arnd@kernel.org
2021-11-05 14:40:26 +00:00
Uwe Kleine-König
ec14d90dee
mfd: tps65912: Make tps65912_device_exit() return void
...
Up to now tps65912_device_exit() returns zero unconditionally. Make it
return void instead which makes it easier to see in the callers that
there is no error to handle.
Also the return value of i2c and spi remove callbacks is ignored anyway.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20211012153945.2651412-11-u.kleine-koenig@pengutronix.de
2021-11-05 14:40:26 +00:00
Uwe Kleine-König
356bbabade
mfd: stmpe: Make stmpe_remove() return void
...
Up to now stmpe_remove() returns zero unconditionally. Make it return
void instead which makes it easier to see in the callers that there is
no error to handle.
Also the return value of i2c and spi remove callbacks is ignored anyway.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20211012153945.2651412-10-u.kleine-koenig@pengutronix.de
2021-11-05 14:40:26 +00:00
Uwe Kleine-König
c39cf60feb
mfd: mc13xxx: Make mc13xxx_common_exit() return void
...
Up to now mc13xxx_common_exit() returns zero unconditionally. Make it
return void instead which makes it easier to see in the callers that
there is no error to handle.
Also the return value of i2c and spi remove callbacks is ignored anyway.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20211012153945.2651412-9-u.kleine-koenig@pengutronix.de
2021-11-05 14:40:26 +00:00
Chanho Park
3bb4fb68e9
dt-bindings: mfd: syscon: Add samsung,exynosautov9-sysreg compatible
...
Add document Samsung's Exynos Auto v9 compatible for system registers.
Signed-off-by: Chanho Park <chanho61.park@samsung.com >
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20211010032246.146939-2-chanho61.park@samsung.com
2021-11-05 14:40:26 +00:00
Kai Song
fae2570d62
mfd: altera-sysmgr: Fix a mistake caused by resource_size conversion
...
The resource_size defines that:
res->end - res->start + 1;
The origin original code is:
sysmgr_config.max_register = res->end - res->start - 3;
So, the correct fix is that:
sysmgr_config.max_register = resource_size(res) - 4;
Fixes: d12edf9661 ("mfd: altera-sysmgr: Use resource_size function on resource object")
Signed-off-by: Kai Song <songkai01@inspur.com >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20211006141926.6120-1-songkai01@inspur.com
2021-11-05 14:40:26 +00:00
Maxime Ripard
8616f7ee2c
dt-bindings: gpio: Convert X-Powers AXP209 GPIO binding to a schema
...
The X-Powers AXP PMICs feature a GPIO Controller supported by Linux
thanks to its device tree binding.
Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.
Cc: Chen-Yu Tsai <wens@csie.org >
Cc: Linus Walleij <linus.walleij@linaro.org >
Cc: linux-gpio@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech >
Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com >
Reviewed-by: Rob Herring <robh@kernel.org >
Acked-by: Chen-Yu Tsai <wens@csie.org >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20210924071614.868307-1-maxime@cerno.tech
2021-11-05 14:40:26 +00:00
Heiko Stuebner
4ce0808c03
dt-bindings: mfd: syscon: Add rk3368 QoS register compatible
...
Document rk3368 compatible for QoS registers.
Signed-off-by: Heiko Stuebner <heiko@sntech.de >
Acked-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20210925090405.2601792-2-heiko@sntech.de
2021-11-05 14:40:26 +00:00
Charles Keepax
3f65555c41
mfd: arizona: Split of_match table into I2C and SPI versions
...
The Arizona driver has both some devices which only have an I2C
interface and some which only have a SPI interface. Currently both of
these share an of_match table, but this means inapproriate compatibles
are available for each interface. Tidy this up by creating a table for
each interface listing only the appropriate compatibles.
Reported-by: Mark Brown <broonie@kernel.org >
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20210928163035.23960-1-ckeepax@opensource.cirrus.com
2021-11-05 14:40:26 +00:00
Maxime Ripard
239f2bb141
dt-bindings: mfd: Convert X-Powers AXP binding to a schema
...
The X-Powers AXP PMICs are supported by Linux thanks to its device tree
binding.
Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.
Signed-off-by: Maxime Ripard <maxime@cerno.tech >
Reviewed-by: Rob Herring <robh@kernel.org >
Acked-by: Chen-Yu Tsai <wens@csie.org >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20210924071614.868307-2-maxime@cerno.tech
2021-11-05 14:40:25 +00:00
Maxime Ripard
59f031c04d
dt-bindings: mfd: Convert X-Powers AC100 binding to a schema
...
The X-Powers AC100 hybrid devices are supported by Linux thanks to its
device tree binding.
Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.
Signed-off-by: Maxime Ripard <maxime@cerno.tech >
Acked-by: Chen-Yu Tsai <wens@csie.org >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20210924071614.868307-3-maxime@cerno.tech
2021-11-05 14:40:25 +00:00
Dmitry Baryshkov
d3546ccdce
mfd: qcom-pm8xxx: switch away from using chained IRQ handlers
...
PM8xxx PMIC family uses GPIO as parent IRQ. Using it together with the
irq_set_chained_handler_and_data() results in warnings from the GPIOLIB
(see 461c1a7d47 ("gpiolib: override irq_enable/disable"))
as in this path the IRQ resources are not allocated (and thus the
corresponding GPIO is not marked as used for the IRQ. Use request_irq so
that the IRQ resources are proprely setup.
[ 0.803271] ------------[ cut here ]------------
[ 0.803338] WARNING: CPU: 3 PID: 1 at drivers/gpio/gpiolib.c:3207 gpiochip_enable_irq+0xa4/0xa8
[ 0.803470] Modules linked in:
[ 0.803542] CPU: 3 PID: 1 Comm: swapper/0 Not tainted 5.14.0-rc6-next-20210820-postmarketos-qcom-apq8064+ #1
[ 0.803645] Hardware name: Generic DT based system
[ 0.803710] Backtrace:
[ 0.803777] [<c0e3493c>] (dump_backtrace) from [<c0e34d00>] (show_stack+0x20/0x24)
[ 0.803911] r7:00000c87 r6:c07062dc r5:60000093 r4:c11d0f54
[ 0.803980] [<c0e34ce0>] (show_stack) from [<c0e38314>] (dump_stack_lvl+0x48/0x54)
[ 0.804097] [<c0e382cc>] (dump_stack_lvl) from [<c0e38338>] (dump_stack+0x18/0x1c)
[ 0.804217] r5:00000009 r4:c11fe208
[ 0.804274] [<c0e38320>] (dump_stack) from [<c03219c8>] (__warn+0xfc/0x114)
[ 0.804387] [<c03218cc>] (__warn) from [<c0e35334>] (warn_slowpath_fmt+0x74/0xd0)
[ 0.804509] r7:c07062dc r6:00000c87 r5:c11fe208 r4:00000000
[ 0.804577] [<c0e352c4>] (warn_slowpath_fmt) from [<c07062dc>] (gpiochip_enable_irq+0xa4/0xa8)
[ 0.804716] r8:c27b6200 r7:c27aec00 r6:c27aec18 r5:cf77a448 r4:c02225f0
[ 0.804789] [<c0706238>] (gpiochip_enable_irq) from [<c0706348>] (gpiochip_irq_enable+0x28/0x38)
[ 0.804921] r5:cf77a448 r4:c27aec18
[ 0.804977] [<c0706320>] (gpiochip_irq_enable) from [<c03897a0>] (irq_enable+0x48/0x78)
[ 0.805111] r5:00000000 r4:c27aec00
[ 0.805167] [<c0389758>] (irq_enable) from [<c0389850>] (__irq_startup+0x80/0xbc)
[ 0.805286] r5:00000000 r4:c27aec00
[ 0.805343] [<c03897d0>] (__irq_startup) from [<c038996c>] (irq_startup+0xe0/0x18c)
[ 0.805468] r7:c27aec00 r6:00000001 r5:00000000 r4:c27aec00
[ 0.805535] [<c038988c>] (irq_startup) from [<c0389a54>] (irq_activate_and_startup+0x3c/0x74)
[ 0.805669] r7:c27aec00 r6:00000001 r5:c27aec00 r4:00000000
[ 0.805736] [<c0389a18>] (irq_activate_and_startup) from [<c0389b58>] (__irq_do_set_handler+0xcc/0x1c0)
[ 0.805875] r7:c27aec00 r6:c0383710 r5:c08a16b0 r4:00000001
[ 0.805943] [<c0389a8c>] (__irq_do_set_handler) from [<c0389d80>] (irq_set_chained_handler_and_data+0x60/0x98)
[ 0.806087] r7:c27b5c10 r6:c27aed40 r5:c08a16b0 r4:c27aec00
[ 0.806154] [<c0389d20>] (irq_set_chained_handler_and_data) from [<c08a1660>] (pm8xxx_probe+0x1fc/0x24c)
[ 0.806298] r6:0000003a r5:0000003a r4:c27b5c00
[ 0.806359] [<c08a1464>] (pm8xxx_probe) from [<c0871420>] (platform_probe+0x6c/0xc8)
[ 0.806495] r10:c2507080 r9:e8bea2cc r8:c165e0e0 r7:c165e0e0 r6:c15f08f8 r5:c27b5c10
[ 0.806582] r4:00000000
[ 0.806632] [<c08713b4>] (platform_probe) from [<c086e280>] (really_probe+0xe8/0x460)
[ 0.806769] r7:c165e0e0 r6:c15f08f8 r5:00000000 r4:c27b5c10
[ 0.806837] [<c086e198>] (really_probe) from [<c086e6a8>] (__driver_probe_device+0xb0/0x22c)
[ 0.806975] r7:c27b5c10 r6:cf70fba4 r5:c15f08f8 r4:c27b5c10
[ 0.807042] [<c086e5f8>] (__driver_probe_device) from [<c086e868>] (driver_probe_device+0x44/0xe0)
[ 0.807188] r9:e8bea2cc r8:00000000 r7:c27b5c10 r6:cf70fba4 r5:c16ae4b4 r4:c16ae4b0
[ 0.807271] [<c086e824>] (driver_probe_device) from [<c086ecd8>] (__device_attach_driver+0xb4/0x12c)
[ 0.807421] r9:e8bea2cc r8:c15eec08 r7:c27b5c10 r6:cf70fba4 r5:c15f08f8 r4:00000001
[ 0.807506] [<c086ec24>] (__device_attach_driver) from [<c086c06c>] (bus_for_each_drv+0x94/0xe4)
[ 0.807651] r7:c16ae484 r6:c086ec24 r5:cf70fba4 r4:00000000
[ 0.807718] [<c086bfd8>] (bus_for_each_drv) from [<c086e0e0>] (__device_attach+0x104/0x19c)
[ 0.807852] r6:00000001 r5:c27b5c54 r4:c27b5c10
[ 0.807913] [<c086dfdc>] (__device_attach) from [<c086eef4>] (device_initial_probe+0x1c/0x20)
[ 0.808050] r6:c27b5c10 r5:c15ef1b0 r4:c27b5c10
[ 0.808111] [<c086eed8>] (device_initial_probe) from [<c086d00c>] (bus_probe_device+0x94/0x9c)
[ 0.808240] [<c086cf78>] (bus_probe_device) from [<c086a60c>] (device_add+0x404/0x8f4)
[ 0.808370] r7:c16ae484 r6:c251ba10 r5:00000000 r4:c27b5c10
[ 0.808439] [<c086a208>] (device_add) from [<c0a82f50>] (of_device_add+0x44/0x4c)
[ 0.808581] r10:c144c854 r9:00000001 r8:e8bea314 r7:c251ba10 r6:00000000 r5:00000000
[ 0.808669] r4:c27b5c00
[ 0.808718] [<c0a82f0c>] (of_device_add) from [<c0a836cc>] (of_platform_device_create_pdata+0xa0/0xc8)
[ 0.808850] [<c0a8362c>] (of_platform_device_create_pdata) from [<c0a83908>] (of_platform_bus_create+0x1f0/0x514)
[ 0.809005] r9:00000001 r8:c251ba10 r7:00000000 r6:00000000 r5:00000000 r4:e8bea2b0
[ 0.809086] [<c0a83718>] (of_platform_bus_create) from [<c0a83e04>] (of_platform_populate+0x98/0x128)
[ 0.809233] r10:c144c854 r9:00000001 r8:c251ba10 r7:00000000 r6:00000000 r5:e8bea170
[ 0.809321] r4:e8bea2b0
[ 0.809371] [<c0a83d6c>] (of_platform_populate) from [<c0a83f20>] (devm_of_platform_populate+0x60/0xa8)
[ 0.809521] r9:0000011d r8:c165e0e0 r7:e8bea170 r6:c2c34f40 r5:c2cac140 r4:c251ba10
[ 0.809604] [<c0a83ec0>] (devm_of_platform_populate) from [<c08a212c>] (ssbi_probe+0x138/0x16c)
[ 0.809738] r6:c2c34f40 r5:c251ba10 r4:ff822700
[ 0.809800] [<c08a1ff4>] (ssbi_probe) from [<c0871420>] (platform_probe+0x6c/0xc8)
[ 0.809923] r7:c165e0e0 r6:c15f0a80 r5:c251ba10 r4:00000000
[ 0.809989] [<c08713b4>] (platform_probe) from [<c086e280>] (really_probe+0xe8/0x460)
[ 0.810120] r7:c165e0e0 r6:c15f0a80 r5:00000000 r4:c251ba10
[ 0.810187] [<c086e198>] (really_probe) from [<c086e6a8>] (__driver_probe_device+0xb0/0x22c)
[ 0.810325] r7:c251ba10 r6:c15f0a80 r5:c15f0a80 r4:c251ba10
[ 0.810393] [<c086e5f8>] (__driver_probe_device) from [<c086e868>] (driver_probe_device+0x44/0xe0)
[ 0.810539] r9:0000011d r8:00000000 r7:c251ba10 r6:c15f0a80 r5:c16ae4b4 r4:c16ae4b0
[ 0.810623] [<c086e824>] (driver_probe_device) from [<c086ee2c>] (__driver_attach+0xdc/0x188)
[ 0.810766] r9:0000011d r8:c144c834 r7:00000000 r6:c15f0a80 r5:c251ba10 r4:00000000
[ 0.810849] [<c086ed50>] (__driver_attach) from [<c086bf60>] (bus_for_each_dev+0x88/0xd4)
[ 0.810985] r7:00000000 r6:c086ed50 r5:c15f0a80 r4:00000000
[ 0.811052] [<c086bed8>] (bus_for_each_dev) from [<c086dad4>] (driver_attach+0x2c/0x30)
[ 0.811182] r6:c15ef1b0 r5:c2c34e80 r4:c15f0a80
[ 0.811243] [<c086daa8>] (driver_attach) from [<c086d2dc>] (bus_add_driver+0x180/0x21c)
[ 0.811364] [<c086d15c>] (bus_add_driver) from [<c086fa6c>] (driver_register+0x84/0x118)
[ 0.811492] r7:00000000 r6:ffffe000 r5:c1428210 r4:c15f0a80
[ 0.811558] [<c086f9e8>] (driver_register) from [<c0871174>] (__platform_driver_register+0x2c/0x34)
[ 0.811683] r5:c1428210 r4:c16524a0
[ 0.811739] [<c0871148>] (__platform_driver_register) from [<c1428234>] (ssbi_driver_init+0x24/0x28)
[ 0.811868] [<c1428210>] (ssbi_driver_init) from [<c0302394>] (do_one_initcall+0x68/0x2c8)
[ 0.811990] [<c030232c>] (do_one_initcall) from [<c140147c>] (kernel_init_freeable+0x1dc/0x23c)
[ 0.812135] r7:cf7b0400 r6:c130339c r5:00000007 r4:c147f6a0
[ 0.812204] [<c14012a0>] (kernel_init_freeable) from [<c0e40e60>] (kernel_init+0x20/0x138)
[ 0.812345] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0e40e40
[ 0.812433] r4:00000000
[ 0.812483] [<c0e40e40>] (kernel_init) from [<c0300150>] (ret_from_fork+0x14/0x24)
[ 0.812596] Exception stack(0xcf70ffb0 to 0xcf70fff8)
[ 0.812684] ffa0: 00000000 00000000 00000000 00000000
[ 0.812809] ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 0.812923] ffe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 0.813008] r5:c0e40e40 r4:00000000
[ 0.813075] ---[ end trace ad2443eee078d094 ]---
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org >
Reviewed-by: Linus Walleij <linus.walleij@linaro.org >
Tested-by: David Heidelberg <david@ixit.cz > # on Nexus 7 (deb)
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20210925234333.2430755-1-dmitry.baryshkov@linaro.org
2021-11-05 14:40:25 +00:00
Mark Brown
c5c7f06771
mfd: sprd: Add SPI device ID table
...
Currently autoloading for SPI devices does not use the DT ID table, it uses
SPI modalises. Supporting OF modalises is going to be difficult if not
impractical, an attempt was made but has been reverted, so ensure that
module autoloading works for this driver by adding a SPI device ID table.
Fixes: 96c8395e21 ("spi: Revert modalias changes")
Signed-off-by: Mark Brown <broonie@kernel.org >
Reviewed-by: Baolin Wang <baolin.wang7@gmail.com >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20210924143347.14721-4-broonie@kernel.org
2021-11-05 14:40:25 +00:00
Mark Brown
d5fa8592b7
mfd: cpcap: Add SPI device ID table
...
Currently autoloading for SPI devices does not use the DT ID table, it uses
SPI modalises. Supporting OF modalises is going to be difficult if not
impractical, an attempt was made but has been reverted, so ensure that
module autoloading works for this driver by adding a SPI device ID table.
Fixes: 96c8395e21 ("spi: Revert modalias changes")
Signed-off-by: Mark Brown <broonie@kernel.org >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20210924143347.14721-3-broonie@kernel.org
2021-11-05 14:40:25 +00:00
Mark Brown
4ea673e87e
mfd: altr_a10sr: Add SPI device ID table
...
Currently autoloading for SPI devices does not use the DT ID table, it uses
SPI modalises. Supporting OF modalises is going to be difficult if not
impractical, an attempt was made but has been reverted, so ensure that
module autoloading works for this driver by adding a SPI device ID table.
Fixes: 96c8395e21 ("spi: Revert modalias changes")
Signed-off-by: Mark Brown <broonie@kernel.org >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20210924143347.14721-2-broonie@kernel.org
2021-11-05 14:40:25 +00:00
Krzysztof Kozlowski
7c0f35e7b4
mfd: exynos-lpass: Describe driver in KConfig
...
Describe better which driver applies to which SoC, to make configuring
kernel for Samsung SoC easier.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20210924133332.112092-1-krzysztof.kozlowski@canonical.com
2021-11-05 14:40:25 +00:00
Krzysztof Kozlowski
002be81140
mfd: core: Add missing of_node_put for loop iteration
...
Early exits from for_each_child_of_node() should decrement the
node reference counter. Reported by Coccinelle:
drivers/mfd/mfd-core.c:197:2-24: WARNING:
Function "for_each_child_of_node" should have of_node_put() before goto around lines 209.
Fixes: c94bb233a9 ("mfd: Make MFD core code Device Tree and IRQ domain aware")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20210528115126.18370-1-krzysztof.kozlowski@canonical.com
2021-11-05 14:40:25 +00:00
Orlando Chamberlain
ddb1ada416
mfd: intel-lpss: Add support for MacBookPro16,2 ICL-N UART
...
Added 8086:38a8 to the intel_lpss_pci driver. It is an Intel Ice Lake
PCH-N UART controler present on the MacBookPro16,2.
Signed-off-by: Orlando Chamberlain <redecorating@protonmail.com >
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20211002111449.12674-1-redecorating@protonmail.com
2021-11-05 14:40:06 +00:00
Krzysztof Kozlowski
8163fbd971
mfd: max14577: Do not enforce (incorrect) interrupt trigger type
...
Interrupt line can be configured on different hardware in different way,
even inverted. Therefore driver should not enforce specific trigger
type - edge falling - but instead rely on Devicetree to configure it.
The Maxim 14577/77836 datasheets describe the interrupt line as active
low with a requirement of acknowledge from the CPU therefore the edge
falling is not correct.
The interrupt line is shared between PMIC and charger driver, so using
level sensitive interrupt is here especially important to avoid races.
With an edge configuration in case if first PMIC signals interrupt
followed shortly after by the RTC, the interrupt might not be yet
cleared/acked thus the second one would not be noticed.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org >
Acked-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20210602110445.33536-4-krzysztof.kozlowski@canonical.com
2021-11-05 14:40:06 +00:00
Krzysztof Kozlowski
f5f082eb04
mfd: max77693: Do not enforce (incorrect) interrupt trigger type
...
Interrupt line can be configured on different hardware in different way,
even inverted. Therefore driver should not enforce specific trigger
type - edge falling - but instead rely on Devicetree to configure it.
The Maxim 77693 datasheet describes the interrupt line as active low
with a requirement of acknowledge from the CPU therefore the edge
falling is not correct.
The interrupt line is shared between PMIC and RTC driver, so using level
sensitive interrupt is here especially important to avoid races. With
an edge configuration in case if first PMIC signals interrupt followed
shortly after by the RTC, the interrupt might not be yet cleared/acked
thus the second one would not be noticed.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org >
Acked-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20210602110445.33536-3-krzysztof.kozlowski@canonical.com
2021-11-05 14:40:06 +00:00
Krzysztof Kozlowski
215e50b086
mfd: max77686: Do not enforce (incorrect) interrupt trigger type
...
Interrupt line can be configured on different hardware in different way,
even inverted. Therefore driver should not enforce specific trigger
type - edge falling - but instead rely on Devicetree to configure it.
The Maxim 77686 datasheet describes the interrupt line as active low
with a requirement of acknowledge from the CPU therefore the edge
falling is not correct.
The interrupt line is shared between PMIC and RTC driver, so using level
sensitive interrupt is here especially important to avoid races. With
an edge configuration in case if first PMIC signals interrupt followed
shortly after by the RTC, the interrupt might not be yet cleared/acked
thus the second one would not be noticed.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org >
Acked-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20210602110445.33536-2-krzysztof.kozlowski@canonical.com
2021-11-05 14:40:06 +00:00
Krzysztof Kozlowski
6854a10526
mfd: sec-irq: Do not enforce (incorrect) interrupt trigger type
...
Interrupt line can be configured on different hardware in different way,
even inverted. Therefore driver should not enforce specific trigger
type - edge falling - but instead rely on Devicetree to configure it.
The Samsung PMIC drivers are used only on Devicetree boards.
Additionally, the PMIC datasheets describe the interrupt line as active
low with a requirement of acknowledge from the CPU therefore the edge
falling is not correct.
Marek Szyprowski reports that together with DTS change (proper level in
DTS) it fixes RTC alarm failure that he observed from time to time on
TM2e board.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org >
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20210602110445.33536-1-krzysztof.kozlowski@canonical.com
2021-11-05 14:40:06 +00:00
Paul Kocialkowski
b147a05568
dt-bindings: mfd: logicvc: Add patternProperties for the display
...
The LogiCVC multi-function device has a display part which is now
described in its binding. Add a patternProperties match for it.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
Acked-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
2021-11-05 14:40:05 +00:00
Krzysztof Kozlowski
f12ebfd31e
mfd: cros_ec: Drop unneeded MODULE_ALIAS
...
The MODULE_DEVICE_TABLE already creates proper alias. Having another
MODULE_ALIAS causes the alias to be duplicated:
$ modinfo cros_ec_dev.ko
alias: platform:cros-ec-dev
srcversion: F84A69D2156719A4F717A76
alias: platform:cros-ec-dev
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
2021-11-05 14:40:05 +00:00
Ramona Alexandra Nechita
23ee74df13
mfd: Kconfig: Fix typo in PMIC_ADP5520 from AD5520 to ADP5520
...
The description mentioned AD5520, which is a different device.
Fixed the typo.
Signed-off-by: Ramona Alexandra Nechita <ramona.nechita@analog.com >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
2021-11-05 14:40:05 +00:00
Chunyan Zhang
fcd8d92f1d
mfd: sprd: Add support for SC2730 PMIC
...
SC2730 is a PMIC SoC integrated in UMS512.
Signed-off-by: Chunyan Zhang <chunyan.zhang@unisoc.com >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
2021-11-05 14:40:05 +00:00
Baruch Siach
3060c54ce3
dt-bindings: mfd: qcom,tcsr: Document ipq6018 compatible
...
Signed-off-by: Baruch Siach <baruch@tkos.co.il >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
2021-11-05 14:40:05 +00:00
Carlos de Paula
c9a2038357
mfd: da9063: Add support for latest EA silicon revision
...
This update adds new regmap to support the latest EA silicon
which will be selected based on the chip and variant
information read from the device.
Signed-off-by: Carlos de Paula <me@carlosedp.com >
Reviewed-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
2021-11-05 14:40:05 +00:00
Ondrej Jirman
4d94b98f2e
mfd: rk808: Add support for power off on RK817
...
RK817 has a power-off bit in SYS_CFG3. Add support for powering
off the PMIC.
Signed-off-by: Ondrej Jirman <megous@megous.com >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
2021-11-05 14:40:05 +00:00
Prarit Bhargava
635a0535e2
mfd: intel_pmt: Only compile on x86
...
The intel_pmt driver shows up as a compile option for all arches but is
32-bit and 64-bit x86 specific.
Add a CONFIG dependency on X86 for intel_pmt.
Signed-off-by: Prarit Bhargava <prarit@redhat.com >
Reviewed-by: David E. Box <david.e.box@linux.intel.com >
Reviewed-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
2021-11-05 14:40:05 +00:00
Colin Ian King
ad70c03f21
mfd: ti_am335x_tscadc: Fix spelling mistake "atleast" -> "at least"
...
There is a spelling mistake in a dev_err message. Fix it.
Signed-off-by: Colin Ian King <colin.king@canonical.com >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
2021-11-05 14:40:02 +00:00
Rafał Miłecki
48be356343
dt-bindings: mfd: brcm,cru: Add USB 2.0 PHY
...
Northstar's USB 2.0 PHY is part of the CRU MFD.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
2021-11-05 14:38:51 +00:00
Rafał Miłecki
15fd4ca41d
dt-bindings: mfd: brcm,cru: Add clkset syscon
...
CRU has a shared register that is used e.g. to control USB 2.0 PHY block
access. It's a single 32 b register. Document it as syscon so it can be
used with a regmap.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
2021-11-05 14:38:51 +00:00
Rafał Miłecki
3747a64179
dt-bindings: mfd: Add Broadcom's MISC block
...
Broadcom's MISC is an MFD hardware block used on some of their SoCs like
bcm63xx and bcm4908. At this point only PCIe reset is fully understood
and documented. More functions may be added later.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl >
Acked-by: Florian Fainelli <f.fainelli@gmail.com >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
2021-11-05 14:38:51 +00:00
Lee Jones
9ada96900a
Merge branches 'ib-mfd-iio-touchscreen-clk-5.16', 'ib-mfd-misc-regulator-5.16' and 'tb-mfd-from-regulator-5.16' into ibs-for-mfd-merged
2021-11-05 14:37:56 +00:00
Krzysztof Kozlowski
eca8c5fc9d
dt-bindings: mfd: samsung,s5m8767: Document buck and LDO supplies
...
Document the properties with regulator supplies for bucks and LDOs. At
least one board uses it (Exynos5250 Arndale).
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20211008114024.135335-1-krzysztof.kozlowski@canonical.com
2021-10-21 10:48:06 +01:00
Krzysztof Kozlowski
9aefe3fbab
dt-bindings: mfd: samsung,s5m8767: Convert to dtschema
...
Convert the MFD part of Samsung S5M8767 PMIC to DT schema format.
Previously the bindings were mostly in mfd/samsung,sec-core.txt.
Since all of bindings for Samsung S2M and S5M family of PMICs were
converted from mfd/samsung,sec-core.txt to respective dtschema file,
remove the former one.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20211008113931.134847-6-krzysztof.kozlowski@canonical.com
2021-10-21 10:47:36 +01:00
Krzysztof Kozlowski
cc0eb5dc15
dt-bindings: mfd: samsung,s2mpa01: Convert to dtschema
...
Convert the MFD part of Samsung S2MPA01 PMIC to DT schema format.
Previously the bindings were mostly in mfd/samsung,sec-core.txt.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20211008113931.134847-5-krzysztof.kozlowski@canonical.com
2021-10-21 10:47:11 +01:00
Krzysztof Kozlowski
e84946dd7a
dt-bindings: mfd: samsung,s2mps11: Convert to dtschema
...
Convert the MFD part of Samsung S2MPS11/S2MPS13/S2MPS14/S2MPS15/S2MPU02
family of PMICs to DT schema format. Previously the bindings were
mostly in mfd/samsung,sec-core.txt.
The conversion copies parts of description from existing bindings
therefore the license is not changed from GPLv2.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20211008113931.134847-4-krzysztof.kozlowski@canonical.com
2021-10-21 10:46:35 +01:00
Lee Jones
9721f0e845
Merge tag 'tags/s2m_s5m_dtschema' into tb-mfd-from-regulator-5.16
...
regulator/clock: Convert the s2m and s5m DT bindings to schema
Tagged to allow further bindings to rely on these.
Signed-off-by: Lee Jones <lee.jones@linaro.org >
2021-10-21 10:44:38 +01:00
Miquel Raynal
e7c8a5fe82
iio: adc: ti_am335x_adc: Add the am437x compatible
...
This driver supports both the legacy controller (am33xx) and the
extended one (am437x), so let's add a new compatible.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com >
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20211015081506.933180-46-miquel.raynal@bootlin.com
2021-10-21 10:02:48 +01:00
Miquel Raynal
3af9935499
iio: adc: ti_am335x_adc: Add the scale information
...
Without the scale, the values returned to the user are just a picture of
the input voltage against the full scale range of the ADC. We need to
provide the actual conversion factor to get milli-Volts values.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com >
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20211015081506.933180-45-miquel.raynal@bootlin.com
2021-10-21 09:24:01 +01:00
Miquel Raynal
789e5ebcc6
iio: adc: ti_am335x_adc: Add a unit to the timeout delay
...
The lack of unit in the macro name kind of tricked me when I was
troubleshooting an issue. Physical constants should always get a unit.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com >
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20211015081506.933180-44-miquel.raynal@bootlin.com
2021-10-21 09:24:00 +01:00
Miquel Raynal
b61a9d32d2
iio: adc: ti_am335x_adc: Gather the checks on the delays
...
Move the checks over the delays provided in the device tree to the
location where these values are read to clarify where they come from.
There are no functional changes besides the device structure used to
display the warnings: let's use the ADC instead of the MFD device.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com >
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20211015081506.933180-43-miquel.raynal@bootlin.com
2021-10-21 09:23:59 +01:00
Miquel Raynal
16e8f8fed4
iio: adc: ti_am335x_adc: Get rid of useless gotos
...
Gotos jumping to a return statement are not really useful, drop them.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com >
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Link: https://lore.kernel.org/r/20211015081506.933180-42-miquel.raynal@bootlin.com
2021-10-21 09:23:57 +01:00