mirror_ubuntu-kernels/include/linux/mfd
Linus Walleij c32c81f3db ARM/mfd/gpio: Fixup TPS65010 regression on OMAP1 OSK1
Aaro reports problems on the OSK1 board after we altered
the dynamic base for GPIO allocations.

It appears this happens because the OMAP driver now
allocates GPIO numbers dynamically, so all that is
references by number is a bit up in the air.

Let's bite the bullet and try to just move the gpio_chip
in the tps65010 MFD driver over to using dynamic allocations.
Alter everything in the OSK1 board file to use a GPIO
descriptor table and lookups.

Utilize the NULL device to define some board-specific
GPIO lookups and use these to immediately look up the
same GPIOs, convert to IRQ numbers and pass as resources
to the devices. This is ugly but should work.

The .setup() callback for tps65010 was used for some GPIO
hogging, but since the OSK1 is the only user in the entire
kernel we can alter the signatures to something that
is helpful and make a clean transition.

Fixes: 92bf78b33b ("gpio: omap: use dynamic allocation of base")
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: andy.shevchenko@gmail.com
Cc: Andreas Kemnade <andreas@kemnade.info>
Acked-by: Lee Jones <lee@kernel.org>
Reviewed-by: Lee Jones <lee@kernel.org>
Reported-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2023-05-24 15:01:22 +02: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 regulator: da9063: add voltage monitoring registers 2023-04-12 12:52:09 +01: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 mfd: pcf50633: Remove #ifdef guards for PM related functions 2022-12-07 13:28:11 +00:00
samsung rtc: s5m: Drop S5M8763 support 2023-04-26 11:40:26 +01:00
syscon clk: imx6ul: add ethernet refclock mux support 2023-01-31 14:45:17 +02: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
atmel-hlcdc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
axp20x.h mfd: axp20x: Add support for AXP15060 PMIC 2023-04-26 15:25:25 +01: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 .enable() and .disable() callbacks 2023-04-26 11:40:29 +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
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
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_pmc_bxt.h platform/x86: intel_pmc_ipc: Convert to MFD 2020-04-24 11:18:44 +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
intel_soc_pmic.h mfd: intel_soc_pmic_chtwc: Add Lenovo Yoga Tab 3 X90F to intel_cht_wc_models 2023-02-04 13:03:27 +00:00
intel-m10-bmc.h fpga: m10bmc-sec: Add support for N6000 2023-01-30 08:14:02 +00: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
lochnagar1_regs.h
lochnagar2_regs.h
lochnagar.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
max597x.h mfd: max597x: Add support for MAX5970 and MAX5978 2023-04-26 11:40:29 +01: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 Input: max8997 - convert to modern way to get a reference to a PWM 2022-11-17 22:19:14 -08: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: Add version number for EC in Tolino Vision 2023-02-22 11:42:29 +00:00
ocelot.h mfd: ocelot: Add helper to get regmap from a resource 2022-09-09 07:54:25 +01:00
palmas.h iio: adc: palmas: remove adc_wakeupX_data 2023-04-13 11:37:21 +01: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 Rockchip rk817 battery charger support 2022-09-28 16:09:49 +01:00
rn5t618.h watchdog: rn5t618: add support for read out bootstatus 2022-11-19 15:30:40 +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: rsmu: Support 32-bit address space 2023-04-26 11:40:34 +01:00
rt5033-private.h mfd: rt5033: Fix comments and style in includes 2023-04-26 11:40:29 +01:00
rt5033.h mfd: rt5033: Fix comments and style in includes 2023-04-26 11:40:29 +01:00
rz-mtu3.h mfd: Add Renesas RZ/G2L MTU3a core driver 2023-04-26 11:40:34 +01: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 pwm: stm32: Enforce settings for PWM capture 2023-04-06 16:35:01 +02:00
stmfx.h mfd: stmfx: Remove #ifdef guards for PM related functions 2022-12-07 13:28:13 +00: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
tc3589x.h gpio: tc35894: Disable Direct KBD interrupts to enable gpio irq 2020-09-09 11:33:07 +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 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
tmio.h mfd: Remove toshiba tmio drivers 2023-02-22 11:42:29 +00: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 ARM/mfd/gpio: Fixup TPS65010 regression on OMAP1 OSK1 2023-05-24 15:01:22 +02:00
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
tps65219.h mfd: tps65219: Add driver for TI TPS65219 PMIC 2022-12-07 13:28:15 +00: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
twl4030-audio.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
twl6040.h mfd: twl6040: Drop twl6040_platform_data and associated definitions 2022-12-07 13:28:07 +00:00
twl.h mfd: twl: Fix TWL6032 phy vbus detection 2023-02-22 08:25:51 +00:00
ucb1x00.h gpiolib: split linux/gpio/driver.h out of linux/gpio.h 2023-03-06 12:33:01 +02: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