)]}'
{
  "log": [
    {
      "commit": "73d6c59af8d1bcedf5de4aa1f5d5b7f765f545f5",
      "tree": "e653f78ea29b736bc08d7e6ead6c8471107b1d05",
      "parents": [
        "6c595aea070de5652afc6fe37ab4976806a522a2"
      ],
      "author": {
        "name": "Michael Heimpold",
        "email": "michael.heimpold@i2se.com",
        "time": "Tue Dec 18 15:09:42 2018 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Fri Oct 04 20:47:33 2019 -0400"
      },
      "message": "Add eMMC vendor Micron to table\n\nSigned-off-by: Michael Heimpold \u003cmichael.heimpold@i2se.com\u003e\nCc: Michael Heimpold \u003cmhei@heimpold.de\u003e\nReviewed-by: Avri Altman \u003cavri.altman@wdc.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "6c595aea070de5652afc6fe37ab4976806a522a2",
      "tree": "0b9d2e30b2510ed9c3305b5236da965eeeda3780",
      "parents": [
        "c19c7694d21c2d5b2878954eac8bc55a9bd639e7"
      ],
      "author": {
        "name": "Michael Heimpold",
        "email": "michael.heimpold@i2se.com",
        "time": "Tue Dec 18 15:02:25 2018 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Fri Oct 04 20:47:30 2019 -0400"
      },
      "message": "Optimize to_binstr() function\n\nAppending multiple times to same string is slow since strcat() needs\nto determine the end during each run. So manually maintain a pointer\nto the end to speed-up things.\n\nSigned-off-by: Michael Heimpold \u003cmichael.heimpold@i2se.com\u003e\nCc: Michael Heimpold \u003cmhei@heimpold.de\u003e\nReviewed-by: Avri Altman \u003cavri.altman@wdc.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "c19c7694d21c2d5b2878954eac8bc55a9bd639e7",
      "tree": "87dfeaaf47009ec8a59a8192558ae039740492b8",
      "parents": [
        "de27fd97529437331451070c81b226a43507c0a1"
      ],
      "author": {
        "name": "Michael Heimpold",
        "email": "michael.heimpold@i2se.com",
        "time": "Tue Dec 18 14:52:12 2018 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Fri Oct 04 20:47:27 2019 -0400"
      },
      "message": "Fix parsing of character in to_binstr()\n\nWhen a hex-digit \u003e \u0027a\u0027 or \u0027A\u0027 is read, we have to add an offset of 10\nto access the valid symbol in our mapping table.\n\nSigned-off-by: Michael Heimpold \u003cmichael.heimpold@i2se.com\u003e\nCc: Michael Heimpold \u003cmhei@heimpold.de\u003e\nReviewed-by: Avri Altman \u003cavri.altman@wdc.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "de27fd97529437331451070c81b226a43507c0a1",
      "tree": "c1e9ebfcc03f41bb6c12f5d2543c19835aaad45b",
      "parents": [
        "de0715d5b06560904b45633cc6e01fe89d9f508b"
      ],
      "author": {
        "name": "Michael Heimpold",
        "email": "michael.heimpold@i2se.com",
        "time": "Tue Dec 18 14:49:37 2018 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Fri Oct 04 20:47:24 2019 -0400"
      },
      "message": "Cleanup memory in error case\n\nIn case that we leave due to malformed string,\nfree the allocated memory before returning.\n\nSigned-off-by: Michael Heimpold \u003cmichael.heimpold@i2se.com\u003e\nCc: Michael Heimpold \u003cmhei@heimpold.de\u003e\nReviewed-by: Avri Altman \u003cavri.altman@wdc.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "de0715d5b06560904b45633cc6e01fe89d9f508b",
      "tree": "17e4fbac885394029e4a3a314d3456d4b6d8dbbc",
      "parents": [
        "d40ec535b9d4e4c974e8c2fbfb422cd0348cc5e8"
      ],
      "author": {
        "name": "Michael Heimpold",
        "email": "michael.heimpold@i2se.com",
        "time": "Tue Dec 18 14:47:16 2018 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Fri Oct 04 20:47:11 2019 -0400"
      },
      "message": "Check calloc\u0027s return value before using the pointer\n\nIf calloc fails, bail out immediately instead of trying to\nuse the NULL pointer.\n\nSigned-off-by: Michael Heimpold \u003cmichael.heimpold@i2se.com\u003e\nCc: Michael Heimpold \u003cmhei@heimpold.de\u003e\nReviewed-by: Avri Altman \u003cavri.altman@wdc.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "d40ec535b9d4e4c974e8c2fbfb422cd0348cc5e8",
      "tree": "bc348b2a8f264f1800ec1fa01d8f53a05ead0d87",
      "parents": [
        "aef913e31b659462fe6b9320d241676cba97f67b"
      ],
      "author": {
        "name": "Jungseung Lee",
        "email": "js07.lee@samsung.com",
        "time": "Thu Aug 08 18:42:30 2019 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Thu Aug 08 18:42:38 2019 -0400"
      },
      "message": "mmc-utils: feature spec 5.0+, add secure removal type fields to Extended CSD\n\nDisplay secure removal type when printing Extended CSD\nExample:\n\t# mmc extcsd read /dev/mmcblk0\n\t...\n        Secure Removal Type [SECURE_REMOVAL_TYPE]: 0x39\n         information is configured to be removed using a vendor defined\n         Supported Secure Removal Type:\n          information removed by an erase of the physical memory\n          information removed using a vendor defined\n\nSigned-off-by: Jungseung Lee \u003cjs07.lee@samsung.com\u003e\nReviewed-by: Avri Altman \u003cAvri.Altman@wdc.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "aef913e31b659462fe6b9320d241676cba97f67b",
      "tree": "f51951226e1f2d7cb1c1917226ada73d67b8cb84",
      "parents": [
        "485b05ec40031a06077db9c84ae75a36ebd3db25"
      ],
      "author": {
        "name": "Nikita Maslov",
        "email": "wkernelteam@gmail.com",
        "time": "Wed Oct 24 12:58:59 2018 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Fri Dec 14 20:11:14 2018 -0500"
      },
      "message": "mmc-utils: use MMC_IOC_MULTI_CMD for RPMB access\n\nOn some systems which use MMC as a main storage device\nit is possible that RPMB commands are mixed with\ngeneric MMC access commands which invalidates RPMB.\n\nThis patch uses MMC_IOC_MULTI_CMD.\n\nSigned-off-by: Clément Péron \u003cperon.clem@gmail.com\u003e\nReviewed-by: Avri Altman \u003cavri.altman@wdc.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "485b05ec40031a06077db9c84ae75a36ebd3db25",
      "tree": "bcd0afb95e24ef3b9495e8f296cda6e3fe9de43b",
      "parents": [
        "bd23a79e34ec7f058426027fbcc1b493f960da90"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "wsa+renesas@sang-engineering.com",
        "time": "Sat Dec 08 00:51:03 2018 -0500"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Sat Dec 08 00:51:37 2018 -0500"
      },
      "message": "use proper type for RPMB blocks_cnt\n\nThe JEDEC standard is confusing. The number of max blocks for reading\nRPMB is determined by CMD23 which can hold an unsigned int and not only\nu16. It is true that the current maximum is 64K of blocks, yet this may\nbe extended in the future. Let\u0027s not apply a limit here which should be\nchecked by the card.\n\nSigned-off-by: Wolfram Sang \u003cwsa+renesas@sang-engineering.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "bd23a79e34ec7f058426027fbcc1b493f960da90",
      "tree": "74b815a56eca61d37a089570c987eb86b1a66fb8",
      "parents": [
        "b4fe0c8c0e57a74c01755fa9362703b60d7ee49d"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "wsa+renesas@sang-engineering.com",
        "time": "Mon Dec 03 14:19:23 2018 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Sat Dec 08 00:03:54 2018 -0500"
      },
      "message": "fix GCC7 build by refactoring trimming routines\n\nI got a compile error with GCC7. When trimming white spaces from strings\nlsmmc uses strncpy with overlapping memory areas. This is not allowed.\nIn addition, the implementation was not efficient with calling strlen\nand strncpy once per iteration. Refactor the code to be valid and more\neffective.\n\nSigned-off-by: Wolfram Sang \u003cwsa+renesas@sang-engineering.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "b4fe0c8c0e57a74c01755fa9362703b60d7ee49d",
      "tree": "997c7a65be6b129f6f915dbe97e849506ff79ffb",
      "parents": [
        "7bcad171173fd9a9401e7ce81906605bd6f4eddc"
      ],
      "author": {
        "name": "jason.zeng",
        "email": "jasonzvz@gmail.com",
        "time": "Tue Mar 27 02:17:10 2018 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Tue Mar 27 02:17:10 2018 -0400"
      },
      "message": "fix ENH_START_ADDR overflow\n\nFix enh_start_addr overflow when converting emmc enh_area which will\ncause do_enh_area_set failure.\n\nSigned-off-by: jason.zeng \u003cjasonzvz@gmail.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "7bcad171173fd9a9401e7ce81906605bd6f4eddc",
      "tree": "44e6a8959e9df7ca24f1d5a5c8da0d2e83e74a43",
      "parents": [
        "247191a0f7d2143212240bf89d8ef0f1be0f635f"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Mon Jan 22 09:29:24 2018 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Fri Feb 16 20:19:47 2018 -0500"
      },
      "message": "mmc-utils: manpage: fix arguments for TH macro\n\nAccording to man-pages(7) the TH macro takes the following parameters:\n\n\t.TH title section date source manual\n\nwith some recommendations for the individual parameters. Adapt the usage\nof TH accordingly. The motivating change is to drop \"man\" in the title\nin favor of \"MMC\".\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "247191a0f7d2143212240bf89d8ef0f1be0f635f",
      "tree": "ddbf8ec04d8f9eef9fc232297c4addc367dc0ff8",
      "parents": [
        "a1a6120c34133d87bedfb04ab06ce43097c5e0d2"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Thu Dec 21 13:57:13 2017 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Fri Feb 16 20:19:43 2018 -0500"
      },
      "message": "mmc-utils: remove unused #includes\n\nI didn\u0027t find any functions used for which the documentation specifies to\nuse (at least) one of the dropped headers.\n\nThe only Linux specific header \u003clinux/fs.h\u003e is needed for BLKGETSIZE,\ndocument that.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "a1a6120c34133d87bedfb04ab06ce43097c5e0d2",
      "tree": "5e0880ef9eb20382e636cfd4dfcace871e4c1481",
      "parents": [
        "cf7b3fe48917a8b5d2005404142a3ba0cf0fa7ad"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Thu Dec 21 11:35:08 2017 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Fri Feb 16 20:19:40 2018 -0500"
      },
      "message": "mmc-utils: move offsetof from mmc.h to only user\n\noffsetof isn\u0027t mmc specific, so remove it from mmc.h. As there is only a\nsingle user define it there.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "cf7b3fe48917a8b5d2005404142a3ba0cf0fa7ad",
      "tree": "d667220ccd025bd342da9c6b7e2d2a7780a30f53",
      "parents": [
        "a04361659d1b394f1a8dde9c44de5a0846e5c771"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Thu Dec 21 11:28:00 2017 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Fri Feb 16 20:19:35 2018 -0500"
      },
      "message": "mmc-utils: expand .gitignore\n\nInstead of adding .o and .o.d files for the files that are not\nexplicitly mentioned, add a pattern matching also all future files of\nthese types. This makes git status stop to mention\n\n\t3rdparty/hmac_sha/.hmac_sha2.o.d\n\t3rdparty/hmac_sha/.sha2.o.d\n\t3rdparty/hmac_sha/hmac_sha2.o\n\t3rdparty/hmac_sha/sha2.o\n\t.lsmmc.o.d\n\tlsmmc.o\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "a04361659d1b394f1a8dde9c44de5a0846e5c771",
      "tree": "cf11c861a5608d75ab450179cf86eb7a345f6f07",
      "parents": [
        "d8cf8d34c0e45899f108ce966826acb0553b4b85"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Thu Dec 21 11:22:04 2017 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Fri Feb 16 20:19:31 2018 -0500"
      },
      "message": "mmc-utils: make use of dependency information generated by gcc\n\nWhile these dependency information was generated from the start of mmc-utils\nit was never used.\n\nUsing these informations results in mmc being rebuild when e.g. mmc.h\nwas touched.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "d8cf8d34c0e45899f108ce966826acb0553b4b85",
      "tree": "918f0a4783f97ecf7078a465108c2ac12b76da47",
      "parents": [
        "fcef164b23ebc1f6123ff2881746925020123297"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Thu Dec 21 11:07:51 2017 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Fri Feb 16 20:19:13 2018 -0500"
      },
      "message": "mmc-utils: drop unused header\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "fcef164b23ebc1f6123ff2881746925020123297",
      "tree": "1bb71e9549b4978708339fa5dd535225d2a0e022",
      "parents": [
        "37c86e60c0442fef570b75cd81aeb1db4d0cbafd"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Thu Dec 21 11:00:11 2017 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Fri Feb 16 20:17:09 2018 -0500"
      },
      "message": "mmc-utils: drop macro CHECK\n\nThis macro saves a few lines of code but is harder to read than the\nequivalent code spelled out. IMHO the latter is more important, so\nexpand the macro everywhere and drop it.\n\nWhile touching this also unbreak the strings used there for better\ngrepability.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "37c86e60c0442fef570b75cd81aeb1db4d0cbafd",
      "tree": "6b1a6fa3b33f122064fc8f0600af45fb4b8b8645",
      "parents": [
        "c22a92f948983d414806e0005cf6e24cda2fffbf"
      ],
      "author": {
        "name": "Alexander Stein",
        "email": "alexander.stein@systec-electronic.com",
        "time": "Mon Mar 20 14:43:01 2017 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Mon Mar 20 09:58:49 2017 -0400"
      },
      "message": "mmc-utils: Check for ext_csd_rev only once\n\nSigned-off-by: Alexander Stein \u003calexander.stein@systec-electronic.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "c22a92f948983d414806e0005cf6e24cda2fffbf",
      "tree": "2516fbed475b3a5ba0e0aa7037de86dcba0248f2",
      "parents": [
        "34a954b87c5a90774aa969590be79f7fb913db6c"
      ],
      "author": {
        "name": "Alexander Stein",
        "email": "alexander.stein@systec-electronic.com",
        "time": "Mon Mar 20 14:43:00 2017 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Mon Mar 20 09:58:40 2017 -0400"
      },
      "message": "mmc-utils: feature spec 5.0+, Pre EOL information\n\nSigned-off-by: Alexander Stein \u003calexander.stein@systec-electronic.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "34a954b87c5a90774aa969590be79f7fb913db6c",
      "tree": "e85539114f345feb2331fe43e30fafad3b23ba62",
      "parents": [
        "2cb6695e8dec00d887bdd5309d1b57d836fcd214"
      ],
      "author": {
        "name": "Boris Schmidt",
        "email": "boris.schmidt@siemens.com",
        "time": "Tue Mar 14 14:03:22 2017 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Thu Mar 16 12:10:37 2017 -0400"
      },
      "message": "mmc-utils: feature spec 5.0+, device life time estimation for MLC and pSLC mode\n\nSigned-off-by: Boris Schmidt \u003cboris.schmidt@siemens.com\u003e\n"
    },
    {
      "commit": "2cb6695e8dec00d887bdd5309d1b57d836fcd214",
      "tree": "a0022f7274b03a452e9a8b558337f57024a721d3",
      "parents": [
        "e094e28d56ac5cb0b70a14e61c2a936837729eb8"
      ],
      "author": {
        "name": "Tomas Melin",
        "email": "tomas.melin@vaisala.com",
        "time": "Thu Sep 01 11:49:01 2016 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Thu Sep 01 11:49:01 2016 -0400"
      },
      "message": "Add missing -c for write_reliability\n\nFixes upstream-merge in 752072dafe9cb8957efb5b0ca707043e19f7ce13\nWrite_reliability -c addition from patch was missing.\n\nSigned-off-by: Tomas Melin \u003ctomas.melin@vaisala.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "e094e28d56ac5cb0b70a14e61c2a936837729eb8",
      "tree": "98c9bb7d648c661ab10f8f1792892441bde684e0",
      "parents": [
        "f90eac4ecc5c91969cef2fe123eadef7b3196026"
      ],
      "author": {
        "name": "Tomas Melin",
        "email": "tomas.melin@vaisala.com",
        "time": "Mon Aug 29 12:02:28 2016 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Mon Aug 29 12:03:17 2016 -0400"
      },
      "message": "Fix return value check from set_partitioning_setting_completed()\n\nTest was wrong way around. Function returns non-zero value on fail.\n\nSigned-off-by: Tomas Melin \u003ctomas.melin@vaisala.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "f90eac4ecc5c91969cef2fe123eadef7b3196026",
      "tree": "cc7d8660278188dd0537828fd52d1534ae4ba317",
      "parents": [
        "752072dafe9cb8957efb5b0ca707043e19f7ce13"
      ],
      "author": {
        "name": "Tomas Melin",
        "email": "tomas.melin@vaisala.com",
        "time": "Mon Aug 29 11:59:42 2016 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Mon Aug 29 12:03:16 2016 -0400"
      },
      "message": "Add help texts for -c option\n\n-c option added to gp create, enh_area set and write_reliability set\ncommands.\n\nSigned-off by: Tomas Melin \u003ctomas.melin@vaisala.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "752072dafe9cb8957efb5b0ca707043e19f7ce13",
      "tree": "9b0bc82812227608de1af0588e5787be069bd239",
      "parents": [
        "55380d9748c8baae4dda1326e1460aa3f6359d2f"
      ],
      "author": {
        "name": "Tomas Melin",
        "email": "tomas.melin@vaisala.com",
        "time": "Mon Aug 29 11:55:08 2016 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Mon Aug 29 12:03:14 2016 -0400"
      },
      "message": "Add -c option for partitioning commands\n\nAdding \u0027continue\u0027 option to:\ngp create\nenh_area set\nwrite_reliability set\n\nPartitioning commands are connected, register PARTITION_SETTING_COMPLETED\nshould not be written until all settings have been done.\nThe continue option enables writing more than one partitioning setting before\nsealing settings.\n\nSigned-off-by: Tomas Melin \u003ctomas.melin@vaisala.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "55380d9748c8baae4dda1326e1460aa3f6359d2f",
      "tree": "6be03f3b2e4a572b194c9de7d8b02fde992389f0",
      "parents": [
        "3c02759595f4c210655769cc76022ebfee4d13f9"
      ],
      "author": {
        "name": "Tomas Melin",
        "email": "tomas.melin@vaisala.com",
        "time": "Mon Aug 29 11:45:44 2016 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Mon Aug 29 12:03:06 2016 -0400"
      },
      "message": "Register being set is other than mentioned in printed message.\n\nSigned-off-by: Tomas Melin \u003ctomas.melin@vaisala.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "3c02759595f4c210655769cc76022ebfee4d13f9",
      "tree": "a81eca902beada14cc5b6c99e79d4837408be909",
      "parents": [
        "a3d3331e6854a4607133bed152988d51250107ca"
      ],
      "author": {
        "name": "Tomas Melin",
        "email": "tomas.melin@vaisala.com",
        "time": "Mon Aug 29 11:41:10 2016 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Mon Aug 29 12:02:59 2016 -0400"
      },
      "message": "Fix reported offset for enhanced user area start address\n\nBlock-addressed devices should have address multiplied with sector size.\n\nClarify with comment how is_blockaddressed() is calculated.\n\nSigned-off-by: Tomas Melin \u003ctomas.melin@vaisala.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "a3d3331e6854a4607133bed152988d51250107ca",
      "tree": "c38fa494b12241983287d8c4fed1257bdd8957ca",
      "parents": [
        "0ca049f25191c32323ba25a3cfd542b9fdefb473"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@intel.com",
        "time": "Fri Jun 10 11:28:59 2016 +0300"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Thu Jun 23 16:28:08 2016 -0400"
      },
      "message": "mmc-utils: Add Command Queue fields to Extended CSD\n\nDisplay Command Queue information when printing Extended CSD\nExample:\n\n\t# mmc extcsd read /dev/mmcblk0 | grep CMDQ\n\tCommand Queue Support [CMDQ_SUPPORT]: 0x01\n\tCommand Queue Depth [CMDQ_DEPTH]: 16\n\tCommand Enabled [CMDQ_MODE_EN]: 0x01\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nReviewed-by: Ulf Hansson \u003culf.hansson@linaro.org\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "0ca049f25191c32323ba25a3cfd542b9fdefb473",
      "tree": "977099407a4aaa5090cd12ec9d9139b6288cee15",
      "parents": [
        "bb779acfc385d135b32a6998c1d1fceef0491400"
      ],
      "author": {
        "name": "Al Cooper",
        "email": "alcooperx@gmail.com",
        "time": "Tue Jun 07 16:35:46 2016 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Tue Jun 07 16:55:09 2016 -0400"
      },
      "message": "mmc-utils: Add ability to configure write protect on an eMMC device\n\nAdd commands to get and set write protect modes for the specified\nareas of the user partition. The ability to set permanent write\nprotect is #ifdef\u0027d with \"DANGEROUS_COMMANDS_ENABLED\" because\nit has the ability to make the eMMC device and possibly the system\npermanently unusable.\n\nSigned-off-by: Al Cooper \u003calcooperx@gmail.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "bb779acfc385d135b32a6998c1d1fceef0491400",
      "tree": "aeb3379a27e796b5b557062b101ffd899b588336",
      "parents": [
        "89cd01ed865ac5a2ef3ee86070257d6722900a49"
      ],
      "author": {
        "name": "Markus Schuetterle",
        "email": "markus.schuetterle@intel.com",
        "time": "Sat Mar 19 08:42:41 2016 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Wed May 11 09:33:01 2016 -0400"
      },
      "message": "mmc-utils: Add disable partition boot to \u0027mmc bootpart enable\u0027\n\nModified \u0027bootpart enable\u0027 function to disable partition boot\nby setting the \u003cpartition\u003e parameter to 0.\n\nSigned-off-by: Markus Schuetterle \u003cmarkus.schuetterle@intel.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "89cd01ed865ac5a2ef3ee86070257d6722900a49",
      "tree": "85a70c26cbc7b366037c85796968806f25e930b9",
      "parents": [
        "4af1749d23503c25f692a60f23d295d16ddcfb61"
      ],
      "author": {
        "name": "Avi Shchislowski",
        "email": "Avi.Shchislowski@sandisk.com",
        "time": "Tue Mar 08 14:22:41 2016 -0500"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Tue Mar 08 14:22:41 2016 -0500"
      },
      "message": "mmc_utils: add ffu support\n\nAdding support for field firmware update over multiple command ioctl.\nAs multiple command ioctl is supported only from kernel 4.4, this patch\nshould be used against kernel 4.4 and above.\n\nKnown issues:\n- There is no support for Multiple Block write commands (CMD25) in existing\n  IOCTL implementation\n- In case MODE_OPERATION_CODES field is not supported by the device\n  manual reset of the device/platform is required.\n  The reset issue discussed in another email thread - \" [RFC 0/6] mmc:\n  Field Firmware Update\"\n\nSigned-off-by: Yaniv Agman \u003cyaniv.agman@sandisk.com\u003e\nSigned-off-by: Avi Shchislowski \u003cavi.shchislowski@sandisk.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "4af1749d23503c25f692a60f23d295d16ddcfb61",
      "tree": "13fd15e21d1807e7b31cef97c64301e871d8641b",
      "parents": [
        "44f94b925894577f9ffcf2c418dd013a5e582648"
      ],
      "author": {
        "name": "Sebastian Rasmussen",
        "email": "sebras@gmail.com",
        "time": "Tue Feb 23 13:37:28 2016 +0800"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Fri Feb 26 09:42:38 2016 -0500"
      },
      "message": "mmc-utils: Merge the lsmmc tool into mmc-utils\n\nThe lsmmc tools contains an extensive parser of the CID, CSD, SCR\nregisters from userspace. The utility works as-is and uses sysfs\nto read the register values.\n\nThe original code is created by Sebastian Rasmussen and still lives\nin an attachment in the mail archive of linux-mmc. It need to be merged\ninto mmc-utils repository, which is convenient for testing MMC device\nfrom userspace.\n\nChange since v3:\n - Remove the unused EXT_CSD parser in lsmmc.c file.\n\nSigned-off-by: Sebastian Rasmussen \u003csebras@gmail.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\nSigned-off-by: Baolin Wang \u003cbaolin.wang@linaro.org\u003e\n"
    },
    {
      "commit": "44f94b925894577f9ffcf2c418dd013a5e582648",
      "tree": "f194a2596c7e1110f1f83f4b0570d9c91ab6a8b6",
      "parents": [
        "928ff072be16eb47c89524bfaec795dfccf8c0dc"
      ],
      "author": {
        "name": "Marcus Folkesson",
        "email": "marcus.folkesson@gmail.com",
        "time": "Wed Nov 18 11:39:49 2015 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Wed Nov 18 15:11:14 2015 -0500"
      },
      "message": "mmc_utils: doc: add man-page\n\nSigned-off-by: Marcus Folkesson \u003cmarcus.folkesson@gmail.com\u003e\n"
    },
    {
      "commit": "928ff072be16eb47c89524bfaec795dfccf8c0dc",
      "tree": "c47ba0b9c84ea2c5273562b98b7c3f07d6042d1e",
      "parents": [
        "d0b46442b50794217e53b2455c1344c548d9d088"
      ],
      "author": {
        "name": "Marcus Folkesson",
        "email": "marcus.folkesson@gmail.com",
        "time": "Wed Nov 18 15:06:16 2015 -0500"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Wed Nov 18 15:06:16 2015 -0500"
      },
      "message": "mmc_utils: gp create: only allow partition [1-4] to be selected\n\nSigned-off-by: Marcus Folkesson \u003cmarcus.folkesson@gmail.com\u003e\n"
    },
    {
      "commit": "d0b46442b50794217e53b2455c1344c548d9d088",
      "tree": "8db4e5d2acf6d6c1708fd969777fefda92526b42",
      "parents": [
        "64c2de8b1476c42ef9e9729b7ca0e436b5d90170"
      ],
      "author": {
        "name": "Al Cooper",
        "email": "acooperx@gmail.com",
        "time": "Wed Apr 29 18:12:35 2015 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Fri May 01 08:38:26 2015 -0400"
      },
      "message": "mmc-utils: add ability to enable/disable optional eMMC cache\n\nThe MMC4.5 specification added an optional cache for eMMC devices.\nThis change will add the ability to enable/disable the cache.\n\nSigned-off-by: Al Cooper \u003cacooperx@gmail.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "64c2de8b1476c42ef9e9729b7ca0e436b5d90170",
      "tree": "0f9fa7b7c07d71a2fc5a2368497b3473b3049f9a",
      "parents": [
        "7891236d62ccd201054324b5298dd9529c6a764f"
      ],
      "author": {
        "name": "Al Cooper",
        "email": "acooperx@gmail.com",
        "time": "Fri May 01 08:24:37 2015 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Fri May 01 08:38:17 2015 -0400"
      },
      "message": "mmc-utils: Add command to set the boot bus conditions\n\nThis was added because some eMMC devices had the boot bus conditions\nset incorrectly causing them to hang on boot.\n\nSigned-off-by: Al Cooper \u003cacooperx@gmail.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "7891236d62ccd201054324b5298dd9529c6a764f",
      "tree": "0de477a014dd569045a4e618856661ccb19da0b3",
      "parents": [
        "4afc8c81685825461677311e79059cda15fba9d8"
      ],
      "author": {
        "name": "Balaji T K",
        "email": "balajitk@ti.com",
        "time": "Wed Apr 29 18:12:33 2015 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Fri May 01 08:38:06 2015 -0400"
      },
      "message": "mmc-utils: add support to create gp partition\n\ncreate gp partition if needed with enhanced / extended attribute.\n\nSigned-off-by: Balaji T K \u003cbalajitk@ti.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "4afc8c81685825461677311e79059cda15fba9d8",
      "tree": "5c47e87b06df3b92a3d1825522a0cf4272674259",
      "parents": [
        "50b68547ad895803128519af71c31b9f14bfc791"
      ],
      "author": {
        "name": "Balaji T K",
        "email": "balajitk@ti.com",
        "time": "Wed Apr 29 18:12:32 2015 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Fri May 01 08:38:00 2015 -0400"
      },
      "message": "mmc-utils: add check for max enhanced user area\n\nIn addition to user area, General purpose partition can be\nbe marked with enhanced attribute, retain enhanced attributes of\ngp partition while creating enhanced user area and add\ncheck for max enhanced area of the device.\n\nSigned-off-by: Balaji T K \u003cbalajitk@ti.com\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "50b68547ad895803128519af71c31b9f14bfc791",
      "tree": "3953733df192c5b2d43cdbcaf32a4a6863488ea4",
      "parents": [
        "f4eb241519f8d500ce6068a70d2389be39ac5189"
      ],
      "author": {
        "name": "Yaniv Gardi",
        "email": "ygardi@codeaurora.org",
        "time": "Wed Mar 18 11:35:51 2015 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Tue Mar 24 22:09:55 2015 -0400"
      },
      "message": "fix building errors on Android\n\n3rd party HMAC SHA256 implementation has been added to the driver,\nand since driver common code (mmc_cmds.c) includes calling to\nroutines and data structures that reside in these 3rd party files\n(under 3rdparty\\hmac_sha) these files should be compiled as well\nin Android.mk makefile.\n\nSigned-off-by: Yaniv Gardi \u003cygardi@codeaurora.org\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "f4eb241519f8d500ce6068a70d2389be39ac5189",
      "tree": "68fccbdf4bc942ea50c5769f8f4ec03fe439a7e3",
      "parents": [
        "c6cb053ec59e7667e2140c320e2b7d5a90592a20"
      ],
      "author": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Tue Aug 12 10:44:52 2014 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Tue Aug 12 10:44:52 2014 -0400"
      },
      "message": "Fit usage to 80 cols\n\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "c6cb053ec59e7667e2140c320e2b7d5a90592a20",
      "tree": "4b4e219e6be1ea0364d78480185f5289efbf038c",
      "parents": [
        "35c31feacf9be6a76732910f564cedbd872512f8"
      ],
      "author": {
        "name": "Roman Peniaev",
        "email": "r.peniaev@gmail.com",
        "time": "Tue Aug 12 23:25:45 2014 +0900"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Tue Aug 12 10:30:02 2014 -0400"
      },
      "message": "mmc-utils: RPMB: add support for 4 rpmb operations\n\nmmc rpmb write-key \u003crpmb device\u003e \u003ckey file\u003e\n  Program authentication key which is 32 bytes length and stored in the specified file.\n  Also you can specify \u0027-\u0027 instead of key file path and utility will read the key from stdin.\n  BEWARE: key can be programmed only once!\n  Example:\n    $ echo -n AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH | mmc rpmb write-key /dev/mmcblk0rpmb -\n\nmmc rpmb read-counter \u003crpmb device\u003e\n  Counter value for the \u003crpmb device\u003e will be read to stdout.\n\nmmc rpmb read-block \u003crpmb device\u003e \u003caddress\u003e \u003cblocks count\u003e \u003coutput file\u003e [key file]\n  Blocks of 256 bytes will be read from \u003crpmb device\u003e to output file or stdout if \u0027-\u0027\n  is specified instead of regular path. If key is specified - read data will be verified.\n  Instead of regular path you can specify \u0027-\u0027 and key will be read from stdin.\n  Example:\n    $ echo -n AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH | \\\n        mmc rpmb read-block /dev/mmcblk0rpmb 0x02 2 /tmp/block -\n  or read the block without verification\n    $ mmc rpmb read-block /dev/mmcblk0rpmb 0x02 2 /tmp/block\n\nmmc rpmb write-block \u003crpmb device\u003e \u003caddress\u003e \u003c256 byte data file\u003e \u003ckey file\u003e\n  Block of 256 bytes will be written from data file to \u003crpmb device\u003e.\n  Also you can specify \u0027-\u0027 instead of key file path or data file and utility will read the\n  data from stdin.\n  Example:\n    $ (awk \u0027BEGIN {while (c++\u003c256) printf \"a\"}\u0027 | echo -n AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH) | \\\n      mmc rpmb write-block /dev/mmcblk0rpmb 0x02 - -\n\nSigned-off-by: Roman Pen \u003cr.peniaev@gmail.com\u003e\nCc: Ulf Hansson \u003culf.hansson@linaro.org\u003e,\nCc: Ben Gardiner \u003cbengardiner@nanometrics.ca\u003e,\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "35c31feacf9be6a76732910f564cedbd872512f8",
      "tree": "b8540fae2b0007ff69003b90a515c49b1208a66f",
      "parents": [
        "a8276f539b27bee8868ecc210b987930c31a05e0"
      ],
      "author": {
        "name": "Roman Peniaev",
        "email": "r.peniaev@gmail.com",
        "time": "Mon Jul 21 21:53:44 2014 +0900"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Tue Aug 12 10:29:37 2014 -0400"
      },
      "message": "mmc-utils: RPMB: add HMAC SHA256 support\n\nRPMB requires digital signature of the message.  Take the implementation\nof HMAC SHA256 from this place https://github.com/ogay/hmac.git\n\nActually this is BSD license, IANAL but according to my understanding\nnothing terrible will happen if we provide all the original copyrights.\n\nSigned-off-by: Roman Pen \u003cr.peniaev@gmail.com\u003e\nCc: Ben Gardiner \u003cbengardiner@nanometrics.ca\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "a8276f539b27bee8868ecc210b987930c31a05e0",
      "tree": "4d0b06e7473646ae0236c1cf978646594f6dda18",
      "parents": [
        "11f2ceabc4ad3f0dd568e0ce68166e4803e0615b"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Dec 11 14:33:28 2013 -0500"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "chris@printf.net",
        "time": "Thu Jan 23 14:24:41 2014 -0500"
      },
      "message": "fix make handling\n\nFix the recurisve make targets by using $(MAKE).  Otherwise we get lots of\nwarnings and issues with parallel builds.\n\nFix the install target -- the man subdir was missing a dummy target.\n\nAdd proper .PHONY markings.\n\nChange-Id: I640d42af0bdf96baf6ff0ca022fd3f7f444b2d05\nSigned-off-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nReviewed-on: https://chromium-review.googlesource.com/179621\nReviewed-by: Grant Grundler \u003cgrundler@chromium.org\u003e\nSigned-off-by: Chris Ball \u003cchris@printf.net\u003e\n"
    },
    {
      "commit": "11f2ceabc4ad3f0dd568e0ce68166e4803e0615b",
      "tree": "203343390c2c326acf7dce3dc1b6e3c4906c8aef",
      "parents": [
        "22f2641fe6155fe9fb8b38a8ebe2093ec3e2ec11"
      ],
      "author": {
        "name": "Oliver Metz",
        "email": "oliver@freetz.org",
        "time": "Mon Sep 23 08:40:52 2013 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Sep 25 22:28:32 2013 -0400"
      },
      "message": "Don\u0027t use u8 for fields with more than 1 byte\n\nSigned-off-by: Oliver Metz \u003coliver@freetz.org\u003e\nReviewed-by: Ben Gardiner \u003cben.l.gardiner@gmail.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "22f2641fe6155fe9fb8b38a8ebe2093ec3e2ec11",
      "tree": "c33699622c8d2b88538e97b67297f303db9173e6",
      "parents": [
        "196d0d29588867bed50cd28b8f03cbbb5e0e6608"
      ],
      "author": {
        "name": "Oliver Metz",
        "email": "oliver@freetz.org",
        "time": "Mon Sep 23 08:40:51 2013 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Sep 25 22:24:56 2013 -0400"
      },
      "message": "Add defines for ext_csd field MAX_ENH_SIZE_MULT\n\nSigned-off-by: Oliver Metz \u003coliver@freetz.org\u003e\nReviewed-by: Ben Gardiner \u003cben.l.gardiner@gmail.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "196d0d29588867bed50cd28b8f03cbbb5e0e6608",
      "tree": "8ec673333e28634909cd1744fce20a074ba3c8e9",
      "parents": [
        "4da1c0dc8bb295993d05beebc0a6132af9713322"
      ],
      "author": {
        "name": "Ben Gardiner",
        "email": "ben.l.gardiner@gmail.com",
        "time": "Thu Sep 19 11:14:29 2013 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Sep 25 22:12:00 2013 -0400"
      },
      "message": "support setting the OTP write reliability settings\n\nSigned-off-by: Ben Gardiner \u003cben.l.gardiner@gmail.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "4da1c0dc8bb295993d05beebc0a6132af9713322",
      "tree": "e157ca062508e40bf83f99ebc4e6a4e0339ec768",
      "parents": [
        "e6e84e96ac031e261bda8d441aa9c4cade144437"
      ],
      "author": {
        "name": "Ben Gardiner",
        "email": "ben.l.gardiner@gmail.com",
        "time": "Thu Sep 19 11:14:28 2013 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Sep 25 22:11:55 2013 -0400"
      },
      "message": "pretty print write reliability settings\n\nSigned-off-by: Ben Gardiner \u003cben.l.gardiner@gmail.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "e6e84e96ac031e261bda8d441aa9c4cade144437",
      "tree": "797cec6006ca0570840d5b9760b3703123b70a79",
      "parents": [
        "d91d3698c6464a83b7c301eb84da109f9f94b54c"
      ],
      "author": {
        "name": "Ben Gardiner",
        "email": "ben.l.gardiner@gmail.com",
        "time": "Thu Sep 19 11:14:27 2013 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Sep 25 22:11:46 2013 -0400"
      },
      "message": "extract PARTITION_SETTING_COMPLETE function\n\nExtract a function which sets the OTP PARTITION_SETTING_COMPLETE\nbit; once this bit is set there are many other parameters in\nEXT_CSD which can no longer be set.\n\nMultiple OTP partition settings can be achieved by calling \u0027set\u0027\ncommands with \u0027-n\u0027 on all except for the last.\n\nSigned-off-by: Ben Gardiner \u003cben.l.gardiner@gmail.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "d91d3698c6464a83b7c301eb84da109f9f94b54c",
      "tree": "2590231379ba9e68639fdd692db032c2258e91d2",
      "parents": [
        "f82e27a1b11e6fb52565b61827563316dcbb2cc4"
      ],
      "author": {
        "name": "Ben Gardiner",
        "email": "bengardiner@nanometrics.ca",
        "time": "Thu May 30 17:12:51 2013 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Thu Jun 27 11:11:05 2013 -0400"
      },
      "message": "support setting the OTP enhanced user area parameters\n\nSigned-off-by: Ben Gardiner \u003cbengardiner@nanometrics.ca\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "f82e27a1b11e6fb52565b61827563316dcbb2cc4",
      "tree": "cf300214e7e91b77770229e3c1e8dafdd4286b43",
      "parents": [
        "4e85023654b356511612547207a4cb643fb3db16"
      ],
      "author": {
        "name": "Ben Gardiner",
        "email": "bengardiner@nanometrics.ca",
        "time": "Thu May 30 17:12:50 2013 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Thu Jun 27 11:11:05 2013 -0400"
      },
      "message": "print KiB sizes for some fields\n\nSigned-off-by: Ben Gardiner \u003cbengardiner@nanometrics.ca\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "4e85023654b356511612547207a4cb643fb3db16",
      "tree": "61dade13b9888d36526ccf1aceba79e7b3415ef9",
      "parents": [
        "68f490b54b53c715db06e55f9595a672d1c0690e"
      ],
      "author": {
        "name": "Ben Gardiner",
        "email": "bengardiner@nanometrics.ca",
        "time": "Thu May 30 17:12:49 2013 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Thu Jun 27 11:11:05 2013 -0400"
      },
      "message": "report if card is block-addressed and effect on ENH_START_ADDR\n\nSigned-off-by: Ben Gardiner \u003cbengardiner@nanometrics.ca\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "68f490b54b53c715db06e55f9595a672d1c0690e",
      "tree": "6db5944d11410f153fc6094867ad3fb10f89666a",
      "parents": [
        "27c357db04350b75b0fceaae8bfb9ce99c50866b"
      ],
      "author": {
        "name": "Ben Gardiner",
        "email": "bengardiner@nanometrics.ca",
        "time": "Thu May 30 17:12:48 2013 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Thu Jun 27 11:11:05 2013 -0400"
      },
      "message": "fix printing ENH_START_ADDR\n\nThe enhanced user area start field is 4 bytes long\naccording to the eMMC 4.41 spec.\n\nSigned-off-by: Ben Gardiner \u003cbengardiner@nanometrics.ca\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "27c357db04350b75b0fceaae8bfb9ce99c50866b",
      "tree": "8f5584624417decc86f9c9ff9aaede61ea784d0b",
      "parents": [
        "a6cd98de8b158029ca6b9c1e961729dc83a7144c"
      ],
      "author": {
        "name": "Ben Gardiner",
        "email": "bengardiner@nanometrics.ca",
        "time": "Thu May 30 17:12:47 2013 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Thu Jun 27 11:11:05 2013 -0400"
      },
      "message": "Support SEND_STATUS command\n\nmmc status get \u003c/path/to/mmcblkX\u003e\n\nSigned-off-by: Ben Gardiner \u003cbengardiner@nanometrics.ca\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "a6cd98de8b158029ca6b9c1e961729dc83a7144c",
      "tree": "a6541aef88ed9c9e7ae8ab307b1d3f79a7e07a82",
      "parents": [
        "82bd9504b12160992309d6508dc5654b3db93c2b"
      ],
      "author": {
        "name": "Ben Gardiner",
        "email": "bengardiner@nanometrics.ca",
        "time": "Thu May 30 17:12:46 2013 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Thu Jun 27 11:11:05 2013 -0400"
      },
      "message": "extract definitions for PARTITION_SETTING_COMPLETED and pretty-print\n\nSigned-off-by: Ben Gardiner \u003cbengardiner@nanometrics.ca\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "82bd9504b12160992309d6508dc5654b3db93c2b",
      "tree": "d514ac6f68e8381cf6c58d9cc8cc6b77c59efd2b",
      "parents": [
        "61177553619bdec11ddac133466ab9c733f45222"
      ],
      "author": {
        "name": "Ben Gardiner",
        "email": "bengardiner@nanometrics.ca",
        "time": "Thu Jun 27 11:04:10 2013 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Thu Jun 27 11:11:05 2013 -0400"
      },
      "message": "extract definitions for EXT_CSD register EXT_CSD_PARTITIONING_SUPPORT\n\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "61177553619bdec11ddac133466ab9c733f45222",
      "tree": "a29d42020a70d4dd366a5009fca77b00910e0c2e",
      "parents": [
        "64f63a3d2693e95b45c6ba743570b3374a45043b"
      ],
      "author": {
        "name": "Ben Gardiner",
        "email": "bengardiner@nanometrics.ca",
        "time": "Thu May 30 17:12:44 2013 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Thu Jun 27 11:11:04 2013 -0400"
      },
      "message": "allow environment and command-line supplied make vars\n\nMost useful when cross-compiling.\n\nSigned-off-by: Ben Gardiner \u003cbengardiner@nanometrics.ca\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "64f63a3d2693e95b45c6ba743570b3374a45043b",
      "tree": "d26995a9e180a4d96b01ea475e8060e5aff79a4a",
      "parents": [
        "294bf86972d60fe41c288c20d32e49427e47ea40"
      ],
      "author": {
        "name": "Oleg Matcovschi",
        "email": "olegm@lab126.com",
        "time": "Thu May 23 17:11:07 2013 -0700"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Thu Jun 27 11:11:04 2013 -0400"
      },
      "message": "mmc-utils: Correctly handle CARD_TYPE.\n\nAnalysis was based on value of EXT_CSD_BOOT_INFO, not CARD_TYPE.\nCARD_TYPE should be handled using bitmask, not values.\n\nSigned-off-by: Oleg Matcovschi \u003colegm@lab126.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "294bf86972d60fe41c288c20d32e49427e47ea40",
      "tree": "17812ba1908d26f4e297a974d8a6b9ef13904bda",
      "parents": [
        "8c0c40d477db2863e2746e6a995980113f725c0d"
      ],
      "author": {
        "name": "Oleg Matcovschi",
        "email": "olegm@lab126.com",
        "time": "Thu May 23 17:11:06 2013 -0700"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Thu Jun 27 11:11:04 2013 -0400"
      },
      "message": "mmc-utils: Remove dependency on linux/major.h.\n\nWe require only MMC_BLOCK_MAJOR which is constant.\n\nSigned-off-by: Oleg Matcovschi \u003colegm@lab126.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "8c0c40d477db2863e2746e6a995980113f725c0d",
      "tree": "1aa8af99dc871be94031e7dccff1968750cf0a63",
      "parents": [
        "21bb473fc58366b872efe31e1da7831cad4b92fa"
      ],
      "author": {
        "name": "Mario Schuknecht",
        "email": "mario.schuknecht@dresearch-fe.de",
        "time": "Wed May 15 08:28:04 2013 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Thu Jun 27 10:34:27 2013 -0400"
      },
      "message": "mmc-utils: small fixes of output\n\nImprove \"extcsd read\" output of the registers.\nRight-shift by 3 of EXT_CSD_BOOT_CFG_EN bits.\nExpand the EXT_CSD_BOOT_CFG_ACC bit mask to 0x7.\nAdd case 3 RPMB partition.\n\nSigned-off-by: Mario Schuknecht \u003cmario.schuknecht@dresearch-fe.de\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "21bb473fc58366b872efe31e1da7831cad4b92fa",
      "tree": "5d575be4f30a76874c8f572d322aafff3c698646",
      "parents": [
        "1fc81f3a417c0810fe7b81e860e760452f2eb52f"
      ],
      "author": {
        "name": "Yaniv Gardi",
        "email": "ygardi@codeaurora.org",
        "time": "Sun May 26 13:25:33 2013 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sun May 26 13:27:05 2013 -0400"
      },
      "message": "Add method for triggering Sanitize command\n\nThis patch adds a method to trigger Sanitize command to MMC.\nThe Sanitize command is used for deleting the unmapped memory region\nof the MMC device.\n\nSigned-off-by: Yaniv Gardi \u003cygardi@codeaurora.org\u003e\nAcked-by: Subhash Jadavani \u003csubhashj@codeaurora.org\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "1fc81f3a417c0810fe7b81e860e760452f2eb52f",
      "tree": "189c0d587677dfd69c045dfec8267ca909dd9f1d",
      "parents": [
        "f74dfe23cd00894aa9f235374468e05acb793e17"
      ],
      "author": {
        "name": "Yaniv Gardi",
        "email": "ygardi@codeaurora.org",
        "time": "Wed Apr 24 14:51:26 2013 +0300"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sun May 26 13:22:32 2013 -0400"
      },
      "message": "mmc-utils: adding support for Android compilation\n\nSigned-off-by: Yaniv Gardi \u003cygardi@codeaurora.org\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "f74dfe23cd00894aa9f235374468e05acb793e17",
      "tree": "b949ad457fb17ee67650da0364a32a24997bb9eb",
      "parents": [
        "bf4ae7d4e936ac70eab71ee7fc85b01b4ecf8786"
      ],
      "author": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Fri Oct 19 16:49:55 2012 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Fri Oct 19 17:28:08 2012 -0400"
      },
      "message": "Support enable/disable of eMMC H/W Reset function\n\n(Note: one-time programmable fuse.)\n\n$ mmc hwreset enable /dev/mmcblk0\n$ mmc hwreset disable /dev/mmcblk0\n"
    },
    {
      "commit": "bf4ae7d4e936ac70eab71ee7fc85b01b4ecf8786",
      "tree": "cd31cdd62cb5d030f256f0f2ad6aa708f863df60",
      "parents": [
        "6599780fda6ef3caf5927deb3036f1b646605008"
      ],
      "author": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Fri Oct 19 16:13:43 2012 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Fri Oct 19 16:13:43 2012 -0400"
      },
      "message": "Add .gitignore for binaries\n"
    },
    {
      "commit": "6599780fda6ef3caf5927deb3036f1b646605008",
      "tree": "a1a03f2285108bf49637551c8f5e0c359fdf4191",
      "parents": [
        "d4faeabb78ef15f26188c8ba247398b2bac373e5"
      ],
      "author": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Fri Sep 21 18:19:25 2012 +0800"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Fri Sep 21 18:19:25 2012 +0800"
      },
      "message": "Improve/clarify usage descriptions\n"
    },
    {
      "commit": "d4faeabb78ef15f26188c8ba247398b2bac373e5",
      "tree": "a0a89018009e47fdffbb8500bf78ad25a0bc5100",
      "parents": [
        "8649651b743a5d7c290ea0f8058794f8d127736e"
      ],
      "author": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Fri Sep 21 18:16:22 2012 +0800"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Fri Sep 21 18:16:22 2012 +0800"
      },
      "message": "Turn on gcc optimization (-O2)\n\nThis is required by distros that use Fortify.\n"
    },
    {
      "commit": "8649651b743a5d7c290ea0f8058794f8d127736e",
      "tree": "d6b36ab528ad9ea151ef791733f7762004eb253b",
      "parents": [
        "b7e2599c67408c38e57e91d2426c077a4541dc8c"
      ],
      "author": {
        "name": "Jaehoon Chung",
        "email": "jh80.chung@samsung.com",
        "time": "Fri Sep 21 10:08:05 2012 +0000"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Fri Sep 21 18:15:23 2012 +0800"
      },
      "message": "Add method for enabling bkops via one-time fuse.\n\nThis patch added the method to enable the bkops.\nIn ext_csd register, BKOPS_EN bit is one-time programable.\nSo if you want to use the bkops, use the this command.\n\n$ mmc bkops enable /dev/mmcblk0\n\nSigned-off-by: Jaehoon Chung \u003cjh80.chung@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nReviewd-by: Venkatraman S \u003csvenkatr@ti.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "b7e2599c67408c38e57e91d2426c077a4541dc8c",
      "tree": "3b503b3ff1849966bbb2c4f7dd46f5591c8a1c3c",
      "parents": [
        "8ba4466a4ad458618282f8bdcc2706025856a9f2"
      ],
      "author": {
        "name": "Saugata Das",
        "email": "saugata.das@linaro.org",
        "time": "Thu May 17 09:26:34 2012 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Thu May 17 09:31:12 2012 -0400"
      },
      "message": "Add support for disabling 512B emulation\n\nIn this patch, we add a utility to disable emulation mode in eMMC-4.5.\nThis is done to increase the data sector size to 4KB.\n\nSigned-off-by: Saugata Das \u003csaugata.das@linaro.org\u003e\nReviewed-by: Subhash Jadavani \u003csubhashj@codeaurora.org\u003e\nReviewed-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nReviewed-by: Subhash Jadavani \u003csubhashj@codeaurora.org\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "8ba4466a4ad458618282f8bdcc2706025856a9f2",
      "tree": "7072143e0be516f33a7b95764050f8a2b901e572",
      "parents": [
        "7bd1320b2cb38f040ab5cf017d17e283496690bf"
      ],
      "author": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Thu Apr 19 13:22:54 2012 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Thu May 17 09:21:36 2012 -0400"
      },
      "message": "Fix usage strings after command renaming\n"
    },
    {
      "commit": "7bd1320b2cb38f040ab5cf017d17e283496690bf",
      "tree": "950ca5cfc881465e265cd7121108b49be57b4dc1",
      "parents": [
        "b9c7a17fce190f085bb4eb6e6535a22e2c69de68"
      ],
      "author": {
        "name": "Giuseppe CAVALLARO",
        "email": "peppe.cavallaro@st.com",
        "time": "Thu Apr 19 10:58:37 2012 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Thu May 17 09:21:33 2012 -0400"
      },
      "message": "Add new \"bootpart enable\" command to enable boot partitions\n\nThis adds a new option to enable the boot from eMMC\nby writing to the 179 ext_csd register.\n\nThe example below shows as to enable the mmcblk0boot0\npartition and also set/reset the ACK bit).\n\n$ ./mmc bootpart enable 1 1 /dev/mmcblk0boot0\n$ ./mmc extcsd read /dev/mmcblk0boot0 | grep PARTITION_CON\nBoot configuration bytes [PARTITION_CONFIG: 0x49]\n\nReported-by: Youssef TRIKI \u003cyoussef.triki@st.com\u003e\nSigned-off-by: Giuseppe Cavallaro \u003cpeppe.cavallaro@st.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "b9c7a17fce190f085bb4eb6e6535a22e2c69de68",
      "tree": "2f3860e87529b9e51e01caa6aeccee36996ce952",
      "parents": [
        "a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14"
      ],
      "author": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Mon Feb 20 12:34:25 2012 -0500"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Mon Feb 20 12:34:25 2012 -0500"
      },
      "message": "Rename extcsd read/write to writeprotect get/set\n\nThis leaves \"extcsd read\" pointing to Giuseppe\u0027s code.  Also, abstract\nout the writeprotect code so that there\u0027s only one shared implementation\nin print_writeprotect_status(), used by both \"extcsd read\" and\n\"writeprotect get\".\n\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14",
      "tree": "401be8506a2682393aca22d307d13df3d46ee91a",
      "parents": [
        "7a39ed3893e549503dac6e372a29102d2aaf0a50"
      ],
      "author": {
        "name": "Giuseppe CAVALLARO",
        "email": "peppe.cavallaro@st.com",
        "time": "Mon Feb 20 09:45:29 2012 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Mon Feb 20 12:14:32 2012 -0500"
      },
      "message": "improve the parsing of the EXT_CSD registers\n\nThis patch enhances the debug information reported\nfor the mmc card by parsing the extended CSD registers\nobviously according to all the current specifications.\n\nI have no HW to test eMMC 4.5 at this moment. In any case,\nthe patch supports JEDEC Standard No. 84-B45.\nNo issues on JESD84-A441 and older specs raised on my side.\n\nThis patch indeed want to start providing a full parsing\nof the all EXT_CSD registers in the following layout:\n\nName [FIELD: \u003cvalue\u003e]\n\nVoluntarily, I added the FIELD because it can actually help on\nsearching though the SPEC in case of doubts.\nIn fact, in this stage, not all the register bits are yet parsed.\nCurrently this has been done for a small subset of registers\n(e.g. 173, 160 ...) where IMO it\u0027s quite useful for an end-user\nto get some details. I do hope this will be improved in the near\nfeature (also for write operations).\n\nP.S. The original patch posted time ago for the Kernel has been\nreviewed-by Sebastian Rasmussen, acked-by: Linus Walleij and reported\nby Youssef Tiki.\n\nSigned-off-by: Giuseppe Cavallaro \u003cpeppe.cavallaro@st.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "7a39ed3893e549503dac6e372a29102d2aaf0a50",
      "tree": "0b47965a6f01ce9bc26eb30ef2961c6c4f1a32df",
      "parents": [
        "45541d55fa50e385894d22960f2526b6c7f68d52"
      ],
      "author": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Thu Feb 16 15:41:02 2012 -0500"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Thu Feb 16 15:41:02 2012 -0500"
      },
      "message": "Remove unneeded dependency on libuuid.\n\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "45541d55fa50e385894d22960f2526b6c7f68d52",
      "tree": "3920b69139ae25b43cd74ea7e86bace234c89ffc",
      "parents": [
        "a8bfde77e0e275070791138d60b75d1cc293daf0"
      ],
      "author": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sun Feb 12 11:49:53 2012 -0500"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sun Feb 12 12:03:30 2012 -0500"
      },
      "message": "Hook up \"mmc extcsd read/write\" commands.\n\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "a8bfde77e0e275070791138d60b75d1cc293daf0",
      "tree": "a54356dd7f5595b8203b8624531a71edd39690d5",
      "parents": [
        "80d2660fa95615f3bc77a9b258414f2c533175c7"
      ],
      "author": {
        "name": "Johan RUDHOLM",
        "email": "johan.rudholm@stericsson.com",
        "time": "Sun Feb 12 11:46:44 2012 -0500"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sun Feb 12 11:52:25 2012 -0500"
      },
      "message": "Add extcsd write-protect read/write code\n\nThis was posted to linux-mmc@ by Johan Rudholm.\n\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "80d2660fa95615f3bc77a9b258414f2c533175c7",
      "tree": "4a235cd59f7455b6d55eded350f4fb4707096968",
      "parents": [],
      "author": {
        "name": "Goffredo Baroncelli",
        "email": "kreijack@inwind.it",
        "time": "Sun Feb 12 11:43:14 2012 -0500"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sun Feb 12 11:43:14 2012 -0500"
      },
      "message": "Create \"mmc\" utility\n\nThis commit was made by Chris Ball, but reuses framework code from\nGoffredo\u0027s btrfs-progs/btrfs.c.\n\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    }
  ]
}
