linux_dsm_epyc7002/drivers/gpio
Bartosz Golaszewski 337cbeb2c1 genirq/irq_sim: Simplify the API
The interrupt simulator API exposes a lot of custom data structures and
functions and doesn't reuse the interfaces already exposed by the irq
subsystem. This patch tries to address it.

We hide all the simulator-related data structures from users and instead
rely on the well-known irq domain. When creating the interrupt simulator
the user receives a pointer to a newly created irq_domain and can use it
to create mappings for simulated interrupts.

It is also possible to pass a handle to fwnode when creating the simulator
domain and retrieve it using irq_find_matching_fwnode().

The irq_sim_fire() function is dropped as well. Instead we implement the
irq_get/set_irqchip_state interface.

We modify the two modules that use the simulator at the same time as
adding these changes in order to reduce the intermediate bloat that would
result when trying to migrate the drivers in separate patches.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> #for IIO
Link: https://lore.kernel.org/r/20200514083901.23445-3-brgl@bgdev.pl
2020-05-18 10:30:21 +01:00
..
gpio-74x164.c gpio: 74x164: utilize the for_each_set_clump8 macro 2019-12-04 19:44:12 -08:00
gpio-74xx-mmio.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-104-dio-48e.c gpio: 104-dio-48e: utilize for_each_set_clump8 macro 2019-12-04 19:44:12 -08:00
gpio-104-idi-48.c gpio: 104-idi-48: utilize for_each_set_clump8 macro 2019-12-04 19:44:12 -08:00
gpio-104-idio-16.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-adnp.c
gpio-adp5520.c
gpio-adp5588.c
gpio-altera-a10sr.c
gpio-altera.c gpio: altera: change to platform_get_irq_optional to avoid false-positive error 2020-01-09 10:35:05 +01:00
gpio-amd8111.c
gpio-amd-fch.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-amdpt.c
gpio-arizona.c
gpio-aspeed-sgpio.c gpio: aspeed-sgpio: fixed typos 2020-01-23 16:16:05 +01:00
gpio-aspeed.c gpio: aspeed-sgpio: fixed typos 2020-01-23 16:16:05 +01:00
gpio-ath79.c gpio: ath79: use devm_platform_ioremap_resource() 2019-10-09 18:20:19 +02:00
gpio-bcm-kona.c gpio: bcm-kona: use platform_irq_count 2019-12-11 11:06:31 +01:00
gpio-bd9571mwv.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-bd70528.c This is the bulk of GPIO changes for the v5.5 kernel cycle 2019-12-01 17:56:50 -08:00
gpio-bd71828.c gpio: bd71828: Remove unneeded defines for GPIO_LINE_DIRECTION_IN/OUT 2020-02-10 10:55:18 +01:00
gpio-brcmstb.c gpio: brcmstb: support gpio-line-names property 2020-03-26 00:02:03 +01:00
gpio-bt8xx.c
gpio-cadence.c
gpio-clps711x.c
gpio-creg-snps.c gpio: aspeed-sgpio: fixed typos 2020-01-23 16:16:05 +01:00
gpio-crystalcove.c
gpio-cs5535.c
gpio-da9052.c
gpio-da9055.c
gpio-davinci.c gpio: Unconditionally assign .request()/.free() 2020-04-02 09:16:06 +02:00
gpio-dln2.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-dwapb.c
gpio-eic-sprd.c Revert "gpio: eic-sprd: Use devm_platform_ioremap_resource()" 2020-04-02 09:39:09 +02:00
gpio-em.c gpio: em: Use platform_get_irq() to obtain interrupts 2019-11-13 13:47:48 +01:00
gpio-ep93xx.c
gpio-exar.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-f7188x.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-ftgpio010.c
gpio-ge.c
gpio-gpio-mm.c gpio: gpio-mm: utilize for_each_set_clump8 macro 2019-12-04 19:44:12 -08:00
gpio-grgpio.c gpio: Remove the unused flags 2020-01-15 11:24:19 +01:00
gpio-gw-pld.c
gpio-hlwd.c
gpio-htc-egpio.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-ich.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-intel-mid.c gpio: intel-mid: Move hardware initialization to callback 2019-10-15 01:18:51 +02:00
gpio-iop.c
gpio-it87.c
gpio-ixp4xx.c
gpio-janz-ttl.c
gpio-kempld.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-logicvc.c gpio: Add support for the Xylon LogiCVC GPIOs 2019-12-13 09:50:29 +01:00
gpio-loongson1.c
gpio-loongson.c MIPS: Loongson64: Rename CPU TYPES 2019-10-31 15:03:10 -07:00
gpio-lp873x.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-lp3943.c
gpio-lp87565.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-lpc18xx.c
gpio-lpc32xx.c
gpio-madera.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-max730x.c
gpio-max732x.c
gpio-max3191x.c gpio: max3191x: utilize the for_each_set_clump8 macro 2019-12-04 19:44:13 -08:00
gpio-max7300.c
gpio-max7301.c
gpio-max77620.c This is the bulk of GPIO changes for the v5.5 kernel cycle 2019-12-01 17:56:50 -08:00
gpio-max77650.c
gpio-mb86s7x.c
gpio-mc9s08dz60.c
gpio-mc33880.c
gpio-menz127.c drivers: mcb: use symbol namespaces 2019-11-03 19:54:53 +01:00
gpio-merrifield.c gpio: merrifield: Pass irqchip when adding gpiochip 2019-11-13 15:30:53 +02:00
gpio-ml-ioh.c
gpio-mlxbf2.c gpio: add driver for Mellanox BlueField 2 GPIO controller 2020-03-09 09:47:50 +01:00
gpio-mlxbf.c
gpio-mm-lantiq.c
gpio-mmio.c gpio: mmio: introduce BGPIOF_NO_SET_ON_INPUT 2020-03-25 09:50:45 +01:00
gpio-mockup.c genirq/irq_sim: Simplify the API 2020-05-18 10:30:21 +01:00
gpio-moxtet.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-mpc8xxx.c Linux 5.5-rc6 2020-01-17 08:59:29 +01:00
gpio-mpc5200.c
gpio-msic.c
gpio-mt7621.c gpio: mt7621: add BGPIOF_NO_SET_ON_INPUT flag 2020-03-25 09:50:45 +01:00
gpio-mvebu.c gpio: mvebu: avoid error message for optional IRQ 2020-03-25 09:50:45 +01:00
gpio-mxc.c gpio: Unconditionally assign .request()/.free() 2020-04-02 09:16:06 +02:00
gpio-mxs.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-octeon.c
gpio-omap.c Revert "gpio: omap: Fix lost edge wake-up interrupts" 2020-03-09 10:24:46 +01:00
gpio-palmas.c
gpio-pca953x.c Linux 5.5-rc6 2020-01-17 08:59:29 +01:00
gpio-pcf857x.c
gpio-pch.c
gpio-pci-idio-16.c gpio: pci-idio-16: utilize for_each_set_clump8 macro 2019-12-04 19:44:12 -08:00
gpio-pcie-idio-24.c gpio: pcie-idio-24: utilize for_each_set_clump8 macro 2019-12-04 19:44:12 -08:00
gpio-pisosr.c gpio: pisosr: utilize the for_each_set_clump8 macro 2019-12-04 19:44:13 -08:00
gpio-pl061.c gpio: Unconditionally assign .request()/.free() 2020-04-02 09:16:06 +02:00
gpio-pmic-eic-sprd.c
gpio-pxa.c gpio: Unconditionally assign .request()/.free() 2020-04-02 09:16:06 +02:00
gpio-raspberrypi-exp.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-rc5t583.c
gpio-rcar.c gpio: rcar: Fix typo in comment 2020-02-20 09:18:54 +01:00
gpio-rda.c gpio: Add RDA Micro GPIO controller support 2019-10-29 15:12:52 +01:00
gpio-rdc321x.c
gpio-reg.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-sa1100.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-sama5d2-piobu.c gpio: remove unneeded MODULE_VERSION() usage 2019-12-12 17:09:50 +01:00
gpio-sch311x.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-sch.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-sifive.c gpio: sifive: fix static checker warning 2020-02-10 13:54:17 +01:00
gpio-siox.c gpio: siox: use raw spinlock for irq related locking 2020-02-21 14:51:56 +01:00
gpio-sodaville.c
gpio-spear-spics.c
gpio-sprd.c
gpio-sta2x11.c
gpio-stmpe.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-stp-xway.c Bulk GPIO changes for the v5.3 kernel cycle: 2019-07-09 09:07:00 -07:00
gpio-syscon.c
gpio-tb10x.c gpio: remove unneeded MODULE_VERSION() usage 2019-12-12 17:09:50 +01:00
gpio-tc3589x.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-tegra186.c gpio: tegra186: Add Tegra194 pin ranges for GG.0 and GG.1 2020-03-27 11:38:21 +01:00
gpio-tegra.c gpio: tegra: Use NOIRQ phase for suspend/resume 2019-12-20 10:58:23 +01:00
gpio-thunderx.c gpio: thunderx: Switch to GPIOLIB_IRQCHIP 2020-01-15 11:18:29 +01:00
gpio-timberdale.c
gpio-tpic2810.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-tps6586x.c
gpio-tps65086.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-tps65218.c
gpio-tps65910.c
gpio-tps65912.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-tps68470.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-tqmx86.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-ts4800.c
gpio-ts4900.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-ts5500.c
gpio-twl4030.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-twl6040.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-ucb1400.c
gpio-uniphier.c gpio: uniphier: Replace zero-length array with flexible-array member 2020-03-02 08:52:55 +01:00
gpio-vf610.c
gpio-viperboard.c
gpio-vr41xx.c
gpio-vx855.c gpio: vx855: fixed a typo 2020-01-15 13:45:01 +01:00
gpio-wcd934x.c gpio: wcd934x: Fix logic of wcd_gpio_get 2020-02-10 10:50:58 +01:00
gpio-wcove.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-winbond.c
gpio-wm831x.c
gpio-wm8350.c
gpio-wm8994.c
gpio-ws16c48.c gpio: ws16c48: utilize for_each_set_clump8 macro 2019-12-04 19:44:12 -08:00
gpio-xgene-sb.c
gpio-xgene.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-xgs-iproc.c This is the bulk of pin control changes for the v5.6 kernel cycle: 2020-01-29 09:51:36 -08:00
gpio-xilinx.c gpio: xilinx: Fix bug where the wrong GPIO register is written to 2020-02-10 12:52:34 +01:00
gpio-xlp.c
gpio-xra1403.c gpio: Use new GPIO_LINE_DIRECTION 2019-11-07 09:27:48 +01:00
gpio-xtensa.c gpio: xtensa: fix driver build 2019-12-09 10:40:18 +01:00
gpio-zevio.c
gpio-zx.c gpio: Unconditionally assign .request()/.free() 2020-04-02 09:16:06 +02:00
gpio-zynq.c gpio: zynq: Fix for bug in zynq_gpio_restore_context API 2020-01-07 11:24:44 +01:00
gpiolib-acpi.c gpiolib: acpi: Add quirk to ignore EC wakeups on HP x2 10 CHT + AXP288 model 2020-03-24 10:06:54 +01:00
gpiolib-acpi.h
gpiolib-devprop.c
gpiolib-devres.c gpio: Move devres calls to devres file 2020-03-20 10:23:06 +01:00
gpiolib-legacy.c
gpiolib-of.c gpio: of: Add DT overlay support for GPIO hogs 2020-02-21 17:10:33 +01:00
gpiolib-of.h gpio: of: Add DT overlay support for GPIO hogs 2020-02-21 17:10:33 +01:00
gpiolib-sysfs.c gpiolib: Add GPIOCHIP_NAME definition 2019-12-12 11:36:13 +01:00
gpiolib.c This is the bulk of GPIO development for the v5.7 kernel cycle. 2020-04-04 10:27:00 -07:00
gpiolib.h gpio: of: Add DT overlay support for GPIO hogs 2020-02-21 17:10:33 +01:00
Kconfig gpio: mxs: add COMPILE_TEST support for GPIO_MXS 2020-03-25 09:50:45 +01:00
Makefile gpio: add driver for Mellanox BlueField 2 GPIO controller 2020-03-09 09:47:50 +01:00
TODO gpio: Update TODO 2020-01-09 03:01:33 +01:00