]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
resource: Introduce resource_assigned() for discerning active resources
authorDan Williams <dan.j.williams@intel.com>
Thu, 13 Nov 2025 02:14:41 +0000 (18:14 -0800)
committerDan Williams <dan.j.williams@intel.com>
Fri, 14 Nov 2025 01:05:08 +0000 (17:05 -0800)
commitc16af019d9d6d23f211c82b5561f2ecd2a7dff54
tree5dd0a7d757933937629b33dd93acd97ca938e515
parente5b5f8b7c26f72fe86b59979e51d8e6cf36ea903
resource: Introduce resource_assigned() for discerning active resources

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
Suggested-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Link: https://patch.msgid.link/20251113021446.436830-4-dan.j.williams@intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
include/linux/ioport.h