[U-Boot] [PATCH 01/11] DM: add block device core

Pavel Herrmann morpheus.ibis at gmail.com
Fri Sep 21 15:27:24 CEST 2012


On Friday 21 of September 2012 14:39:14 Marek Vasut wrote:
> Dear Pavel Herrmann,
> 
> > On Thursday 20 of September 2012 21:58:17 Marek Vasut wrote:
> > > Dear Pavel Herrmann,
> > > 
> > > > This core will register all block devices (disk, cards, partitons) and
> > > > provide unfied access to them, instead of current method with device +
> > > > partition offset
> > > > 
> > > > Signed-off-by: Pavel Herrmann <morpheus.ibis at gmail.com>
> > > > ---
> > > > 
> > > >  Makefile                  |   1 +
> > > >  drivers/blockdev/Makefile |  42 ++++++++++++++++
> > > >  include/dm/blockdev.h     | 121
> > > > 
> > > > ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 164
> > > > insertions(+)
> > > > 
> > > >  create mode 100644 drivers/blockdev/Makefile
> > > >  create mode 100644 include/dm/blockdev.h
> > > 
> > > Why not use drivers/block/ ?
> > 
> > Because the drivers in drivers/block have a different purpose than
> > blockdev.
> 
> Different, ok. Can you elaborate how is it different?

blockctrl is equivalent in purpose to drivers/block, just a new approach

blockctrl = AHCI, PIIX... whichever chip you have between SATA and PCI (or 
generally disk-bus and board-bus)

blockdev = disk, partition, SD card - something that does basic checks (range, 
possibility of operation) and submits operations to correct parent (blockctrl, 
MMC controller, whatnot).
Also this gets rid of all partition-related code in filesystems, because the 
access to a partition and to the whole disk is the same, no need to manually 
compute offsets every time (and you can support discontinuous partitions, if 
you chose to do so)

Pavel Herrmann



More information about the U-Boot mailing list