Skip to content
  • Stephen Warren's avatar
    disk: default to HW partition 0 if not specified · ecdd57e2
    Stephen Warren authored
    
    
    Currently, get_device()/get_dev_hwpart() for MMC devices does not select
    an explicit HW partition unless the user explicitly requests one, i.e. by
    requesting device "mmc 0.0" rather than just "mmc 0". I think it makes
    more sense if the default is to select HW partition 0 (main data area)
    if the user didn't request a specific partition. Otherwise, the following
    happens, which feels wrong:
    
    Select HW partition 1 (boot0):
    mmc dev 0 1
    
    Attempts to access SW partition 1 on HW partition 1 (boot0), rather than
    SW partition 1 on HW partition 0 (main data area):
    ls mmc 0:1 /
    
    With this patch, the second command above re-selects the main data area.
    
    Many device types don't support HW partitions at all, so if HW partition
    0 is selected (either explicitly or as the default) and there's no
    select_hwpart function, we simply skip attempting to select a HW
    partition.
    
    Some MMC devices (i.e. SD cards) don't support HW partitions. However,
    this patch still works, since mmc_start_init() sets the current
    partition number to 0, and mmc_select_hwpart() succeeds if the requested
    partition is already selected.
    
    Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
    Acked-by: default avatarPantelis Antoniou <panto@antoniou-consulting.com>
    ecdd57e2