wt., 11 lut 2020 o 14:12 Bartosz Golaszewski <brgl@xxxxxxxx> napisał(a): > > From: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> > > This is my second take at improving the interrupt simulator interface. > I marked it as v2 but it actually takes a completely different approach. > > 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 series tries to address it. > > First, we make irq_domain_reset_irq_data() available to non-V2 domain API > users - that'll be used in the subsequent patch. Next we overhaul the > public interfaces - we hide all specific data structures and instead > rely on the irq_domain struct and virtual interrupt numberspace. > > Next four patches simplify the interface even more, but since the change > may be a bit more controversial due to modification of the irq_domain > I decided to split them out of the second patch. > > In patch 3/6 we're adding a new callback to irq_domain_ops that is called > right before all the other code in irq_domain_remove(). Next we use it to > remove the simulator-specific cleanup function from irq_sim.h - users now > can simply use the regular irq_domain_remove(). > > Last two patches show that the new callback isn't limited to the interrupt > simulator and can be used to shrink code in real driver too. We introduce > a new helper for a common use case of disposing of all mappings before > removing the irq_domain and use it in the keystone irqchip driver. > > The end effect is that we limit the interrupt simulator API to two > functions (plus one device managed variant) and zero new structures. > > v1: https://lkml.org/lkml/2019/8/12/558 > > v1 -> v2: > - instead of just making the new data structures opaque for users, remove > them entirely in favor of irq_domain > - call irq_set_handler() & irq_domain_reset_irq_data() when unmapping > the simulated interrupt > - fix a memory leak in error path > - make it possible to use irq_find_matching_fwnode() with the simulator > domain > - correctly use irq_create_mapping() and irq_find_mapping(): only use the > former at init-time and the latter at interrupt-time > Hi, it's been three weeks, so gentle ping on that. Or should I resend the entire series with a more elaborate commit message for patch 1/6? Bartosz