diff options
author | Marc Zyngier <[email protected]> | 2022-07-07 19:23:09 +0100 |
---|---|---|
committer | Marc Zyngier <[email protected]> | 2022-07-10 09:30:00 +0100 |
commit | 91a29af413def677495e447fb9a06957ebc8bed5 (patch) | |
tree | 8a0a10b7a95684bb0773f612088ea597ade907f7 /scripts/gdb/linux/rbtree.py | |
parent | a111daf0c53ae91e71fd2bfe7497862d14132e3e (diff) |
gpio: Remove dynamic allocation from populate_parent_alloc_arg()
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.
Reviewed-by: Linus Walleij <[email protected]>
Signed-off-by: Marc Zyngier <[email protected]>
Cc: Daniel Palmer <[email protected]>
Cc: Romain Perier <[email protected]>
Cc: Bartosz Golaszewski <[email protected]>
Cc: Thierry Reding <[email protected]>
Cc: Jonathan Hunter <[email protected]>
Cc: Robert Richter <[email protected]>
Cc: Nobuhiro Iwamatsu <[email protected]>
Cc: Andy Gross <[email protected]>
Cc: Bjorn Andersson <[email protected]>
Acked-by: Bartosz Golaszewski <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'scripts/gdb/linux/rbtree.py')
0 files changed, 0 insertions, 0 deletions