Re: [PATCH v2 0/6] irq/irq_sim: try to improve the API

From: Bartosz Golaszewski
Date: Tue Mar 03 2020 - 02:57:57 EST


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