linux/drivers/mfd
Jens Kehne b1b15c7b24 mfd: da9063: Split chip variant reading in two bus transactions
[ Upstream commit 9ac4890ac3 ]

We observed the initial probe of the da9063 failing in
da9063_get_device_type in about 30% of boots on a Xilinx ZynqMP based
board. The problem originates in da9063_i2c_blockreg_read, which uses
a single bus transaction to turn the register page and then read a
register. On the bus, this should translate to a write to register 0,
followed by a read to the target register, separated by a repeated
start. However, we found that after the write to register 0, the
controller sometimes continues directly with the register address of
the read request, without sending the chip address or a repeated start
in between, which makes the read request invalid.

To fix this, separate turning the page and reading the register into
two separate transactions. This brings the initialization code in line
with the rest of the driver, which uses register maps (which to my
knowledge do not use repeated starts after turning the page). This has
been included in our kernel for several months and was recently
included in a shipped product. For us, it reliably fixes the issue,
and we have not observed any new issues.

While the underlying problem is probably with the i2c controller or
its driver, I still propose a change here in the interest of
robustness: First, I'm not sure this issue can be fixed on the
controller side, since there are other issues related to repeated
start which can't (AR# 60695, AR# 61664). Second, similar problems
might exist with other controllers.

Signed-off-by: Jens Kehne <jens.kehne@agilent.com>
Link: https://lore.kernel.org/r/20250804133754.3496718-1-jens.kehne@agilent.com
Signed-off-by: Lee Jones <lee@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-12-07 06:12:17 +09:00
..
88pm80x.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
88pm800.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
88pm805.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
88pm860x-core.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
88pm860x-i2c.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
aat2870-core.c mfd: aat2870: Use scnprintf() for avoiding potential buffer overflow 2020-03-30 07:35:28 +01:00
ab8500-core.c mfd: Use platform_get_irq() to get the interrupt 2022-03-23 14:51:51 +00:00
ab8500-sysctrl.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
abx500-core.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
ac100.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
acer-ec-a500.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
act8945a.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
adp5520.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 149 2019-05-30 11:25:18 -07:00
altera-a10sr.c mfd: altera-a10sr: Include linux/module.h 2021-11-05 14:40:26 +00:00
altera-sysmgr.c mfd: altera-sysmgr: Call of_node_put() only when of_parse_phandle() takes a ref 2024-03-26 18:20:50 -04:00
arizona-core.c mfd: arizona: Use pm_runtime_resume_and_get() to prevent refcnt leak 2023-03-11 13:55:32 +01:00
arizona-i2c.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
arizona-irq.c mfd: arizona: Fix rumtime PM imbalance on error 2021-04-14 16:06:40 +01:00
arizona-spi.c mfd: arizona-spi: Set pdata.hpdet_channel for ACPI enumerated devs 2023-11-20 11:52:08 +01:00
arizona.h mfd: arizona: Split of_match table into I2C and SPI versions 2021-11-05 14:40:26 +00:00
as3711.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 312 2019-06-05 17:37:04 +02:00
as3722.c mfd: as3722: Use DEFINE_RES_IRQ_NAMED() to simplify code 2021-06-02 10:51:19 +01:00
asic3.c mfd: asic3: Make asic3_gpio_remove() return void 2022-07-19 10:54:38 +01:00
at91-usart.c mfd: at91-usart: Do not use compatible to register child devices 2020-11-19 08:34:22 +00:00
atc260x-core.c mfd: Add MFD driver for ATC260x PMICs 2021-03-10 11:10:23 +00:00
atc260x-i2c.c mfd: Make symbol 'atc260x_i2c_of_match' static 2021-04-14 16:06:15 +01:00
atmel-flexcom.c mfd: atmel-flexcom: Fix compilation warning 2022-03-23 14:51:38 +00:00
atmel-hlcdc.c mfd: atmel-hlcdc: Return in case of error 2020-01-07 10:08:58 +00:00
atmel-smc.c mfd: remove reference to AVR32 architecture in atmel-smc.c 2022-08-03 11:03:03 +02:00
axp20x-i2c.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
axp20x-rsb.c mfd/bus: sunxi-rsb: Make .remove() callback return void 2021-01-15 13:23:36 +00:00
axp20x.c mfd: axp20x: Do not sleep in the power off handler 2022-12-31 13:32:52 +01:00
bcm590xx.c mfd: bcm590xx: Drop of_match_ptr from of_device_id table 2020-11-27 08:00:47 +00:00
bcm2835-pm.c mfd: bcm2835-pm: Add support for BCM2711 2022-07-04 11:42:20 +01:00
bd9571mwv.c mfd: bd9571mwv: Add support for BD9574MWF 2021-01-14 13:05:55 +00:00
cros_ec_dev.c - Core Frameworks 2022-08-06 10:25:16 -07:00
cs47l15-tables.c mfd: cs47l15: Add missing register default 2020-01-24 07:33:58 +00:00
cs47l24-tables.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
cs47l35-tables.c mfd: madera: Fixup SPDX headers 2019-07-02 12:11:31 +01:00
cs47l85-tables.c mfd: madera: Fixup SPDX headers 2019-07-02 12:11:31 +01:00
cs47l90-tables.c mfd: madera: Fixup SPDX headers 2019-07-02 12:11:31 +01:00
cs47l92-tables.c mfd: madera: Fixup SPDX headers 2019-07-02 12:11:31 +01:00
cs5535-mfd.c mfd: cs5535-mfd: Register clients using their own dedicated MFD cell entries 2019-11-11 08:45:03 +00:00
da903x.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
da9052-core.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
da9052-i2c.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
da9052-irq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
da9052-spi.c mfd: da9052-spi: Change read-mask to write-mask 2024-12-14 19:53:35 +01:00
da9055-core.c mfd: da9055: Use DEFINE_RES_IRQ_NAMED() to simplify code 2021-06-02 10:51:19 +01:00
da9055-i2c.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
da9062-core.c - Core Frameworks 2022-10-07 11:24:20 -07:00
da9063-core.c mfd: da9xxx-core: Constify static struct resource 2020-11-19 08:34:21 +00:00
da9063-i2c.c mfd: da9063: Split chip variant reading in two bus transactions 2025-12-07 06:12:17 +09:00
da9063-irq.c mfd: da9063: Remove platform_data support 2019-05-14 08:13:26 +01:00
da9150-core.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
davinci_voicecodec.c mfd: davinci_voicecodec: Fix possible null-ptr-deref davinci_vc_probe() 2022-05-23 14:52:45 +01:00
db8500-prcmu-regs.h mfd: db8500-prcmu: Rename register header 2021-08-05 14:19:59 +01:00
db8500-prcmu.c mfd: db8500-prcmu: Drop duplicated word "the" in the comments 2022-07-19 10:54:41 +01:00
dln2.c mfd: dln2: Fix double put in dln2_probe 2023-11-20 11:52:08 +01:00
dm355evm_msp.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ene-kb3930.c mfd: ene-kb3930: Fix a potential NULL pointer dereference 2025-04-25 10:43:41 +02:00
exynos-lpass.c mfd: exynos-lpass: Avoid calling exynos_lpass_disable() twice in exynos_lpass_remove() 2025-06-27 11:07:15 +01:00
ezx-pcap.c spi: Updates for v5.18 2022-03-21 18:33:57 -07:00
fsl-imx25-tsadc.c mfd: fsl-imx25: Fix check for platform_get_irq() errors 2022-09-28 16:17:39 +01:00
gateworks-gsc.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
hi655x-pmic.c mfd: hi655x-pmic: Replace legacy gpio interface for gpiod interface 2022-04-26 15:10:29 +01:00
hi6421-pmic-core.c mfd: Replace HTTP links with HTTPS ones 2020-08-13 07:50:59 +01:00
hi6421-spmi-pmic.c mfd: hi6421-spmi-pmic: Cleanup drvdata to only include regmap 2021-10-05 08:56:08 +01:00
htc-i2cpld.c mfd: htc-i2cpld: Fix an IS_ERR() vs NULL bug in htcpld_core_probe() 2022-09-28 16:17:41 +01:00
htc-pasic3.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
intel-lpss-acpi.c mfd: intel-lpss: Add missing check for platform_get_resource 2023-07-19 16:21:56 +02:00
intel-lpss-pci.c mfd: intel-lpss: Add Intel Lunar Lake-M PCI IDs 2023-11-28 17:07:01 +00:00
intel-lpss.c mfd: intel-lpss: Fix the fractional clock divider flags 2024-01-25 15:27:45 -08:00
intel-lpss.h mfd: intel-lpss: Fix I2C4 not being available on the Microsoft Surface Go & Go 2 2021-12-29 13:17:01 +00:00
intel-m10-bmc.c mfd: intel-m10-bmc: Add d5005 bmc secure update driver 2022-09-28 16:17:40 +01:00
intel_pmc_bxt.c platform/x86: intel_pmc_ipc: Convert to MFD 2020-04-24 11:18:44 +01:00
intel_quark_i2c_gpio.c mfd: intel_quark_i2c_gpio: Convert GPIO to use software nodes 2021-08-11 16:00:53 +03:00
intel_soc_pmic_bxtwc.c mfd: intel_soc_pmic_bxtwc: Use IRQ domain for PMIC devices 2024-12-14 19:53:36 +01:00
intel_soc_pmic_chtdc_ti.c mfd: intel_soc_pmic_chtdc_ti: Set use_single_read regmap_config flag 2025-10-19 16:23:21 +02:00
intel_soc_pmic_chtwc.c mfd: intel_soc_pmic_chtwc: Add Lenovo Yoga Book X90F to intel_cht_wc_models 2023-05-24 17:32:42 +01:00
intel_soc_pmic_crc.c - Core Frameworks 2022-10-07 11:24:20 -07:00
intel_soc_pmic_mrfld.c mfd: intel_soc_pmic_mrfld: Simplify the return expression of intel_scu_ipc_dev_iowrite8() 2020-08-13 07:50:05 +01:00
ioc3.c mfd: Bulk conversion to generic_handle_domain_irq() 2021-08-12 11:39:39 +01:00
ipaq-micro.c mfd: ipaq-micro: Fix error check return value of platform_get_irq() 2022-04-26 15:12:22 +01:00
iqs62x.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
janz-cmodio.c mfd: janz-cmoio: Replace snprintf in show functions with sysfs_emit 2021-11-05 14:40:27 +00:00
Kconfig mfd: ti_am335x_tscadc: Fix TI SoC dependencies 2024-02-05 20:12:58 +00:00
kempld-core.c mfd: kempld-core: Use DEVICE_ATTR_RO macro 2021-06-15 13:13:54 +01:00
khadas-mcu.c mfd: khadas-mcu: Fix randconfig 'unused-const-variable' warning 2020-09-30 16:24:50 +01:00
lm3533-core.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
lm3533-ctrlbank.c mfd: lm3533: Expand control-bank accessors 2020-07-01 14:54:29 +01:00
lochnagar-i2c.c mfd: lochnagar: Add support for the Cirrus Logic Lochnagar 2019-02-07 10:44:00 +00:00
lp873x.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 2) 2022-06-10 14:51:35 +02:00
lp3943.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
lp8788-irq.c mfd: lp8788: Fix an error handling path in lp8788_irq_init() and lp8788_irq_init() 2022-09-28 16:09:50 +01:00
lp8788.c - Core Frameworks 2022-10-07 11:24:20 -07:00
lp87565.c mfd: lp87565: Handle optional reset pin 2021-06-02 10:50:00 +01:00
lpc_ich.c mfd: lpc_ich: Add another Gemini Lake ISA bridge PCI device-id 2025-02-21 13:49:31 +01:00
lpc_sch.c mfd: lpc_sch: Rename GPIOBASE to prevent build error 2021-09-07 08:44:07 +01:00
madera-core.c mfd: madera: Work around false-positive -Wininitialized warning 2025-12-07 06:12:17 +09:00
madera-i2c.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
madera-spi.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
madera.h - Core Frameworks 2019-07-15 20:18:40 -07:00
Makefile mfd: rsmu: Split core code into separate module 2024-08-03 08:49:15 +02:00
max8907.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
max8925-core.c mfd: Constify static struct resources 2020-11-19 08:34:21 +00:00
max8925-i2c.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
max8997-irq.c mfd: maxim: Add SPDX license identifiers 2018-10-23 08:58:34 +01:00
max8997.c mfd: max8997: Simplify getting of_device_id match data 2021-06-02 10:51:17 +01:00
max8998-irq.c mfd: maxim: Add SPDX license identifiers 2018-10-23 08:58:34 +01:00
max8998.c mfd: max8998: Simplify getting of_device_id match data 2021-06-02 10:51:17 +01:00
max14577.c mfd: max14577: Fix wakeup source leaks on device unbind 2025-07-06 10:57:54 +02:00
max77620.c mfd: max77620: Fix refcount leak in max77620_initialise_fps 2022-07-19 10:54:39 +01:00
max77650.c mfd: max77650: Drop of_match_ptr from of_device_id table 2020-11-27 08:01:46 +00:00
max77686.c rtc: max77686: Rename day-of-month defines 2022-03-07 13:54:24 +00:00
max77693.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
max77714.c mfd: max77714: Update Luca Ceresoli's e-mail address 2022-07-19 10:54:38 +01:00
max77843.c mfd: max77843: Convert to i2c_new_dummy_device 2019-08-12 08:54:05 +01:00
mc13xxx-core.c mfd: mc13xxx: Add check for mc13xxx_irq_request 2022-03-07 14:00:27 +00:00
mc13xxx-i2c.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
mc13xxx-spi.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
mc13xxx.h mfd: mc13xxx: Make mc13xxx_common_exit() return void 2021-11-05 14:40:26 +00:00
mcp-core.c bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
mcp-sa11x0.c mfd: mcp-sa11x0: Use DIV_ROUND_UP to calculate rw_timeout 2021-02-08 13:54:10 +00:00
menelaus.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
menf21bmc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
mfd-core.c mfd: core: Ensure disabled devices are skipped without aborting 2023-11-20 11:52:08 +01:00
motorola-cpcap.c mfd: cpcap: Add SPI device ID table 2021-11-05 14:40:25 +00:00
mp2629.c mfd: mp2629: Add support for mps battery charger 2020-05-26 10:41:40 +01:00
mt6358-irq.c mfd: mt6358-irq: Add MT6357 PMIC support 2022-07-19 10:54:39 +01:00
mt6360-core.c mfd: mt6360: Add bounds checking in Regmap read/write call-backs 2023-01-04 11:29:01 +01:00
mt6370.c mfd: mt6370: Add MediaTek MT6370 support 2022-09-28 16:09:50 +01:00
mt6370.h mfd: mt6370: Add MediaTek MT6370 support 2022-09-28 16:09:50 +01:00
mt6397-core.c mfd: mt6397: Add basic support for MT6331+MT6332 PMIC 2022-07-19 10:54:41 +01:00
mt6397-irq.c mfd: mt6397: Add basic support for MT6331+MT6332 PMIC 2022-07-19 10:54:41 +01:00
mxs-lradc.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
ntxec.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ocelot-core.c mfd: ocelot: Add support for the vsc7512 chip via spi 2022-09-09 07:54:47 +01:00
ocelot-spi.c mfd: ocelot-spi: Fix unsupported bulk read 2023-05-11 23:03:38 +09:00
ocelot.h mfd: ocelot: Add support for the vsc7512 chip via spi 2022-09-09 07:54:47 +01:00
omap-usb-host.c mfd: omap-usb-host: File headers are not good candidates for kernel-doc 2021-06-02 10:50:03 +01:00
omap-usb-tll.c mfd: omap-usb-tll: Use struct_size to allocate tll 2024-08-03 08:49:15 +02:00
omap-usb.h mfd: omap-usb-tll: Move configuration code to omap_tll_init() 2013-04-09 09:46:23 +02:00
palmas.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
pcf50633-adc.c mfd: pcf50633-adc: Fix potential memleak in pcf50633_adc_async_read() 2023-03-10 09:33:28 +01:00
pcf50633-core.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
pcf50633-gpio.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
pcf50633-irq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
qcom-pm8xxx.c mfd: qcom-pm8xxx: switch away from using chained IRQ handlers 2021-11-05 14:40:25 +00:00
qcom-pm8008.c mfd: pm8008: Fix module autoloading 2023-07-23 13:49:37 +02:00
qcom-spmi-pmic.c mfd: qcom-spmi-pmic: Fix revid implementation 2023-11-28 17:07:12 +00:00
qcom_rpm.c mfd: qcom_rpm: Use devm_of_platform_populate() to simplify code 2022-12-31 13:33:12 +01:00
rave-sp.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
rc5t583-irq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
rc5t583.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
rdc321x-southbridge.c mfd: Constify static struct resources 2020-11-19 08:34:21 +00:00
retu-mfd.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
rk808.c - Core Frameworks 2022-10-07 11:24:20 -07:00
rn5t618.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
rohm-bd718x7.c mfd: bd718x7: simplify by cleaning unnecessary device data 2021-04-14 10:17:53 +01:00
rohm-bd9576.c mfd: bd9576: fix typos in comments 2022-03-23 14:51:51 +00:00
rohm-bd71828.c mfd: Support for ROHM BD71815 PMIC core 2021-04-14 10:19:08 +01:00
rsmu.h mfd: Add Renesas Synchronization Management Unit (SMU) support 2021-07-13 12:20:44 +01:00
rsmu_core.c mfd: rsmu: Split core code into separate module 2024-08-03 08:49:15 +02:00
rsmu_i2c.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
rsmu_spi.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
rt4831.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
rt5033.c mfd: rt5033: Fix missing regmap_del_irq_chip() 2024-12-14 19:53:40 +01:00
rt5120.c mfd: rt5120: Add Richtek PMIC support 2022-09-28 16:09:50 +01:00
sec-core.c mfd: sec: Enable wakeup from suspend via devicetree property 2021-06-02 10:51:18 +01:00
sec-irq.c mfd: sec-irq: Do not enforce (incorrect) interrupt trigger type 2021-11-05 14:40:06 +00:00
si476x-cmd.c mfd: si476x-cmd: Fix a bunch of incorrectly documented function names 2021-06-02 10:50:04 +01:00
si476x-i2c.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
si476x-prop.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 2019-06-05 17:36:37 +02:00
simple-mfd-i2c.c mfd: simple-mfd-i2c: Enable support for the silergy,sy7636a 2022-02-08 09:27:22 +00:00
simple-mfd-i2c.h mfd: simple-mfd-i2c: Add support for registering devices via MFD cells 2021-08-16 13:45:34 +01:00
sky81452.c backlight: sky81452: Privatize platform data 2020-07-01 10:40:11 +01:00
sm501.c mfd: sm501: Switch to BIT() to mitigate integer overflows 2025-04-10 14:33:35 +02:00
sprd-sc27xx-spi.c mfd: sprd: Jugle {of,spi}_device_id tables into numerical order 2022-04-27 10:33:11 +01:00
ssbi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
sta2x11-mfd.c mfd: sta2x11: Use GFP_KERNEL instead of GFP_ATOMIC 2022-03-08 09:44:05 +00:00
stm32-lptimer.c mfd: stm32: Enable regmap fast_io for stm32-lptimer 2020-06-18 11:19:49 +01:00
stm32-timers.c mfd: stm32-timers: Avoid clearing auto reload register 2021-04-14 16:06:26 +01:00
stmfx.c mfd: stmfx: Nullify stmfx->vdd in case of error 2023-07-19 16:21:57 +02:00
stmpe-i2c.c mfd: stmpe-i2c: Add missing MODULE_LICENSE 2025-12-07 06:12:17 +09:00
stmpe-spi.c mfd: stmpe-spi: Correct the name used in MODULE_DEVICE_TABLE 2025-06-27 11:07:15 +01:00
stmpe.c mfd: stmpe: Remove IRQ domain upon removal 2025-12-07 06:12:17 +09:00
stmpe.h mfd: stmpe: Make stmpe_remove() return void 2021-11-05 14:40:26 +00:00
stpmic1.c mfd: stpmic1: Fix swapped mask/unmask in irq chip 2024-05-25 16:21:30 +02:00
stw481x.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
sun4i-gpadc.c mfd: sun4i: Drop of_match_ptr from of_device_id table 2020-11-27 08:02:27 +00:00
sun6i-prcm.c mfd: sun6i-prcm: Use DEFINE_RES_MEM() to simplify code 2021-06-02 10:51:19 +01:00
syscon.c mfd: syscon: Fix race in device_node_get_regmap() 2025-02-21 13:49:03 +01:00
t7l66xb.c mfd: t7l66xb: Drop platform disable callback 2022-07-19 10:54:38 +01:00
tc3589x.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tc6387xb.c mfd: Constify static struct resources 2020-11-19 08:34:21 +00:00
tc6393xb.c mfd: tc6393xb: Make disable callback return void 2022-07-19 10:54:40 +01:00
ti-lmu.c LED updates for 5.3-rc1 2019-07-09 08:59:39 -07:00
ti_am335x_tscadc.c mfd: ti_am335x_tscadc: Fix spelling mistake "atleast" -> "at least" 2021-11-05 14:40:02 +00:00
timberdale.c mfd: timberdale: Use DEVICE_ATTR_RO macro 2021-06-15 13:02:18 +01:00
timberdale.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 176 2019-05-30 11:29:19 -07:00
tmio_core.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
tps6105x.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tps6507x.c mfd: tps6507: Fix white space warnings reported by checkpatch 2016-06-29 10:14:35 +01:00
tps6586x.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tps65010.c mfd: tps65010: Use IRQF_NO_AUTOEN flag in request_irq() to fix race 2024-12-14 19:53:35 +01:00
tps65086.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tps65090.c mfd: Constify static struct resources 2020-11-19 08:34:21 +00:00
tps65217.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tps65218.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_319.RULE 2022-06-10 14:51:36 +02:00
tps65910.c mfd: tps65910: Set PWR_OFF bit during driver probe 2021-12-29 13:36:16 +00:00
tps65911-comparator.c mfd: tps65911-comparator: Use regmap accessors 2020-11-19 08:34:22 +00:00
tps65912-core.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_319.RULE 2022-06-10 14:51:36 +02:00
tps65912-i2c.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tps65912-spi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_319.RULE 2022-06-10 14:51:36 +02:00
tqmx86.c mfd: tqmx86: Correct board names for TQMxE39x 2023-05-11 23:03:38 +09:00
twl-core.c - Core Frameworks 2022-10-07 11:24:20 -07:00
twl-core.h mfd: twl4030: Make twl4030_exit_irq() return void 2022-04-28 17:24:40 +01:00
twl4030-audio.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
twl4030-irq.c mfd: twl4030: Add missed linux/device.h header 2022-09-28 16:17:41 +01:00
twl4030-power.c mfd: twl: Move header file out of I2C realm 2017-09-04 14:41:02 +01:00
twl6030-irq.c mfd: twl6030: Make twl6030_exit_irq() return void 2022-04-28 17:24:10 +01:00
twl6040.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ucb1x00-assabet.c mfd: ucb1x00-assabet: Use DEVICE_ATTR_RO macro 2021-06-15 13:02:01 +01:00
ucb1x00-core.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 178 2019-05-30 11:29:19 -07:00
ucb1x00-ts.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ucb1400_core.c gpio: ucb1400: Remove platform setup and teardown support 2022-07-19 09:56:51 +02:00
vexpress-sysreg.c mfd: vexpress-sysreg: Check the return value of devm_gpiochip_add_data() 2025-10-15 11:56:39 +02:00
viperboard.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
vx855.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
wcd934x.c mfd: wcd934x: Fix an error handling path in wcd934x_slim_probe() 2023-07-19 16:21:56 +02:00
wl1273-core.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
wm97xx-core.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
wm831x-auxadc.c mfd: wm831x-auxadc: Prevent use after free in wm831x_auxadc_read_irq() 2021-02-08 13:54:40 +00:00
wm831x-core.c mfd: wm831x: Use DEFINE_RES_IRQ_NAMED() and DEFINE_RES_IRQ() to simplify code 2021-06-15 12:53:38 +01:00
wm831x-i2c.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
wm831x-irq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
wm831x-otp.c mfd: wm831x: Use DEVICE_ATTR_RO macro 2021-06-15 13:01:45 +01:00
wm831x-spi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
wm5102-tables.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
wm5110-tables.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
wm8350-core.c mfd: wm8350-core: Supply description wm8350_reg_{un}lock args 2020-07-06 08:31:57 +01:00
wm8350-gpio.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
wm8350-i2c.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
wm8350-irq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
wm8350-regmap.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
wm8400-core.c mfd: wm8400-core: Supply description for wm8400_reset_codec_reg_cache's arg 2020-07-06 08:31:56 +01:00
wm8994-core.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
wm8994-irq.c mfd: Don't use irq_create_mapping() to resolve a mapping 2021-08-05 12:41:06 +01:00
wm8994-regmap.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
wm8994.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
wm8997-tables.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
wm8998-tables.c mfd: wm8998: Remove some unused registers 2019-11-11 08:45:02 +00:00