)]}'
{
  "log": [
    {
      "commit": "c1f3ee120bb61045b1c0a3ead620d1d65af47130",
      "tree": "908430bf2b47fe8e96ac623ae7ab6dd5698d0938",
      "parents": [
        "e619a75ff6201b567a539e787aa9af9bc63a3187",
        "9135f1901ee6449dfe338adf6e40e9c2025b8150"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sun Feb 03 18:29:41 2008 +1100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sun Feb 03 18:30:32 2008 +1100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\n"
    },
    {
      "commit": "a98894ab02bc9a3e2dc8cccab55d7ed200d3b05f",
      "tree": "2c713dd6dbf826702eec14b1aefed3b3d5b9136b",
      "parents": [
        "0c55445f201841bfd6c658c47df8311b6722f002"
      ],
      "author": {
        "name": "Tony Jones",
        "email": "tonyj@suse.de",
        "time": "Tue Sep 25 02:03:03 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:06 2008 -0800"
      },
      "message": "mtd: Convert from class_device to device for MTD/mtdchar\n\nstruct class_device is going away, this converts the code to use struct\ndevice instead.\n\nSigned-off-by: Tony Jones \u003ctonyj@suse.de\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e9d8d48253c50106d85b288939e5227083360863",
      "tree": "4a0602108bccdc31ebde7306fa1b13734531349d",
      "parents": [
        "4b3cc340614e552c476bec29d984c5a363b26494"
      ],
      "author": {
        "name": "David Scidmore",
        "email": "dscidmore@xes-inc.com",
        "time": "Tue Dec 11 17:44:30 2007 -0600"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Jan 08 07:46:12 2008 +0000"
      },
      "message": "[MTD] mtdchar.c: ioctl always returns 0 as size written for ppc64\n\n\"include/linux/mtd/mtd.h\" declares \"mtd_oob_ops.retlen\" as size_t, which\nis 64 bits on targets with a 64 bit addressing. The MEMWRITEOOB ioctl\ncalls copy_to_user() to write it back to \"mtd_oob_buf.length\", which is\ndeclared in \"include/linux/mtd-abi.h\" as uint32_t. Since powerpc is a\nbig endian architecture, this only copies the upper 32 bits of the\naddress, which is always 0.\n\nSigned-off-by: David Scidmore \u003cdscidmore@xes-inc.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "ac0c955d5048c2c580fa7166a89133f0fd76c125",
      "tree": "041ac4fb544c7244a1a0b35c8ceabc142d5645c1",
      "parents": [
        "68d09b1b6780415d82160f6b6d88e82bd724e691",
        "b377fd3982ad957c796758a90e2988401a884241"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu Aug 23 10:43:14 2007 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu Aug 23 10:43:14 2007 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "0c1eafdb063a3701eff24d21eb245e3b1d4ac7df",
      "tree": "40a9fdc947697d0b9a141d5082452a154644a36e",
      "parents": [
        "42fd552e8647316757ded0176466c41d17934dcf"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Aug 10 13:01:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Aug 11 15:47:41 2007 -0700"
      },
      "message": "mtdchar build fix\n\nsh:\n\ndrivers/mtd/mtdchar.c: In function `mtd_mmap\u0027:\ndrivers/mtd/mtdchar.c:817: error: dereferencing pointer to incomplete type\ndrivers/mtd/mtdchar.c:817: error: `VM_SHARED\u0027 undeclared (first use in this function)\ndrivers/mtd/mtdchar.c:817: error: (Each undeclared identifier is reported only once\n\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7eafaed55f4b8599cfe55449a6ed88d3693954de",
      "tree": "e18c5c5f660c1d3cdbaf31e731231e829638aa0b",
      "parents": [
        "fd5324909e410a3202c1b01bd507c2dfba58fca5"
      ],
      "author": {
        "name": "Joakim Tjernlund",
        "email": "Joakim.Tjernlund@transmode.se",
        "time": "Wed Jun 27 00:56:40 2007 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu Jun 28 18:40:32 2007 +0100"
      },
      "message": "[MTD] Only call mtd-\u003esync() method in mtdchar close if opened for write.\n\nSigned-off-by: Joakim Tjernlund \u003cJoakim.Tjernlund@transmode.se\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "408b483d9cc2d839ecbc9134958c42814865081c",
      "tree": "7b96d7fdc47a9666080f2588e98872368e64bb9b",
      "parents": [
        "1cf9827b6852d5d81130efbf2e777e50b7126d23"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@inhell4.(none)",
        "time": "Fri Apr 13 19:50:48 2007 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Apr 17 13:40:00 2007 -0400"
      },
      "message": "[MTD] Fix length comparison in MEMREADOOB\n\nThe ops.len member is not initialized, because it is unused for this\noperation. The length check needs to use ops.ooblen instead\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "4935361766cc73949fe032cd157d314f288922ba",
      "tree": "1584f81525ae05a04d515b13a4787cd8eed46029",
      "parents": [
        "2874b391bd78a5b8cb84be67297a345fbdec4ac8",
        "4f65992381112acd7d2732665a9eae492c2c9de6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 19 13:34:11 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 19 13:34:11 2007 -0800"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (49 commits)\n  [MTD] [NAND] S3C2412 fix hw ecc\n  [MTD] [NAND] Work around false compiler warning in CAFÉ driver\n  [JFFS2] printk warning fixes\n  [MTD] [MAPS] ichxrom warning fix\n  [MTD] [MAPS] amd76xrom warning fix\n  [MTD] [MAPS] esb2rom warning fixes\n  [MTD] [MAPS] ck804xrom warning fix\n  [MTD] [MAPS] netsc520 warning fix\n  [MTD] [MAPS] sc520cdp warning fix\n  [MTD] [ONENAND] onenand_base warning fix\n  [MTD] [NAND] eXcite nand flash driver\n  [MTD] Improve heuristic for detecting wrong-endian RedBoot partition table\n  [MTD] Fix RedBoot partition parsing regression harder.\n  [MTD] [NAND] S3C2410: Hardware ECC correction code\n  [JFFS2] Use MTD_OOB_AUTO to automatically place cleanmarker on NAND\n  [MTD] Clarify OOB-operation interface comments\n  [MTD] remove unused ecctype,eccsize fields from struct mtd_info\n  [MTD] [NOR] Intel: remove ugly PROGREGION macros\n  [MTD] [NOR] STAA: use writesize instead off eccsize to represent ECC block\n  [MTD] OneNAND: Invalidate bufferRAM after erase\n  ...\n"
    },
    {
      "commit": "d54b1fdb1d9f82e375a299e22bd366aad52d4c34",
      "tree": "f94768d59702dbbc0beb9a70d9be65dbc5e5108d",
      "parents": [
        "fa027c2a0a0d6d1df6b29ee99048502c93da0dd4"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:34 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:45 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 5\n\nMany struct file_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "64f60710568db5cec1a76c1d1e261b239f9ef809",
      "tree": "211872ced9ff58baf4480fc99a1d58743b001586",
      "parents": [
        "d416085572eb6a44fd2cf29fd7aed83ffc95fd88"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Jan 30 10:50:43 2007 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Fri Feb 09 15:27:12 2007 +0000"
      },
      "message": "[MTD] remove unused ecctype,eccsize fields from struct mtd_info\n\nRemove unused and broken mtd-\u003eecctype and mtd-\u003eeccsize fields\nfrom struct mtd_info. Do not remove them from userspace API\ndata structures (don\u0027t want to breake userspace) but mark them\nas obsolete by a comment. Any userspace program which uses them\nshould be half-broken anyway, so this is more about saving\ndata structure size.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "9c74034f8fc5d93fbe5656421cbbdc4c76ddda28",
      "tree": "e5a205e124c0e42899743d765598f82a228156c2",
      "parents": [
        "9fe912cea32aec18f860c95e8574410b5892481b"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "dedekind@infradead.org",
        "time": "Wed Oct 11 14:52:47 2006 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "dedekind@infradead.org",
        "time": "Wed Nov 29 17:06:38 2006 +0200"
      },
      "message": "[MTD] return error code from get_mtd_device()\n\nget_mtd_device() returns NULL in case of any failure. Teach it to return an\nerror code instead. Fix all users as well.\n\nSigned-off-by: Artem Bityutskiy \u003cdedekind@infradead.org\u003e\n"
    },
    {
      "commit": "95b93a0cd46682c6d9e8eea803fda510cb6b863a",
      "tree": "7e430d3fc04ed20791187d144730dd3052292c67",
      "parents": [
        "998a43e72d20afa7566dad66fd866fe939a89c09"
      ],
      "author": {
        "name": "Burman Yan",
        "email": "yan_952@hotmail.com",
        "time": "Wed Nov 15 21:10:29 2006 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Nov 28 23:47:21 2006 +0000"
      },
      "message": "[MTD] replace kmalloc+memset with kzalloc\n\nSigned-off-by: Yan Burman \u003cyan_952@hotmail.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "7014568bad55c20b7ee4f439d78c9e875912d51f",
      "tree": "1b558ef8d77d31925cc396ed69d8f785615cf09f",
      "parents": [
        "191876729901d0c8dab8a331f9a1e4b73a56457b"
      ],
      "author": {
        "name": "Vitaly Wool",
        "email": "vwool@ru.mvista.com",
        "time": "Fri Nov 03 18:20:38 2006 +0300"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Nov 28 22:39:03 2006 +0000"
      },
      "message": "[MTD] [NAND] remove len/ooblen confusion.\n\nAs was discussed between Ricard Wanderlöf, David Woodhouse, Artem \nBityutskiy and me, the current API for reading/writing OOB is confusing. \n\nThe thing that introduces confusion is the need to specify ops.len \ntogether with ops.ooblen for reads/writes that concern only OOB not data \narea. So, ops.len is overloaded: when ops.datbuf !\u003d NULL it serves to \nspecify the length of the data read, and when ops.datbuf \u003d\u003d NULL, it \nserves to specify the full OOB read length.\n\nThe patch inlined below is the slightly updated version of the previous \npatch serving the same purpose, but with the new Artem\u0027s comments taken \ninto account.\n\nArtem, BTW, thanks a lot for your valuable input!\n\nSigned-off-by: Vitaly Wool \u003cvwool@ru.mvista.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "d25ade71ef80e6312b3e0b53583db518ebb11798",
      "tree": "d7813968fe4475804935e7dca3d8c58388c38785",
      "parents": [
        "42cb1403af8a755b3dfebeb9d2a5f73bc48832a1"
      ],
      "author": {
        "name": "Ricard Wanderlöf",
        "email": "ricard.wanderlof@axis.com",
        "time": "Tue Oct 17 17:27:11 2006 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sat Oct 21 16:33:17 2006 +0100"
      },
      "message": "[MTD] mtdchar: Fix MEMGETOOBSEL and ECCGETLAYOUT ioctls\n\n1. The ECCGETLAYOUT ioctl copy_to_user() call has a superfluous \u0027\u0026\u0027\ncausing the resulting information to be garbage rather than the intended\nmtd-\u003eecclayout.\n\n2. The MEMGETOOBSEL misses copying mtd-\u003eecclayout-\u003eeccbytes so the\nresulting field of the returned structure contains garbage.\n\nSigned-off-by: Ricard Wanderlöf \u003cricardw@axis.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "ea59830db01b6b3d6bda9f84e3d272a346115e8e",
      "tree": "85fe1044ae7aad2ef75c3afcbe7db388a8d92957",
      "parents": [
        "de591dacf3034977b3fb94b61d08240c8b35c39d"
      ],
      "author": {
        "name": "Josef \u0027Jeff\u0027 Sipek",
        "email": "jeffpc@josefsipek.net",
        "time": "Sat Sep 16 21:09:29 2006 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sun Sep 17 17:04:23 2006 +0100"
      },
      "message": "[MTD] Use SEEK_{SET,CUR,END} instead of hardcoded values in mtdchar lseek()\n\nSigned-off-by: Josef \u0027Jeff\u0027 Sipek \u003cjeffpc@josefsipek.net\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "1887f517e3cdf5f1e9c0e4daaa864450415a8f61",
      "tree": "1f86e7ef7c98283e451ad053c321bea551224cb6",
      "parents": [
        "0e4ced59de7c0c23588d2b3f6d302592545cd12e"
      ],
      "author": {
        "name": "Herbert Valerio Riedel",
        "email": "hvr@gnu.org",
        "time": "Sat Jun 24 00:03:36 2006 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Jun 27 23:22:07 2006 +0100"
      },
      "message": "[MTD] CORE mtdchar.c: fix off-by-one error in lseek()\n\nAllow lseek(mtdchar_fd, 0, SEEK_END) to succeed, which currently fails\nwith EINVAL.\n\nlseek(fd, 0, SEEK_END) should result into the same fileposition as\nlseek(fd, 0, SEEK_SET) + read(fd, buf, length(fd))\n\nFurthermore, lseek(fd, 0, SEEK_CUR) should return the current file position,\nwhich in case of an encountered EOF should not result in EINVAL\n\nSigned-off-by: Herbert Valerio Riedel \u003chvr@gnu.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "7bc3312bef4d6f220812500c0de7868fb7625a41",
      "tree": "9ad49e850cdfe9868a19a37681bbf4d403e47ed3",
      "parents": [
        "7e4178f90eec862affc97469118d5008bd1b5bda"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@cruncher.tec.linutronix.de",
        "time": "Tue Jun 20 20:05:05 2006 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Jun 20 20:31:24 2006 +0100"
      },
      "message": "[MTD] NAND: Fix breakage all over the place\n\nFollowing problems are addressed:\n\n- wrong status caused early break out of nand_wait()\n- removed the bogus status check in nand_wait() which\n  is a relict of the abandoned support for interrupted\n  erase.\n- status check moved to the correct place in read_oob\n- oob support for syndrom based ecc with strange layouts\n- use given offset in the AUTOOOB based oob operations\n\nPartially based on a patch from Vitaly Vool \u003cvwool@ru.mvista.com\u003e\nThanks to Savin Zlobec \u003csavin@epico.si\u003e for tracking down the\nstatus problem.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "73c619ea0e49c9306afa7ea53c3362fbc56ffd70",
      "tree": "d71189bae015f56bf72e7421d4cf1a307b3c1fb8",
      "parents": [
        "92cbfdcc3661d7670b01b92b89811cd3a2412297"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@wh.fh-wedel.de",
        "time": "Tue May 30 14:25:35 2006 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@wh.fh-wedel.de",
        "time": "Tue May 30 14:25:35 2006 +0200"
      },
      "message": "[MTD] Disconnect struct mtd_info from ABI\n\nmtdchar.c direcly copied part of struct mtd_info to userspace, thereby\nimplicitly making it part of the ABI.  With this patch, struct\nmtd_info is independent of the ABI and can have its fields removed,\nreordered, etc.\n\nSigned-off-by: Joern Engel \u003cjoern@wh.fh-wedel.de\u003e\n"
    },
    {
      "commit": "f1a28c02843efcfcc41982149880bac3ac180234",
      "tree": "b15ca1a140e463ef3cde6b9a8591e7be172ee1f1",
      "parents": [
        "9a1fcdfd4bee27c418424cac47abf7c049541297"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@cruncher.tec.linutronix.de",
        "time": "Tue May 30 00:37:34 2006 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@cruncher.tec.linutronix.de",
        "time": "Tue May 30 00:37:34 2006 +0200"
      },
      "message": "[MTD] NAND Expose the new raw mode function and status info to userspace\n\nThe raw read/write access to NAND (without ECC) has been changed in the\nNAND rework. Expose the new way - setting the file mode via ioctl - to\nuserspace. Also allow to read out the ecc statistics information so userspace\ntools can see that bitflips happened and whether errors where correctable\nor not. Also expose the number of bad blocks for the partition, so nandwrite\ncan check if the data fits into the parition before writing to it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9a1fcdfd4bee27c418424cac47abf7c049541297",
      "tree": "5baa5f1e1d1a296a319bf6a5a4b636668c107e00",
      "parents": [
        "8593fbc68b0df1168995de76d1af38eb62fd6b62"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@cruncher.tec.linutronix.de",
        "time": "Mon May 29 14:56:39 2006 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@cruncher.tec.linutronix.de",
        "time": "Mon May 29 15:06:51 2006 +0200"
      },
      "message": "[MTD] NAND Signal that a bitflip was corrected by ECC\n\nReturn -EUCLEAN on read when a bitflip was detected and corrected, so the\nclients can react and eventually copy the affected block to a spare one.\nMake all in kernel users aware of the change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8593fbc68b0df1168995de76d1af38eb62fd6b62",
      "tree": "dd244def53d2be4f1fbff9f74eac404fab8e240f",
      "parents": [
        "f4a43cfcecfcaeeaa40a9dbc1d1378298c22446e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@cruncher.tec.linutronix.de",
        "time": "Mon May 29 03:26:58 2006 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@cruncher.tec.linutronix.de",
        "time": "Mon May 29 15:06:51 2006 +0200"
      },
      "message": "[MTD] Rework the out of band handling completely\n\nHopefully the last iteration on this!\n\nThe handling of out of band data on NAND was accompanied by tons of fruitless\ndiscussions and halfarsed patches to make it work for a particular\nproblem. Sufficiently annoyed by I all those \"I know it better\" mails and the\nresonable amount of discarded \"it solves my problem\" patches, I finally decided\nto go for the big rework. After removing the _ecc variants of mtd read/write\nfunctions the solution to satisfy the various requirements was to refactor the\nread/write _oob functions in mtd.\n\nThe major change is that read/write_oob now takes a pointer to an operation\ndescriptor structure \"struct mtd_oob_ops\".instead of having a function with at\nleast seven arguments.\n\nread/write_oob which should probably renamed to a more descriptive name, can do\nthe following tasks:\n\n- read/write out of band data\n- read/write data content and out of band data\n- read/write raw data content and out of band data (ecc disabled)\n\nstruct mtd_oob_ops has a mode field, which determines the oob handling mode.\n\nAside of the MTD_OOB_RAW mode, which is intended to be especially for\ndiagnostic purposes and some internal functions e.g. bad block table creation,\nthe other two modes are for mtd clients:\n\nMTD_OOB_PLACE puts/gets the given oob data exactly to/from the place which is\ndescribed by the ooboffs and ooblen fields of the mtd_oob_ops strcuture. It\u0027s\nup to the caller to make sure that the byte positions are not used by the ECC\nplacement algorithms.\n\nMTD_OOB_AUTO puts/gets the given oob data automaticaly to/from the places in\nthe out of band area which are described by the oobfree tuples in the ecclayout\ndata structre which is associated to the devicee.\n\nThe decision whether data plus oob or oob only handling is done depends on the\nsetting of the datbuf member of the data structure. When datbuf \u003d\u003d NULL then\nthe internal read/write_oob functions are selected, otherwise the read/write\ndata routines are invoked.\n\nTested on a few platforms with all variants. Please be aware of possible\nregressions for your particular device / application scenario\n\nDisclaimer: Any whining will be ignored from those who just contributed \"hot\nair blurb\" and never sat down to tackle the underlying problem of the mess in\nthe NAND driver grown over time and the big chunk of work to fix up the\nexisting users. The problem was not the holiness of the existing MTD\ninterfaces. The problems was the lack of time to go for the big overhaul. It\u0027s\neasy to add more mess to the existing one, but it takes alot of effort to go\nfor a real solution.\n\nImprovements and bugfixes are welcome!\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f4a43cfcecfcaeeaa40a9dbc1d1378298c22446e",
      "tree": "5647ebccb720c9d8ca314c8a3a5f6a660d000019",
      "parents": [
        "5bd34c091a044d130601370c370f84b1c59f1627"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@cruncher.tec.linutronix.de",
        "time": "Sun May 28 11:01:53 2006 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@cruncher.tec.linutronix.de",
        "time": "Mon May 29 15:06:50 2006 +0200"
      },
      "message": "[MTD] Remove silly MTD_WRITE/READ macros\n\nMost of those macros are unused and the used ones just obfuscate\nthe code. Remove them and fixup all users.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5bd34c091a044d130601370c370f84b1c59f1627",
      "tree": "8b08012a9a30186a8805d506f8438e2944f5f31b",
      "parents": [
        "ff268fb8791cf18df536113355d7184007c269d9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@cruncher.tec.linutronix.de",
        "time": "Sat May 27 22:16:10 2006 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@cruncher.tec.linutronix.de",
        "time": "Mon May 29 15:06:50 2006 +0200"
      },
      "message": "[MTD] NAND Replace oobinfo by ecclayout\n\nThe nand_oobinfo structure is not fitting the newer error correction\ndemands anymore. Replace it by struct nand_ecclayout and fixup the users\nall over the place. Keep the nand_oobinfo based ioctl for user space\ncompability reasons.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ff268fb8791cf18df536113355d7184007c269d9",
      "tree": "3a7d9fc72b28f5a0f11a2f8b08174b1bee6ea20d",
      "parents": [
        "8be834f76291fdcc0614cb84926c6910b9f2ecbc"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@cruncher.tec.linutronix.de",
        "time": "Sat May 27 20:36:12 2006 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@cruncher.tec.linutronix.de",
        "time": "Mon May 29 15:06:49 2006 +0200"
      },
      "message": "[MTD] NAND Consolidate oobinfo handling\n\nThe info structure for out of band data was copied into\nthe mtd structure. Make it a pointer and remove the ability\nto set it from userspace. The position of ecc bytes is\ndefined by the hardware and should not be changed by software.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "493c646077ef0b8668ed71b8057f81cb7454af87",
      "tree": "e05992a8d8c9ba911e5a9809dc0678ca50e96c76",
      "parents": [
        "3cecf69ecde22199699c4f0e609dfed2a487b674"
      ],
      "author": {
        "name": "Kyungmin Park",
        "email": "kyungmin.park@samsung.com",
        "time": "Fri May 12 17:03:07 2006 +0300"
      },
      "committer": {
        "name": "Jarkko Lavinen",
        "email": "lavinen@pentafluge.infradead.org",
        "time": "Fri May 12 15:35:50 2006 +0100"
      },
      "message": "OneNAND: One-Time Programmable (OTP) support\n\nOne Block of the NAND Flash Array memory is reserved as\na One-Time Programmable Block memory area.\nAlso, 1st Block of NAND Flash Array can be used as OTP.\n\nThe OTP block can be read, programmed and locked using the same\noperations as any other NAND Flash Array memory block.\nOTP block cannot be erased.\n\nOTP block is fully-guaranteed to be a valid block.\n\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\n"
    },
    {
      "commit": "b802c0741103aa92251d536c115874d51f802ec8",
      "tree": "cf2cb539e68b224ad06b4a43350454b847543381",
      "parents": [
        "cd2866faaa0efd9af18fe4a86d129cbd99240796"
      ],
      "author": {
        "name": "Thago Galesi",
        "email": "thiagogalesi@gmail.com",
        "time": "Mon Apr 17 17:38:15 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Mon Apr 17 17:38:15 2006 +0100"
      },
      "message": "[PATCH] Remove unnecessary kmalloc/kfree calls in mtdchar\n\nThis patch removes repeated calls to kmalloc / kfree in mtd_write /\nmtd_read functions, replacing them by a single kmalloc / kfree pair.\n\nSigned-off-by: Thiago Galesi \u003cthiagogalesi@gmail.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "97894cda5773e59bd13e87b72077751099419a9f",
      "tree": "9a039ab8c122ae9a4f64d285e2da0efd1356789e",
      "parents": [
        "b95f9609c761a14d1e7be1a89f2a66399b5ae343"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Nov 07 11:15:26 2005 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Mon Nov 07 13:37:38 2005 +0100"
      },
      "message": "[MTD] core: Clean up trailing white spaces\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "15fdc52f35b853e3fa550087987b5ee4ffbd199b",
      "tree": "000d8934d1e68cbee764d402de00a69a34ff93ea",
      "parents": [
        "9090ed0b82f817bde471bdbb2e73278ab75f5fd3"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Mon Nov 07 00:14:42 2005 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Mon Nov 07 00:14:42 2005 +0100"
      },
      "message": "[MTD] Tidy up Tims include cleanup\n\nWhile we are at it, reorder the includes and\nremove the silly /* TASK */ comment\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2fc2991175bf77395e6b15fe6b2304d3bf72da40",
      "tree": "b0ff38c09240e7c00e1577d447ebe89143d752dc",
      "parents": [
        "8b491d750885ebe8e7d385ce4186c85957d67123",
        "7015faa7df829876a0f931cd18aa6d7c24a1b581"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Sun Nov 06 15:36:37 2005 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Sun Nov 06 15:36:37 2005 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of /home/tglx/work/mtd/git/linux-2.6.git/\n"
    },
    {
      "commit": "4e57b6817880946a3a78d5d8cad1ace363f7e449",
      "tree": "b6b5f3f9e8e52cc55d98239a4992e72e983c8fa4",
      "parents": [
        "b0423a0d9cc836b2c3d796623cd19236bfedfe63"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Sun Oct 30 15:03:48 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:32 2005 -0800"
      },
      "message": "[PATCH] fix missing includes\n\nI recently picked up my older work to remove unnecessary #includes of\nsched.h, starting from a patch by Dave Jones to not include sched.h\nfrom module.h. This reduces the number of indirect includes of sched.h\nby ~300. Another ~400 pointless direct includes can be removed after\nthis disentangling (patch to follow later).\nHowever, quite a few indirect includes need to be fixed up for this.\n\nIn order to feed the patches through -mm with as little disturbance as\npossible, I\u0027ve split out the fixes I accumulated up to now (complete for\ni386 and x86_64, more archs to follow later) and post them before the real\npatch.  This way this large part of the patch is kept simple with only\nadding #includes, and all hunks are independent of each other.  So if any\nhunk rejects or gets in the way of other patches, just drop it.  My scripts\nwill pick it up again in the next round.\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "53f4654272df7c51064825024340554b39c9efba",
      "tree": "e3e7b82a6bb0040ffbd267b250be2720704b98f2",
      "parents": [
        "51d172d5f3a193e4b8f76179b2e55d7a36b94117"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 27 22:25:43 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 28 09:52:52 2005 -0700"
      },
      "message": "[PATCH] Driver Core: fix up all callers of class_device_create()\n\nThe previous patch adding the ability to nest struct class_device\nchanged the paramaters to the call class_device_create().  This patch\nfixes up all in-kernel users of the function.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8b491d750885ebe8e7d385ce4186c85957d67123",
      "tree": "18c7eb52bfc8821eaf08430fdaa5ce70078f2200",
      "parents": [
        "1da2c9a638f8af7be3daf1fa8dbd087b3284d16e"
      ],
      "author": {
        "name": "Todd Poynor",
        "email": "tpoynor@mvista.com",
        "time": "Thu Aug 04 02:05:51 2005 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Thu Aug 04 12:52:40 2005 +0200"
      },
      "message": "[MTD] mtdchar: Return EINVAL for bad seeks instead of fixing up to valid byte\n\nmtdchar return -EINVAL for seek prior to offset 0 or to beyond the last\nbyte in the device/partition, similar to various other seek methods,\ninstead of fixing up to first or last byte.\n\nSigned-off-by: Todd Poynor \u003ctpoynor@mvista.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3a7a882420d378b59542a048075e40428c771a12",
      "tree": "98b157a507ee763a78d60af22c67bf818ef0ef2c",
      "parents": [
        "9bc7b38731dd1cc1635ab12f8de48866f603b06e"
      ],
      "author": {
        "name": "Coywolf Qi Hunt",
        "email": "coywolf@sosdg.org",
        "time": "Mon Jul 04 12:15:28 2005 -0500"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Mon Jul 04 20:49:54 2005 +0200"
      },
      "message": "[MTD] mtdchar: Return the real error code when create_class() failed\n\nSigned-off-by: Coywolf Qi Hunt \u003ccoywolf@sosdg.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9bc7b38731dd1cc1635ab12f8de48866f603b06e",
      "tree": "080932fb759f2f122ed81c88d15b336c025a2ff4",
      "parents": [
        "bd7bcf52dabba9c391142fd515221fcb87b7c712"
      ],
      "author": {
        "name": "Todd Poynor",
        "email": "tpoynor@mvista.com",
        "time": "Thu Jun 30 01:23:27 2005 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Fri Jul 01 11:05:46 2005 +0200"
      },
      "message": "[MTD] mtdchar.c: Replace DEVFS by udev\n\nSwitch from DEVFS to udev for dynamic creation of device nodes for mtd\nchar devices.\n\nCreates a new LDM class \"mtd\" with writeable and read-only devices\nregistered for each mtdchar device.\n\nFrom: Paolo Galtieri \u003cpgaltieri@mvista.com\u003e\nSigned-off-by: Todd Poynor \u003ctpoynor@mvista.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "81dba488792b29cc8cb2b3d49407be05303dde16",
      "tree": "60838f712b06c3e8a6acf22df81992d8d26c139a",
      "parents": [
        "998cf6403cdaac74211c619772bea027274ffc42"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@cam.org",
        "time": "Fri Apr 01 16:36:15 2005 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Mon May 23 13:07:33 2005 +0200"
      },
      "message": "[MTD] Reset file position when switching OTP mode\n\nSigned-off-by: Nicolas Pitre \u003cnico@cam.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "045e9a5d51ced27bfcbdb78071534ce6fd36b33d",
      "tree": "d680484aae4d7ac238ab4a8c1c5cc5cd88e512df",
      "parents": [
        "31f4233baeaaeb7c563d2766781c6592ad259b6a"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@cam.org",
        "time": "Tue Feb 08 19:12:53 2005 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Mon May 23 12:26:40 2005 +0200"
      },
      "message": "[MTD] Unabuse file-f_mode for OTP purpose\n\nSigned-off-by: Nicolas Pitre \u003cnico@cam.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "31f4233baeaaeb7c563d2766781c6592ad259b6a",
      "tree": "475ffcfcc1fe91a47d6b8c413d8f25b3fdfcc1c0",
      "parents": [
        "f77814dd5728edaf1239d19755d2aa0d8c33d861"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@cam.org",
        "time": "Tue Feb 08 17:45:55 2005 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Mon May 23 12:26:04 2005 +0200"
      },
      "message": "[MTD] User interface to Protection Registers\n\nThis is implemented using a ioctl to switch the MTD char device into\none of the different OTP \"modes\", at which point read/write/seek can\noperate on the selected OTP area.  Also some extra ioctls to query\nfor size and lock protection segments or groups.  Some example user\nspace utilities are provided.\n\nSigned-off-by: Nicolas Pitre \u003cnico@cam.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
