Hi Tien Fong, On 11 July 2018 at 08:23, Chee, Tien Fong <tien.fong.c...@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.c...@intel.com> wrote: >> > >> > From: Tien Fong Chee <tien.fong.c...@intel.com> >> > >> > Add a function to find the block device descriptor of the parent >> > device. >> > >> > Signed-off-by: Tien Fong Chee <tien.fong.c...@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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot