[U-Boot] [PATCH v4 3/6] block: Add a function to find block device descriptor

Simon Glass sjg at chromium.org
Wed Jul 11 14:02:36 UTC 2018


Hi Tien,

On 6 July 2018 at 02:26,  <tien.fong.chee at intel.com> wrote:
> From: Tien Fong Chee <tien.fong.chee at intel.com>
>
> Add a function to find the block device descriptor of the parent
> device.
>
> Signed-off-by: Tien Fong Chee <tien.fong.chee at intel.com>
> ---
>  drivers/block/blk-uclass.c | 23 +++++++++++++++++++++++
>  include/blk.h              |  9 +++++++++
>  2 files changed, 32 insertions(+)
>
> diff --git a/drivers/block/blk-uclass.c b/drivers/block/blk-uclass.c
> index 9e0c823..facf527 100644
> --- a/drivers/block/blk-uclass.c
> +++ b/drivers/block/blk-uclass.c
> @@ -132,6 +132,29 @@ struct blk_desc *blk_get_devnum_by_typename(const char *if_typename, int devnum)
>  }
>
>  /**
> + * blk_get_by_device() - Get the block device descriptor for the given device
> + * @dev:       Instance of a storage device
> + *
> + * Return: With block device descriptor on success , NULL if there is no such
> + *        block device.
> + */
> +struct blk_desc *blk_get_by_device(struct udevice *dev)
> +{
> +       struct udevice *child_dev, *next;
> +
> +       device_foreach_child_safe(child_dev, next, dev) {
> +               if (device_get_uclass_id(child_dev) != UCLASS_BLK)
> +                       continue;
> +
> +               return dev_get_uclass_platdata(child_dev);
> +       }
> +
> +       debug("%s: No block device found\n", __func__);
> +
> +       return NULL;
> +}

Is this different from blk_get_from_parent() ?

[..]

Regards,
Simon


More information about the U-Boot mailing list