Message ID | 20190214134232.3821-1-brgl@bgdev.pl |
---|---|
Headers | show |
Series | gpio: mockup: improve the user-space testing interface | expand |
czw., 14 lut 2019 o 14:42 Bartosz Golaszewski <brgl@bgdev.pl> napisaĆ(a): > > From: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > Hi Marc, > > another try at the irq_sim stuff. This time I added a notifier chain to > irq_sim and made gpio-mockup register a notifier block. This way interested > users will get notified about a type config change. > > v1 -> v2: > - instead of providing the irq_sim_get_type() helper, move the irq type > logic into the simulator and provide a helper that allows users to specify > the type of the fired interrupt > > v2 -> v3: > - switch back to having irq_sim_type() and put the line state logic into the > GPIO testing module > > v3- > v4: > - drop irq_sim_get_type() and use a notifier chain instead so that any change > in type configuration can be pushed out to interested users > - change the locking mechanism in gpio-mockup to a spinlock as we can't take > a mutex when a hardirq-safe spinlock in irq_desc is being held when the > irq_set_type() callback is called > - refuse to set any other type than falling or rising edge in irq_set_config > > Bartosz Golaszewski (7): > irq/irq_sim: add a notifier chain > gpio: mockup: add locking > gpio: mockup: implement get_multiple() > gpio: mockup: don't create the debugfs link named after the label > gpio: mockup: change the type of 'offset' to unsigned int > gpio: mockup: change the signature of unlocked get/set helpers > gpio: mockup: rework debugfs interface > > drivers/gpio/gpio-mockup.c | 215 ++++++++++++++++++++++++++++++++----- > include/linux/irq_sim.h | 22 +++- > kernel/irq/irq_sim.c | 40 +++++++ > 3 files changed, 246 insertions(+), 31 deletions(-) > > -- > 2.20.1 > Since this really is overkill, I sent v5 in which I simple store the trigger type by calling irqd_set_trigger_type(). Superseded by v5. Bartosz
From: Bartosz Golaszewski <bgolaszewski@baylibre.com> Hi Marc, another try at the irq_sim stuff. This time I added a notifier chain to irq_sim and made gpio-mockup register a notifier block. This way interested users will get notified about a type config change. v1 -> v2: - instead of providing the irq_sim_get_type() helper, move the irq type logic into the simulator and provide a helper that allows users to specify the type of the fired interrupt v2 -> v3: - switch back to having irq_sim_type() and put the line state logic into the GPIO testing module v3- > v4: - drop irq_sim_get_type() and use a notifier chain instead so that any change in type configuration can be pushed out to interested users - change the locking mechanism in gpio-mockup to a spinlock as we can't take a mutex when a hardirq-safe spinlock in irq_desc is being held when the irq_set_type() callback is called - refuse to set any other type than falling or rising edge in irq_set_config Bartosz Golaszewski (7): irq/irq_sim: add a notifier chain gpio: mockup: add locking gpio: mockup: implement get_multiple() gpio: mockup: don't create the debugfs link named after the label gpio: mockup: change the type of 'offset' to unsigned int gpio: mockup: change the signature of unlocked get/set helpers gpio: mockup: rework debugfs interface drivers/gpio/gpio-mockup.c | 215 ++++++++++++++++++++++++++++++++----- include/linux/irq_sim.h | 22 +++- kernel/irq/irq_sim.c | 40 +++++++ 3 files changed, 246 insertions(+), 31 deletions(-)