Embedded device command line partition parsing
=====================================================================

The "blkdevparts" command line option adds support for reading the
block device partition table from the kernel command line.

It is typically used for fixed block (eMMC) embedded devices.
It has no MBR, so saves storage space. Bootloader can be easily accessed
by absolute address of data on the block device.
Users can easily change the partition.

The format for the command line is just like mtdparts:

blkdevparts=<blkdev-def>[;<blkdev-def>]
  <blkdev-def> := <blkdev-id>:<partdef>[,<partdef>]
    <partdef> := <size>[@<offset>](part-name)

<blkdev-id>
    block device disk name. Embedded device uses fixed block device.
    Its disk name is also fixed, such as: mmcblk0, mmcblk1, mmcblk0boot0.

<size>
    partition size, in bytes, such as: 512, 1m, 1G.
    size may contain an optional suffix of (upper or lower case):
      K, M, G, T, P, E.
    "-" is used to denote all remaining space.

<offset>
    partition start address, in bytes.
    offset may contain an optional suffix of (upper or lower case):
      K, M, G, T, P, E.

(part-name)
    partition name. Kernel sends uevent with "PARTNAME". Application can
    create a link to block device partition with the name "PARTNAME".
    User space application can access partition by partition name.

Example:
    eMMC disk names are "mmcblk0" and "mmcblk0boot0".

  bootargs:
    'blkdevparts=mmcblk0:1G(data0),1G(data1),-;mmcblk0boot0:1m(boot),-(kernel)'

  dmesg:
    mmcblk0: p1(data0) p2(data1) p3()
    mmcblk0boot0: p1(boot) p2(kernel)
