[PATCH 1/5] ioport: Add resource check helpers
Patrick DELAUNAY
patrick.delaunay at foss.st.com
Wed Sep 10 17:05:36 CEST 2025
Hi,
On 8/8/25 17:11, Patrice Chotard wrote:
> Add resource_overlaps() and resource_contains() helpers.
> Code copied from kernel source.
>
> Signed-off-by: Patrice Chotard <patrice.chotard at foss.st.com>
> ---
>
> include/linux/ioport.h | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/include/linux/ioport.h b/include/linux/ioport.h
> index 85288c3729a..c12a7f70ad7 100644
> --- a/include/linux/ioport.h
> +++ b/include/linux/ioport.h
> @@ -135,6 +135,22 @@ static inline unsigned long resource_type(const struct resource *res)
> return res->flags & IORESOURCE_TYPE_BITS;
> }
>
> +/* True iff r1 completely contains r2 */
> +static inline bool resource_contains(struct resource *r1, struct resource *r2)
> +{
> + if (resource_type(r1) != resource_type(r2))
> + return false;
> + if (r1->flags & IORESOURCE_UNSET || r2->flags & IORESOURCE_UNSET)
> + return false;
> + return r1->start <= r2->start && r1->end >= r2->end;
> +}
> +
> +/* True if any part of r1 overlaps r2 */
> +static inline bool resource_overlaps(struct resource *r1, struct resource *r2)
> +{
> + return r1->start <= r2->end && r1->end >= r2->start;
> +}
> +
> /* Convenience shorthand with allocation */
> #define request_region(start,n,name) __request_region(&ioport_resource, (start), (n), (name), 0)
> #define __request_mem_region(start,n,name, excl) __request_region(&iomem_resource, (start), (n), (name), excl)
Reviewed-by: Patrick Delaunay <patrick.delaunay at foss.st.com>
Thanks
Patrick
More information about the U-Boot
mailing list