The interrupts simulator has a limitation in that a call to irq_sim_fire() always fires the dummy interrupt - irrespective of the flags passed to the irq request function. This series addresses a problem with certain libgpiod tests failing when using gpio-mockup with simulated interrupts since commit fa38869b0161 ("gpiolib: Don't support irq sharing for userspace"). The tests are failing because irq_sim fires interrupts for falling edge events even if gpiolib requests a threaded irq triggered by rising edge only (and vice versa). We're introducing a new function: irq_sim_fire_edge() which takes another argument allowing to specify the trigger type for the dummy interrupt. We then use it in gpio-mockup. Patch 1 applies on top of my previous irq_sim changeset[1]. Patch 2 applies on top of the recent changes to gpio-mockup[2]. Since test breakage in user-space after 4.20-rc1 can be considered a regression, it would be great if this could go into 4.20. [1] https://lkml.org/lkml/2018/11/9/1418 [2] https://lkml.org/lkml/2018/11/8/1012 Bartosz Golaszewski (2): irq/irq_sim: provide irq_sim_fire_edge() gpio: mockup: use irq_sim_fire_edge() drivers/gpio/gpio-mockup.c | 5 +++-- include/linux/irq_sim.h | 2 ++ kernel/irq/irq_sim.c | 30 ++++++++++++++++++++++++++++-- 3 files changed, 33 insertions(+), 4 deletions(-) -- 2.19.1