)]}'
{
  "log": [
    {
      "commit": "cc1887f3d8ae8ea61efa1a75af8ec0467b9dd546",
      "tree": "3d02d3dfef8803fe9130ebac2172b6271b907109",
      "parents": [
        "9ae61c6cb69f5251d160576c324948805f97e901"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Feb 20 23:48:38 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Feb 20 16:48:18 2006 -0500"
      },
      "message": "[PATCH] libata: fix qc-\u003en_elem \u003d\u003d 0 case handling in ata_qc_next_sg\n\nThis patch makes ata_for_each_sg() start with pad_sgent when\nqc-\u003en_elem is zero.  Previously, ata_for_each_sg() unconditionally\nstarted with qc-\u003e__sg, handling the first sg to fill_sg() routines\neven when the entry was invalid.  And while at it, unwind ?: in\nata_qc_next_sg() into if statement.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "8d238e012469a9a332c78d6a69a8a46ac4b1e9c2",
      "tree": "a882e4ec38a87d5ee61653ff9b16ccea57c2bf04",
      "parents": [
        "012b265f76ce5d497b182569dc77f2c68662bead"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue Jan 17 20:50:31 2006 +0000"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Jan 17 19:37:45 2006 -0500"
      },
      "message": "[PATCH] libata: Fix heuristic typos add LBA48PIO flag and support code, add IRQ flag for next diff\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "1bc4ccfff8675adc3d96f91245eb7e2dc0043ca9",
      "tree": "03bd5a2d64c52dff3c68a66e37f43b4109854170",
      "parents": [
        "ffa29456cd316a5394cdd489de5af3bf87d3c485"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 09 17:18:14 2006 +0000"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Jan 17 08:25:39 2006 -0500"
      },
      "message": "[PATCH] libata: add a function to decide if we need iordy\n\nThis ought to be simple but for PIO2 we have to poke around the drive\ndata to get it 100% correct.\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "d99cf9d679a520d67f81d805b7cb91c68e1847f0",
      "tree": "415aefe6d168df27c006fcc53b1ea5242eabaaea",
      "parents": [
        "7ed40918a386afc2e14a6d3da563ea6d13686c25",
        "e650c305ec3178818b317dad37a6d9c7fa8ba28d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 09:01:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 09:01:25 2006 -0800"
      },
      "message": "Merge branch \u0027post-2.6.15\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block\n\nManual fixup for merge with Jens\u0027 \"Suspend support for libata\", commit\nID 9b847548663ef1039dd49f0eb4463d001e596bc3.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9b847548663ef1039dd49f0eb4463d001e596bc3",
      "tree": "105a0eece522b1347bea57f609f6c04ed673fdb3",
      "parents": [
        "88202a0c84e1951d6630d1d557d4801a8cc5b5ef"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jan 06 09:28:07 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:36:09 2006 -0800"
      },
      "message": "[PATCH] Suspend support for libata\n\nThis patch adds suspend patch to libata, and ata_piix in particular. For\nmost low level drivers, they should just need to add the 4 hooks to\nwork. As I can only test ata_piix, I didn\u0027t enable it for more\nthough.\n\nSuspend support is the single most important feature on a notebook, and\nmost new notebooks have sata drives. It\u0027s quite embarrassing that we\n_still_ do not support this. Right now, it\u0027s perfectly possible to\nsuspend the drive in mid-transfer.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a3dccc42556537a48f39ee9a9e7ab90a933f766",
      "tree": "e67d7b314d4e0732bfa5558bef4f1941ea80cb58",
      "parents": [
        "93c9338713d4e11102cd09b4670ad42a336b06a3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Jan 06 09:56:18 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jan 06 09:56:18 2006 +0100"
      },
      "message": "[BLOCK] add FUA support to libata\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "e508a391a0705f770ef1c4f1c304678b0e8e4fe8",
      "tree": "5ba0357fb21e08e52b8e904e88ef692dc78855fb",
      "parents": [
        "d00d598ffbba974d9045ba8b95296655fe2162c5",
        "50630195bbdfe1ca775d94cd68a5f18bc1b717e4"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Dec 13 02:30:04 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Dec 13 02:30:04 2005 -0500"
      },
      "message": "Merge branch \u0027upstream-fixes\u0027\n"
    },
    {
      "commit": "50630195bbdfe1ca775d94cd68a5f18bc1b717e4",
      "tree": "ad1e44e89d714b2785fc33a5800488571db7a7c5",
      "parents": [
        "be0d9b6c7aeaad1683059c00131cabd4c894c17c"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Dec 13 02:29:45 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Dec 13 02:29:45 2005 -0500"
      },
      "message": "[libata] mark certain hardware (or drivers) with a no-atapi flag\n\nSome hardware does not support the PACKET command at all.\nOther hardware supports ATAPI, but the driver does something nasty such\nas calling BUG() when an ATAPI command is issued.\n\nFor these such cases, we mark them with a new flag, ATA_FLAG_NO_ATAPI.\n\nInitial version contributed by Ben Collins.\n"
    },
    {
      "commit": "b5632303401c231bf270ef36f1013e52caf4caf9",
      "tree": "671b2a1d0d32d30d935535440ce4e57fdff3a709",
      "parents": [
        "82033adf0a4b26eb0c0c90e224848431e2a59bc6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Dec 13 14:51:25 2005 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Dec 13 01:34:46 2005 -0500"
      },
      "message": "[PATCH] libata: remove unused qc-\u003ewaiting\n\nThere is no user of qc-\u003ewaiting left after ata_exec_internal()\nchanges.  Kill the field.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "a2a7a662f80d8b7f2295a36de1f9b033ed0b910c",
      "tree": "a04872ba93c1eff094d2d37a0435e1d965d43f22",
      "parents": [
        "575ab52a218e4ff0667a6cbd972c3af443ee8713"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Dec 13 14:48:31 2005 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Dec 13 01:34:45 2005 -0500"
      },
      "message": "[PATCH] libata: implement ata_exec_internal()\n\nThis patch implements ata_exec_internal() function which performs\nlibata internal command execution.  Previously, this was done by each\nuser by manually initializing a qc, issueing it, waiting for its\ncompletion and handling errors.  In addition to obvious code\nfactoring, using ata_exec_internal() fixes the following bugs.\n\n* qc not freed on issue failure\n* ap-\u003eqactive clearing could race with the next internal command\n* race between timeout handling and irq\n* ignoring error condition not represented in tf-\u003estatus\n\nAlso, qc \u0026 hardware are not accessed anymore once it\u0027s completed,\nmaking internal commands more conformant with general semantics.\nata_exec_internal() also makes it easy to issue internal commands from\nmultiple threads if that becomes necessary.\n\nThis patch only implements ata_exec_internal().  A following patch\nwill convert all users.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n\n--\n\nJeff, all patches have been regenerated against upstream branch as of\ntoday.  (575ab52a218e4ff0667a6cbd972c3af443ee8713)\n\nAlso, I took out a debug printk from ata_exec_internal (don\u0027t know how\nthat one got left there).  Other than that, all patches are identical\nto the previous posting.\n\nThanks. :-)\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "a22e2eb0710798009b8e696ae911aef745089dd6",
      "tree": "93421443499249db0301868e07f24156c456cf7a",
      "parents": [
        "c14b8331ec4843e4f2b67a4d847a0d812a50e43c"
      ],
      "author": {
        "name": "Albert Lee",
        "email": "albertcc@tw.ibm.com",
        "time": "Mon Dec 05 15:38:02 2005 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Dec 06 04:49:22 2005 -0500"
      },
      "message": "[PATCH] libata: move err_mask to ata_queued_cmd\n\n  - remove err_mask from the parameter list of the complete functions\n  - move err_mask to ata_queued_cmd\n  - initialize qc-\u003eerr_mask when needed\n  - for each function call to ata_qc_complete(), replace the err_mask parameter with qc-\u003eerr_mask.\n\nSigned-off-by: Albert Lee \u003calbertcc@tw.ibm.com\u003e\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "e74ac79956ecb56e71a398c57eb10fab8c58a562",
      "tree": "546f400f9b011351eb622af3f9e9edea4fab30a8",
      "parents": [
        "c6e6e666cbfe40f0d7fb1a293ff6332973acac37"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Nov 14 18:16:37 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Nov 14 18:16:37 2005 -0500"
      },
      "message": "[libata] remove two unused fields from struct ata_port\n"
    },
    {
      "commit": "2c13b7cee045af689b36349c2bc6a9ed6e3d73fa",
      "tree": "594a061fa9b9c1fa03bfe01c9177cc016e1bb1a4",
      "parents": [
        "e1410f2d951d45aee3bdbcc05ecedaaa9db276e5"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Nov 14 14:14:16 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Nov 14 14:14:16 2005 -0500"
      },
      "message": "[libata] minor fixes, new helpers\n\n- in ata_dev_identify(), don\u0027t assume that all devices are either\n  ATA or ATAPI.  In the future, this code will see port multipliers\n  and other devices.\n- make a debugging printk less verbose\n- add new helper ata_qc_reinit()\n- add new helper BPRINTK() and port flag ATA_FLAG_DEBUGMSG, for\n  fine-grained debugging use.\n"
    },
    {
      "commit": "d72d6f1b5647258e83819b51f72fe37e2b7d7965",
      "tree": "d3a08af50624d9b3e2287367b7e9f5fcc93bdce5",
      "parents": [
        "33ddcbbfb1d9f1bf1259531ae0ba8400ea3c8ba1",
        "8a87a0b6313109d2fea87b1271d497c954ce2ca8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Nov 11 14:04:37 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Nov 11 14:04:37 2005 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-for-linus-2.6\n"
    },
    {
      "commit": "e99f8b5efe78110e4af10f35ebf11feeef8f43b6",
      "tree": "749f7803380b81eb711acf5818b2c2db2bbc9cd2",
      "parents": [
        "29179539dac74bf46b519b889602f23841be12e8"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue Nov 08 14:09:44 2005 +0000"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Nov 11 08:19:55 2005 -0500"
      },
      "message": "[PATCH] libata: propogate host private data from probe function\n\nThis will let me chop the code size of several drivers right down. In\nmany cases the actual private data is very useful and constant for a\ngiven host controller so being able to just pass it at probe time would\nbe very useful indeed (eg with the via driver would could pass the udma\nclocking and reduce the code size, or with the AMD one the UDMA\nmultiplier and the offset)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "1c72d8d90da3b29540c3c281a3e0b743ee6b6f74",
      "tree": "bc95e6460038369531dac40b2450dbf017f1153a",
      "parents": [
        "3b7d697dfb7d03edb87e50b743a7ecff029618e9"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Nov 10 16:21:38 2005 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Nov 11 05:48:46 2005 -0500"
      },
      "message": "[PATCH] libata.h needs dma-mapping.h\n\nOn Alpha:\n\ninclude/linux/libata.h: In function `ata_pad_alloc\u0027:\ninclude/linux/libata.h:785: warning: implicit declaration of function `dma_alloc_coherent\u0027\ninclude/linux/libata.h:786: warning: assignment makes pointer from integer without a cast\ninclude/linux/libata.h: In function `ata_pad_free\u0027:\ninclude/linux/libata.h:792: warning: implicit declaration of function `dma_free_coherent\u0027\n\n(I have a decouple-some-header-files cleanup in -mm, so it\u0027s causing some\nfallout of this nature)\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "d0be4a7d29ad0bd3ce2209dd9e46d410b632db59",
      "tree": "a76b11820f03826b1a32b8e9117eb57e19874776",
      "parents": [
        "c0ed79a331caa68ac027dd6afc02bb5b58ef2798"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Oct 31 18:31:40 2005 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.(none)",
        "time": "Wed Nov 09 15:44:09 2005 -0500"
      },
      "message": "[SCSI] remove Scsi_Host_Template typedef\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "193515d51ccb363165d6b09e9ba5c21089e34bad",
      "tree": "9eec151ee1c2091640862adf79f99eca024a98f1",
      "parents": [
        "0b154bb7d0cce80e9c0bcf11d4f9e71b59409d26"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Nov 07 00:59:37 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Nov 07 00:59:37 2005 -0500"
      },
      "message": "[libata] eliminate use of drivers/scsi/scsi.h compatibility header/defines\n"
    },
    {
      "commit": "6037d6bbdff65eb5a84fe35e140f4da4f7cc103a",
      "tree": "67b86d8559935c04a0918afd3274eef778017d57",
      "parents": [
        "c2cc87ca9561ddfe744d446789cc10f507e87db9"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Nov 04 22:08:00 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Nov 04 22:08:00 2005 -0500"
      },
      "message": "[libata] ATAPI pad allocation fixes/cleanup\n\nUse ata_pad_{alloc,free} in two drivers, to factor out common code.\n\nAdd ata_pad_{alloc,free} to two other drivers, which needed the padding\nbut had not been updated.\n"
    },
    {
      "commit": "054ee8fd39f1b5d50e803f126b63f400d631eea4",
      "tree": "2819e388f853de88e09635de8e38017b563069bc",
      "parents": [
        "f0612bbc41f65f5a684f69d714a1a17a6f0f40c5",
        "a7dac447bb9cef27d4d29cdf63e2d7809c50b1f4"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 30 04:50:22 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 30 04:50:22 2005 -0500"
      },
      "message": "Merge branch \u0027upstream\u0027\n"
    },
    {
      "commit": "a7dac447bb9cef27d4d29cdf63e2d7809c50b1f4",
      "tree": "a8935490cdd374aba3a804ba9f79d1aed67db36d",
      "parents": [
        "81cfb8864c73230eb1c37753aba517db15cf4d8f"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 30 04:44:42 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 30 04:44:42 2005 -0500"
      },
      "message": "[libata] change ata_qc_complete() to take error mask as second arg\n\nThe second argument to ata_qc_complete() was being used for two\npurposes: communicate the ATA Status register to the completion\nfunction, and indicate an error.  On legacy PCI IDE hardware, the latter\nis often implicit in the former.  On more modern hardware, the driver\noften completely emulated a Status register value, passing ATA_ERR as an\nindication that something went wrong.\n\nNow that previous code changes have eliminated the need to use drv_stat\narg to communicate the ATA Status register value, we can convert it to a\nmask of possible error classes.\n\nThis will lead to more flexible error handling in the future.\n"
    },
    {
      "commit": "f0612bbc41f65f5a684f69d714a1a17a6f0f40c5",
      "tree": "8c070070bb355843cfa4635643e9da7c2c4cd44a",
      "parents": [
        "b0c4e148bd591629749d02a8fbc8d81c26d548cf",
        "81cfb8864c73230eb1c37753aba517db15cf4d8f"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 30 01:58:18 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 30 01:58:18 2005 -0500"
      },
      "message": "Merge branch \u0027upstream\u0027\n"
    },
    {
      "commit": "0169e284f6b6b263cc7c2ed25986b96cd6fda610",
      "tree": "266623b0131e310de6e77a2c87c42b4092902fa4",
      "parents": [
        "be15cd72d256e5eb3261a781b8507fac83ab33f6"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Oct 29 21:25:10 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Oct 29 21:25:10 2005 -0400"
      },
      "message": "[libata] remove ata_chk_err(), -\u003echeck_err() hook.\n\nWe now depend on -\u003etf_read() to provide us with the contents\nof the Error shadow register.\n"
    },
    {
      "commit": "7a9f8f93d2dad38f30fbc79d8a1e6517373aa4b6",
      "tree": "9116e5bde860d00685c5b6eee7be5ba9899aabb9",
      "parents": [
        "972c26bdd6b58e7534473c4f7928584578cf43f4",
        "5fadd053d9bb4345ec6f405d24db4e7eb49cf81e"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Oct 28 12:29:23 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Oct 28 12:29:23 2005 -0400"
      },
      "message": "Merge branch \u0027master\u0027\n"
    },
    {
      "commit": "057ace5e79da9ebf2aa82833cfea825533ac06fb",
      "tree": "f27ed6cbd9a185041862471ef421e6415e099344",
      "parents": [
        "cf482935c6abe5245e481213c6e6df808c976f56"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Oct 22 14:27:05 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Oct 22 14:27:05 2005 -0400"
      },
      "message": "libata: const-ification bombing run\n\nEnforce access rules where appropriate.\n\nIf the compiler is smart enough, this may buy us an optimization or two\nas a side effect.\n"
    },
    {
      "commit": "cf482935c6abe5245e481213c6e6df808c976f56",
      "tree": "076ce597d2a7a07039e7834f2d15411fa3e2d0b7",
      "parents": [
        "452503f993feffe96e8cc9fbff4888b96e2c5e40"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Oct 22 00:19:33 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Oct 22 00:19:33 2005 -0400"
      },
      "message": "libata: turn on block layer clustering\n"
    },
    {
      "commit": "452503f993feffe96e8cc9fbff4888b96e2c5e40",
      "tree": "83163004da490ea8521ec753df71121b62de200a",
      "parents": [
        "11e29e21514517f3022a1f30998ac4c7b1197658"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Oct 21 19:01:32 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Oct 21 19:01:32 2005 -0400"
      },
      "message": "Add ide-timing functionality to libata.\n\nThis is needed for full AMD and VIA drivers and possibly more. Functions\nto turn actual clocking and cycle timings into register values. Also to\nmerge shared timings to compute an optimal timing set.\n\nBuilt from the drivers/ide version by Vojtech Pavlik\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "972c26bdd6b58e7534473c4f7928584578cf43f4",
      "tree": "e32f940cf913ee80ac7ae5e3d92d53f90a6b6552",
      "parents": [
        "b194b4250c2b7e9d762823ac6045316fcd4bf4f9"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Oct 18 22:14:54 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Oct 18 22:14:54 2005 -0400"
      },
      "message": "libata: add ata_sg_is_last() helper, use it in several drivers\n"
    },
    {
      "commit": "b194b4250c2b7e9d762823ac6045316fcd4bf4f9",
      "tree": "8c54b5004822958ef0a7603e76a4868582e26d7f",
      "parents": [
        "c4052da6f0c01a0b059d125d72bb934d0980b798",
        "59a10b172fccaea793352c00fd9065f0a5b4ef70"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Oct 18 21:52:42 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Oct 18 21:52:42 2005 -0400"
      },
      "message": "Merge branch \u0027upstream\u0027\n"
    },
    {
      "commit": "8cbd6df1f0ce977ab7b61feffa59879bb5e0ed8f",
      "tree": "c460778581293ad479ec4983690ccc46bcb4df56",
      "parents": [
        "07506697d1c615924298406f2357810709c09bcd"
      ],
      "author": {
        "name": "Albert Lee",
        "email": "albertcc@tw.ibm.com",
        "time": "Wed Oct 12 15:06:27 2005 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Oct 18 17:16:13 2005 -0400"
      },
      "message": "[PATCH] libata CHS: calculate read/write commands and protocol on the fly (revise #6)\n\n     - merge ata_prot_to_cmd() and ata_dev_set_protocol() as\n       ata_rwcmd_protocol()\n     - pave road for read/write multiple support\n     - remove usage of pre-cached command and protocol values and call\n       ata_rwcmd_protocol() instead\n\nSigned-off-by: Albert Lee \u003calbertcc@tw.ibm.com\u003e\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "c4052da6f0c01a0b059d125d72bb934d0980b798",
      "tree": "ad50a17e4d14b8f6f1773158d956d424575d1712",
      "parents": [
        "cedc9a478d8c6265879dc3839ef3d4849a709184",
        "3d3467f0fdf61a421361c00cf84fcf0f1a6dc1e8"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 09 11:16:14 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 09 11:16:14 2005 -0400"
      },
      "message": "Merge branch \u0027upstream\u0027\n"
    },
    {
      "commit": "cedc9a478d8c6265879dc3839ef3d4849a709184",
      "tree": "0c8e0fbffdb6081381c01b8cfd93c95b168acb44",
      "parents": [
        "ed39f731ab2e77e58122232f6e27333331d7793d"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Oct 05 07:13:30 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Oct 05 07:13:30 2005 -0400"
      },
      "message": "libata: fix ATAPI DMA alignment issues\n\nATAPI needs to be padded to next 4 byte boundary, if misaligned.\n\nOriginal work by me, many fixes from Tejun Heo.\n"
    },
    {
      "commit": "67846b30171cc4d706125f630193a76a26bb334a",
      "tree": "5ba70c2b68086f471686eb1e56e38436eaf73416",
      "parents": [
        "643736a58d2668af94aee05670c5e9ae76e7b85f"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Oct 05 02:58:32 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Oct 05 02:58:32 2005 -0400"
      },
      "message": "libata: add ata_ratelimit(), use it in AHCI driver irq handler\n"
    },
    {
      "commit": "47a8659380d40d5c0786ddb62a89b3f7f1392430",
      "tree": "696e7f9874e6087e6aaec51fbe1d4a91cd3dfc64",
      "parents": [
        "fe998aa7e27f125f6768ec6b137b0ce2c9790509"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue Oct 04 08:09:19 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Oct 04 08:09:19 2005 -0400"
      },
      "message": "libata: bitmask based pci init functions for one or two ports\n\nThis redoes the n_ports logic I proposed before as a bitmask.\nata_pci_init_native_mode is now used with a mask allowing for mixed mode\nstuff later on. ata_pci_init_legacy_port is called with port number and\ndoes one port now not two. Instead it is called twice by the ata init\nlogic which cleans both of them up.\n\nThere are stil limits in the original code left over\n\n- IRQ/port mapping for legacy mode should be arch specific values\n- You can have one legacy mode IDE adapter per PCI root bridge on some systems\n- Doesn\u0027t handle mixed mode devices yet (but is now a lot closer to it)\n"
    },
    {
      "commit": "64f09c98d7fce21dcb8da9f248e4159eb1ec245e",
      "tree": "e03ed75665d536438fcb79b468a439caacd3d7dc",
      "parents": [
        "14be71f4c5c5ad1e222c5202ee6d234e9c8828b7",
        "98ed72deebfd2b55b7e1bb94c8175b1169999212"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Sep 28 12:11:15 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Sep 28 12:11:15 2005 -0400"
      },
      "message": "/spare/repo/libata-dev branch \u0027chs-support\u0027\n"
    },
    {
      "commit": "14be71f4c5c5ad1e222c5202ee6d234e9c8828b7",
      "tree": "715ac051b4fd2e3d62219110be4fc71d2f1a06f8",
      "parents": [
        "ee500aabf10323a7e313731b8c0be7c2c6dd27c7"
      ],
      "author": {
        "name": "Albert Lee",
        "email": "albertcc@tw.ibm.com",
        "time": "Tue Sep 27 17:36:35 2005 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Sep 28 11:58:39 2005 -0400"
      },
      "message": "[PATCH] libata: rename host states\n\nChanges:\ns/PIO_ST_/HSM_ST_/ and s/pio_task_state/hsm_task_state/.\n\nSigned-off-by: Albert Lee \u003calbertcc@tw.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "98ed72deebfd2b55b7e1bb94c8175b1169999212",
      "tree": "f1682a68f65e0a38159f55a58c054779d749f8df",
      "parents": [
        "dbaa9a9d2b37d838125fb7f2b9fdc5dc5fa4eaa9",
        "87e807b6c461bbd449496a4c3ab78ab164a4ba97"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Sep 24 00:26:49 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Sep 24 00:26:49 2005 -0400"
      },
      "message": "Merge /spare/repo/linux-2.6/\n"
    },
    {
      "commit": "17b14451fd2b187ddd6303726755a3af0a926b6c",
      "tree": "b0f3572bcb47eef8a4988b44795ddcab95da3118",
      "parents": [
        "7a83e90b32a2b2500e0be6a5317ab411b39222c9"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Sep 15 15:44:00 2005 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Sep 16 02:39:01 2005 -0400"
      },
      "message": "[PATCH] PATCH: remove function for non-PCI as requested\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "142e27fc8a3619471669d6241784eec9167c47d1",
      "tree": "e88850b63ec910ee28874f93c43fb66421bb8119",
      "parents": [
        "a9053d0494d3c92807701c0f47df61d50c971581",
        "caf39e87cc1182f7dae84eefc43ca14d54c78ef9"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Sep 08 05:41:28 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Sep 08 05:41:28 2005 -0400"
      },
      "message": "Merge /spare/repo/linux-2.6/ \n"
    },
    {
      "commit": "d0bd99299bf933ae006d2dc6a31ffcba482ae3f2",
      "tree": "62615ed8bc6ab68f42b59d412a7fd7ac77c79803",
      "parents": [
        "6f1062330499cee10396bf3fc66a03eb228c5fad",
        "586a4ac509b041df55f26c2b26cd7cbdaf9b045d"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Sep 05 05:20:33 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Sep 05 05:20:33 2005 -0400"
      },
      "message": "/spare/repo/libata-dev branch \u0027iomap-try3\u0027\n"
    },
    {
      "commit": "374b1873571bf80dc0c1fcceaaad067980f3b9de",
      "tree": "d53352d9fed18984e48cf734a1036ff8fbef856f",
      "parents": [
        "ea6ba10bbb88e106f9e2db7dc253993bb3bbbe3b"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Aug 30 05:42:52 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Aug 30 05:42:52 2005 -0400"
      },
      "message": "[libata] update several drivers to use pci_iomap()/pci_iounmap()\n"
    },
    {
      "commit": "1623c81eece58740279b8de802fa5895221f2044",
      "tree": "486aa6a40ea419c14d02bc8561cdb8485f6a5189",
      "parents": [
        "1fdab81e675c6ef76a49b8aabb7eaf4be51d1b80"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Aug 30 03:37:42 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Aug 30 03:37:42 2005 -0400"
      },
      "message": "[libata] allow ATAPI to be enabled with new atapi_enabled module option\n\nATAPI is getting close to being ready.  To increase exposure, we enable\nthe code in the upstream kernel, but default it to off (present\nbehavior).  Users must pass atapi_enabled\u003d1 as a module option (if\nmodule) or on the kernel command line (if built in) to turn on\ndiscovery of their ATAPI devices.\n"
    },
    {
      "commit": "76b2bf9b4dee2fb32ef17f5c84a99ce481a14be2",
      "tree": "49cd36d6e980044c2a88f2c14cdc9259e0f0f1b4",
      "parents": [
        "2fca877b68b2b4fc5b94277858a1bedd46017cde",
        "8f3d17fb7bcb7c255197d11469fb5e9695c9d2f4"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Aug 29 19:24:43 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Aug 29 19:24:43 2005 -0400"
      },
      "message": "Merge libata branch \u0027chs-support\u0027 to latest upstream kernel.\n"
    },
    {
      "commit": "70d374ea9907036e15574a5ce89219edd5baee10",
      "tree": "b858bb4a841eb91b1d91b41c33698d05fa7bfb37",
      "parents": [
        "aa7e16d6b88b3b38db0d2ee49ed5e44e7b2045ec",
        "bf4e70e54cf31dcca48d279c7f7e71328eebe749"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Aug 29 15:59:42 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Aug 29 15:59:42 2005 -0400"
      },
      "message": "Merge /spare/repo/linux-2.6/\n"
    },
    {
      "commit": "af36d7f0df56de3e3e4bbfb15d0915097ecb8cab",
      "tree": "cbeb3d387b99fe8b83e0ff8631c422e7a0489645",
      "parents": [
        "0572e3da3ff5c3744b2f606ecf296d5f89a4bbdf"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Aug 28 20:18:39 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Aug 28 20:18:39 2005 -0400"
      },
      "message": "[libata] license change, other bits\n\n- changes license of all code from OSL+GPL to plain ole GPL\n  - except for NVIDIA, who hasn\u0027t yet responded about sata_nv\n  - copyright holders were already contacted privately\n\n- adds info in each driver about where hardware/protocol docs may be\n  obtained\n\n- where I have made major contributions, updated copyright dates\n"
    },
    {
      "commit": "d18d36b4edbb980c9de7fe00724c3ded5de1b7a7",
      "tree": "387952fb886e995b90fbe91ae4097201c991d938",
      "parents": [
        "953d1137fc4aba16deace262e93974913596dcfe"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Aug 27 04:13:52 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Aug 27 04:13:52 2005 -0400"
      },
      "message": "libata: fix a few alan-isms\n"
    },
    {
      "commit": "b73fc89f6d1f84326e5e897ad249d00a9f218fd7",
      "tree": "557d5ba51a4f6c58be0717c0da13c2e409fd6008",
      "parents": [
        "31433ea369d250ad011577eee6110d3efcb9d861"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Aug 26 16:03:19 2005 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Aug 26 17:36:26 2005 -0400"
      },
      "message": "[PATCH] libata: regularize dma_start/stop arguments\n\nNeeded for a few PATA drivers.\n\nAlso fix up a wrong comment.\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "c1389503710ef4b4e5d21bea284afde19e9619cf",
      "tree": "270bf8ea0c2ac354273766d8a1ddfb12cd58b608",
      "parents": [
        "c0b34ad2956036cdba87792d6c46d8f491539df1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Aug 22 14:59:24 2005 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Aug 23 01:05:55 2005 -0400"
      },
      "message": "[PATCH] fix atapi_packet_task vs. intr race (take 2)\n\nInterrupts from devices sharing the same IRQ could cause\nata_host_intr to finish commands being processed by atapi_packet_task\nif the commands are using ATA_PROT_ATAPI_NODATA or ATA_PROT_ATAPI_DMA\nprotocol.  This is because libata interrupt handler is unaware that\ninterrupts are not expected during that period.  This patch adds\nATA_FLAG_NOINTR flag to tell the interrupt handler that we\u0027re not\nexpecting interrupts.\n\n Note that once proper HSM is implemented for interrupt-driven PIO,\nthis should be merged into it and this flag will be removed.\n\n ahci.c is a different kind of beast, so it\u0027s left alone.\n\n* The following drivers use ata_qc_issue_prot and ata_interrupt, so\n  changes in libata core will do.\n\n  ata_piix sata_sil sata_svw sata_via sata_sis sata_uli\n\n* The following drivers use ata_qc_issue_prot and custom intr handler.\n  They need this change to work correctly.\n\n  sata_nv sata_vsc\n\n* The following drivers use custom issue function and intr handler.\n  Currently all custom issue functions don\u0027t support ATAPI, so this\n  change is irrelevant, updated for consistency and to avoid later\n  mistakes.\n\n  sata_promise sata_qstor sata_sx4\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "8a60a07129fad60bba779a2a4038c7518b167fc7",
      "tree": "3bec0fea8b4c98c51d8865d5144068420f0fd09f",
      "parents": [
        "541134cfe7af179f45458b68421ee1da7bab9cba"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Jul 31 13:13:24 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Jul 31 13:13:24 2005 -0400"
      },
      "message": "libata: trim trailing whitespace.\n\nAlso, fixup a tabs-to-spaces block of code in ata_piix.\n"
    },
    {
      "commit": "ff40c6d3d1437ecdf295b8e39adcb06c3d6021ef",
      "tree": "3666d029b4bd4df2909dbefd9c7a09e6042b7d32",
      "parents": [
        "8bf62ecee58360749c5f0e68bc97d5e02a6816b1",
        "2a5a68b840cbab31baab2d9b2e1e6de3b289ae1e"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pretzel.yyz.us",
        "time": "Wed Jun 22 13:07:28 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Jun 22 13:07:28 2005 -0400"
      },
      "message": "Merge upstream kernel changes into \u0027C/H/S support\u0027 branch of libata.\n"
    },
    {
      "commit": "73561695b2e77473e353a5ae63bab81ed5098d8e",
      "tree": "d039affaa54d38985e41566e4d62e0aa6a170287",
      "parents": [
        "6f2f38128170814e151cfedf79532e19cd179567",
        "8be3de3fd8469154a2b3e18a4712032dac5b4a53"
      ],
      "author": {
        "name": "",
        "email": "jgarzik@pretzel.yyz.us",
        "time": "Fri Jun 03 23:54:56 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Jun 03 23:54:56 2005 -0400"
      },
      "message": "Automatic merge of /spare/repo/linux-2.6/.git branch HEAD\n"
    },
    {
      "commit": "d7aaf48128ec7fcefcee92ea22833afc1a80e268",
      "tree": "16ff78f6be6a5519944bb7bfc6034dfbd71ae97f",
      "parents": [
        "decc6d0b68f27bbb8a0357fccf41936a3c196b03",
        "1e86d1c648508fd50e6c9960576b87906a7906ad"
      ],
      "author": {
        "name": "",
        "email": "jgarzik@pretzel.yyz.us",
        "time": "Thu Jun 02 18:43:09 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Jun 02 18:43:09 2005 -0400"
      },
      "message": "Automatic merge of /spare/repo/linux-2.6/.git branch HEAD\n"
    },
    {
      "commit": "0baab86b00cdf9785ac2bb2ce1ab63995b3866ca",
      "tree": "9a92597d6e1653a9a9b3ed7f371d62237e68a6e9",
      "parents": [
        "92bab26be5544d8b495389646490fcfdca6dbcf2"
      ],
      "author": {
        "name": "Edward Falk",
        "email": "efalk@google.com",
        "time": "Thu Jun 02 18:17:13 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Jun 02 18:17:13 2005 -0400"
      },
      "message": "libata: update inline source docs\n"
    },
    {
      "commit": "aa8f0dc6c3dbf1cf3ff58f3e945c981be134814d",
      "tree": "3e343cd5493d442d1a26dc7a421422d84698831e",
      "parents": [
        "bef9c558841604116704e10b3d9ff3dbf4939423"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu May 26 21:54:27 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu May 26 21:54:27 2005 -0400"
      },
      "message": "libata: Fix use-after-iounmap\n\nJens Axboe pointed out that the iounmap() call in libata was occurring\ntoo early, and some drivers (ahci, probably others) were using ioremap\u0027d\nmemory after it had been unmapped.\n\nThe patch should address that problem by way of improving the libata\ndriver API:\n\n* move -\u003ehost_stop() call after all -\u003eport_stop() calls have occurred.\n\n* create default helper function ata_host_stop(), and move iounmap()\ncall there.\n\n* add -\u003ehost_stop_prewalk() hook, use it in sata_qstor.c (hi Mark).\nsata_qstor appears to require the host-stop-before-port-stop ordering\nthat existed prior to applying the attached patch.\n"
    },
    {
      "commit": "cdcca89e1a90fa9112260bd6384f20fcc4280e21",
      "tree": "303ddceb3a324067c6a18ec00b8643d313eb71e4",
      "parents": [
        "21b1ed74ee3667dcabcba92e486988ea9119a085"
      ],
      "author": {
        "name": "Brett Russ",
        "email": "russb@emc.com",
        "time": "Mon Mar 28 15:10:27 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun May 15 19:00:51 2005 -0400"
      },
      "message": "[PATCH] libata: flush COMRESET set and clear\n\nUpdated patch to fix erroneous flush of COMRESET set and missing flush\nof COMRESET clear.  Created a new routine scr_write_flush() to try to\nprevent this in the future.  Also, this patch is based on libata-2.6\ninstead of the previous libata-dev-2.6 based patch.\n\nSigned-off-by: Brett Russ \u003crussb@emc.com\u003e\n\nIndex: libata-2.6/drivers/scsi/libata-core.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n"
    },
    {
      "commit": "8bf62ecee58360749c5f0e68bc97d5e02a6816b1",
      "tree": "a3da6e695fc5a71ac7f3246707380a9ac22f6402",
      "parents": [
        "88d7bd8cb9eb8d64bf7997600b0d64f7834047c5"
      ],
      "author": {
        "name": "Albert Lee",
        "email": "albertcc@tw.ibm.com",
        "time": "Thu May 12 15:29:42 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu May 12 15:29:42 2005 -0400"
      },
      "message": "[libata] C/H/S support, for older devices\n"
    },
    {
      "commit": "6f2f38128170814e151cfedf79532e19cd179567",
      "tree": "6728b987c6d4199c4d03335407f5b55859b34a86",
      "parents": [
        "88d7bd8cb9eb8d64bf7997600b0d64f7834047c5"
      ],
      "author": {
        "name": "Brad Campbell",
        "email": "brad@wasp.net.au",
        "time": "Thu May 12 15:07:47 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu May 12 15:07:47 2005 -0400"
      },
      "message": "[PATCH] libata basic detection and errata for PATA-\u003eSATA bridges\n\nThis patch works around an issue with WD drives (and possibly others)\nover SiL PATA-\u003eSATA Bridges on SATA controllers locking up with\ntransfers \u003e 200 sectors.\n\nSigned-off-by: Brad Campbell \u003cbrad@wasp.net.au\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"
    }
  ]
}
