linux/drivers/mfd
Johan Hovold affae18838 mfd: qcom-spmi-pmic: Fix revid implementation
commit 7b439aaa62 upstream.

The Qualcomm SPMI PMIC revid implementation is broken in multiple ways.

First, it assumes that just because the sibling base device has been
registered that means that it is also bound to a driver, which may not
be the case (e.g. due to probe deferral or asynchronous probe). This
could trigger a NULL-pointer dereference when attempting to access the
driver data of the unbound device.

Second, it accesses driver data of a sibling device directly and without
any locking, which means that the driver data may be freed while it is
being accessed (e.g. on driver unbind).

Third, it leaks a struct device reference to the sibling device which is
looked up using the spmi_device_from_of() every time a function (child)
device is calling the revid function (e.g. on probe).

Fix this mess by reimplementing the revid lookup so that it is done only
at probe of the PMIC device; the base device fetches the revid info from
the hardware, while any secondary SPMI device fetches the information
from the base device and caches it so that it can be accessed safely
from its children. If the base device has not been probed yet then probe
of a secondary device is deferred.

Fixes: e9c11c6e3a ("mfd: qcom-spmi-pmic: expose the PMIC revid information to clients")
Cc: stable@vger.kernel.org      # 6.0
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Acked-by: Caleb Connolly <caleb.connolly@linaro.org>
Link: https://lore.kernel.org/r/20231003152927.15000-3-johan+linaro@kernel.org
Signed-off-by: Lee Jones <lee@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-28 17:20:03 +00:00
..
88pm80x.c mfd: Remove redundant dev_set_drvdata() from I2C drivers 2023-06-15 09:19:37 +01:00
88pm800.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
88pm805.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
88pm860x-core.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
88pm860x-i2c.c
aat2870-core.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
ab8500-core.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
ab8500-sysctrl.c
abx500-core.c
ac100.c
acer-ec-a500.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
act8945a.c mfd: act8945a: Remove redundant of_match_ptr() 2023-08-22 08:07:50 +01:00
adp5520.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
altera-a10sr.c mfd: altera-a10sr: Remove redundant of_match_ptr() 2023-08-22 08:07:50 +01:00
altera-sysmgr.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
arizona-core.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
arizona-i2c.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
arizona-irq.c
arizona-spi.c mfd: arizona-spi: Set pdata.hpdet_channel for ACPI enumerated devs 2023-11-20 11:59:24 +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 mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
as3722.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
at91-usart.c
atc260x-core.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
atc260x-i2c.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
atmel-flexcom.c mfd: atmel-flexcom: Use devm_platform_get_and_ioremap_resource() 2023-04-26 11:40:27 +01:00
atmel-hlcdc.c mfd: atmel-hlcdc: Convert to devm_platform_ioremap_resource() 2023-08-18 21:48:00 +01:00
atmel-smc.c mfd: atmel-smc: Mark OF related data as maybe unused 2023-04-26 11:40:32 +01:00
axp20x-i2c.c mfd: axp20x: Add support for AXP192 2023-06-15 09:19:37 +01:00
axp20x-rsb.c
axp20x.c mfd: axp20x: Update to use maple tree register cache 2023-08-18 21:48:01 +01:00
bcm590xx.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
bcm2835-pm.c mfd: various: Use of_property_present() for testing DT property presence 2023-04-26 11:40:32 +01:00
bd9571mwv.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
cros_ec_dev.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
cs42l43-i2c.c mfd: cs42l43: Add support for cs42l43 core driver 2023-08-17 12:06:11 +01:00
cs42l43-sdw.c mfd: cs42l43: Add support for cs42l43 core driver 2023-08-17 12:06:11 +01:00
cs42l43.c mfd: cs42l43: Use correct macro for new-style PM runtime ops 2023-09-23 11:10:23 -07:00
cs42l43.h mfd: cs42l43: Add support for cs42l43 core driver 2023-08-17 12:06:11 +01:00
cs47l15-tables.c mfd: cs47l15: Update to use maple tree register cache 2023-08-18 21:48:01 +01:00
cs47l24-tables.c mfd: cs47l24: Update to use maple tree register cache 2023-08-18 21:48:02 +01:00
cs47l35-tables.c mfd: cs47l35: Update to use maple tree register cache 2023-08-18 21:48:02 +01:00
cs47l85-tables.c mfd: cs47l85: Update to use maple tree register cache 2023-08-18 21:48:02 +01:00
cs47l90-tables.c mfd: cs47l90: Update to use maple tree register cache 2023-08-18 21:48:02 +01:00
cs47l92-tables.c mfd: cs47l92: Update to use maple tree register cache 2023-08-18 21:48:02 +01:00
cs5535-mfd.c
da903x.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
da9052-core.c mfd: da9052: Remove MODULE_LICENSE in non-modules 2023-04-26 11:40:32 +01:00
da9052-i2c.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
da9052-irq.c
da9052-spi.c mfd: da9052-spi: Remove MODULE_LICENSE in non-modules 2023-04-26 11:40:32 +01:00
da9055-core.c mfd: da9055: Remove MODULE_LICENSE in non-modules 2023-04-26 11:40:31 +01:00
da9055-i2c.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
da9062-core.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
da9063-core.c
da9063-i2c.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
da9063-irq.c
da9150-core.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
db8500-prcmu-regs.h
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:59:24 +01:00
ene-kb3930.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
exynos-lpass.c mfd: exynos-lpass: Convert to devm_platform_ioremap_resource() 2023-08-18 21:48:00 +01:00
ezx-pcap.c mfd: ezx-pcap: Remove MODULE_LICENSE in non-modules 2023-04-26 11:40:31 +01:00
fsl-imx25-tsadc.c mfd: fsl-imx25-tsadc: Use devm_platform_get_and_ioremap_resource() 2022-12-08 12:20:58 +00:00
gateworks-gsc.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
hi655x-pmic.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
hi6421-pmic-core.c mfd: hi6421-pmic: Fix Wvoid-pointer-to-enum-cast warning 2023-08-22 08:07:51 +01:00
hi6421-spmi-pmic.c
intel_pmc_bxt.c
intel_quark_i2c_gpio.c
intel_soc_pmic_bxtwc.c mfd: intel_soc_pmic_bxtwc: Fix spelling in the comment 2022-07-19 10:54:42 +01:00
intel_soc_pmic_chtdc_ti.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
intel_soc_pmic_chtwc.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
intel_soc_pmic_crc.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
intel_soc_pmic_mrfld.c
intel-lpss-acpi.c mfd: intel-lpss: Add missing check for platform_get_resource 2023-06-15 09:19:39 +01:00
intel-lpss-pci.c mfd: intel-lpss: Add Intel Lunar Lake-M PCI IDs 2023-11-28 17:19:44 +00:00
intel-lpss.c mfd: intel-lpss: Hide suspend/resume functions in #ifdef 2023-06-15 09:19:37 +01: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-core.c mfd: intel-m10-bmc: Manage access to MAX 10 fw handshake registers 2023-06-15 09:19:36 +01:00
intel-m10-bmc-pmci.c mfd: intel-m10-bmc: Move core symbols to own namespace 2023-06-15 09:19:36 +01:00
intel-m10-bmc-spi.c mfd: intel-m10-bmc: Manage access to MAX 10 fw handshake registers 2023-06-15 09:19:36 +01:00
ioc3.c
ipaq-micro.c mfd: ipaq-micro: Remove unused variable i in micro_rx_msg() 2023-08-22 08:07:50 +01:00
iqs62x.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01: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: cs42l43: Fix MFD_CS42L43 dependency on REGMAP_IRQ 2023-09-19 15:05:20 +01:00
kempld-core.c mfd: Use sysfs_emit() to instead of scnprintf() 2023-02-22 08:25:51 +00:00
khadas-mcu.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
lm3533-core.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
lm3533-ctrlbank.c
lochnagar-i2c.c mfd: lochnagar-i2c: Remove redundant of_match_ptr() 2023-08-22 08:07:51 +01:00
lp873x.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
lp3943.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01: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 mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
lp87565.c mfd: lp87565: Fix Wvoid-pointer-to-enum-cast warning 2023-08-22 08:07:51 +01:00
lpc_ich.c mfd: Move from strlcpy with unused retval to strscpy 2022-09-28 16:17:39 +01:00
lpc_sch.c
madera-core.c mfd: madera: Include correct gpio API 2022-12-07 13:28:07 +00:00
madera-i2c.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
madera-spi.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
madera.h
Makefile mfd: cs42l43: Add support for cs42l43 core driver 2023-08-17 12:06:11 +01:00
max8907.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
max8925-core.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
max8925-i2c.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
max8997-irq.c
max8997.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
max8998-irq.c
max8998.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
max14577.c mfd: max14577: Fix Wvoid-pointer-to-enum-cast warning 2023-08-22 08:07:51 +01:00
max77541.c mfd: max77541: Fix Wvoid-pointer-to-enum-cast warning 2023-08-22 08:07:51 +01:00
max77620.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
max77650.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
max77686.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
max77693.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
max77714.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
max77843.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
mc13xxx-core.c mfd: mc13xxx: Add check for mc13xxx_irq_request 2022-03-07 14:00:27 +00:00
mc13xxx-i2c.c mfd: mc13xxx: Simplify device data fetching in probe() 2023-08-22 08:07:52 +01:00
mc13xxx-spi.c mfd: mc13xxx-spi: Fix typo ("transfert") 2022-12-07 13:28:10 +00:00
mc13xxx.h mfd: mc13xxx: Make mc13xxx_common_exit() return void 2021-11-05 14:40:26 +00:00
mcp-core.c
mcp-sa11x0.c mfd: mcp-sa11x0: Remove #ifdef guards for PM related functions 2022-12-07 13:28:11 +00:00
menelaus.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
menf21bmc.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
mfd-core.c mfd: core: Ensure disabled devices are skipped without aborting 2023-11-20 11:59:24 +01:00
motorola-cpcap.c mfd: Drop obsolete dependencies on COMPILE_TEST 2022-12-08 13:15:46 +00:00
mp2629.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
mt6358-irq.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
mt6360-core.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
mt6370.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
mt6370.h mfd: mt6370: Add MediaTek MT6370 support 2022-09-28 16:09:50 +01:00
mt6397-core.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
mt6397-irq.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
mxs-lradc.c mfd: mxs-lradc: Fix Wvoid-pointer-to-enum-cast warning 2023-08-22 08:07:52 +01:00
ntxec.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
ocelot-core.c mfd: ocelot: add ocelot-serdes capability 2023-03-20 09:08:48 +00:00
ocelot-spi.c - New Drivers 2023-05-02 10:41:31 -07: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: Convert to devm_platform_ioremap_resource() 2023-08-18 21:48:00 +01:00
omap-usb-tll.c mfd: omap-usb-tll: Convert to devm_platform_ioremap_resource() 2023-08-18 21:48:00 +01:00
omap-usb.h
palmas.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
pcf50633-adc.c mfd: pcf50633-adc: Fix potential memleak in pcf50633_adc_async_read() 2023-02-22 08:25:51 +00:00
pcf50633-core.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
pcf50633-gpio.c
pcf50633-irq.c mfd: pcf50633: Remove #ifdef guards for PM related functions 2022-12-07 13:28:11 +00:00
qcom_rpm.c mfd: qcom_rpm: Use devm_platform_get_and_ioremap_resource() 2023-04-26 11:40:27 +01:00
qcom-pm8xxx.c mfd: qcom-pm8xxx: Fix potential deadlock on &chip->pm_irq_lock 2023-08-18 21:48:03 +01:00
qcom-pm8008.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
qcom-spmi-pmic.c mfd: qcom-spmi-pmic: Fix revid implementation 2023-11-28 17:20:03 +00:00
rave-sp.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
rc5t583-irq.c mfd: rc5t583-irq: Remove the unneeded include <linux/i2c.h> 2023-06-15 09:19:36 +01:00
rc5t583.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
rdc321x-southbridge.c
retu-mfd.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
rk8xx-core.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
rk8xx-i2c.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
rk8xx-spi.c mfd: rk8xx: Add rk806 support 2023-05-15 16:20:22 +01:00
rn5t618.c mfd: rn5t618: Remove redundant of_match_ptr() 2023-08-22 08:07:51 +01:00
rohm-bd718x7.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
rohm-bd9576.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
rohm-bd71828.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
rsmu_core.c
rsmu_i2c.c mfd: rsmu_i2c: Remove redundant of_match_ptr() 2023-08-22 08:07:50 +01:00
rsmu_spi.c mfd: rsmu_spi: Remove redundant of_match_ptr() 2023-08-22 08:07:50 +01:00
rsmu.h mfd: rsmu: Support 32-bit address space 2023-04-26 11:40:34 +01:00
rt4831.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
rt5033.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
rt5120.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
rz-mtu3.c mfd: rz-mtu3: Replace raw_spin_lock->spin_lock() 2023-08-22 08:07:52 +01:00
rz-mtu3.h mfd: Add Renesas RZ/G2L MTU3a core driver 2023-04-26 11:40:34 +01:00
sec-core.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
sec-irq.c mfd: sec: Remove PMICs without compatibles 2023-04-26 11:40:26 +01:00
si476x-cmd.c mfd: si476x-cmd: Fix several issues reported by codespell 2023-04-26 11:40:26 +01:00
si476x-i2c.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
si476x-prop.c
simple-mfd-i2c.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
simple-mfd-i2c.h
sky81452.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
sm501.c mfd: sm501: Remove #ifdef guards for PM related functions 2022-12-07 13:28:11 +00:00
smpro-core.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
sprd-sc27xx-spi.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
ssbi.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01: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: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
stm32-timers.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
stmfx.c mfd: stmfx: Nullify stmfx->vdd in case of error 2023-06-15 15:05:49 +01:00
stmpe-i2c.c mfd: stmpe: Fix Wvoid-pointer-to-enum-cast warning 2023-08-22 08:07:51 +01:00
stmpe-spi.c mfd: stmpe-spi: Remove MODULE_LICENSE in non-modules 2023-04-26 11:40:31 +01:00
stmpe.c mfd: stmpe: Only disable the regulators if they are enabled 2023-06-21 18:45:37 +01:00
stmpe.h mfd: stmpe: Make stmpe_remove() return void 2021-11-05 14:40:26 +00:00
stpmic1.c mfd: stpmic1: Remove redundant of_match_ptr() 2023-08-22 08:07:51 +01:00
stw481x.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
sun4i-gpadc.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
sun6i-prcm.c
syscon.c mfd: syscon: Allow reset control for syscon devices 2023-02-22 08:25:53 +00:00
tc3589x.c mfd: tc3589: Fix Wvoid-pointer-to-enum-cast warning 2023-08-22 08:07:52 +01:00
ti_am335x_tscadc.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
ti-lmu.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
timberdale.c mfd: timberdale: Remove linux/msi.h include 2022-12-07 13:28:13 +00:00
timberdale.h
tps6105x.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
tps6507x.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
tps6586x.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
tps6594-core.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
tps6594-i2c.c mfd: Switch two more drivers back to use struct i2c_driver::probe 2023-06-26 16:38:30 +01:00
tps6594-spi.c mfd: tps6594: Fix an error code in probe() 2023-06-15 09:19:38 +01:00
tps65010.c - New Drivers 2023-07-03 10:55:04 -07:00
tps65086.c mfd: tps65086: Read DEVICE ID register 1 from device 2023-08-18 21:43:02 +01:00
tps65090.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
tps65217.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
tps65218.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
tps65219.c mfd: tps65219: Add support for soft shutdown via sys-off API 2023-06-15 09:19:38 +01:00
tps65910.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
tps65911-comparator.c
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 mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01: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-04-26 11:40:28 +01:00
twl4030-audio.c mfd: twl4030-audio: Remove MODULE_LICENSE in non-modules 2023-04-26 11:40:30 +01:00
twl4030-irq.c mfd: twl4030: Add missed linux/device.h header 2022-09-28 16:17:41 +01:00
twl4030-power.c mfd: twl4030-power: Drop empty platform remove function 2023-02-22 08:25:52 +00:00
twl6030-irq.c mfd: twl6030: Make twl6030_exit_irq() return void 2022-04-28 17:24:10 +01:00
twl6040.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
twl-core.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
twl-core.h mfd: twl4030: Make twl4030_exit_irq() return void 2022-04-28 17:24:40 +01:00
ucb1x00-assabet.c
ucb1x00-core.c mfd: ucb1x00: Remove #ifdef guards for PM related functions 2022-12-07 13:28:11 +00:00
ucb1x00-ts.c
vexpress-sysreg.c mfd: vexpress-sysreg: Fix resource compound literal assignments 2022-11-14 10:01:39 +01:00
viperboard.c
vx855.c
wcd934x.c mfd: wcd934x: Simplify with dev_err_probe() 2023-06-15 09:19:38 +01:00
wl1273-core.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
wm97xx-core.c ALSA: ac97: make remove callback of ac97 driver void returned 2023-01-25 09:34:20 +01:00
wm831x-auxadc.c
wm831x-core.c mfd: Explicitly include correct DT includes 2023-08-18 21:48:03 +01:00
wm831x-i2c.c mfd: wm31x: Fix Wvoid-pointer-to-enum-cast warning 2023-08-22 08:07:52 +01:00
wm831x-irq.c
wm831x-otp.c
wm831x-spi.c mfd: wm31x: Fix Wvoid-pointer-to-enum-cast warning 2023-08-22 08:07:52 +01:00
wm5102-tables.c mfd: wm5102: Update to use maple tree register cache 2023-08-18 21:48:02 +01:00
wm5110-tables.c mfd: wm5110: Update to use maple tree register cache 2023-08-18 21:48:02 +01:00
wm8350-core.c
wm8350-gpio.c
wm8350-i2c.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
wm8350-irq.c
wm8350-regmap.c
wm8400-core.c mfd: Switch i2c drivers back to use .probe() 2023-06-15 09:19:37 +01:00
wm8994-core.c mfd: wm8994: Fix Wvoid-pointer-to-enum-cast warning 2023-08-22 08:07:52 +01:00
wm8994-irq.c
wm8994-regmap.c mfd: wm8994: Update to use maple tree register cache 2023-08-18 21:48:02 +01:00
wm8994.h
wm8997-tables.c mfd: wm8997: Update to use maple tree register cache 2023-08-18 21:48:03 +01:00
wm8998-tables.c mfd: wm8998: Update to use maple tree register cache 2023-08-18 21:48:03 +01:00