On Wed, May 22, 2024 at 9:49 AM Johan Hovold <johan@xxxxxxxxxx> wrote: > On Fri, May 10, 2024 at 04:15:43PM +0300, Andy Shevchenko wrote: > > On Thu, May 9, 2024 at 12:42 PM Johan Hovold <johan@xxxxxxxxxx> wrote: > > > On Mon, May 06, 2024 at 10:18:58PM +0300, Andy Shevchenko wrote: > > > > Mon, May 06, 2024 at 05:08:28PM +0200, Johan Hovold kirjoitti: ... > > > > > +static void devm_irq_domain_fwnode_release(void *res) > > > > > +{ > > > > > > > > > + struct fwnode_handle *fwnode = res; > > > > > > > > Unneeded line, can be > > > > > > > > static void devm_irq_domain_fwnode_release(void *fwnode) > > > > > > > > > + irq_domain_free_fwnode(fwnode); > > > > > +} > > > > > > I think I prefer it this way for clarity and for type safety in the > > > unlikely even that the argument to irq_domain_free_fwnode() would ever > > > change. > > > > If it ever changes, the allocation part most likely would need an > > update and since devm_add_action() takes this type of function, I > > don't believe the argument would ever change from void * to something > > else. With this it just adds an additional burden on the conversion. > > I was referring to the irq_domain_free_fwnode() prototype. And I also referred to that one. The release callback, i.e. the type of the parameter, is solely defined by a caller of devm_add_action() end friends, and in this case it means that if ever the type changes (this is your argument why you want to have explicit line for that, necessity of which I oppose) the devm_add_action() arguments also has to be changed, it can't be done _just_ there, in irq_domain_free_fwnode(). > > > > > + name = devm_kasprintf(dev, GFP_KERNEL, "%pOF-internal", dev->of_node); > > > > > > > > You are using fwnode for IRQ domain and IRQ domain core uses fwnode, why OF here? > > > > > > > > name = devm_kasprintf(dev, GFP_KERNEL, "%pfw-internal", dev_fwnode(dev)); > > > > > > This driver only support OF so why bother. > > > > Sure, but it makes a bit of inconsistency. > > No, I don't consider this an inconsistency. Again, *this* is an OF > driver, other subsystems need to deal with ACPI and use fwnode. OK. -- With Best Regards, Andy Shevchenko