lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 8 Jul 2022 17:52:21 +0200 From: Bartosz Golaszewski <brgl@...ev.pl> To: Prabhakar <prabhakar.csengg@...il.com> Cc: Marc Zyngier <maz@...nel.org>, Thomas Gleixner <tglx@...utronix.de>, Rob Herring <robh+dt@...nel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>, Geert Uytterhoeven <geert+renesas@...der.be>, Linus Walleij <linus.walleij@...aro.org>, Philipp Zabel <p.zabel@...gutronix.de>, devicetree <devicetree@...r.kernel.org>, Linux-Renesas <linux-renesas-soc@...r.kernel.org>, "open list:GPIO SUBSYSTEM" <linux-gpio@...r.kernel.org>, Linux Kernel Mailing List <linux-kernel@...r.kernel.org>, Biju Das <biju.das.jz@...renesas.com>, Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com> Subject: Re: [PATCH v8 4/6] gpio: gpiolib: Allow free() callback to be overridden On Thu, Jul 7, 2022 at 8:24 PM <prabhakar.csengg@...il.com> wrote: > > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com> > > Allow free() callback to be overridden from irq_domain_ops for > hierarchical chips. > > This allows drivers to free up resources which are allocated during > child_to_parent_hwirq()/populate_parent_alloc_arg() callbacks. > > On Renesas RZ/G2L platform a bitmap is maintained for TINT slots, a slot > is allocated in child_to_parent_hwirq() callback which is freed up in free > callback hence this override. > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com> > Reviewed-by: Geert Uytterhoeven <geert+renesas@...der.be> > --- > drivers/gpio/gpiolib.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c > index bfde94243752..68d9f95d7799 100644 > --- a/drivers/gpio/gpiolib.c > +++ b/drivers/gpio/gpiolib.c > @@ -1181,15 +1181,18 @@ static void gpiochip_hierarchy_setup_domain_ops(struct irq_domain_ops *ops) > ops->activate = gpiochip_irq_domain_activate; > ops->deactivate = gpiochip_irq_domain_deactivate; > ops->alloc = gpiochip_hierarchy_irq_domain_alloc; > - ops->free = irq_domain_free_irqs_common; > > /* > - * We only allow overriding the translate() function for > + * We only allow overriding the translate() and free() functions for > * hierarchical chips, and this should only be done if the user > - * really need something other than 1:1 translation. > + * really need something other than 1:1 translation for translate() > + * callback and free if user wants to free up any resources which > + * were allocated during callbacks, for example populate_parent_alloc_arg. > */ > if (!ops->translate) > ops->translate = gpiochip_hierarchy_irq_domain_translate; > + if (!ops->free) > + ops->free = irq_domain_free_irqs_common; > } > > static int gpiochip_hierarchy_add_domain(struct gpio_chip *gc) > -- > 2.25.1 > Acked-by: Bartosz Golaszewski <brgl@...ev.pl> Which tree is this targetting?
Powered by blists - more mailing lists