twx-linux/include/linux/mfd
Linus Walleij 813c2aee51 ARM/pxa/mfd/power/sound: Switch Tosa to GPIO descriptors
The Tosa device (Sharp SL-6000) has a mishmash driver set-up
for the Toshiba TC6393xb MFD that includes a battery charger
and touchscreen and has some kind of relationship to the SoC
sound driver for the AC97 codec. Other devices define a chip
like this but seem only half-implemented, not really handling
battery charging etc.

This patch switches the Toshiba MFD device to provide GPIO
descriptors to the battery charger and SoC codec. As a result
some descriptors need to be moved out of the Tosa boardfile
and new one added: all SoC GPIO resources to these drivers
now comes from the main boardfile, while the MFD provide
GPIOs for its portions.

As a result we can request one GPIO from our own GPIO chip
and drop two hairy callbacks into the board file.

This platform badly needs to have its drivers split up and
converted to device tree probing to handle this quite complex
relationship in an orderly manner. I just do my best in solving
the GPIO descriptor part of the puzzle. Please don't ask me
to fix everything that is wrong with these driver to todays
standards, I am just trying to fix one aspect. I do try to
use modern devres resource management and handle deferred
probe using new functions where appropriate.

Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Cc: Dirk Opfer <dirk@opfer-online.de>
Cc: Robert Jarzmik <robert.jarzmik@free.fr>
Cc: Daniel Mack <daniel@zonque.org>
Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Reviewed-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Acked-by: Mark Brown <broonie@kernel.org>
Acked-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:55:33 +02:00
..
abx500
arizona
atc260x
da9052
da9055
da9062
da9063 mfd: da9063: Add support for latest EA silicon revision 2021-11-05 14:40:05 +00:00
da9150
madera
mt6323
mt6358 mfd: Add support for the MediaTek MT6366 PMIC 2022-03-07 14:59:44 +00:00
mt6359
mt6359p
mt6397 mfd: Add support for the MediaTek MT6366 PMIC 2022-03-07 14:59:44 +00:00
pcf50633
samsung
syscon
wcd934x
wm831x
wm8350
wm8994
88pm80x.h
88pm860x.h
aat2870.h
abx500.h
ac100.h
adp5520.h
altera-a10sr.h
altera-sysmgr.h
as3711.h
as3722.h
asic3.h
atmel-hlcdc.h
axp20x.h
bcm590xx.h
bcm2835-pm.h
bd9571mwv.h
core.h
da8xx-cfgchip.h
da903x.h
davinci_voicecodec.h
db8500-prcmu.h
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
hi655x-pmic.h
hi6421-pmic.h
htc-pasic3.h
idt8a340_reg.h ptp: clockmatrix: use rsmu driver to access i2c/spi bus 2021-09-27 12:16:48 +01: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_pmc_bxt.h
intel_soc_pmic_bxtwc.h
intel_soc_pmic_mrfld.h
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-m10-bmc.h
ipaq-micro.h
iqs62x.h mfd: iqs62x: Provide device revision to sub-devices 2022-02-14 13:07:22 +00:00
janz.h
kempld.h
khadas-mcu.h
lm3533.h
lochnagar1_regs.h
lochnagar2_regs.h
lochnagar.h
lp873x.h
lp3943.h
lp8788-isink.h
lp8788.h
lp87565.h
lpc_ich.h mtd: spi-nor: intel-spi: Convert to SPI MEM 2022-02-14 12:53:09 +00:00
max8907.h
max8925.h
max8997-private.h
max8997.h
max8998-private.h
max8998.h
max14577-private.h
max14577.h
max77620.h
max77650.h
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
max77693.h
max77714.h mfd: max77714: Add driver for Maxim MAX77714 PMIC 2022-03-07 13:54:44 +00:00
max77843-private.h
mc13xxx.h
mc13783.h
mc13892.h
mcp.h
menelaus.h
motorola-cpcap.h
mp2629.h
mxs-lradc.h
ntxec.h mfd: ntxec: Change return type of ntxec_reg8 from __be16 to u16 2021-12-29 13:41:20 +00:00
palmas.h
qcom_rpm.h
rave-sp.h
rc5t583.h
rdc321x.h
retu.h
rk808.h mfd: rk808: Add reboot support to rk808.c 2022-03-08 09:44:05 +00:00
rn5t618.h
rohm-bd718x7.h
rohm-bd957x.h
rohm-bd71815.h
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
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
sc27xx-pmic.h
si476x-core.h
si476x-platform.h
si476x-reports.h
sky81452.h
sta2x11-mfd.h
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
stmpe.h
stpmic1.h
stw481x.h
sun4i-gpadc.h
sy7636a.h mfd: simple-mfd-i2c: Enable support for the silergy,sy7636a 2022-02-08 09:27:22 +00:00
syscon.h
t7l66xb.h
tc3589x.h
tc6387xb.h
tc6393xb.h ARM/pxa/mfd/power/sound: Switch Tosa to GPIO descriptors 2022-05-07 22:55:33 +02:00
ti_am335x_tscadc.h mfd: ti_am335x_tscadc: Drop the CNTRLREG_TSC_8WIRE macro 2021-11-29 13:17:00 +00:00
ti-lmu-register.h
ti-lmu.h
tmio.h
tps6105x.h
tps6507x.h
tps6586x.h
tps65010.h
tps65086.h
tps65090.h
tps65217.h
tps65218.h
tps65910.h
tps65912.h mfd: tps65912: Make tps65912_device_exit() return void 2021-11-05 14:40:26 +00:00
tps68470.h clk: Introduce clk-tps68470 driver 2021-12-15 20:12:07 -08:00
twl4030-audio.h
twl6040.h
twl.h
ucb1x00.h
viperboard.h
wl1273-core.h
wm97xx.h
wm8400-audio.h
wm8400-private.h
wm8400.h