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

Simon Glass sjg at chromium.org
Wed Jul 11 20:13:43 UTC 2018


Hi Tien Fong,

On 11 July 2018 at 08:23, Chee, Tien Fong <tien.fong.chee at intel.com> wrote:
> On Wed, 2018-07-11 at 08:02 -0600, Simon Glass wrote:
>> 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() ?
> This new function would return block description.
> blk_get_from_parents() would return child device.

OK, but please implement your function by calling
blk_get_from_parent(). There is no need to duplicate the logic.

Also how about calling it blk_get_desc_from_parent() ?

Regards,
Simon


More information about the U-Boot mailing list