Re: [PATCH 1/6] resource: Introduce resource_assigned() for discerning active resources

dan.j.williams
2025-11-05T21:57:41Z

Jonathan Cameron wrote:
> On Tue, 4 Nov 2025 20:00:50 -0800
> Dan Williams <dan.j.williams@intel.com> wrote:
>
> > A PCI bridge resource lifecycle involves both a "request" and "assign"
> > phase. At any point in time that resource may not yet be assigned, or may
> > have failed to assign (because it does not fit).
> >
> > There are multiple conventions to determine when assignment has not
> > completed: IORESOURCE_UNSET, IORESOURCE_DISABLED, and checking whether the
> > resource is parented.
> >
> > In code paths that are known to not be racing assignment, e.g. post
> > subsys_initcall(), the most reliable method to judge that a bridge resource
> > is assigned is to check the resource is parented [1].
> >
> > Introduce a resource_assigned() helper for this purpose.
> >
> > Link: http://lore.kernel.org/2b9f7f7b-d6a4-be59-14d4-7b4ffccfe373@linux.intel.com [1]
> > Suggested-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> > Cc: Bjorn Helgaas <bhelgaas@google.com>
> > Signed-off-by: Dan Williams <dan.j.williams@intel.com>
> One trivial thing on documentation style below.
>
> > ---
> > include/linux/ioport.h | 9 +++++++++
> > 1 file changed, 9 insertions(+)
> >
> > diff --git a/include/linux/ioport.h b/include/linux/ioport.h
> > index e8b2d6aa4013..9afa30f9346f 100644
> > --- a/include/linux/ioport.h
> > +++ b/include/linux/ioport.h
> > @@ -334,6 +334,15 @@ static inline bool resource_union(const struct resource *r1, const struct resour
> > return true;
> > }
> >
> > +/*
> > + * Check if this resource is added to a resource tree or detached. Caller is
> > + * responsible for not racing assignment.
> > + */
>
> Some stuff in this file now has kernel-doc style comments. To me it
> seems like a better idea to use that style for new function descriptions
> whilst perhaps not being worth the churn that would be inherent in switching
> all docs to that style.

Hmm, ioport.h is not included in any "kernel-doc::" statements. I do not
think this tiny function that no drivers should be using needs that
formality. It is an internal implementation detail of resource
management, not really a kernel API.