)]}'
{
  "log": [
    {
      "commit": "e533825447dcb60a82b7cc9d73d06423c849b9a2",
      "tree": "c838f16f023e24118a0e5669b2dbcfb70f666504",
      "parents": [
        "6e9d6b8ee4e0c37d3952256e6472c57490d6780d"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 30 21:37:17 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 30 21:37:17 2005 -0500"
      },
      "message": "[libata] ata_tf_to_host cleanups\n\nIntegrate ata_exec() and ata_tf_to_host() into their only caller,\nata_bus_edd().\n\nRename ata_tf_to_host_nolock() to ata_tf_to_host().\n\nThis makes locking a bit easier to review, and may help pave the way for\nfuture changes.\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": "96b88fb850cc419171f926ad04650ec509e9f543",
      "tree": "5bf9537bde467534608b3acdbfa5f7726ede8c3f",
      "parents": [
        "e78a57de94480226f7fc90d0b4837bfc6c99a9e0",
        "5fadd053d9bb4345ec6f405d24db4e7eb49cf81e"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Oct 28 12:31:34 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Oct 28 12:31:34 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": "77501f3cb648e18733509a951ed31eddd7ef2c0b",
      "tree": "82624caa354394df2422562bf6dda56a2c088704",
      "parents": [
        "422fa08e538b649a9b80258950d2f8a202f45f19",
        "59a10b172fccaea793352c00fd9065f0a5b4ef70"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Oct 18 18:30:58 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Oct 18 18:30:58 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": "ffe75ef650e1aec26a84bd82a620b5e27df9ed34",
      "tree": "8ed31fa093cbf6f6d6142e0e2118bee26aa71fa7",
      "parents": [
        "9dc263239bb2cfeb242d8ef758fca66a968822d5",
        "e710245bb0f980adfb1dfe850e43761a8117c6be"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 09 10:40:44 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 09 10:40:44 2005 -0400"
      },
      "message": "Merge branch \u0027upstream\u0027\n"
    },
    {
      "commit": "ae00651020413bd7eb5fa3bd0abbd78d7cf1abb2",
      "tree": "d30e0682d43a81803254cf4ae33a1f21bc1de207",
      "parents": [
        "845c5834d0aa60eb1588397696e7fabbaab2d3b0"
      ],
      "author": {
        "name": "Douglas Gilbert",
        "email": "dougg@torque.net",
        "time": "Sun Oct 09 09:09:35 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 09 09:09:35 2005 -0400"
      },
      "message": "[libata scsi] improve scsi error handling with ata_scsi_set_sense()\n\n  - change \"xlat\" and \"fill\" actors in libata-scsi so\n    they are responsible for SCSI status and sense data\n    when they return 1. This allows GOOD status or a\n    specialized error to be set.\n  - yield an error for mode sense requests for saved\n    values [sat-r06]\n  - remove static inlines for ata_bad_scsiop() and\n    ata_bad_cdb() which are no longer used\n\nSigned-off-by: Douglas Gilbert \u003cdougg@torque.net\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "845c5834d0aa60eb1588397696e7fabbaab2d3b0",
      "tree": "963d4a2c132273cf6df68a3846326a08cdbe17f4",
      "parents": [
        "d95300758bed9e0f783f3e3b4fd037bf0a21abe0"
      ],
      "author": {
        "name": "Douglas Gilbert",
        "email": "dougg@torque.net",
        "time": "Sun Oct 09 08:55:41 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 09 08:55:41 2005 -0400"
      },
      "message": "[libata scsi] add ata_scsi_set_sense helper\n\n  - add extern ata_scsi_set_sense() to build SCSI\n    fixed sense data and corresponding SCSI status\n\nSigned-off-by: Douglas Gilbert \u003cdougg@torque.net\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "a939c9631527053aa38aa8795a6f7203c7f20b69",
      "tree": "ef7aabee7439909153ef05f2651d8f456dd39ce1",
      "parents": [
        "a15dbeb4772626a015337dea06da67095aec3862"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Oct 05 17:09:16 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Oct 05 17:09:16 2005 -0400"
      },
      "message": "libata: move atapi_request_sense() to libata-scsi module\n\nNo content changes, just moving code around.\n"
    },
    {
      "commit": "644dd0cc494702ecd0698f467de113ace9593888",
      "tree": "d49e781476dea85a4bfc1b05b6d15ed0a224a747",
      "parents": [
        "87e807b6c461bbd449496a4c3ab78ab164a4ba97"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Oct 03 15:55:19 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Oct 03 15:55:19 2005 -0400"
      },
      "message": "[libata] improve device scan\n\nReplace SCSI\u0027s legacy \"bang at the door\" method of probing with one\ndirectly controlled by the underlying ATA transport layer.\n\nWe now only call scsi_scan_target() for devices we find, rather than\nprobing every possible channel/id within a certain range.\n"
    },
    {
      "commit": "c324b44c34050cf2a9b58830e11c974806bd85d8",
      "tree": "3ac45a783221283925cd698334a8f5e7dd4c1df8",
      "parents": [
        "2fcf522509cceea524b6e7ece8fd6759b682175a",
        "caf39e87cc1182f7dae84eefc43ca14d54c78ef9"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Sep 08 05:39:55 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Sep 08 05:39:55 2005 -0400"
      },
      "message": "Merge /spare/repo/linux-2.6/ \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": "da61396d24e37258817e42537c482e962b4742f7",
      "tree": "4293a5d557b8f9fed8a2bac93f1e5c939c7b65c3",
      "parents": [
        "2f058256cb64e346f4fb4499ff4e0f1c2791a4b4",
        "8f3d17fb7bcb7c255197d11469fb5e9695c9d2f4"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Aug 29 19:01:43 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Aug 29 19:01:43 2005 -0400"
      },
      "message": "Merge upstream kernel into libata \u0027passthru\u0027 branch\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": "4887f76ec3d38e99286c9d0fdd6a719174d02e44",
      "tree": "9b691ba8f76dd294f2f792d58663ab69e964233e",
      "parents": [
        "1410b0a7ad3178968c120bad726976fb48ab336b",
        "6885433c25aaca2cb13ee52a94be156163d6aa23"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Aug 23 03:35:44 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Aug 23 03:35:44 2005 -0400"
      },
      "message": "/spare/repo/libata-dev branch \u0027upstream-fixes\u0027\n"
    },
    {
      "commit": "6885433c25aaca2cb13ee52a94be156163d6aa23",
      "tree": "c1960e7a0fa37330b6e8ad9ba228ea31a97d22c7",
      "parents": [
        "f6fdd7d9c273bb2a20ab467cb57067494f932fa3"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Aug 23 02:53:51 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Aug 23 02:53:51 2005 -0400"
      },
      "message": "libata: release prep (bump versions, etc.)\n\n- bump versions where necessary\n- remove two duplicated+outdated doc comments\n- add MODULE_VERSION() to AHCI driver\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": "80bd6d7f5e0d872a0f5a151473d2a39d95d210a8",
      "tree": "b3a36048d6b7de88f7e906624ecb4b98816bb736",
      "parents": [
        "949d33e70f2c3e93bfe5265a50e40175b1ab1ec1",
        "2a5a68b840cbab31baab2d9b2e1e6de3b289ae1e"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pretzel.yyz.us",
        "time": "Wed Jun 22 13:10:49 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Jun 22 13:10:49 2005 -0400"
      },
      "message": "Merge /spare/repo/linux-2.6/\n"
    },
    {
      "commit": "7238cfb3342078ad6d1dd06c7b567da428672476",
      "tree": "cc71a055700bb8c66fcbf74aae1a0122fb5f2433",
      "parents": [
        "d582c4ea307873503a68d6d7ab72ee8599e032a9"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun May 29 14:48:20 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun May 29 14:48:20 2005 -0400"
      },
      "message": "libata: bump version\n"
    },
    {
      "commit": "b095518ef51c37658c58367bd19240b8a113f25c",
      "tree": "fc65e55b8786c48067338b8097bae1cbc13fbaac",
      "parents": [
        "88d7bd8cb9eb8d64bf7997600b0d64f7834047c5"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu May 12 15:45:22 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu May 12 15:45:22 2005 -0400"
      },
      "message": "[libata] ATA passthru (arbitrary ATA command execution)\n\nAuthors:\nBrett Russ \u003crussb@emc.com\u003e\nJohn W. Linville \u003clinville@tuxdriver.com\u003e\nAndy Warner \u003candyw@pobox.com\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"
    }
  ]
}
