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

Chee, Tien Fong tien.fong.chee at intel.com
Wed Jul 11 14:23:06 UTC 2018


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.
> 
> [..]
> 
> Regards,
> Simon


More information about the U-Boot mailing list