Re: [PATCH 11/13] mfd: pm8008: rework driver

From: Andy Shevchenko
Date: Fri May 10 2024 - 09:16:31 EST


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.

> > > + 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. Besides that dereferencing
of_node might also add a burden one day we want to get rid of it or
move it somewhere else, or convert to the list_head or so.
dev_of_node(dev) in this case prevents from looking into this case.

--
With Best Regards,
Andy Shevchenko