[PATCH v8 1/2] part: Export part_driver_lookup_type for external use
    Ilias Apalodimas 
    ilias.apalodimas at linaro.org
       
    Fri Oct 10 13:06:27 CEST 2025
    
    
  
Hi Javier,
On Thu, 9 Oct 2025 at 16:18, Javier Tia <javier.tia at linaro.org> wrote:
>
> Make part_driver_lookup_type non-static so it can be used outside
> part.c. This allows external callers to determine the appropriate
> partition driver for a block device, enabling more flexible handling of
> partition types.
>
> Add a prototype and kernel-doc comment in part.h to document the
> function contract. Provide a stub inline implementation returning NULL
> when partition support is disabled, ensuring build consistency across
> configurations.
>
> Signed-off-by: Javier Tia <javier.tia at linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
> ---
>  disk/part.c    | 18 +-----------------
>  include/part.h | 21 +++++++++++++++++++++
>  2 files changed, 22 insertions(+), 17 deletions(-)
>
> diff --git a/disk/part.c b/disk/part.c
> index 66e2b3a7219..be2b45d5a29 100644
> --- a/disk/part.c
> +++ b/disk/part.c
> @@ -47,23 +47,7 @@ static struct part_driver *part_driver_get_type(int part_type)
>         return NULL;
>  }
>
> -/**
> - * part_driver_lookup_type() - Look up the partition driver for a blk device
> - *
> - * If @desc->part_type is PART_TYPE_UNKNOWN, this checks each parition driver
> - * against the blk device to see if there is a valid partition table acceptable
> - * to that driver.
> - *
> - * If @desc->part_type is already set, it just returns the driver for that
> - * type, without testing if the driver can find a valid partition on the
> - * descriptor.
> - *
> - * On success it updates @desc->part_type if set to PART_TYPE_UNKNOWN on entry
> - *
> - * @dev_desc: Device descriptor
> - * Return: Driver found, or NULL if none
> - */
> -static struct part_driver *part_driver_lookup_type(struct blk_desc *desc)
> +struct part_driver *part_driver_lookup_type(struct blk_desc *desc)
>  {
>         struct part_driver *drv =
>                 ll_entry_start(struct part_driver, part_driver);
> diff --git a/include/part.h b/include/part.h
> index b772fb34c8a..6caaa6526aa 100644
> --- a/include/part.h
> +++ b/include/part.h
> @@ -727,6 +727,24 @@ int part_get_type_by_name(const char *name);
>   */
>  int part_get_bootable(struct blk_desc *desc);
>
> +/**
> + * part_driver_lookup_type() - Look up the partition driver for a blk device
> + *
> + * If @desc->part_type is PART_TYPE_UNKNOWN, this checks each partition driver
> + * against the blk device to see if there is a valid partition table acceptable
> + * to that driver.
> + *
> + * If @desc->part_type is already set, it just returns the driver for that
> + * type, without testing if the driver can find a valid partition on the
> + * descriptor.
> + *
> + * On success it updates @desc->part_type if set to PART_TYPE_UNKNOWN on entry
> + *
> + * @desc: Device descriptor
> + * Return: Driver found, or NULL if none
> + */
> +struct part_driver *part_driver_lookup_type(struct blk_desc *desc);
> +
>  #else
>  static inline int part_driver_get_count(void)
>  { return 0; }
> @@ -737,6 +755,9 @@ static inline struct part_driver *part_driver_get_first(void)
>  static inline bool part_get_bootable(struct blk_desc *desc)
>  { return false; }
>
> +static inline struct part_driver *part_driver_lookup_type(struct blk_desc *desc)
> +{ return NULL; }
> +
>  #endif /* CONFIG_PARTITIONS */
>
>  #endif /* _PART_H */
>
> --
> 2.51.0
>
    
    
More information about the U-Boot
mailing list