1. 03 4月, 2014 5 次提交
    • P
      new commands: uuid and guid - generate random unique identifier · 89c8230d
      Przemyslaw Marczak 提交于
      Those commands basis on implementation of random UUID generator version 4
      which is described in RFC4122. The same algorithm is used for generation
      both ids but string representation is different as below.
      
      char:  0        9    14   19   24         36
             xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
      UUID:     be     be   be   be       be
      GUID:     le     le   le   be       be
      
      Commands usage:
      - uuid [<varname>]
      - guid [<varname>]
      
      The result is saved in environment as a "varname" variable if argument is given,
      if not then it is printed.
      
      New config:
      - CONFIG_CMD_UUID
      Signed-off-by: NPrzemyslaw Marczak <p.marczak@samsung.com>
      Cc: Stephen Warren <swarren@nvidia.com>
      Cc: Lukasz Majewski <l.majewski@samsung.com>
      Cc: trini@ti.com
      89c8230d
    • P
      lib: uuid: add functions to generate UUID version 4 · 4e4815fe
      Przemyslaw Marczak 提交于
      This patch adds support to generate UUID (Universally Unique Identifier)
      in version 4 based on RFC4122, which is randomly.
      
      Source: https://www.ietf.org/rfc/rfc4122.txt
      
      Changes:
      - new configs:
        - CONFIG_LIB_UUID for compile lib/uuid.c
        - CONFIG_RANDOM_UUID for functions gen_rand_uuid() and gen_rand_uuid_str()
      - add configs dependency to include/config_fallbacks.h for lib uuid.
      
      lib/uuid.c:
      - add gen_rand_uuid() - this function writes 16 bytes len binary representation
        of UUID v4 to the memory at given address.
      
      - add gen_rand_uuid_str() - this function writes 37 bytes len hexadecimal
        ASCII string representation of UUID v4 to the memory at given address.
      Signed-off-by: NPrzemyslaw Marczak <p.marczak@samsung.com>
      Cc: Stephen Warren <swarren@nvidia.com>
      Cc: Lukasz Majewski <l.majewski@samsung.com>
      [trini: Add CONFIG_EFI_PARTITION to fallbacks]
      Signed-off-by: NTom Rini <trini@ti.com>
      4e4815fe
    • P
      lib: uuid: code refactor for proper maintain between uuid bin and string · d718ded0
      Przemyslaw Marczak 提交于
      Changes in lib/uuid.c to:
      - uuid_str_to_bin()
      - uuid_bin_to_str()
      
      New parameter is added to specify input/output string format in listed functions
      This change allows easy recognize which UUID type is or should be stored in given
      string array. Binary data of UUID and GUID is always stored in big endian, only
      string representations are different as follows.
      
      String byte: 0                                  36
      String char: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
      string UUID:    be     be   be   be       be
      string GUID:    le     le   le   be       be
      
      This patch also updates functions calls and declarations in a whole code.
      Signed-off-by: NPrzemyslaw Marczak <p.marczak@samsung.com>
      Cc: Stephen Warren <swarren@nvidia.com>
      Cc: Lukasz Majewski <l.majewski@samsung.com>
      Cc: trini@ti.com
      d718ded0
    • P
      part_efi: move uuid<->string conversion functions into lib/uuid.c · a96a0e61
      Przemyslaw Marczak 提交于
      This commit introduces cleanup for uuid library.
      Changes:
      - move uuid<->string conversion functions into lib/uuid.c so they can be
        used by code outside part_efi.c.
      - rename uuid_string() to uuid_bin_to_str() for consistency with existing
        uuid_str_to_bin()
      - add an error return code to uuid_str_to_bin()
      - update existing code to the new library functions.
      Signed-off-by: NPrzemyslaw Marczak <p.marczak@samsung.com>
      Cc: Stephen Warren <swarren@nvidia.com>
      Cc: Lukasz Majewski <l.majewski@samsung.com>
      Cc: trini@ti.com
      a96a0e61
    • R
      ahci: Fix data abort on multiple scsi resets. · 3f629711
      Roger Quadros 提交于
      Commit 2faf5fb8 introduced a regression that causes a data
      abort when running scsi init followed by scsi reset.
      
      There are 2 problems with the original commit
      1) ALLOC_CACHE_ALIGN_BUFFER() allocates memory on the stack but is
      assigned to ataid[port] and used by other functions.
      2) The function ata_scsiop_inquiry() tries to free memory which was
      never allocated on the heap.
      
      Fix these problems by using tmpid as a temporary cache aligned buffer.
      Allocate memory separately for ataid[port] and re-use it if required.
      
      Fixes: 2faf5fb8 (ahci: Fix cache align error messages)
      Reported-by: NEli Nidam <elini@marvell.com>
      Signed-off-by: NRoger Quadros <rogerq@ti.com>
      3f629711
  2. 02 4月, 2014 6 次提交
  3. 01 4月, 2014 1 次提交
  4. 31 3月, 2014 6 次提交
  5. 29 3月, 2014 17 次提交
  6. 28 3月, 2014 2 次提交
  7. 24 3月, 2014 3 次提交
    • Ł
      dfu: mmc: Replace calls to u-boot commands with native mmc API · eea4e6fe
      Łukasz Majewski 提交于
      For some time we have been using the run_command() with properly crafted
      string. Such approach turned to be unreliable and error prone.
      
      Switch to "native" mmc subsystem API would allow better type checking and
      shall improve speed.
      
      Also, it seems that this API is changing less often than u-boot commands.
      The approach similar to env operations on the eMMC has been reused.
      Signed-off-by: NLukasz Majewski <l.majewski@samsung.com>
      eea4e6fe
    • P
      mmc: Split mmc struct, rework mmc initialization (v2) · 93bfd616
      Pantelis Antoniou 提交于
      The way that struct mmc was implemented was a bit of a mess;
      configuration and internal state all jumbled up in a single structure.
      
      On top of that the way initialization is done with mmc_register leads
      to a lot of duplicated code in drivers.
      
      Typically the initialization got something like this in every driver.
      
      	struct mmc *mmc = malloc(sizeof(struct mmc));
      	memset(mmc, 0, sizeof(struct mmc);
      	/* fill in fields of mmc struct */
      	/* store private data pointer */
      	mmc_register(mmc);
      
      By using the new mmc_create call one just passes an mmc config struct
      and an optional private data pointer like this:
      
      	struct mmc = mmc_create(&cfg, priv);
      
      All in tree drivers have been updated to the new form, and expect
      mmc_register to go away before long.
      
      Changes since v1:
      
      * Use calloc instead of manually calling memset.
      * Mark mmc_register as deprecated.
      Signed-off-by: NPantelis Antoniou <panto@antoniou-consulting.com>
      93bfd616
    • P
      mmc: Convert mmc struct's name array to a pointer · 22cb7d33
      Pantelis Antoniou 提交于
      Using an array is pointless; even more pointless (and scary) is using
      sprintf to fill it without a format string.
      Signed-off-by: NPantelis Antoniou <panto@antoniou-consulting.com>
      22cb7d33