From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chee, Tien Fong Date: Thu, 12 Jul 2018 05:30:45 +0000 Subject: [U-Boot] [PATCH v4 3/6] block: Add a function to find block device descriptor In-Reply-To: References: <1530865596-10567-1-git-send-email-tien.fong.chee@intel.com> <1531318986.9560.8.camel@intel.com> Message-ID: <1531373444.9615.0.camel@intel.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: u-boot@lists.denx.de On Wed, 2018-07-11 at 14:13 -0600, Simon Glass wrote: > Hi Tien Fong, > > On 11 July 2018 at 08:23, Chee, Tien Fong > wrote: > > > > On Wed, 2018-07-11 at 08:02 -0600, Simon Glass wrote: > > > > > > 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() ? > > 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() ? Okay. > > Regards, > Simon