From mboxrd@z Thu Jan 1 00:00:00 1970 From: Simon Glass Date: Wed, 11 Jul 2018 08:02:36 -0600 Subject: [U-Boot] [PATCH v4 3/6] block: Add a function to find block device descriptor In-Reply-To: <1530865596-10567-1-git-send-email-tien.fong.chee@intel.com> References: <1530865596-10567-1-git-send-email-tien.fong.chee@intel.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Tien, On 6 July 2018 at 02:26, wrote: > From: Tien Fong Chee > > Add a function to find the block device descriptor of the parent > device. > > Signed-off-by: Tien Fong Chee > --- > 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