WSL2-Linux-Kernel/include/linux/mfd
Colin Foster bb5721f063 mfd: ocelot: Add helper to get regmap from a resource
Several ocelot-related modules are designed for MMIO / regmaps. As such,
they often use a combination of devm_platform_get_and_ioremap_resource()
and devm_regmap_init_mmio().

Operating in an MFD might be different, in that it could be memory mapped,
or it could be SPI, I2C... In these cases a fallback to use IORESOURCE_REG
instead of IORESOURCE_MEM becomes necessary.

When this happens, there's redundant logic that needs to be implemented in
every driver. In order to avoid this redundancy, utilize a single function
that, if the MFD scenario is enabled, will perform this fallback logic.

Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20220905162132.2943088-2-colin.foster@in-advantage.com
2022-09-09 07:54:25 +01:00
..
abx500 mfd/power: ab8500: Push algorithm to power supply code 2021-03-22 14:55:51 +00:00
arizona mfd: wm8998: Remove some unused registers 2019-11-11 08:45:02 +00:00
atc260x mfd: Add MFD driver for ATC260x PMICs 2021-03-10 11:10:23 +00:00
da9052 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
da9055 mfd: da9055: pdata.h: Drop a duplicated word 2020-08-13 07:49:59 +01:00
da9062 regulator: da9061/62: Adjust LDO voltage selection minimum value 2019-06-20 13:07:19 +01:00
da9063 mfd: da9063: Add support for latest EA silicon revision 2021-11-05 14:40:05 +00:00
da9150 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
madera docs: update pin-control.rst references 2021-05-20 13:44:14 -06:00
mt6323 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mt6331 mfd: mt6397: Add basic support for MT6331+MT6332 PMIC 2022-07-19 10:54:41 +01:00
mt6332 mfd: mt6397: Add basic support for MT6331+MT6332 PMIC 2022-07-19 10:54:41 +01:00
mt6357 mfd: mt6397-core: Add MT6357 PMIC support 2022-07-19 10:54:39 +01:00
mt6358 mfd: Add support for the MediaTek MT6366 PMIC 2022-03-07 14:59:44 +00:00
mt6359 mfd: mt6359: Add missing defines necessary for mtk-pmic-keys support 2022-04-26 19:23:05 +01:00
mt6359p regulator: mt6359: Add support for MT6359P regulator 2021-06-01 16:44:36 +01:00
mt6397 mfd: mt6397: Add basic support for MT6331+MT6332 PMIC 2022-07-19 10:54:41 +01:00
pcf50633 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
samsung mfd: sec: Remove unused platform data members 2021-06-02 10:51:18 +01:00
syscon soc: xilinx: vcu: add missing register NUM_CORE 2020-12-09 19:36:33 +01:00
wcd934x ASoC: codecs: wcd934x: add mbhc support 2021-06-04 15:29:01 +01:00
wm831x watchdog: wm831x_wdt: Remove GPIO handling 2020-03-18 11:15:24 +01:00
wm8350 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
wm8994 mfd: wm8994: Fix comment spelling 2020-03-17 20:48:41 +01:00
88pm80x.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
88pm860x.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
aat2870.h mfd: aat2870: No need to check return value of debugfs_create functions 2019-08-12 07:27:40 +01:00
abx500.h mfd/power: ab8500: Push data to power supply code 2021-03-22 14:56:02 +00:00
ac100.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
adp5520.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 149 2019-05-30 11:25:18 -07:00
altera-a10sr.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
altera-sysmgr.h mfd: altera-sysmgr: Add SOCFPGA System Manager 2019-04-02 07:37:45 +01:00
as3711.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 312 2019-06-05 17:37:04 +02:00
as3722.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
asic3.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
atmel-hlcdc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
axp20x.h mfd/bus: sunxi-rsb: Make .remove() callback return void 2021-01-15 13:23:36 +00:00
bcm590xx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
bcm2835-pm.h mfd: bcm2835-pm: Add support for BCM2711 2022-07-04 11:42:20 +01:00
bd9571mwv.h mfd: bd9571mwv: Add support for BD9574MWF 2021-01-14 13:05:55 +00:00
core.h mfd: core: Remove support for dangling device properties 2021-04-14 16:06:14 +01:00
da8xx-cfgchip.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
da903x.h
davinci_voicecodec.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
db8500-prcmu.h mfd: dbx500-prcmu: Use true and false for bool variable 2021-04-14 16:03:16 +01:00
dbx500-prcmu.h mfd: db8500-prcmu: Remove unused inline function 2022-03-23 14:51:51 +00:00
dln2.h
dm355evm_msp.h
ds1wm.h
ezx-pcap.h
gsc.h mfd: Add Gateworks System Controller core driver 2020-05-20 10:28:57 +01:00
hi655x-pmic.h mfd: hi655x-pmic: Replace legacy gpio interface for gpiod interface 2022-04-26 15:10:29 +01:00
hi6421-pmic.h mfd: Replace HTTP links with HTTPS ones 2020-08-13 07:50:59 +01:00
htc-pasic3.h
idt8a340_reg.h ptp: ptp_clockmatrix: Add PTP_CLK_REQ_EXTTS support 2022-05-17 17:49:04 -07:00
idt82p33_reg.h ptp: idt82p33: use rsmu driver to access i2c/spi bus 2022-03-09 19:50:57 -08:00
imx25-tsadc.h
ingenic-tcu.h
intel-m10-bmc.h mfd: intel-m10-bmc: Add support for MAX10 BMC Secure Updates 2021-04-14 16:06:57 +01:00
intel_pmc_bxt.h platform/x86: intel_pmc_ipc: Convert to MFD 2020-04-24 11:18:44 +01:00
intel_soc_pmic.h mfd: intel_soc_pmic_chtwc: Add cht_wc_model data to struct intel_soc_pmic 2022-02-01 14:55:12 +01:00
intel_soc_pmic_bxtwc.h
intel_soc_pmic_mrfld.h mfd: Add support for Merrifield Basin Cove PMIC 2019-09-02 11:09:03 +01:00
ipaq-micro.h mfd: ipaq-micro: Fix spelling mistake of "receive{d}" 2022-07-19 10:54:41 +01:00
iqs62x.h mfd: iqs62x: Provide device revision to sub-devices 2022-02-14 13:07:22 +00:00
janz.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
kempld.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 424 2019-06-05 17:37:15 +02:00
khadas-mcu.h mfd: Add support for the Khadas System control Microcontroller 2020-06-18 11:23:16 +01:00
lm3533.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
lochnagar.h
lochnagar1_regs.h
lochnagar2_regs.h
lp873x.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 2) 2022-06-10 14:51:35 +02:00
lp3943.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
lp8788-isink.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
lp8788.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
lp87565.h mfd: lp87565: Handle optional reset pin 2021-06-02 10:50:00 +01:00
lpc_ich.h mtd: spi-nor: intel-spi: Convert to SPI MEM 2022-02-14 12:53:09 +00:00
max8907.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
max8925.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
max8997-private.h
max8997.h mfd: max8997: Replace 8998 with 8997 2021-04-14 16:06:38 +01:00
max8998-private.h
max8998.h regulator: max8998: Add charger regulator 2020-05-22 13:11:05 +01:00
max14577-private.h
max14577.h
max77620.h mfd: max77620: Do not allocate IRQs upfront 2019-11-11 08:45:02 +00:00
max77650.h mfd: Add new driver for MAX77650 PMIC 2019-05-08 12:06:21 +01:00
max77686-private.h rtc: max77686: Rename day-of-month defines 2022-03-07 13:54:24 +00:00
max77686.h
max77693-common.h
max77693-private.h mfd: max77693-private: Drop a duplicated word 2020-08-13 07:50:01 +01:00
max77693.h
max77714.h mfd: max77714: Update Luca Ceresoli's e-mail address 2022-07-19 10:54:38 +01:00
max77843-private.h
mc13xxx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mc13783.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mc13892.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mcp.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 178 2019-05-30 11:29:19 -07:00
menelaus.h
motorola-cpcap.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mp2629.h iio: adc: mp2629: Add support for mp2629 ADC driver 2020-05-26 10:41:47 +01:00
mxs-lradc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
ntxec.h mfd: ntxec: Change return type of ntxec_reg8 from __be16 to u16 2021-12-29 13:41:20 +00:00
ocelot.h mfd: ocelot: Add helper to get regmap from a resource 2022-09-09 07:54:25 +01:00
palmas.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
qcom_rpm.h
rave-sp.h
rc5t583.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
rdc321x.h
retu.h
rk808.h mfd: rk808: Add reboot support to rk808.c 2022-03-08 09:44:05 +00:00
rn5t618.h mfd: rn5t618: Do not cache various USB related registers 2021-04-14 16:06:18 +01:00
rohm-bd718x7.h mfd: bd718x7: simplify by cleaning unnecessary device data 2021-04-14 10:17:53 +01:00
rohm-bd957x.h mfd: bd9576: Add safety limit/monitoring registers 2021-03-10 10:59:03 +00:00
rohm-bd71815.h mfd: Support for ROHM BD71815 PMIC core 2021-04-14 10:19:08 +01:00
rohm-bd71828.h regulator: Fixes for v5.14 2021-06-08 09:41:16 -07:00
rohm-generic.h - New Device Support 2022-01-11 12:22:06 -08:00
rohm-shared.h rtc: bd70528: add BD71828 support 2020-01-24 07:23:06 +00:00
rsmu.h mfd: Add Renesas Synchronization Management Unit (SMU) support 2021-07-13 12:20:44 +01:00
rt5033-private.h regulator: rt5033: Use linear ranges to map all voltage selection 2021-07-11 23:50:39 +01:00
rt5033.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 450 2019-06-05 17:37:18 +02:00
sc27xx-pmic.h mfd: sc27xx: Add USB charger type detection support 2020-03-30 07:35:28 +01:00
si476x-core.h mfd: si476x-core.h: Fix "regulator" spelling in comment 2020-11-27 13:18:53 +00:00
si476x-platform.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 2019-06-05 17:36:37 +02:00
si476x-reports.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 2019-06-05 17:36:37 +02:00
sky81452.h backlight: sky81452: Privatize platform data 2020-07-01 10:40:11 +01:00
sta2x11-mfd.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 2019-06-05 17:37:06 +02:00
stm32-lptimer.h counter: stm32-lptimer-cnt: Provide defines for clock polarities 2021-10-17 10:52:29 +01:00
stm32-timers.h counter: stm32-timer-cnt: Provide defines for slave mode selection 2021-10-17 10:52:46 +01:00
stmfx.h mfd: stmfx: Disable IRQ in suspend to avoid spurious interrupt 2020-05-26 10:51:21 +01:00
stmpe.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 464 2019-06-19 17:09:10 +02:00
stpmic1.h
stw481x.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
sun4i-gpadc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
sy7636a.h mfd: simple-mfd-i2c: Enable support for the silergy,sy7636a 2022-02-08 09:27:22 +00:00
syscon.h mfd: syscon: Add syscon_regmap_lookup_by_phandle_optional() function. 2020-11-19 08:30:11 +00:00
t7l66xb.h mfd: t7l66xb: Drop platform disable callback 2022-07-19 10:54:38 +01:00
tc3589x.h gpio: tc35894: Disable Direct KBD interrupts to enable gpio irq 2020-09-09 11:33:07 +02:00
tc6387xb.h mfd: tc6387xb: Drop disable callback that is never called 2022-07-19 10:54:38 +01:00
tc6393xb.h mfd: tc6393xb: Make disable callback return void 2022-07-19 10:54:40 +01:00
ti-lmu-register.h LED updates for 5.3-rc1 2019-07-09 08:59:39 -07:00
ti-lmu.h LED updates for 5.3-rc1 2019-07-09 08:59:39 -07:00
ti_am335x_tscadc.h mfd: ti_am335x_tscadc: Drop the CNTRLREG_TSC_8WIRE macro 2021-11-29 13:17:00 +00:00
tmio.h mmc: tmio: set max_busy_timeout 2020-12-04 13:28:25 +01:00
tps6105x.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
tps6507x.h
tps6586x.h
tps65010.h
tps65086.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_319.RULE 2022-06-10 14:51:36 +02:00
tps65090.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 2019-05-21 11:28:39 +02:00
tps65217.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 2) 2022-06-10 14:51:35 +02:00
tps65218.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_319.RULE 2022-06-10 14:51:36 +02:00
tps65910.h mfd: tps65910: Remove unused pointers 2020-11-19 08:34:22 +00:00
tps65912.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_319.RULE 2022-06-10 14:51:36 +02:00
tps68470.h clk: Introduce clk-tps68470 driver 2021-12-15 20:12:07 -08:00
twl.h - Core Frameworks 2022-08-06 10:25:16 -07:00
twl4030-audio.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
twl6040.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
ucb1x00.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 178 2019-05-30 11:29:19 -07:00
viperboard.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
wl1273-core.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
wm97xx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
wm8400-audio.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
wm8400-private.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
wm8400.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00