[lkml]   [2022]   [May]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] gpio: Remove dynamic allocation from populate_parent_alloc_arg()
On Thu, May 12, 2022 at 6:23 PM Marc Zyngier <> 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 <>
> Cc: Daniel Palmer <>
> Cc: Romain Perier <>
> Cc: Linus Walleij <>
> Cc: Bartosz Golaszewski <>
> Cc: Thierry Reding <>
> Cc: Jonathan Hunter <>
> Cc: Robert Richter <>
> Cc: Nobuhiro Iwamatsu <>
> Cc: Andy Gross <>
> Cc: Bjorn Andersson <>

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...)

Also: don't you also need to fix something in
the way I remember it it was quite similar to spmi-gpio
but I may be mistaken.

Linus Walleij

 \ /
  Last update: 2022-05-13 23:25    [W:0.069 / U:0.212 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site