Hey Linus, On Fri, 13 May 2022 22:24:40 +0100, Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > > On Thu, May 12, 2022 at 6:23 PM Marc Zyngier <maz@xxxxxxxxxx> wrote: > > > The gpiolib is unique in the way it uses intermediate fwspecs > > when feeding an interrupt specifier to the parent domain, as it > > relies on the populate_parent_alloc_arg() callback to perform > > a dynamic allocation. > > > > THis is pretty inefficient (we free the structure almost immediately), > > and the only reason this isn't a stack allocation is that our > > ThunderX friend uses MSIs rather than a FW-constructed structure. > > > > Let's solve it by providing a new type composed of the union > > of a struct irq_fwspec and a msi_info_t, which satisfies both > > requirements. This allows us to use a stack allocation, and we > > can move the handful of users to this new scheme. > > > > Also perform some additional cleanup, such as getting rid of the > > stub versions of the irq_domain_translate_*cell helpers, which > > are never used when CONFIG_IRQ_DOMAIN_HIERARCHY isn't selected. > > > > Tested on a Tegra186. > > > > Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx> > > Cc: Daniel Palmer <daniel@xxxxxxxxx> > > Cc: Romain Perier <romain.perier@xxxxxxxxx> > > Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> > > Cc: Bartosz Golaszewski <brgl@xxxxxxxx> > > Cc: Thierry Reding <thierry.reding@xxxxxxxxx> > > Cc: Jonathan Hunter <jonathanh@xxxxxxxxxx> > > Cc: Robert Richter <rric@xxxxxxxxxx> > > Cc: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@xxxxxxxxxxxxx> > > Cc: Andy Gross <agross@xxxxxxxxxx> > > Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> > > This looks very appetizing to me but: > > drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 15 ++++----- > > This seems to have some changes to > ->populate_parent_alloc_arg not even in linux-next, > so I get confused, what are the prerequisites? (Probably > something I already reviewed, but...) Odd. This patch is on top of irqchip-next, which is itself already in -next (you got me worried and I just pulled everything to check). > Also: don't you also need to fix something in > drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c? > the way I remember it it was quite similar to spmi-gpio > but I may be mistaken. No, this one is graceful enough to use gpiochip_populate_parent_fwspec_twocell(), which is directly provided by gpiolib and thus addressed directly by this patch. Same thing for the spmi-mpp version, which uses the fourcell variant. HTH, M. -- Without deviation from the norm, progress is not possible.