04 Jan, 2021
1 commit
-
This is the 5.10.4 stable release
* tag 'v5.10.4': (717 commits)
Linux 5.10.4
x86/CPU/AMD: Save AMD NodeId as cpu_die_id
drm/edid: fix objtool warning in drm_cvt_modes()
...Signed-off-by: Jason Liu
Conflicts:
drivers/gpu/drm/imx/dcss/dcss-plane.c
drivers/media/i2c/ov5640.c
30 Dec, 2020
4 commits
-
[ Upstream commit 14639a22de657eabbb776f503a816594393cc935 ]
With commit 3a6f0fb7b8eb ("regmap: irq: Add support to clear ack
registers"), the cpcap interrupts are no longer getting acked properly
leading to a very unresponsive device with CPUs fully loaded spinning
in the threaded IRQ handlers.To me it looks like the clear_ack commit above actually fixed a long
standing bug in regmap_irq_thread() where we unconditionally acked the
interrupts earlier without considering ack_invert. And the issue with
cpcap started happening as we now also consider ack_invert.Tim Harvey tried to fix this issue earlier with
"[PATCH v2] regmap: irq: fix ack-invert", but the reading of the ack
register was considered unnecessary for just ack_invert, and we did not
have clear_ack available yet. As the cpcap irqs worked both with and
without ack_invert earlier because of the unconditional ack, the
problem remained hidden until now.Also, looks like the earlier v3.0.8 based Motorola Android Linux kernel
does clear_ack style read-clear-write with "ireg_val & ~mreg_val" instead
of just ack_invert style write. So let's switch cpcap to use clear_ack
to fix the issue.Fixes: 3a6f0fb7b8eb ("regmap: irq: Add support to clear ack registers")
Cc: Carl Philipp Klemm
Cc: Laxminath Kasam
Cc: Merlijn Wajer
Cc: Mark Brown
Cc: Pavel Machek
Cc: Sebastian Reichel
Cc: Tim Harvey
Signed-off-by: Tony Lindgren
Tested-by: Pavel Machek
Reviewed-By: Tim Harvey
Signed-off-by: Lee Jones
Signed-off-by: Sasha Levin -
[ Upstream commit d75846ed08e6f4135ec73778575c34d9c0ace993 ]
'ret' may be 0 so, dev_err_probe() should be called only when 'ret' is
an error code.Fixes: 41c9c06c491a ("mfd: stmfx: Simplify with dev_err_probe()")
Signed-off-by: Amelie Delaunay
Signed-off-by: Lee Jones
Signed-off-by: Sasha Levin -
[ Upstream commit de1292817cf736c04fab31903a6aa9d9ffe60b79 ]
Currently the Kontron sl28cpld Board Management Controller is found only
on Kontron boards equipped with a Freescale Layerscape SoC. Hence add a
dependency on ARCH_LAYERSCAPE, to prevent asking the user about a driver
for this controller when configuring a kernel without Layerscape support.Fixes: a538ad229bbee4f8 ("mfd: simple-mfd-i2c: Add sl28cpld support")
Signed-off-by: Geert Uytterhoeven
Acked-by: Michael Walle
Signed-off-by: Lee Jones
Signed-off-by: Sasha Levin -
[ Upstream commit 9a463284706c5217872c3cadaca863d47129bd95 ]
htcpld_register_chip_i2c() misses to call i2c_put_adapter() in an error
path. Add the missed function call to fix it.Fixes: 6048a3dd2371 ("mfd: Add HTCPLD driver")
Signed-off-by: Jing Xiangfeng
Signed-off-by: Lee Jones
Signed-off-by: Sasha Levin
18 Dec, 2020
3 commits
-
* regulator/next: (15 commits)
LF-2202-2: regulator: pca9450: add enable_value for all bucks
regulator: pf1550-rpmsg: convert pm_qos_*() usage to new cpu_latency_qos_*()
MLK-23562: regulator: core: adjust supply voltage in bypass
MLK-13793-6 regulator: anatop: fix min dropout for bypass mode
MLK-11550-1: regulator: pfuze100: restore some registers after LPSR for pfuze3000
... -
* mxc/next: (279 commits)
LF-2111-2: mxc: vpu_windsor: Avoid hide parameter
MLK-24960: [8QM_MEK/8QXP_MEK]mxc:vpu_malone: move timestamp manager to firmware
MLK-24959: [8QM_MEK/8QXP_MEK]mxc:vpu_windsor: move timestamp handler to firmware
MLK-24906: [8QM_MEK/8QXP_MEK]mxc:vpu_malone: report V4L2_COLORSPACE_DEFAULT before seq hdr found
MLK-24593:[8QM_MEK/8QXP_MEK]mxc:vpu_windsor: support change bitrate dynamically
... -
* misc/next: (8 commits)
LF-2567-5 dma-buf: inlcude new headfile linux/dma-map-ops.h
MGS-5565-1 staging: android: ion: Flush outer cache after zero CMA allocated memory
MGS-5565 staging: android: ion: Flush cache after zero CMA allocated memory
Documentation: mfd: Add DT bindings for i.MX Mix
mfd: Add i.MX generic mix support
...
14 Dec, 2020
13 commits
-
in 5451781dadf85000665e0e2c3288e9e0f34b860a commit, it added the check that
the regulator need to be disabled before calling regulator_put().
If not do so, the kernel will print warning message as below.To fix this, need to disable regulator before probe function return if this
PMIC is not found. regulator_put() will be called when probe fails in this case
as devm_regulator_get() already called in probe function.[ 0.269916] i2c i2c-2: Max17135 PMIC not found!
[ 0.270004] ------------[ cut here ]------------
[ 0.270145] WARNING: CPU: 0 PID: 1 at drivers/regulator/core.c:2039 _regulator_put.part.4+0x100/0x120
[ 0.270166] Modules linked in:
[ 0.270196] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.3.0-rc3-next-20190809-02777-g23dc3ed #22
[ 0.270214] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[ 0.270250] [] (unwind_backtrace) from [] (show_stack+0x10/0x14)
[ 0.270281] [] (show_stack) from [] (dump_stack+0xd8/0x110)
[ 0.270310] [] (dump_stack) from [] (__warn.part.3+0xa8/0xe8)
[ 0.270335] [] (__warn.part.3) from [] (warn_slowpath_null+0x40/0x4c)
[ 0.270361] [] (warn_slowpath_null) from [] (_regulator_put.part.4+0x100/0x120)
[ 0.270385] [] (_regulator_put.part.4) from [] (regulator_put+0x2c/0x3c)
[ 0.270414] [] (regulator_put) from [] (release_nodes+0x1ac/0x1f8)
[ 0.270444] [] (release_nodes) from [] (really_probe+0x104/0x340)
[ 0.270467] [] (really_probe) from [] (driver_probe_device+0x84/0x194)
[ 0.270492] [] (driver_probe_device) from [] (bus_for_each_drv+0x7c/0xc4)
[ 0.270516] [] (bus_for_each_drv) from [] (__device_attach+0xcc/0x140)
[ 0.270539] [] (__device_attach) from [] (bus_probe_device+0x88/0x90)
[ 0.270563] [] (bus_probe_device) from [] (device_add+0x608/0x754)
[ 0.270591] [] (device_add) from [] (i2c_new_client_device+0x12c/0x20c)
[ 0.270615] [] (i2c_new_client_device) from [] (i2c_new_device+0x8/0x14)
[ 0.270641] [] (i2c_new_device) from [] (of_i2c_register_devices+0x90/0x110)
[ 0.270666] [] (of_i2c_register_devices) from [] (i2c_register_adapter+0x148/0x3ec)
[ 0.270691] [] (i2c_register_adapter) from [] (i2c_imx_probe+0x37c/0x830)
[ 0.270719] [] (i2c_imx_probe) from [] (platform_drv_probe+0x48/0x98)
[ 0.270747] [] (platform_drv_probe) from [] (really_probe+0x1dc/0x340)
[ 0.270773] [] (really_probe) from [] (driver_probe_device+0x84/0x194)
[ 0.270797] [] (driver_probe_device) from [] (device_driver_attach+0x58/0x60)
[ 0.270821] [] (device_driver_attach) from [] (__driver_attach+0x58/0xd0)
[ 0.270844] [] (__driver_attach) from [] (bus_for_each_dev+0x70/0xb4)
[ 0.270867] [] (bus_for_each_dev) from [] (bus_add_driver+0x198/0x1d0)
[ 0.270890] [] (bus_add_driver) from [] (driver_register+0x74/0x108)
[ 0.270916] [] (driver_register) from [] (do_one_initcall+0x80/0x338)
[ 0.270946] [] (do_one_initcall) from [] (kernel_init_freeable+0x2fc/0x3d8)
[ 0.270973] [] (kernel_init_freeable) from [] (kernel_init+0x8/0x110)
[ 0.270997] [] (kernel_init) from [] (ret_from_fork+0x14/0x20)
[ 0.271015] Exception stack(0xec0e9fb0 to 0xec0e9ff8)
[ 0.271038] 9fa0: 00000000 00000000 00000000 00000000
[ 0.271059] 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 0.271077] 9fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 0.271094] irq event stamp: 70901
[ 0.271125] hardirqs last enabled at (70909): [] console_unlock+0x418/0x5f4
[ 0.271149] hardirqs last disabled at (70916): [] console_unlock+0x88/0x5f4
[ 0.271173] softirqs last enabled at (69156): [] __do_softirq+0x2c4/0x514
[ 0.271198] softirqs last disabled at (68881): [] irq_exit+0x100/0x188
[ 0.271268] ---[ end trace 579e47ca40f2be36 ]---Signed-off-by: Robby Cai
-
export symbols to fix build error as a module:
ERROR: "max17135_reg_read" [drivers/hwmon/max17135-hwmon.ko] undefined!
Signed-off-by: Julien Olivain
Acked-by: Robby Cai -
i2c device client shouldn't be freed by i2c device driver, there have
problems in below cases:
- one device match to different drivers, the second matched driver will
cannot access i2c device client if it is freed by the first matched
driver.
- one module driver insmod: the first insmod fail free client due to system
low memory, after kswapd system free pages and has enough free pages, the
second insmod will cause match failed.Signed-off-by: Fugang Duan
Signed-off-by: Vipul Kumar -
Add PMIC 'MAX17135' module drivers to 4.1.y kernel. These are necessary
to supply power for E-ink panel display functions.Signed-off-by: Robby Cai
Signed-off-by: Vipul Kumar -
Complete cts value for 32kHz and different pixel clock,
otherwise there is no sound for 32kHz.Signed-off-by: Shengjiu Wang
Reviewed-by: Sandor Yu -
Add imx6 hdmi code driver.
This patch forwards imx6 HDMI code driver from imx_4.19.y kernel.Signed-off-by: Sandor Yu
-
Some of the i.MX SoCs have a IP for interfacing the dedicated IPs with
clocks, resets and interrupts, plus some other specific control registers.
To allow the functionality to be split between drivers, this MFD driver is
added that has only two purposes: register the devices and map the entire
register addresses. Everything else is left to the dedicated drivers that
will bind to the registered devices.Signed-off-by: Abel Vesa
-
There is issue that system can't enter suspend while the si476x is
working.The reason is that with the workqueue thread is still working after
i2c enter suspend, then cause the cpu_suspend function failed.This patch is to use the system_freezable_wq instead of the system_wq,
that the workqueue will be freeze before system enter suspend.Signed-off-by: Shengjiu Wang
Reviewed-by: Viorel Suman -
The si476x_core_get_revision_info will send i2c command to FM module, if it
return error, there is no FM modules attached, so we need't to register the
sound card. otherwise, the pulseaudio will access this sound card, but
return a lot of i2c error.Signed-off-by: Shengjiu Wang
(cherry picked from commit 4c8e9916128f05f9b4115e1ee1af4a1e7d800c4a)
Signed-off-by: Vipul Kumar -
Currently, si476x-rev1.0 and si476x-rev4.0 board just support A10
compatible command set. For si476x-rev1.0 board, its firmware revision is
unsupported and will revert to A10 compatible function. For si476x-rev4.0
board, its firmware revision is two and will use A30 function, but A30
command set function can't work for the rev4.0 board.
So make the command set configurable in dts. If "revision-a10" is present,
set the revision to SI476X_REVISION_A10 to use A10 compatible commit set.
Otherwise, get the revision from si476x register.Signed-off-by: Zidan Wang
(cherry picked from commit b648714c3b71ee084188ae04b1e6a6f2554fe2cb)
Signed-off-by: Vipul Kumar -
Add of_compatible for si476x-codec, then si476x-codec driver will have
codec_of_node, So machine driver can use the codec_of_node.Signed-off-by: Shengjiu Wang
(cherry picked from commit e2ec44f91a21b127e155e8317d06e8ead7fd2678)
(cherry picked from commit ac6decaf5414e784ae81a524edc2f32060061b59)
Signed-off-by: Vipul Kumar -
cherry-pick below patch from imx_3.14.y
ENGR00276567-6 mfd: si476x: Use default configuration when no platform dataThis would allow the driver to work normally without specific platform
data, when using devicetree for example.Signed-off-by: Nicolin Chen
(cherry picked from commit 23e369b88b546d7b699ca9ec46e195a05c61b717)
(cherry picked from commit a2449e1d303e341f32556fb7f4ebc7dcbdd9ead1)
Signed-off-by: Vipul Kumar -
cherry-pick below patch from imx_3.14.y
ENGR00276567-4 mfd: si476x: Fix power up failureThis's some logical error in power-up code, thus fix it.
Signed-off-by: Nicolin Chen
(cherry picked from commit 77d97ad1bb77c0e3c60b9781a06b61d4b4667de1)
(cherry picked from commit b656522da2685ef9a4da2229b6786d5cd0c12189)
Signed-off-by: Vipul Kumar
Signed-off-by: Shengjiu Wang
15 Oct, 2020
1 commit
-
Pull MFD updates from Lee Jones:
"New Drivers:
- Add support for initialising shared (between children) Regmaps
- Add support for Kontron SL28CPLD
- Add support for ENE KB3930 Embedded Controller
- Add support for Intel FPGA PAC MAX 10 BMCNew Device Support:
- Add support for Power to Ricoh RN5T618
- Add support for UART to Intel Lakefield
- Add support for LP87524_Q1 to Texas Instruments LP87565New Functionality:
- Device Tree; ene-kb3930, sl28cpld, syscon, lp87565, lp87524-q1
- Use new helper dev_err_probe(); madera-core, stmfx, wcd934x
- Use new GPIOD API; dm355evm_msp
- Add wake-up capability; sprd-sc27xx-spi
- Add ACPI support; kempld-coreFix-ups:
- Trivial (spelling/whitespace); Kconfig, ab8500
- Fix for unused variables; khadas-mcu, kempld-core
- Remove unused header file(s); mt6360-core
- Use correct IRQ flags in docs; act8945a, gateworks-gsc, rohm,bd70528-pmic
- Add COMPILE_TEST support; asic3, tmio_core
- Add dependency on I2C; SL28CPLDBug Fixes:
- Fix memory leak(s); sm501
- Do not free regmap_config's 'name' until exit; syscon"* tag 'mfd-next-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (34 commits)
mfd: kempld-core: Fix unused variable 'kempld_acpi_table' when !ACPI
mfd: sl28cpld: Depend on I2C
mfd: asic3: Build if COMPILE_TEST=y
dt-bindings: mfd: Correct interrupt flags in examples
mfd: Add ACPI support to Kontron PLD driver
mfd: intel-m10-bmc: Add Intel MAX 10 BMC chip support for Intel FPGA PAC
mfd: lp87565: Add LP87524-Q1 variant
dt-bindings: mfd: Add LP87524-Q1
dt-bindings: mfd: lp87565: Convert to yaml
mfd: mt6360: Remove unused include
mfd: sm501: Fix leaks in probe()
mfd: syscon: Don't free allocated name for regmap_config
dt-bindings: mfd: syscon: Document Exynos3 and Exynos5433 compatibles
dt-bindings: mfd: syscon: Merge Samsung Exynos Sysreg bindings
dt-bindings: mfd: ab8500: Remove weird Unicode characters
mfd: sprd: Add wakeup capability for PMIC IRQ
mfd: intel-lpss: Add device IDs for UART ports for Lakefield
mfd: dm355evm_msp: Convert LEDs to GPIO descriptor table
mfd: wcd934x: Simplify with dev_err_probe()
mfd: stmfx: Simplify with dev_err_probe()
...
05 Oct, 2020
2 commits
-
drivers/mfd/kempld-core.c:556:36: warning: unused variable 'kempld_acpi_table' [-Wunused-const-variable]
Signed-off-by: Lee Jones
-
Fixes the following randconfig build error:
ld: drivers/mfd/simple-mfd-i2c.o: in function `simple_mfd_i2c_probe':
simple-mfd-i2c.c:(.text+0x48): undefined reference to `__devm_regmap_init_i2c'
ld: drivers/mfd/simple-mfd-i2c.o: in function `simple_mfd_i2c_driver_init':
simple-mfd-i2c.c:(.init.text+0x14): undefined reference to `i2c_register_driver'
ld: drivers/mfd/simple-mfd-i2c.o: in function `simple_mfd_i2c_driver_exit':
simple-mfd-i2c.c:(.exit.text+0xd): undefined reference to `i2c_del_driver'Reported-by: Randy Dunlap
Tested-by: Randy Dunlap # build-tested
Acked-by: Randy Dunlap
Signed-off-by: Lee Jones
01 Oct, 2020
3 commits
-
Build this driver on another platforms if COMPILE_TEST=y. Another
drivers may depend on this, for example leds-asic3.Signed-off-by: Marek Behún
Signed-off-by: Lee Jones -
Recent Kontron COMe modules identify the PLD device using the hardware
id KEM0001 in the ACPI table.
This patch adds support for probing the device using the HID and also
retrieving the resources.As this is not available for all products, the DMI based detection still
needs to be around for older systems. It is executed if no matching ACPI
HID is found during registering the platform driver or no specific
device id is forced.
If a device is detected using ACPI and no resource information is
available, the default io resource is used.Forcing a device id with the force_device_id parameter and therefore
manually generating a platform device takes precedence over ACPI during
probing.Signed-off-by: Michael Brunner
Signed-off-by: Lee Jones -
This patch implements the basic functions of the BMC chip for some Intel
FPGA PCIe Acceleration Cards (PAC). The BMC is implemented using the
Intel MAX 10 CPLD.This BMC chip is connected to the FPGA by a SPI bus. To provide direct
register access from the FPGA, the "SPI slave to Avalon Master Bridge"
(spi-avmm) IP is integrated in the chip. It converts encoded streams of
bytes from the host to the internal register read/write on the Avalon
bus. So This driver uses the regmap-spi-avmm for register accessing.Signed-off-by: Xu Yilun
Signed-off-by: Wu Hao
Signed-off-by: Matthew Gerlach
Signed-off-by: Russ Weight
Reviewed-by: Tom Rix
Signed-off-by: Lee Jones
30 Sep, 2020
13 commits
-
Add support for the LP87524B/J/P-Q1 Four 4-MHz Buck Converter. This is a
variant of the LP87565 having 4 single-phase outputs and up to 10 A of
total output current.Signed-off-by: Luca Ceresoli
Signed-off-by: Lee Jones -
This file does not make use of it.
Reported-by: Hulk Robot
Signed-off-by: YueHaibing
Signed-off-by: Lee Jones -
This code should clean up if sm501_init_dev() fails.
Fixes: b6d6454fdb66 ("[PATCH] mfd: SM501 core driver")
Signed-off-by: Dan Carpenter
Signed-off-by: Lee Jones -
The name allocated for the regmap_config structure is freed
pretty early, right after the registration of the MMIO region.Unfortunately, that doesn't follow the life cycle that debugfs
expects, as it can access the name field long after the free
has occurred.Move the free on the error path, and keep it forever otherwise.
Fixes: e15d7f2b81d2 ("mfd: syscon: Use a unique name with regmap_config")
Signed-off-by: Marc Zyngier
Signed-off-by: Lee Jones -
When changing to use suspend-to-idle to save power, the PMIC irq can not
wakeup the system due to lack of wakeup capability, which will cause
the sub-irqs (such as power key) of the PMIC can not wake up the system.
Thus we can add the wakeup capability for PMIC irq to solve this issue,
as well as removing the IRQF_NO_SUSPEND flag to allow PMIC irq to be
a wakeup source.Reported-by: Chunyan Zhang
Signed-off-by: Baolin Wang
Tested-by: Chunyan Zhang
Signed-off-by: Lee Jones -
Add PCI IDs for Lakefield to the list of supported UARTs.
Cc: Jarkko Nikula
Cc: Mika Westerberg
Cc: "Ravi V. Shankar"
Signed-off-by: Ricardo Neri
Signed-off-by: Andy Shevchenko
Signed-off-by: Lee Jones -
This converts the DaVinci DM355EVM LEDs to use GPIO descriptor look-ups.
Cc: Sekhar Nori
Cc: Bartosz Golaszewski
Signed-off-by: Linus Walleij
Signed-off-by: Lee Jones -
Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.Signed-off-by: Krzysztof Kozlowski
Signed-off-by: Lee Jones -
Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.Signed-off-by: Krzysztof Kozlowski
Signed-off-by: Lee Jones -
Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.Signed-off-by: Krzysztof Kozlowski
Acked-by: Charles Keepax
Signed-off-by: Lee Jones -
This driver provides access to the EC RAM of said embedded controller
attached to the I2C bus as well as optionally supporting its slightly weird
power-off/restart protocol.A particular implementation of the EC firmware can be identified by a
model byte. If this driver identifies the Dell Ariel platform, it
registers the appropriate cells.Signed-off-by: Lubomir Rintel
Signed-off-by: Lee Jones -
When testing with !OF, the build system reports:
>> drivers/mfd/khadas-mcu.c:125:34: warning: unused variable 'khadas_mcu_of_match' [-Wunused-const-variable]
static const struct of_device_id khadas_mcu_of_match[] = {
^
Reported-by: kernel test robot
Acked-by: Neil Armstrong
Signed-off-by: Lee Jones -
The RN5T618 and RC5T619 both have a charger and a fuel gauge, so add
a subdevice for it. According to drivers in the wild, things
should be at least similar, but since it is not tested, add it
only to the RC5T619.Signed-off-by: Andreas Kemnade
Signed-off-by: Lee Jones