summaryrefslogtreecommitdiff
path: root/scripts/Makefile.thinlto
diff options
context:
space:
mode:
authorEliav Farber <farbere@amazon.com>2026-10-11 05:04:43 +0000
committerThomas Gleixner <tglx@kernel.org>2026-10-15 14:25:06 +0200
commit455c9664aa6940b44a4d0e92f6a5850afb1d8435 (patch)
treee53b452d449e1b0e3ca4fbdb1aece1d4a4a221bd /scripts/Makefile.thinlto
parentda0b1e5f7a124c5c506baef32ed7a90aa03cf516 (diff)
downloadlinux-455c9664aa6940b44a4d0e92f6a5850afb1d8435.tar.gz
linux-455c9664aa6940b44a4d0e92f6a5850afb1d8435.zip
irqchip/al-fic: Keep the device_node instead of a cached name string
struct al_fic cached a const char *name that al_fic_wire_init() set from node->name. That string pointed into the device_node, so the driver already depended on the node outliving init, but nothing in the struct said so. Keep the device_node itself and derive the name where it is needed. The dependency does not go away: of_node_full_name() also returns a pointer into the node, and irq_alloc_domain_generic_chips() keeps the string it is given. The driver therefore needs its own reference. of_irq_init() holds one across the init callback, but since commit 30724547b221 ("of/irq: Fix remaining refcount leaks in of_irq_init()") it drops that reference again when it drains its parent list. Take a reference where the pointer is stored and drop it on the error path. The driver is __init-only with no teardown, so on success it is held for the life of the system. Deriving the name this way also changes the generic chip name from the bare node name (e.g. "interrupt-controller") to the full name including the unit address (e.g. "interrupt-controller@fd8a8500"), which keeps instances that share a bare name distinguishable. Signed-off-by: Eliav Farber <farbere@amazon.com> Signed-off-by: Thomas Gleixner <tglx@kernel.org> Reviewed-by: Radu Rendec <radu@rendec.net> Link: https://patch.msgid.link/20261011050449.41903-5-farbere@amazon.com
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions