[U-Boot] [PATCH v2 4/5] drivers: uclass: Add dev_get_uclass_index() to get the uclass/index of a device

Michal Simek monstr at monstr.eu
Thu Jun 21 07:16:11 UTC 2018


On 18.6.2018 15:56, Jean-Jacques Hiblot wrote:
> Signed-off-by: Jean-Jacques Hiblot <jjhiblot at ti.com>
> ---
> 
> Changes in v2: New
> 
>  drivers/core/uclass.c        | 21 +++++++++++++++++++++
>  include/dm/uclass-internal.h | 11 +++++++++++
>  2 files changed, 32 insertions(+)
> 
> diff --git a/drivers/core/uclass.c b/drivers/core/uclass.c
> index 0085d3f..6efce20 100644
> --- a/drivers/core/uclass.c
> +++ b/drivers/core/uclass.c
> @@ -171,6 +171,27 @@ enum uclass_id uclass_get_by_name(const char *name)
>  	return UCLASS_INVALID;
>  }
>  
> +int dev_find_uclass_index(struct udevice *dev, struct uclass **ucp)

This function doesn't fit with description or even with declaration below.

Thanks,
Michal

> +{
> +	struct udevice *iter;
> +	struct uclass *uc = dev->uclass;
> +	int i = 0;
> +
> +	if (list_empty(&uc->dev_head))
> +		return -ENODEV;
> +
> +	list_for_each_entry(iter, &uc->dev_head, uclass_node) {
> +		if (iter == dev) {
> +			if (ucp)
> +				*ucp = uc;
> +			return i;
> +		}
> +		i++;
> +	}
> +
> +	return -ENODEV;
> +}
> +
>  int uclass_find_device(enum uclass_id id, int index, struct udevice **devp)
>  {
>  	struct uclass *uc;
> diff --git a/include/dm/uclass-internal.h b/include/dm/uclass-internal.h
> index 7ba064b..30d5a4f 100644
> --- a/include/dm/uclass-internal.h
> +++ b/include/dm/uclass-internal.h
> @@ -24,6 +24,17 @@
>  int uclass_get_device_tail(struct udevice *dev, int ret, struct udevice **devp);
>  
>  /**
> + * dev_get_uclass_index() - Get uclass and index of device
> + * @dev:	- in - Device that we want the uclass/index of
> + * @ucp:	- out - A pointer to the uclass the device belongs to
> + *
> + * The device is not prepared for use - this is an internal function.
> + *
> + * @return the index of the device in the uclass list or -ENODEV if not found.
> + */
> +int dev_get_uclass_index(struct udevice *dev, struct uclass **ucp);
> +
> +/**
>   * uclass_find_device() - Return n-th child of uclass
>   * @id:		Id number of the uclass
>   * @index:	Position of the child in uclass's list
> 


-- 
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP SoCs


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180621/f94168c8/attachment.sig>


More information about the U-Boot mailing list