)]}'
{
  "log": [
    {
      "commit": "8f461a730242c528ca221948edceca49266a3ffb",
      "tree": "232b1d9ac6a74df87a84c9e1e6a61415afc9f583",
      "parents": [
        "079c985e7a6f4ce60f931cebfdd5ee3c38347e31"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Jan 02 13:48:54 2012 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:24 2012 +0000"
      },
      "message": "mtd: introduce mtd_can_have_bb helper\n\nThis patch introduces new \u0027mtd_can_have_bb()\u0027 helper function which checks\nwhether the flash can have bad eraseblocks. Then it changes all the\ndirect \u0027mtd-\u003eblock_isbad\u0027 use cases with \u0027mtd_can_have_bb()\u0027.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "079c985e7a6f4ce60f931cebfdd5ee3c38347e31",
      "tree": "b4db3f6e38409eeaa8daff4c17b8f642d0939177",
      "parents": [
        "381345652fca688aeaa967c231e5075cf68d05b6"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 30 17:15:59 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:23 2012 +0000"
      },
      "message": "mtd: do not use mtd-\u003esuspend and mtd-\u003eresume directly\n\nJust call the \u0027mtd_suspend()\u0027 and \u0027mtd_resume()\u0027 - they will do nothing\nif the operation is not defined.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "381345652fca688aeaa967c231e5075cf68d05b6",
      "tree": "5f23ecdd28165d15109c6fd7ad0c4c573f094707",
      "parents": [
        "327cf2922b4edf0439b219469722d2a502e37349"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 30 17:00:35 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:22 2012 +0000"
      },
      "message": "mtd: do not use mtd-\u003elock, unlock and is_locked directly\n\nInstead, call the corresponding MTD API function which will return\n\u0027-EOPNOTSUPP\u0027 if the operation is not supported.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "327cf2922b4edf0439b219469722d2a502e37349",
      "tree": "6fe4c70d0b4693950e7e20286a3b66bab82ac821",
      "parents": [
        "1dbebd32562b3c2caeca35960e5cb00bfcc12900"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 30 16:35:35 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:21 2012 +0000"
      },
      "message": "mtd: do not use mtd-\u003esync directly\n\nThis patch teaches \u0027mtd_sync()\u0027 to do nothing when the MTD driver does\nnot have the \u0027-\u003esync()\u0027 method, which allows us to remove all direct\n\u0027mtd-\u003esync\u0027 accesses.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "1dbebd32562b3c2caeca35960e5cb00bfcc12900",
      "tree": "773776d87730828adb55f3f7fe8221eabb528d8f",
      "parents": [
        "e2936b2af5562c8c66060e2bc2ae2e209d0acd3d"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 30 16:23:41 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:19 2012 +0000"
      },
      "message": "mtd: harmonize mtd_writev usage\n\nThis patch makes the \u0027mtd_writev()\u0027 function more usable and logical. We first\nteach it to fall-back to the \u0027default_mtd_writev()\u0027 function if the MTD driver\ndoes not define its own \u0027-\u003ewritev()\u0027 method. Then we make block2mtd and JFFS2\njust \u0027mtd_writev()\u0027 instead of \u0027default_mtd_writev()\u0027 function. This means we\ncan now stop exporting \u0027default_mtd_writev()\u0027 and instead, export\n\u0027mtd_writev()\u0027. This is much cleaner and more logical, as well as allows us to\nget read of another direct \u0027mtd-\u003ewritev\u0027 access in JFFS2.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "e2936b2af5562c8c66060e2bc2ae2e209d0acd3d",
      "tree": "99af09f8049f9fd76abca6d630ff333b169ab25f",
      "parents": [
        "27c151a5e52efaa46d0938984f2ef591bdcb6d5b"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu Dec 29 10:45:04 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:18 2012 +0000"
      },
      "message": "mtd: do not use mtd-\u003elock_user_prot_reg directly\n\nInstead, check the -EOPNOTSUPP return code of \u0027mtd_lock_user_prot_reg()\u0027.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "27c151a5e52efaa46d0938984f2ef591bdcb6d5b",
      "tree": "67866c01422a4f0c99192b0bc2db8f1968cd1f5b",
      "parents": [
        "b6de3d6cb63427178c4f1df88b81d1ceee637e6f"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu Dec 29 10:39:20 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:17 2012 +0000"
      },
      "message": "mtd: mtd-\u003ewrite_user_prot_reg directly\n\nInstead, just call \u0027mtd_write_user_prot_reg()\u0027 and check the \u0027-EOPNOTSUPP\u0027 return\ncode.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "b6de3d6cb63427178c4f1df88b81d1ceee637e6f",
      "tree": "9e84f24ac14305246c6f38e885edbc9f48dfc089",
      "parents": [
        "87e858a97e8a7010aedc01db7cd31cc7c02b0b6a"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu Dec 29 10:06:32 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:16 2012 +0000"
      },
      "message": "mtd: do not use mtd-\u003eread_*_prot_reg directly\n\nInstead, call \u0027mtd_read_*_prot_info()\u0027 and check for -EOPNOTSUPP.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "87e858a97e8a7010aedc01db7cd31cc7c02b0b6a",
      "tree": "c5ff8b86ef0ae7891224e620916c58241c3e1799",
      "parents": [
        "dac2639f9833e858139d7e07f6ee45fb2191a9f2"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Dec 28 18:47:46 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:15 2012 +0000"
      },
      "message": "mtd: do not use mtd-\u003eget_*_prot_info directly\n\nInstead, call \u0027mtd_get_*_prot_info()\u0027 and check for \u0027-EOPNOTSUPP\u0027. While\non it, fix the return code from \u0027-EOPNOTSUPP\u0027 to \u0027-EINVAL\u0027 for the case\nwhen the mode parameter is invalid.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "dac2639f9833e858139d7e07f6ee45fb2191a9f2",
      "tree": "8927b0959d8415e419f321a8b43974ed8834b680",
      "parents": [
        "016c1291ce70a22f15f666441a4fd2f0b450375b"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Dec 28 17:50:34 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:14 2012 +0000"
      },
      "message": "mtd: do not use mtd-\u003eread_oob directly\n\nInstead of checking whether \u0027mtd-\u003eread_oob\u0027 is defined, just call\n\u0027mtd_read_oob()\u0027 and handle the \u0027-EOPNOTSUPP\u0027 error which will be returned\nif the function is undefined.\n\nAdditionally, make \u0027mtd_write_oob()\u0027 return \u0027-EOPNOTSUPP\u0027 if the function\nis undefined.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "016c1291ce70a22f15f666441a4fd2f0b450375b",
      "tree": "650a0d91aa87bcf6146f98eadf0341d46ce0ef0f",
      "parents": [
        "4991e7251ed951a5f33faf25912e9db416306309"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Dec 28 17:27:18 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:13 2012 +0000"
      },
      "message": "mtd: mtdoops: do not use mtd-\u003epanic_write directly\n\nInstead of checking if \u0027mtd-\u003epanic_write\u0027 is defined, call \u0027mtd_panic_write()\u0027\nand check the error code - \u0027-EOPNOTSUPP\u0027 will be returned if the function is\nnot defined.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "4991e7251ed951a5f33faf25912e9db416306309",
      "tree": "77454b88465118f8cf1127049cbf96c47da2c415",
      "parents": [
        "cd621274b0ec747db8dedbf857624c067f481976"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Dec 28 17:08:03 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:12 2012 +0000"
      },
      "message": "romfs: do not use mtd-\u003eget_unmapped_area directly\n\nRemove direct usage of mtd-\u003eget_unmapped_area. Instead, just call\n\u0027mtd_get_unmapped_area()\u0027 which will return -EOPNOTSUPP if the function\nis not implemented, and then test for this code.\n\nWe also translate -EOPNOTSUPP to -ENOSYS because this return code is\nprobably part of the kernel ABI which we do not want to break.\n\nCc: linux-fsdevel@vger.kernel.org\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "cd621274b0ec747db8dedbf857624c067f481976",
      "tree": "1d86dd22d4133fc45311168d1b012e8103b4f875",
      "parents": [
        "10934478e44d9a5a7b16dadd89094fb608cf101e"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 30 14:31:57 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:10 2012 +0000"
      },
      "message": "mtd: do not use mtd-\u003eget_unmapped_area directly\n\nRemove direct usage of mtd-\u003eget_unmapped_area. Instead, just call\n\u0027mtd_get_unmapped_area()\u0027 which will return -EOPNOTSUPP if the function\nis not implemented and test for this error code.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "10934478e44d9a5a7b16dadd89094fb608cf101e",
      "tree": "603d4f5165fc032a28e5efaa872da685eea7bf32",
      "parents": [
        "fc002e3c320602d0e206f607aca0460540d7637a"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Dec 28 15:55:42 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:09 2012 +0000"
      },
      "message": "mtd: do use mtd-\u003epoint directly\n\nRemove direct usage of the \"mtd-\u003epoint\" function pointer. Instead,\ntest the mtd_point() return code for \u0027-EOPNOTSUPP\u0027.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "fc002e3c320602d0e206f607aca0460540d7637a",
      "tree": "59a0a24c3f842da192febfcc5de263a339f1dcc5",
      "parents": [
        "33c87b4a2c820316314542ce3f60b8a8c6a96928"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Dec 28 18:35:07 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:08 2012 +0000"
      },
      "message": "mtd: introduce mtd_has_oob helper\n\nWe are working in the direction of making sure that MTD clients to not\nuse \u0027mtd-\u003efunc\u0027 pointers directly. In some places we want to know if\nOOB operations are supported by an MTD device. Introduce \u0027mtd_has_oob()\u0027\nhelper for these purposes.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "33c87b4a2c820316314542ce3f60b8a8c6a96928",
      "tree": "5a9ddf940d8a2ca36f60dc37abe3b22d33598cc9",
      "parents": [
        "52b020317f65114eeba2ee2cfa70a51a286f1d8a"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 30 16:11:14 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:06 2012 +0000"
      },
      "message": "mtd: mtdcore: export symbols cleanup\n\nThe mtdcore.c file is a bit inconsistent - some EXPORT_SYMBOL_GPL declarations\nfollow the corresponding functions, some are placed at the end. This patch\nharmonizes the file so that EXPORT_SYMBOL_GPL declarations follow the\ncorresponding function.\n\nIt also removes few extra newlines and trailing white-spaces.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "52b020317f65114eeba2ee2cfa70a51a286f1d8a",
      "tree": "a7b071413221fef69cc8b2c2a55cb1a6ba305298",
      "parents": [
        "4ccf2f1349e681401b5fae73efc87b8d2d70ce0e"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 30 15:57:25 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:05 2012 +0000"
      },
      "message": "mtd: clean-up the default_mtd_writev function\n\n1. Teach \u0027mtd_write()\u0027 function to return \u0027-EROFS\u0027 if the write method\n   is undefined, and remove the corresponding check from\n   \u0027default_mtd_writev()\u0027.\n2. Do not test \u0027retlen\u0027 for NULL - it cannot be NULL.\n3. Few minor coding stile clean-ups.\n4. Add a kerneldoc comment\n\nAdditionally, minor fixes to the kerneldoc comments of the neighbor function.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "4ccf2f1349e681401b5fae73efc87b8d2d70ce0e",
      "tree": "b62d5d22d67c80918c4c7a40676062e54ae7e236",
      "parents": [
        "bac972777403f810d83062dd0d0303746e466ece"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 30 15:48:55 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:04 2012 +0000"
      },
      "message": "jffs: remove custom mtd_fake_writev function\n\nInstead, use \u0027default_mtd_writev()\u0027 function which MTD provides.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "bac972777403f810d83062dd0d0303746e466ece",
      "tree": "19aa84a9ac586b4563d69ddbfc0308ec937c0aae",
      "parents": [
        "d81a32f2c16a3c42cf26f2216765c520630daa4e"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 30 15:46:40 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:03 2012 +0000"
      },
      "message": "mtd: remove unused default_mtd_readv prototype\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "d81a32f2c16a3c42cf26f2216765c520630daa4e",
      "tree": "e238f8f2e8fde31517d4a459a7a7ee2238e1780e",
      "parents": [
        "ee16f2af2d464ee4c040e571c225dcbb1ce4a7d3"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu Dec 29 18:06:01 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:01 2012 +0000"
      },
      "message": "mtd: sst25l: kill unused variable\n\nFix the following gcc warning:\ndrivers/mtd/devices/sst25l.c: In function ‘sst25l_probe’:\ndrivers/mtd/devices/sst25l.c:381:11: warning: unused variable ‘i’ [-Wunused-variable]\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "ee16f2af2d464ee4c040e571c225dcbb1ce4a7d3",
      "tree": "3066c6c03163e55db594a7c72045d5f7b319f05f",
      "parents": [
        "d5de20a9a1c5ad68c07e017d11f6dbb5e289750c"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu Dec 29 18:04:31 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:58 2012 +0000"
      },
      "message": "mtd: onenand: kill unused variable\n\nFix this gcc warning:\n\ndrivers/mtd/onenand/onenand_base.c: In function ‘onenand_block_markbad’:\ndrivers/mtd/onenand/onenand_base.c:2636:23: warning: unused variable ‘this’ [-Wunused-variable]\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "d5de20a9a1c5ad68c07e017d11f6dbb5e289750c",
      "tree": "dd6b80205261e84e2043f169b199081208bfe47d",
      "parents": [
        "30fa98480b782999248ce8290136aa58f22536cf"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu Dec 29 18:00:29 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:57 2012 +0000"
      },
      "message": "mtd: kill dev_to_mtd helper\n\n... since it is not needed because the generic \u0027dev_get_drvdata()\u0027 can be\nused instead.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "30fa98480b782999248ce8290136aa58f22536cf",
      "tree": "39136ed3fae074abc0178c0b78a2e242700b4cc0",
      "parents": [
        "9cf075f8656524abc44ad3ff2ec3834fe76f186f"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu Dec 29 15:16:28 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:56 2012 +0000"
      },
      "message": "mtd: remove extra retlen assignment\n\nMTD functions always assign the \u0027retlen\u0027 argument to 0 at the very\nbeginning - the callers do not have to do this.\n\nI used the following semantic patch to find these places:\n\n@@\nidentifier retlen;\nexpression a, b, c, d, e;\nconstant C;\ntype T;\n@@\n(\n- retlen \u003d C;\n|\nT\n-retlen \u003d C\n+ retlen\n;\n)\n\n... when !\u003d retlen\n    when exists\n\n(\nmtd_read(a, b, c, \u0026retlen, d)\n|\nmtd_write(a, b, c, \u0026retlen, d)\n|\nmtd_panic_write(a, b, c, \u0026retlen, d)\n|\nmtd_point(a, b, c, \u0026retlen, d, e)\n|\nmtd_read_fact_prot_reg(a, b, c, \u0026retlen, d)\n|\nmtd_write_user_prot_reg(a, b, c, \u0026retlen, d)\n|\nmtd_read_user_prot_reg(a, b, c, \u0026retlen, d)\n|\nmtd_writev(a, b, c, d, \u0026retlen)\n)\n\nI ran it twice, because there were cases of double zero assigments\nin mtd tests. Then I went through the patch to verify that spatch\ndid not find any false positives.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "9cf075f8656524abc44ad3ff2ec3834fe76f186f",
      "tree": "f4d1bc3254b24d3f032134088ba83f9e79a6a01b",
      "parents": [
        "bea7fe031e5b81629f264f48335f1af74900f4b9"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Dec 28 18:14:49 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:54 2012 +0000"
      },
      "message": "mtd: always initialize retlen to zero\n\nMake sure that the retlen is set to 0 in case of error. This harmonizes\ndrivers - some set it to 0 in some error cases and do not write anything\nin other error cases. Now we can do this consistently for all drivers.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "bea7fe031e5b81629f264f48335f1af74900f4b9",
      "tree": "bbbaa526668a53dd1d4fbdc14b7b01ad4d3e8e8a",
      "parents": [
        "122f81d773a464220d64f1a382bde073df281d5a"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu Dec 29 11:40:00 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:53 2012 +0000"
      },
      "message": "mtd: doc: do not initialize mtd_info fields to 0 or NULL\n\nThe \u0027struct mtd_info\u0027 object is allocated with \u0027kzalloc()\u0027, so it\ncontains only zeroes - no need to initialize various fields to 0 or\nNULL.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "122f81d773a464220d64f1a382bde073df281d5a",
      "tree": "20274b156b29a730b79cb83efd6b1dcbd55418d2",
      "parents": [
        "a88d2dc672192247a6f42c82d558db9bf9258bed"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu Dec 29 11:36:19 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:51 2012 +0000"
      },
      "message": "mtd: docprobe: use kzalloc instead\n\nInstead of calling \u0027kmalloc()\u0027 and them \u0027memeset(0)\u0027, use \u0027kzalloc()\u0027.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "a88d2dc672192247a6f42c82d558db9bf9258bed",
      "tree": "78d54ffec00dbe93acc650ba38c2a7b0b4ed447c",
      "parents": [
        "5942ddbc500d1c9b75e571b656be97f65b26adfe"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu Dec 29 11:06:10 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:50 2012 +0000"
      },
      "message": "mtd: move mtd-\u003e{get,put}_device functions up\n\nMove the \u0027get_device()\u0027 and \u0027put_device()\u0027 functions up within\n\u0027struct mtd_info\u0027 to make them be close to other functions.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "5942ddbc500d1c9b75e571b656be97f65b26adfe",
      "tree": "7e96cfb905fb67bc40e1da30eb8454d674353a36",
      "parents": [
        "7086c19d07429d697057587caf1e5e0345442d16"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 19:37:38 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:48 2012 +0000"
      },
      "message": "mtd: introduce mtd_block_markbad interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "7086c19d07429d697057587caf1e5e0345442d16",
      "tree": "3a892182dba0847de32ef79b1fe1d46d8b1b5de8",
      "parents": [
        "ead995f8d4da1e2f1ef40b0e5f4133fee38a3d3d"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 19:35:30 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:47 2012 +0000"
      },
      "message": "mtd: introduce mtd_block_isbad interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "ead995f8d4da1e2f1ef40b0e5f4133fee38a3d3d",
      "tree": "349a7f56a4cdc1220a96af3c59285d8e28e0836c",
      "parents": [
        "3fe4bae88460869a8e553397cd9057a4ee7ca341"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 19:31:25 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:46 2012 +0000"
      },
      "message": "mtd: introduce mtd_resume interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "3fe4bae88460869a8e553397cd9057a4ee7ca341",
      "tree": "0158f2cf5abe127cc74d9b63a2c739797de64552",
      "parents": [
        "e95e9786455c11c8eac30d76e5289d4e40187f9a"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 19:25:16 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:45 2012 +0000"
      },
      "message": "mtd: introduce mtd_suspend interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "e95e9786455c11c8eac30d76e5289d4e40187f9a",
      "tree": "6e6023478b39037d935d180d6fc3903bf4235165",
      "parents": [
        "b66005cd3e6f104e0a1b6492110c337269b53ec3"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 19:21:16 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:42 2012 +0000"
      },
      "message": "mtd: introduce mtd_is_locked interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "b66005cd3e6f104e0a1b6492110c337269b53ec3",
      "tree": "248a5f72af42c122072183a5e3a411b97a36e3c4",
      "parents": [
        "7799f9ac8d8ff2db14736950275249df442baeac"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 19:18:22 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:40 2012 +0000"
      },
      "message": "mtd: introduce mtd_unlock interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "7799f9ac8d8ff2db14736950275249df442baeac",
      "tree": "4e1cab283bae84b6a2133883265923e68ef5ac4e",
      "parents": [
        "85f2f2a809d658c15b574df02ede92090f45a1f2"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 19:15:39 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:39 2012 +0000"
      },
      "message": "mtd: introduce mtd_lock interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "85f2f2a809d658c15b574df02ede92090f45a1f2",
      "tree": "7d4ae7ca646db856aca7f2509c404b9d938fee0b",
      "parents": [
        "b0a31f7b2a668f00a8d0546dfeed65fac871b2da"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 19:03:12 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:35 2012 +0000"
      },
      "message": "mtd: introduce mtd_sync interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "b0a31f7b2a668f00a8d0546dfeed65fac871b2da",
      "tree": "7379a66d9bfd6ae067f090f1bebac5d47332f5cb",
      "parents": [
        "4403dbfb4541d34e5db33db709094d57d09f7467"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 18:59:12 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:34 2012 +0000"
      },
      "message": "mtd: introduce mtd_writev interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "4403dbfb4541d34e5db33db709094d57d09f7467",
      "tree": "c01500ee2c1c2b99b962a2e289299020ff95846a",
      "parents": [
        "482b43adbb7b124316ec72c161b0d1655e759368"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 18:55:49 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:33 2012 +0000"
      },
      "message": "mtd: introduce mtd_lock_user_prot_reg interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "482b43adbb7b124316ec72c161b0d1655e759368",
      "tree": "cbf1b3f4d664ea12fbe177d51c94c9b9b608d99b",
      "parents": [
        "4ea1cabb926f03a8dbd6e3f064538d9a290ee9fd"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 18:50:04 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:31 2012 +0000"
      },
      "message": "mtd: introduce mtd_write_user_prot_reg interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "4ea1cabb926f03a8dbd6e3f064538d9a290ee9fd",
      "tree": "9b29c19ae339c48e8fe36d859c95286061b3ac78",
      "parents": [
        "855e5d8cfebc21f45c9446a88b61e29d94c03781"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 18:47:59 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:30 2012 +0000"
      },
      "message": "mtd: introduce mtd_read_user_prot_reg interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "855e5d8cfebc21f45c9446a88b61e29d94c03781",
      "tree": "7fad2841cd46b6185a4ada0575de31d2da067c70",
      "parents": [
        "d264f72ae56245358025109d9d066d159589802d"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 18:45:11 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:29 2012 +0000"
      },
      "message": "mtd: introduce mtd_get_user_prot_info interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "d264f72ae56245358025109d9d066d159589802d",
      "tree": "632e74730cc89dad8446032d817e370dd7bb9869",
      "parents": [
        "a750b5ce5e1174ea68f66bf79962c479f7f23998"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 18:40:06 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:27 2012 +0000"
      },
      "message": "mtd: introduce mtd_read_fact_prot_reg interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "a750b5ce5e1174ea68f66bf79962c479f7f23998",
      "tree": "41548ab2e6b90f5c5faad8de30b96a4b9615e071",
      "parents": [
        "a2cc5ba075f9bc837d0b4d4ec7328dcefc11859d"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 18:33:28 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:25 2012 +0000"
      },
      "message": "mtd: introduce mtd_get_fact_prot_info interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "a2cc5ba075f9bc837d0b4d4ec7328dcefc11859d",
      "tree": "a5f2c88ddd21028247bfaf02ca336dd501ed3a5f",
      "parents": [
        "fd2819bbc92fc98bed5d612e4acbe16b6326f6bf"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 18:29:55 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:24 2012 +0000"
      },
      "message": "mtd: introduce mtd_write_oob interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "fd2819bbc92fc98bed5d612e4acbe16b6326f6bf",
      "tree": "114f2a130cb854c74707eb805854fe048f65ac14",
      "parents": [
        "7ae79d7ff1769a3e9c47076b46e4eaa11204a2ee"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 18:27:05 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:23 2012 +0000"
      },
      "message": "mtd: introduce mtd_read_oob interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "7ae79d7ff1769a3e9c47076b46e4eaa11204a2ee",
      "tree": "34c084261dd52d4f015f2399405824b9fcebda6f",
      "parents": [
        "eda95cbf75193808f62948fb0142ba0901d8bee2"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 18:03:17 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:22 2012 +0000"
      },
      "message": "mtd: introduce mtd_panic_write interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "eda95cbf75193808f62948fb0142ba0901d8bee2",
      "tree": "047bcfa05bc118b1d34327b3e62fa1d10d4bcb43",
      "parents": [
        "329ad399a9b3adf52c90637b21ca029fcf7f8795"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 17:35:41 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:20 2012 +0000"
      },
      "message": "mtd: introduce mtd_write interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "329ad399a9b3adf52c90637b21ca029fcf7f8795",
      "tree": "7aa7bb2609c25de7859c3a666f3ea90934609592",
      "parents": [
        "04c601bfa4cb29c968dcb66e44c799c9c01d8675"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 17:30:16 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:19 2012 +0000"
      },
      "message": "mtd: introduce mtd_read interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "04c601bfa4cb29c968dcb66e44c799c9c01d8675",
      "tree": "27fd5aaf5b6174a7f118f88ddbdb4eee3581ef56",
      "parents": [
        "7219778ad9c18cc2c05c7fca0abe026afbc19dfb"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 17:10:15 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:18 2012 +0000"
      },
      "message": "mtd: introduce mtd_get_unmapped_area interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "7219778ad9c18cc2c05c7fca0abe026afbc19dfb",
      "tree": "509a11bf7f7ebeef9a4236901adf53e507d1455b",
      "parents": [
        "d35ea200c0fb5315f16fb2599a4bafd9c1a7b386"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 17:05:52 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:17 2012 +0000"
      },
      "message": "mtd: introduce mtd_unpoint interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "d35ea200c0fb5315f16fb2599a4bafd9c1a7b386",
      "tree": "bca893ecf2cada20a1a3a84f64759c2e75838c5b",
      "parents": [
        "7e1f0dc0551b99acb5e8fa161a7ac401994d57d8"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 17:00:37 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:15 2012 +0000"
      },
      "message": "mtd: introduce mtd_point interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "7e1f0dc0551b99acb5e8fa161a7ac401994d57d8",
      "tree": "19108039bb082d42fbda40d4bd3ddb11a1185cd1",
      "parents": [
        "969e57adc2589a0a0ae5edbbe7b92062565ce70b"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 15:25:39 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:11 2012 +0000"
      },
      "message": "mtd: introduce mtd_erase interface\n\nThis patch is part of a patch-set which changes the MTD interface\nfrom \u0027mtd-\u003efunc()\u0027 form to \u0027mtd_func()\u0027 form. We need this because\nwe want to add common code to to all drivers in the mtd core level,\nwhich is impossible with the current interface when MTD clients\ncall driver functions like \u0027read()\u0027 or \u0027write()\u0027 directly.\n\nAt this point we just introduce a new inline wrapper function, but\nlater some of them are expected to gain more code. E.g., the input\nparameters check should be moved to the wrappers rather than be\nduplicated at many drivers.\n\nThis particular patch introduced the \u0027mtd_erase()\u0027 interface. The\nfollowing patches add all the other interfaces one by one.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "969e57adc2589a0a0ae5edbbe7b92062565ce70b",
      "tree": "af82f2a48104749151e8d87573f29df1eb73ff48",
      "parents": [
        "48d3610268cef9cea0704119a74a00d1bf82f536"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 17:27:46 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:02 2012 +0000"
      },
      "message": "mtd: mtdchar: rename functions\n\nWe are going to re-work the MTD interface and change \u0027mtd-\u003ewrite()\u0027 to\n\u0027mtd_write()\u0027, \u0027mtd-\u003eread()\u0027 to \u0027mtd_read()\u0027 and so forth for all functions\nin the \u0027struct mtd_info\u0027 structure.\n\nHowever, mtdchar.c has its own \u0027mtd_read()\u0027, \u0027mtd_write()\u0027, etc functions\nwhich collide with our changes. This patch renames these functions\nto \u0027mtdchar_read()\u0027, \u0027mtdchar_write()\u0027, etc.\n\nAdditionally, to make the \u0027mtdchar.c\u0027 file look consistent, rename\nsimilarly all the other functions starting with \u0027mtd_\u0027.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "48d3610268cef9cea0704119a74a00d1bf82f536",
      "tree": "d58742e663834edf61a58643c2d670b457fee2ea",
      "parents": [
        "cdfe5ed0f271f1d5693fbd68809cc7e0e6c3af66"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 15:44:14 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:24:54 2012 +0000"
      },
      "message": "logfs: rename functions starting with mtd_\n\nWe are going to re-work the MTD interface and change \u0027mtd-\u003ewrite()\u0027 to\n\u0027mtd_write()\u0027, \u0027mtd-\u003eread()\u0027 to \u0027mtd_read()\u0027 and so forth for all functions\nin the \u0027struct mtd_info\u0027 structure.\n\nHowever, logfs has its own \u0027mtd_read()\u0027, \u0027mtd_write()\u0027, etc functions\nwhich collide with our changes. This patch renames these logfs functions\nto \u0027logfs_mtd_read()\u0027, \u0027logfs_mtd_write()\u0027, etc.\n\nAdditionally, to make the \u0027fs/logfs/dev_mtd.c\u0027 file look consistent, rename\nsimilarly all the other functions starting with \u0027mtd_\u0027.\n\nCc: Jörn Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "cdfe5ed0f271f1d5693fbd68809cc7e0e6c3af66",
      "tree": "5eebdd21c7a74274370708e642f687ab5d33945d",
      "parents": [
        "4a42243886b87cd28a39b192161767c2af851a55"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Tue Dec 27 17:59:04 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:24:48 2012 +0000"
      },
      "message": "mtd: lpddr: drop unnecessary zeroing\n\nWe allocate the \"mtd\" structure using kzalloc which means we do not have\nto initialize unused MTD function pointers to NULL, since it is safe to\nassume in Linux that NULL contains all zeroes.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "4a42243886b87cd28a39b192161767c2af851a55",
      "tree": "98651524a4419c4f14564ca3cd8617f198ddff07",
      "parents": [
        "bca7f5f71389547489fffe6c757eaff8659bcd16"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 30 18:28:01 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:24:34 2012 +0000"
      },
      "message": "mtd: map.h: fix arm cross-build failure\n\nThis patch fixes the following build failure:\nIn file included from include/linux/mtd/qinfo.h:4:0,\n                 from include/linux/mtd/pfow.h:7,\n                 from drivers/mtd/lpddr/lpddr_cmds.c:27:\ninclude/linux/mtd/map.h: In function \u0027inline_map_read\u0027:\ninclude/linux/mtd/map.h:409:3: error: implicit declaration of function \u0027BUILD_BUG_ON\u0027 [-Werror\u003dimplicit-function-declaration]\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "bca7f5f71389547489fffe6c757eaff8659bcd16",
      "tree": "6337280aa5aa2fbef98db11d9cfc935b2e7903c6",
      "parents": [
        "af32b36095147e1828496b58987c1e24ef40487d"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Tue Dec 27 15:01:31 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:24:11 2012 +0000"
      },
      "message": "mtd: txx9ndfmc: use devm_request_and_ioremap\n\nReimplement a call to devm_request_mem_region followed by a call to ioremap\nor ioremap_nocache by a call to devm_request_and_ioremap.\n\nThe semantic patch that makes this transformation is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@nm@\nexpression myname;\nidentifier i;\n@@\n\nstruct platform_driver i \u003d { .driver \u003d { .name \u003d myname } };\n\n@@\nexpression dev,res,size;\nexpression nm.myname;\n@@\n\n-if (!devm_request_mem_region(dev, res-\u003estart, size,\n-                              \\(res-\u003ename\\|dev_name(dev)\\|myname\\))) {\n-   ...\n-   return ...;\n-}\n... when !\u003d res-\u003estart\n(\n-devm_ioremap(dev,res-\u003estart,size)\n+devm_request_and_ioremap(dev,res)\n|\n-devm_ioremap_nocache(dev,res-\u003estart,size)\n+devm_request_and_ioremap(dev,res)\n)\n... when any\n    when !\u003d res-\u003estart\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "af32b36095147e1828496b58987c1e24ef40487d",
      "tree": "377f57e77ef19d5b4dd206c343259cc8a5e6a207",
      "parents": [
        "775c32208708de3e2e2379c85e429ab11957f864"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Mon Dec 26 18:38:01 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:24:05 2012 +0000"
      },
      "message": "mtd: lantiq-flash: drop iounmap for devm_ allocated data\n\nData allocated with devm_ioremap or devm_ioremap_nocache should not be\nfreed using iounmap, because doing so causes a dangling pointer, and a\nsubsequent double free.\n\nThe semantic match that finds this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@r@\nexpression x;\n@@\n(\n x \u003d devm_ioremap(...)\n|\n x \u003d devm_ioremap_nocache(...)\n)\n\n@@\nexpression r.x;\n@@\n* iounmap(x)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "775c32208708de3e2e2379c85e429ab11957f864",
      "tree": "1b40ad4ce02cdea3ae988c9ce8fe4e14986ec875",
      "parents": [
        "f98872fc14ecb96f796443911b6bc4767e58e885"
      ],
      "author": {
        "name": "Jamie Iles",
        "email": "jamie@jamieiles.com",
        "time": "Sun Dec 18 10:00:49 2011 +0000"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:23:58 2012 +0000"
      },
      "message": "mtd: gpio-nand: add device tree bindings\n\nAdd device tree bindings so that the gpio-nand driver may be\ninstantiated from the device tree.  This also allows the partitions\nto be specified in the device tree.\n\nv7:\t- restore runtime device tree/non device tree detection\nv6:\t- convert to mtd_device_parse_register()\nv5:\t- fold dt config helpers into a single gpio_nand_of_get_config()\nv4:\t- get io sync address from gpio-control-nand,io-sync-reg\n\t  property rather than a resource\n\t- clarified a few details in the binding\nv3:\t- remove redundant cast and a couple of whitespace/naming\n\t  changes\nv2:\t- add CONFIG_OF guards for non-dt platforms\n\t- compatible becomes gpio-control-nand\n\t- clarify some binding details\n\nSigned-off-by: Jamie Iles \u003cjamie@jamieiles.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "f98872fc14ecb96f796443911b6bc4767e58e885",
      "tree": "fac2482d883da626b8c0e1293b524ea90bbf796e",
      "parents": [
        "805166783893651e3352ee9e68ad5d0b68a769f1"
      ],
      "author": {
        "name": "Jonas Gorski",
        "email": "jonas.gorski@gmail.com",
        "time": "Sat Dec 17 13:58:18 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:23:32 2012 +0000"
      },
      "message": "mtd: bcm63xxpart: check the image tag\u0027s crc32\n\nOnly use the values from the image tag if it is valid. Always create\nthe CFE, NVRAM and linux partitions, to allow flashing a new image even\nif the old is invalid without overwriting CFE or NVRAM.\n\nSigned-off-by: Jonas Gorski \u003cjonas.gorski@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "805166783893651e3352ee9e68ad5d0b68a769f1",
      "tree": "1715a7074f1e94c1e76223650af68786555e9e5f",
      "parents": [
        "327c62c554a78af399938445094a7dc834b7fd0b"
      ],
      "author": {
        "name": "Jonas Gorski",
        "email": "jonas.gorski@gmail.com",
        "time": "Sat Dec 17 13:58:17 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:23:30 2012 +0000"
      },
      "message": "MIPS: BCM63XX: bcm963xx_tag.h: make crc fields integers\n\nAll CRC32 fields are 32 bit integers, so define them as such to prevent\nunnecessary casts if we want to use them.\n\nSigned-off-by: Jonas Gorski \u003cjonas.gorski@gmail.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "327c62c554a78af399938445094a7dc834b7fd0b",
      "tree": "ce9a731c807cbb379615a04079e1ed7e73746d8c",
      "parents": [
        "678eb9bb8114c47a7b89fd1288ff5dc760c53c1c"
      ],
      "author": {
        "name": "Jonas Gorski",
        "email": "jonas.gorski@gmail.com",
        "time": "Sat Dec 17 13:58:16 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:20:58 2012 +0000"
      },
      "message": "mtd: bcm63xxpart: don\u0027t assume NVRAM is always the fourth partition\n\nInstead of referencing the sizes of fixed partitions, use the\nprecomputed CFE/NVRAM lengths.\n\nSigned-off-by: Jonas Gorski \u003cjonas.gorski@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "678eb9bb8114c47a7b89fd1288ff5dc760c53c1c",
      "tree": "3cba77cdbe051702c90e71d0cc54481ecd6503d9",
      "parents": [
        "f2d9739b8e0bc9bdcc972950dd433b5083edf72f"
      ],
      "author": {
        "name": "Jonas Gorski",
        "email": "jonas.gorski@gmail.com",
        "time": "Mon Dec 19 11:36:04 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:20:44 2012 +0000"
      },
      "message": "mtd: bcm63xxpart: make sure CFE and NVRAM partitions are at least 64KiB\n\nThe CFE boot loader on BCM63XX platforms assumes itself and the NVRAM\npartition to be 64 KiB (or erase block sized, if larger).\nEnsure this assumption is also met when creating the partitions to\nprevent accidential erasure of CFE or NVRAM.\n\nSigned-off-by: Jonas Gorski \u003cjonas.gorski@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "f2d9739b8e0bc9bdcc972950dd433b5083edf72f",
      "tree": "fa3779069cc5608eeef1048d576a9c196b8095ec",
      "parents": [
        "f9fbcdc357f37d6c82a75a89c64efbe8bd5274e1"
      ],
      "author": {
        "name": "Jonas Gorski",
        "email": "jonas.gorski@gmail.com",
        "time": "Sat Dec 17 13:58:14 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:19:00 2012 +0000"
      },
      "message": "mtd: bcm63xxpart: check version marker string for newer CFEs\n\nRecent CFEs do not contain the CFE1CFE1 magic anymore, so check for the\n\"cfe-v\" version marker string instead. As very old CFEs do not have\nthis string, leave the CFE1CFE1 magic as a fallback for detection.\n\nSigned-off-by: Jonas Gorski \u003cjonas.gorski@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "f9fbcdc357f37d6c82a75a89c64efbe8bd5274e1",
      "tree": "538815c476b5cd2ecd195a0eb415a9e4b240edcd",
      "parents": [
        "e10019bce9cbeb7675d5d08221012a2cfee0d498"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Dec 15 13:35:49 2011 +1030"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:18:55 2012 +0000"
      },
      "message": "mtd: sm_ftl: fix module parameter\n\nYou didn\u0027t mean this to be a bool.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "e10019bce9cbeb7675d5d08221012a2cfee0d498",
      "tree": "d6790219dbc36f67b2514cc1a76bca5ce11cd10d",
      "parents": [
        "f57eb5cc5394afb2a6f41da7509b794ed9ca5f6d"
      ],
      "author": {
        "name": "Robert Jarzmik",
        "email": "robert.jarzmik@free.fr",
        "time": "Fri Dec 16 23:25:23 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:18:51 2012 +0000"
      },
      "message": "mtd: docg3: remove unused function\n\nAs the MTD api has no use for the number of erase cycles\neach block has endured, remove the function which calculated\nthat value.\n\nIf one day MTD api finds it usefull for wear levelling\nalgorithms to have this information, the function should be\nput back in place.\n\nSigned-off-by: Robert Jarzmik \u003crobert.jarzmik@free.fr\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "f57eb5cc5394afb2a6f41da7509b794ed9ca5f6d",
      "tree": "280ea115439a795a174cab0885071c4ed33751fb",
      "parents": [
        "d8251108e0def5a2f15124a8e6314b14bfa5eb9c"
      ],
      "author": {
        "name": "Shengzhou Liu",
        "email": "Shengzhou.Liu@freescale.com",
        "time": "Mon Dec 12 17:40:53 2011 +0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:18:47 2012 +0000"
      },
      "message": "mtd: nand: Add ONFI support for FSL NAND controller\n\n- fix NAND_CMD_READID command for ONFI detect.\n- add NAND_CMD_PARAM command to read the ONFI parameter page.\n\nSigned-off-by: Shengzhou Liu \u003cShengzhou.Liu@freescale.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "d8251108e0def5a2f15124a8e6314b14bfa5eb9c",
      "tree": "d7aab75afb2d7ff33ef93dc716b73a6c80634755",
      "parents": [
        "2b00668ff9d91d594a204ff2c3bf940d483e4b5f"
      ],
      "author": {
        "name": "Shengzhou Liu",
        "email": "Shengzhou.Liu@freescale.com",
        "time": "Mon Dec 12 17:40:52 2011 +0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:18:44 2012 +0000"
      },
      "message": "mtd: nand: fixup for fmr initialization of Freescale NAND controller\n\nThere was a bug for fmr initialization, which lead to  fmr was always 0x100\nin fsl_elbc_chip_init() and caused FCM command timeout before calling\nfsl_elbc_chip_init_tail(), now we initialize CWTO to maximum timeout value\nand not relying on the setting of bootloader.\n\nSigned-off-by: Shengzhou Liu \u003cShengzhou.Liu@freescale.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "2b00668ff9d91d594a204ff2c3bf940d483e4b5f",
      "tree": "3230763bd888fd7d6b3c4b27540ecbe8a46df97d",
      "parents": [
        "9ae84fe8c18cabc348b9c7cd1e98419cd0cbf481"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@linux.intel.com",
        "time": "Mon Dec 12 23:24:59 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:18:36 2012 +0000"
      },
      "message": "mtd: document that MEMWRITE ioctl is NAND-specific\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "9ae84fe8c18cabc348b9c7cd1e98419cd0cbf481",
      "tree": "28805967c5d4b64c30d3c8de01d1b067bba55ac1",
      "parents": [
        "556f063580db2953a7e53cd46b47724246320f60"
      ],
      "author": {
        "name": "Liu Shuo",
        "email": "b35362@freescale.com",
        "time": "Fri Dec 09 17:42:54 2011 +0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:18:29 2012 +0000"
      },
      "message": "mtd: fsl_elbc_nand: set Nand flash page address to FBAR and FPAR correctly\n\nIf we use the Nand flash chip whose number of pages in a block is greater\nthan 64(for large page), we must treat the low bit of FBAR as being the\nhigh bit of the page address due to the limitation of FCM, it simply uses\nthe low 6-bits (for large page) of the combined block/page address as the\nFPAR component, rather than considering the actual block size.\n\nSigned-off-by: Liu Shuo \u003cb35362@freescale.com\u003e\nSigned-off-by: Jerry Huang \u003cChang-Ming.Huang@freescale.com\u003e\nSigned-off-by: Tang Yuantian \u003cb29983@freescale.com\u003e\nSigned-off-by: Li Yang \u003cleoli@freescale.com\u003e\nAcked-by: Scott Wood \u003cscottwood@freescale.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "556f063580db2953a7e53cd46b47724246320f60",
      "tree": "f79998a3fd20823c31d8917b758a67bc60af1b17",
      "parents": [
        "53466710202900ce49e471f480cac11275e1d0c4"
      ],
      "author": {
        "name": "Roman Tereshonkov",
        "email": "roman.tereshonkov@nokia.com",
        "time": "Tue Nov 29 12:49:18 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:18:11 2012 +0000"
      },
      "message": "mtdoops: fix the oops_page_used array size\n\nThe array of unsigned long pointed by oops_page_used is allocated\nby vmalloc which requires the size to be in bytes.\n\nBITS_PER_LONG is equal to 32.\nIf we want to allocate memory for 32 pages with one bit per page then\n32 / BITS_PER_LONG  is equal to 1 byte that is 8 bits.\nTo fix it we need to multiply the result by sizeof(unsigned long) equal to 4.\n\nCc: stable@kernel.org\nSigned-off-by: Roman Tereshonkov \u003croman.tereshonkov@nokia.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "53466710202900ce49e471f480cac11275e1d0c4",
      "tree": "c9a4d9458dff37cd7e15f2181c8bc1d5edcf3f91",
      "parents": [
        "fa3ae714c763f3e9d8fd876879338d2b674b8db2"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Tue Dec 06 17:06:06 2011 -0600"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:18:03 2012 +0000"
      },
      "message": "jffs2: fix up error handling for insert_inode_locked\n\nafter 250df6ed274d767da844a5d9f05720b804240197\n(fs: protect inode-\u003ei_state with inode-\u003ei_lock), insert_inode_locked()\nno longer returns the inode with I_NEW set on failure.  However,\nthe error handler still calls unlock_new_inode() on failure,\nwhich does a WARN_ON if I_NEW is not set, so any failure spews\na lot of warnings.\n\nWe can just drop the unlock_new_inode() if insert_inode_locked()\nfails here.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "fa3ae714c763f3e9d8fd876879338d2b674b8db2",
      "tree": "287e701f7baf92c8660ec0594e30c8204b45ad25",
      "parents": [
        "f4aa7adb8b11ae48b36474829b6debac7ed5ddd7"
      ],
      "author": {
        "name": "Jonas Gorski",
        "email": "jonas.gorski@gmail.com",
        "time": "Mon Dec 05 16:08:11 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:16:39 2012 +0000"
      },
      "message": "mtd: maps: remove the now unused bcm963xx-flash\n\nbcm963xx-flash does nothing meaningful anymore.\n\nSigned-off-by: Jonas Gorski \u003cjonas.gorski@gmail.com\u003e\nAcked-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "f4aa7adb8b11ae48b36474829b6debac7ed5ddd7",
      "tree": "388b97a0cc8004e22c9f1dc11ed9b2f291f8d4ca",
      "parents": [
        "529688fed64a7759323cbd170754c61aad0dd48b"
      ],
      "author": {
        "name": "Jonas Gorski",
        "email": "jonas.gorski@gmail.com",
        "time": "Mon Dec 05 16:08:10 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:16:25 2012 +0000"
      },
      "message": "MIPS: BCM63XX: use the new bcm63xxpart parser\n\nSigned-off-by: Jonas Gorski \u003cjonas.gorski@gmail.com\u003e\nAcked-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "529688fed64a7759323cbd170754c61aad0dd48b",
      "tree": "266489686039572f5bfb630d0dbe4c1cc42120df",
      "parents": [
        "70a3c167c4bf38b5ffd07d8506230ecc20ef7ab1"
      ],
      "author": {
        "name": "Jonas Gorski",
        "email": "jonas.gorski@gmail.com",
        "time": "Mon Dec 05 16:08:09 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:16:15 2012 +0000"
      },
      "message": "mtd: maps: physmap: allow partition parsers for physmap_flash_data\n\nArch setup code might want to use their own partition parsers, but still\nuse the generic physmap flash driver.\n\nSigned-off-by: Jonas Gorski \u003cjonas.gorski@gmail.com\u003e\nAcked-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "70a3c167c4bf38b5ffd07d8506230ecc20ef7ab1",
      "tree": "520c452c53100751d02e30bd105e633a8c3639f9",
      "parents": [
        "ca105f4d9823f916a4718c4bc766fd14842056f2"
      ],
      "author": {
        "name": "Jonas Gorski",
        "email": "jonas.gorski@gmail.com",
        "time": "Mon Dec 05 16:08:08 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:15:31 2012 +0000"
      },
      "message": "mtd: maps: bcm963xx-flash: make CFE partition parsing an mtd parser\n\nRecent BCM63XX devices support a variety of flash types (parallel, SPI,\nNAND) and share the partition layout. To prevent code duplication make\nthe CFE partition parsing code a stand alone mtd parser to allow SPI or\nNAND flash drivers to use it.\n\nSigned-off-by: Jonas Gorski \u003cjonas.gorski@gmail.com\u003e\nAcked-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "ca105f4d9823f916a4718c4bc766fd14842056f2",
      "tree": "da91372a91c62a7e54617182f37b8831e79881eb",
      "parents": [
        "6ae9c1c82a6ed0858b2fb1c03f11b19194788a31"
      ],
      "author": {
        "name": "Jonas Gorski",
        "email": "jonas.gorski@gmail.com",
        "time": "Mon Dec 05 16:08:07 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:13:44 2012 +0000"
      },
      "message": "mtd: maps: bcm963xx-flash: clean up printk usage\n\nReplace raw printk\u0027s with their pr_XXX equivalent and unify broken up\nstrings so they become grepable.\n\nAlso replace the PFX definition with a pr_fmt().\n\nSigned-off-by: Jonas Gorski \u003cjonas.gorski@gmail.com\u003e\nAcked-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "6ae9c1c82a6ed0858b2fb1c03f11b19194788a31",
      "tree": "3a1a6a81396c95eddfd3382e1c6632cb19a8c0d9",
      "parents": [
        "35096cb54be6ff3a366e28492d4cbf21ffe3efdd"
      ],
      "author": {
        "name": "Jonas Gorski",
        "email": "jonas.gorski@gmail.com",
        "time": "Mon Dec 05 16:08:06 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:13:39 2012 +0000"
      },
      "message": "mtd: maps: bcm963xx-flash: remove superfluous semicolons\n\nSigned-off-by: Jonas Gorski \u003cjonas.gorski@gmail.com\u003e\nAcked-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "35096cb54be6ff3a366e28492d4cbf21ffe3efdd",
      "tree": "6bae37cba465f9f86be127963089eaa190a90036",
      "parents": [
        "47882d78250a8b92a9837d14bab32915622a9f12"
      ],
      "author": {
        "name": "Jonas Gorski",
        "email": "jonas.gorski@gmail.com",
        "time": "Mon Dec 05 16:08:05 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:13:28 2012 +0000"
      },
      "message": "mtd: maps: bcm963xx-flash: fix word order for spare partition\n\nSigned-off-by: Jonas Gorski \u003cjonas.gorski@gmail.com\u003e\nAcked-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "47882d78250a8b92a9837d14bab32915622a9f12",
      "tree": "c499fc32a177aeda595f6e93414222a4ace9e63f",
      "parents": [
        "e32de766c2eb65f775438dd6d8ec5007619d2fe5"
      ],
      "author": {
        "name": "Heiko Schocher",
        "email": "hs@denx.de",
        "time": "Sun Dec 04 10:37:36 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:13:25 2012 +0000"
      },
      "message": "mtd: davinci: if no amif timing is passed, don; t setup cscfg register\n\nSigned-off-by: Heiko Schocher \u003chs@denx.de\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "e32de766c2eb65f775438dd6d8ec5007619d2fe5",
      "tree": "0c9aae00681f09ecd95b47268912295307613554",
      "parents": [
        "a9a552f0bf6258c3593e8887c7212f0fbec8b44c"
      ],
      "author": {
        "name": "Liu Shuo",
        "email": "b35362@freescale.com",
        "time": "Sun Dec 04 12:31:37 2011 +0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:13:18 2012 +0000"
      },
      "message": "mtd: nand: set correct length to FBCR for a non-full-page write\n\nWhen we do a non-full-page write, the length be set to FBCR should\nnot be \u0027elbc_fcm_ctrl-\u003eindex\u0027, it should be \u0027elbc_fcm_ctrl-\u003eindex -\nelbc_fcm_ctrl-\u003ecolumn\u0027.\n\nSigned-off-by: Liu Shuo \u003cb35362@freescale.com\u003e\nSigned-off-by: Li Yang \u003cleoli@freescale.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "a9a552f0bf6258c3593e8887c7212f0fbec8b44c",
      "tree": "aa4a9ffa2c1e8e289e64031819e152321de92801",
      "parents": [
        "b604436cb06626363f0da357759797a5e1894baf"
      ],
      "author": {
        "name": "Liu Shuo",
        "email": "b35362@freescale.com",
        "time": "Sun Dec 04 12:31:36 2011 +0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:13:10 2012 +0000"
      },
      "message": "mtd: nand: use elbc_fcm_ctrl-\u003eoob to set FPAR_MS bit of FPAR\n\nOn both of large-page chip and small-page chip, we always should use\n\u0027elbc_fcm_ctrl-\u003eoob\u0027 to set the FPAR_LP_MS/FPAR_SP_MS bit of FPAR, don\u0027t\nuse a overflowed \u0027column\u0027 to set it.\n\nSigned-off-by: Liu Shuo \u003cb35362@freescale.com\u003e\nSigned-off-by: Li Yang \u003cleoli@freescale.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "b604436cb06626363f0da357759797a5e1894baf",
      "tree": "15058785e489587a36ca4c40614e86d33f12ce4a",
      "parents": [
        "3538c56329936c78f7d356889908790006d0124c"
      ],
      "author": {
        "name": "Robert Jarzmik",
        "email": "robert.jarzmik@free.fr",
        "time": "Fri Dec 02 20:00:12 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:13:05 2012 +0000"
      },
      "message": "mtd: docg3: fixes and cleanups\n\nThis patch takes into account checkpatch, sparse and ECC\ncomments.\n\nSigned-off-by: Robert Jarzmik \u003crobert.jarzmik@free.fr\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "3538c56329936c78f7d356889908790006d0124c",
      "tree": "fdbbe58414a31b2a8101f948ac3022c3e1ecc2c7",
      "parents": [
        "2f4478ccff7df845dc9c0f8996a96373122c4417"
      ],
      "author": {
        "name": "Roman Tereshonkov",
        "email": "roman.tereshonkov@nokia.com",
        "time": "Fri Dec 02 15:07:17 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:12:47 2012 +0000"
      },
      "message": "mtd: mtdoops: skip reading initially bad blocks\n\nUse block_isbad to check and skip the bad blocks reading.\nThis will allow to get rid of the read errors if bad blocks\nare present initially.\n\nCc: stable@kernel.org\nSigned-off-by: Roman Tereshonkov \u003croman.tereshonkov@nokia.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "2f4478ccff7df845dc9c0f8996a96373122c4417",
      "tree": "5100e886a3feff1c8c826f386be5821b26712baf",
      "parents": [
        "f99640dee209df4730f35a28b02693affd571ad5"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Tue Nov 29 15:34:08 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:12:42 2012 +0000"
      },
      "message": "mtd: tests: stresstest: bail out if device has not enough eraseblocks\n\nstresstest needs at least two eraseblocks. Bail out gracefully if that\ncondition is not met. Fixes the following \u0027division by zero\u0027 OOPS:\n\n[  619.100000] mtd_stresstest: MTD device size 131072, eraseblock size 131072, page size 2048, count of eraseblocks 1, pages per eraseblock 64, OOB size 64\n[  619.120000] mtd_stresstest: scanning for bad eraseblocks\n[  619.120000] mtd_stresstest: scanned 1 eraseblocks, 0 are bad\n[  619.130000] mtd_stresstest: doing operations\n[  619.130000] mtd_stresstest: 0 operations done\n[  619.140000] Division by zero in kernel.\n...\n\ncaused by\n\n        /* Read or write up 2 eraseblocks at a time - hence \u0027ebcnt - 1\u0027 */\n        eb %\u003d (ebcnt - 1);\n\nCc: stable@kernel.org\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "f99640dee209df4730f35a28b02693affd571ad5",
      "tree": "e09afc21f8fe3616af01bb23f5ae1b08b9290873",
      "parents": [
        "1f9327fcffdac27e7b100b3a392291a7b94c97fd"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Sun Nov 27 20:45:03 2011 +0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:12:35 2012 +0000"
      },
      "message": "mtd: convert drivers/mtd/* to use module_platform_driver()\n\nThis patch converts the drivers in drivers/mtd/* to use the\nmodule_platform_driver() macro which makes the code smaller and a bit\nsimpler.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nAcked by: Haojian Zhuang \u003chaojian.zhuang@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "1f9327fcffdac27e7b100b3a392291a7b94c97fd",
      "tree": "b2bdc5ebc42b7cdd2b65c185e4b2bf9b0ecb63aa",
      "parents": [
        "b49e345e61a2e0c4decbe9b1bd670ed5599fac6e"
      ],
      "author": {
        "name": "Robert Jarzmik",
        "email": "robert.jarzmik@free.fr",
        "time": "Tue Nov 29 23:16:35 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:12:17 2012 +0000"
      },
      "message": "Documentation: add sysfs entries for mtd docg3 chips\n\nAdd documentation for MSystems disk-on-chip docg3 chips\nsysfs entries, which enable and disable protection areas,\ngiving or disabling access to the chip\u0027s memory.\n\nSigned-off-by: Robert Jarzmik \u003crobert.jarzmik@free.fr\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "b49e345e61a2e0c4decbe9b1bd670ed5599fac6e",
      "tree": "e125dca29028b59322fe3b7bb096b4191bff0791",
      "parents": [
        "5d3667eee40a88f79f7f826f0b4c3c9647d7ea7a"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Mon Nov 28 16:53:13 2011 +0300"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:07:32 2012 +0000"
      },
      "message": "mtd: docg3: dereferencing an ERR_PTR() in docg3_probe()\n\nIf doc_probe_device() returned an ERR_PTR, then we accidentally saved\nthat to docg3_floors[floor] \u003d mtd; which gets derefenced in the error\nhandling when we call doc_release_device().\n\nI\u0027ve reworked the error handling to take care of that and hopefully\nmake it a little simpler.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nAcked-by: Robert Jarzmik \u003crobert.jarzmik@free.fr\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "5d3667eee40a88f79f7f826f0b4c3c9647d7ea7a",
      "tree": "03ba8816e0b172943685442dd974ae4743757998",
      "parents": [
        "0f769d3f9e2ef3e88930ff190a20cfbfe6206d3a"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Thu Nov 24 16:29:16 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:07:31 2012 +0000"
      },
      "message": "mtd: Remove redundant spi driver bus initialization\n\nIn ancient times it was necessary to manually initialize the bus field of an\nspi_driver to spi_bus_type. These days this is done in spi_driver_register(),\nso we can drop the manual assignment.\n\nThe patch was generated using the following coccinelle semantic patch:\n// \u003csmpl\u003e\n@@\nidentifier _driver;\n@@\nstruct spi_driver _driver \u003d {\n\t.driver \u003d {\n-\t\t.bus \u003d \u0026spi_bus_type,\n\t},\n};\n// \u003c/smpl\u003e\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "0f769d3f9e2ef3e88930ff190a20cfbfe6206d3a",
      "tree": "7317d7e8beeae37c550a875835dcbf3dc1c7af32",
      "parents": [
        "c3de8a8a5a28603f8d318245992dbcda2e88a007"
      ],
      "author": {
        "name": "Robert Jarzmik",
        "email": "robert.jarzmik@free.fr",
        "time": "Sat Nov 19 16:02:58 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:07:30 2012 +0000"
      },
      "message": "mtd: docg3: add protection areas sysfs access\n\nAs each docg3 chip has 2 protection areas (DPS0 and DPS1),\nand because theses areas can prevent user access to the chip\ndata, add for each floor the sysfs entries which insert the\nprotection key into the right DPS.\n\nSigned-off-by: Robert Jarzmik \u003crobert.jarzmik@free.fr\u003e\nReviewed-by: Ivan Djelic \u003civan.djelic@parrot.com\u003e\nReviewed-by: Mike Dunn \u003cmikedunn@newsguy.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "c3de8a8a5a28603f8d318245992dbcda2e88a007",
      "tree": "3486d10cb537fd62cc5940b821944dc6c7b513f1",
      "parents": [
        "e4b2a96aeb2b3dfee8d19d0335c6151d4cca4631"
      ],
      "author": {
        "name": "Robert Jarzmik",
        "email": "robert.jarzmik@free.fr",
        "time": "Sat Nov 19 16:02:57 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:07:29 2012 +0000"
      },
      "message": "mtd: docg3: add fast mode\n\nDocg3 chips can work in 3 modes : normal MLC mode, fast\nmode and reliable mode. Normally, as docg3 is a MLC chip, it\nshould be configured to work in normal mode.\n\nIn both normal mode, each page is distinct. This\nmeans that writing to page 12 of blocks 14,15 writes only to\nthat page, and reading from page 12 of blocks 14,15 reads\nonly from that page.\n\nIn reliable and fast modes, pages are coupled by pairs, and\nare clones one of each other. This means that the available\ncapacity of the chip is halved. Pages are coupled in each\nblock, and page of index 2*n contains the same data as page\n2*n+1 of the same block.\n\nIn fast mode, the reads occur a bit faster, but are a bit\nless reliable that in normal mode.\n\nWhen reading from page 2*n, the chip reads bytes from both\npage 2*n and page 2*n+1, makes a logical and for each byte,\nand returns the result. As programming a page means\n\"clearing bits\", even if a bit was not cleared on one page\nbecause the flash is worn out, the other page has the bit\ncleared, and the result of the \"AND\" gives a correct result.\n\nWhen writing to page 2*n, the chip writes data to both page\n2*n and page 2*n+1.\n\nSigned-off-by: Robert Jarzmik \u003crobert.jarzmik@free.fr\u003e\nReviewed-by: Ivan Djelic \u003civan.djelic@parrot.com\u003e\nReviewed-by: Mike Dunn \u003cmikedunn@newsguy.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "e4b2a96aeb2b3dfee8d19d0335c6151d4cca4631",
      "tree": "05fba96057ccb827c490b1f8c502882b16f20899",
      "parents": [
        "d13d19ece39f20bf097782e1812a9c31a5a4fcf1"
      ],
      "author": {
        "name": "Robert Jarzmik",
        "email": "robert.jarzmik@free.fr",
        "time": "Sat Nov 19 16:02:56 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:07:28 2012 +0000"
      },
      "message": "mtd: docg3: add suspend and resume\n\nAdd functions to powerdown and powerup from suspend, in\norder to save power.\n\nSigned-off-by: Robert Jarzmik \u003crobert.jarzmik@free.fr\u003e\nReviewed-by: Ivan Djelic \u003civan.djelic@parrot.com\u003e\nReviewed-by: Mike Dunn \u003cmikedunn@newsguy.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "d13d19ece39f20bf097782e1812a9c31a5a4fcf1",
      "tree": "8ea5f606a95f7e3761e55945f247c818dfb0dfc0",
      "parents": [
        "7a7fcf14021bc0f0728dd0aaa2635475de0db54c"
      ],
      "author": {
        "name": "Robert Jarzmik",
        "email": "robert.jarzmik@free.fr",
        "time": "Sat Nov 19 16:02:55 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:07:26 2012 +0000"
      },
      "message": "mtd: docg3: add ECC correction code\n\nCredit for discovering the BCH algorith parameters, and bit\nreversing algorithm is to be give to Mike Dunn and Ivan\nDjelic.\n\nThe BCH correction code relied upon the BCH library, where\nall data and ECC is bit-reversed. The BCH library works\ncorrectly when each input byte is bit-reversed, and\naccordingly ECC output is also bit-reversed.\n\nSigned-off-by: Robert Jarzmik \u003crobert.jarzmik@free.fr\u003e\nReviewed-by: Ivan Djelic \u003civan.djelic@parrot.com\u003e\nReviewed-by: Mike Dunn \u003cmikedunn@newsguy.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "7a7fcf14021bc0f0728dd0aaa2635475de0db54c",
      "tree": "0286e8b77641220abebe4b654362ef8eb743d2c9",
      "parents": [
        "de03cd716ba7b8103ef9bef425be1ac72b81aeca"
      ],
      "author": {
        "name": "Robert Jarzmik",
        "email": "robert.jarzmik@free.fr",
        "time": "Sat Nov 19 16:02:54 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:07:25 2012 +0000"
      },
      "message": "mtd: docg3: map erase and write functions\n\nMap the developped write and erase functions into the mtd\nstructure.\n\nSigned-off-by: Robert Jarzmik \u003crobert.jarzmik@free.fr\u003e\nReviewed-by: Ivan Djelic \u003civan.djelic@parrot.com\u003e\nReviewed-by: Mike Dunn \u003cmikedunn@newsguy.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "de03cd716ba7b8103ef9bef425be1ac72b81aeca",
      "tree": "e467ab24d37ef3c20c7c43e4a3b2d5fd713df1e9",
      "parents": [
        "fb50b58e488d5fb3e3600592646909ddad7bd1e5"
      ],
      "author": {
        "name": "Robert Jarzmik",
        "email": "robert.jarzmik@free.fr",
        "time": "Sat Nov 19 16:02:53 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:07:24 2012 +0000"
      },
      "message": "mtd: docg3: add erase functions\n\nAdd erase capability to the docg3 driver. The erase block is\nmade of 2 physical blocks, as both share all 64 pages. That\nmakes an erase block of at least 64 kBytes.\n\nSigned-off-by: Robert Jarzmik \u003crobert.jarzmik@free.fr\u003e\nReviewed-by: Ivan Djelic \u003civan.djelic@parrot.com\u003e\nReviewed-by: Mike Dunn \u003cmikedunn@newsguy.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "fb50b58e488d5fb3e3600592646909ddad7bd1e5",
      "tree": "5f99348d36ebc0b93460611045fd31ea07777000",
      "parents": [
        "316e627edcd8186f199120931f5381615a0d9aa4"
      ],
      "author": {
        "name": "Robert Jarzmik",
        "email": "robert.jarzmik@free.fr",
        "time": "Sat Nov 19 16:02:52 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:07:23 2012 +0000"
      },
      "message": "mtd: docg3: add write functions\n\nAdd write capability to the docg3 driver. The writes are\npossible on a single page (512 bytes + 16 bytes), even if\nthat page is split on 2 physical pages on 2 blocks (each on\none plane).\n\nSigned-off-by: Robert Jarzmik \u003crobert.jarzmik@free.fr\u003e\nReviewed-by: Ivan Djelic \u003civan.djelic@parrot.com\u003e\nReviewed-by: Mike Dunn \u003cmikedunn@newsguy.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "316e627edcd8186f199120931f5381615a0d9aa4",
      "tree": "fe15e2f26f32e820efca0ed24a095da4fcaf18ef",
      "parents": [
        "376fbf208700f2105d4047b198ca43e1d9db0b33"
      ],
      "author": {
        "name": "Robert Jarzmik",
        "email": "robert.jarzmik@free.fr",
        "time": "Sat Nov 19 16:02:51 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:07:22 2012 +0000"
      },
      "message": "mtd: docg3: add OOB buffer to device structure\n\nAdd OOB buffer area to store the OOB data until the actual\npage is written, so that it can be completed by hardware ECC\ngenerator.\n\nSigned-off-by: Robert Jarzmik \u003crobert.jarzmik@free.fr\u003e\nReviewed-by: Ivan Djelic \u003civan.djelic@parrot.com\u003e\nReviewed-by: Mike Dunn \u003cmikedunn@newsguy.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "376fbf208700f2105d4047b198ca43e1d9db0b33",
      "tree": "6595cac0b20a58e68d4833a005346702c46752d8",
      "parents": [
        "732b63bd8c70bf8fbc50d3d3cd56c748edb8cfac"
      ],
      "author": {
        "name": "Robert Jarzmik",
        "email": "robert.jarzmik@free.fr",
        "time": "Sat Nov 19 16:02:50 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:07:21 2012 +0000"
      },
      "message": "mtd: docg3: add registers for erasing and writing\n\nAdd the required registers and commands to erase and write\nflash pages / blocks.\n\nSigned-off-by: Robert Jarzmik \u003crobert.jarzmik@free.fr\u003e\nReviewed-by: Ivan Djelic \u003civan.djelic@parrot.com\u003e\nReviewed-by: Mike Dunn \u003cmikedunn@newsguy.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "732b63bd8c70bf8fbc50d3d3cd56c748edb8cfac",
      "tree": "9885b9a2fef7cf78ddd9c563f181739d42334b43",
      "parents": [
        "ae9d4934b2d76a9fba21f5ad3692378d0e7fc24b"
      ],
      "author": {
        "name": "Robert Jarzmik",
        "email": "robert.jarzmik@free.fr",
        "time": "Sat Nov 19 16:02:49 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:07:19 2012 +0000"
      },
      "message": "mtd: docg3: add OOB layout to mtdinfo\n\nAdd OOB layout description for docg3, so that userspace can\nuse this information to setup the data for write_oob().\n\nSigned-off-by: Robert Jarzmik \u003crobert.jarzmik@free.fr\u003e\nReviewed-by: Ivan Djelic \u003civan.djelic@parrot.com\u003e\nReviewed-by: Mike Dunn \u003cmikedunn@newsguy.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "ae9d4934b2d76a9fba21f5ad3692378d0e7fc24b",
      "tree": "32dc01f47b5dc4ed0ff8e0d4b05f662e826d2745",
      "parents": [
        "32a50b3a457fda9606fd0946eb77ba28a520cd7f"
      ],
      "author": {
        "name": "Robert Jarzmik",
        "email": "robert.jarzmik@free.fr",
        "time": "Sat Nov 19 16:02:48 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:07:18 2012 +0000"
      },
      "message": "mtd: docg3: add multiple floor support\n\nAdd support for multiple floors, ie. cascaded docg3\nchips. There might be 4 docg3 chips cascaded, sharing the\nsame address space, and providing up to 4 times the storage\ncapacity of a unique chip.\n\nEach floor will be seen as an independant mtd device.\n\nSigned-off-by: Robert Jarzmik \u003crobert.jarzmik@free.fr\u003e\nReviewed-by: Ivan Djelic \u003civan.djelic@parrot.com\u003e\nReviewed-by: Mike Dunn \u003cmikedunn@newsguy.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "32a50b3a457fda9606fd0946eb77ba28a520cd7f",
      "tree": "43df59205d0b08e3257249df581f3202d44c8d02",
      "parents": [
        "34db8a5a72c5c5eb5d2811f237dcc9bf3c6425a9"
      ],
      "author": {
        "name": "Robert Jarzmik",
        "email": "robert.jarzmik@free.fr",
        "time": "Sat Nov 19 16:02:47 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:07:17 2012 +0000"
      },
      "message": "mtd: docg3: fix reading oob+data without correction\n\nFix the docg3 reads to be able to cope with all possible\ndata buffer / oob buffer / file mode combinations from\ndocg3_read_oob().\nThis especially ensures that raw reads do not use ECC\ncorrections, and AUTOOOB and PLACEOOB do use ECC\ncorrection.\n\nThe approach is to empty docg3_read() and make it a wrapper\nto docg3_read_oob(). As docg3_read_oob() handles all the\nfunny cases (no data buffer but oob buffer, data buffer but\nno oob buffer, ...), docg3_read() is just a special use of\ndocg3_read_oob().\n\nSigned-off-by: Robert Jarzmik \u003crobert.jarzmik@free.fr\u003e\nReviewed-by: Ivan Djelic \u003civan.djelic@parrot.com\u003e\nReviewed-by: Mike Dunn \u003cmikedunn@newsguy.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    }
  ],
  "next": "34db8a5a72c5c5eb5d2811f237dcc9bf3c6425a9"
}
