)]}'
{
  "log": [
    {
      "commit": "8bc3fc470eb25af4d70c72485cbcb130cc657691",
      "tree": "b79e0068f46cca29a547786e5ee2cdc739386cca",
      "parents": [
        "a617c09f6d646b60f31efc8afd9f81b752bf21b7"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon May 21 20:26:38 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon May 21 20:26:38 2007 -0400"
      },
      "message": "libata: bump versions\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "a617c09f6d646b60f31efc8afd9f81b752bf21b7",
      "tree": "eed0f6bfc0b8e25caae0f36765efe48e640107a9",
      "parents": [
        "bc9a8a7eaa58d802a2b26c75edcc95cb92835db3"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon May 21 20:14:23 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon May 21 20:14:23 2007 -0400"
      },
      "message": "libata: Trim trailing whitespace\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "bc9a8a7eaa58d802a2b26c75edcc95cb92835db3",
      "tree": "202250109e861ae2ba6dfd2fa407b1b7487dca68",
      "parents": [
        "2f91d81db3060f6d218e32d935b9a18ffca4dde2"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon May 21 15:20:33 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon May 21 20:00:54 2007 -0400"
      },
      "message": "libata: Kiss post_set_mode goodbye\n\nAs of the -mm tree we don\u0027t have post_set_mode users any more.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "2f91d81db3060f6d218e32d935b9a18ffca4dde2",
      "tree": "4ca262e8a6e248d056eb020b38bff80bfbd63a0c",
      "parents": [
        "4349eebf67b2b06eab36f3dad651ac36619ae986"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon May 21 15:15:51 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon May 21 20:00:47 2007 -0400"
      },
      "message": "ata_piix: clean up\n\nWith cable methods in place we don\u0027t need a custom error handler for SATA\nso get rid of it\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "4349eebf67b2b06eab36f3dad651ac36619ae986",
      "tree": "37a8b0b623041f5ca55770e03ef21161cc6548f1",
      "parents": [
        "39f198868dfd4216ff221d741c72a009d995a7ba"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon May 21 14:52:49 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon May 21 20:00:43 2007 -0400"
      },
      "message": "pata_hpt366: Enable bits are unreliable so don\u0027t use them\n\nVarious people had problems with both old and new IDE when hpt366 enable\nbits started getting honoured. It turns out they are not reliable so\ndon\u0027t rely on them\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "39f198868dfd4216ff221d741c72a009d995a7ba",
      "tree": "aa3348a57d94d98e7989e480ac06503f43817676",
      "parents": [
        "c7a42156d99bcea7f8173ba7a6034bbaa2ecb77c"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon May 21 14:31:03 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon May 21 20:00:35 2007 -0400"
      },
      "message": "libata: Add Seagate STT20000A to DMA blacklist.\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d1044 points out an\nadditional hard disk that doesn\u0027t handle DMA transfers correctly.\nThis patch is the libata variant of the earlier patch to drivers/ide/\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c7a42156d99bcea7f8173ba7a6034bbaa2ecb77c",
      "tree": "7d84ead0d69602cc900e30355ec84132800dea93",
      "parents": [
        "55b637c6a003a8c4850b41a2c2fd6942d8a7f530"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri May 18 16:23:19 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon May 21 20:00:25 2007 -0400"
      },
      "message": "ahci: disable 64bit dma on sb600\n\nSB600 claims it can do 64bit DMA but it can\u0027t.  Disable it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "8fd7d1b16ea0e1b3b0823ed91b58993d6c6a1cc6",
      "tree": "4885ef2ddaf3b151eb5f70d7527674634d6a4c61",
      "parents": [
        "d9aca22cf443f5ed77d15a320abbab055ae4a976"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu May 17 13:37:12 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu May 17 20:57:38 2007 -0400"
      },
      "message": "sata_via: pcim_iomap_regions() conversion missed BAR5\n\npcim_iomap_regions() conversion missed BAR5.  Fix it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d9aca22cf443f5ed77d15a320abbab055ae4a976",
      "tree": "a808d879baf21a557a93e9ef3a0d96b004985f8b",
      "parents": [
        "1daf9ce74e0e0ef8ffde800ab495339458c3375f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu May 17 16:43:26 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu May 17 20:57:38 2007 -0400"
      },
      "message": "libata: remove libata.spindown_compat\n\nWith STANDBYDOWN tracking added, libata.spindown_compat isn\u0027t\nnecessary anymore.  If userspace shutdown(8) issues STANDBYNOW, libata\nwarns.  If userspace shutdown(8) doesn\u0027t issue STANDBYNOW, libata does\nthe right thing.  Userspace can tell whether kernel supports spindown\nby testing whether sysfs node manage_start_stop exists as before.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "1daf9ce74e0e0ef8ffde800ab495339458c3375f",
      "tree": "86133a124803121e15b65dec1873b4fac6a21c88",
      "parents": [
        "074b8ba3863dd168befdba6c9115e990349a6755"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu May 17 13:13:57 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu May 17 20:57:10 2007 -0400"
      },
      "message": "sata_nv: fix fallout of devres conversion\n\nAs with all other drivers, sata_nv\u0027s hpriv is allocated with\ndevm_kzalloc() and there\u0027s no need to free it explicitly.  Kill\nnv_remove_one() which incorrectly used kfree() instead of devm_kfree()\nand use ata_pci_remove_one() directly.\n\nOriginal fix is from Peer Chen.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Peer Chen \u003cpchen@nvidia.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "074b8ba3863dd168befdba6c9115e990349a6755",
      "tree": "f2a0da4002b6238601a6ca088b2f8e52abaf9024",
      "parents": [
        "0479ea0eab197b3e5d4c731f526c02e5e3fbfbd0"
      ],
      "author": {
        "name": "Peer Chen",
        "email": "pchen@nvidia.com",
        "time": "Thu May 10 22:48:49 2007 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu May 17 20:57:10 2007 -0400"
      },
      "message": "drivers/ata: remove the wildcard from sata_nv driver\n\nBecause nvidia SATA controllers onward base on AHCI, so wildcard in sata_nv\ndriver is unnecessary.  Also the wildcard sometimes cause sata_nv driver to\nbe loaded for AHCI controllers,which is not as expected.\n\nSigned-off-by: Peer Chen \u003cpchen@nvidia.com\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "13b8d09f5de0aaa3153bbccc98baf247387823dc",
      "tree": "d35c90bd2460d7808595917ccf7c102229353365",
      "parents": [
        "da071b42f73dabbd0daf7ea4c3ff157d53b00648"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue May 15 12:29:22 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed May 16 01:18:31 2007 -0400"
      },
      "message": "libata: track spindown status and skip spindown_compat if possible\n\nOur assumption that most distros issue STANDBYNOW seems wrong.  The\nupstream sysvinit and thus many distros including gentoo and opensuse\ndon\u0027t take any action for libata disks on spindown.  We can skip\ncompat handling for these distros so that they don\u0027t need to update\nanything to take advantage of kernel-side shutdown.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "da071b42f73dabbd0daf7ea4c3ff157d53b00648",
      "tree": "6b8aa61169f6c18263821d9c5fe298b3b2eb6b21",
      "parents": [
        "3cadbcc09891b8544203f211dac13f9cc4e6832a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 14 17:26:18 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed May 16 01:18:31 2007 -0400"
      },
      "message": "libata: fix shutdown warning message printing\n\nUnlocking ap-\u003elock and ssleeping don\u0027t work because SCSI commands can\nbe issued from completion path without context.  Reimplement delayed\ncompletion by allowing translation functions to override\nqc-\u003escsidone(), storing the original completion function to\nscmd-\u003escsi_done() and overriding qc-\u003escsidone() with a function which\nschedules delayed invocation of scmd-\u003escsi_done().\n\nThis isn\u0027t pretty at all but all the ugly parts are thankfully\ncontained in the stop translation path where the compat feature is\nimplemented.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "3cadbcc09891b8544203f211dac13f9cc4e6832a",
      "tree": "ac85dba0648f6e2be0d057b9afca926d97e24828",
      "parents": [
        "6ddcd3b0201a7ad72294347636d2b4028ddbd95d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue May 15 03:28:15 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed May 16 01:18:31 2007 -0400"
      },
      "message": "libata-acpi: add ATA_FLAG_ACPI_SATA port flag\n\nWhether a controller needs IDE or SATA ACPI hierarchy is determined by\nthe programming interface of the controller not by whether the\ncontroller is SATA or PATA, or it supports slave device or not.  This\npatch adds ATA_FLAG_ACPI_SATA port flags which tells libata-acpi that\nthe port needs SATA ACPI nodes, and sets the flag for ahci and\nsata_sil24.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "6ddcd3b0201a7ad72294347636d2b4028ddbd95d",
      "tree": "ef2d28ea1775693f632705ebe71ad3e451cd69f1",
      "parents": [
        "fe30911b34098db58c21d0f936f6c3f17f32deb8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue May 15 03:28:15 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed May 16 01:18:30 2007 -0400"
      },
      "message": "libata: during revalidation, check n_sectors after device is configured\n\nDevice might be resized during ata_dev_configure() due to HPA or\n(later) ACPI _GTF.  Currently it\u0027s worked around by caching n_sectors\nbefore turning off HPA.  The cached original size is overwritten if\nthe device is reconfigured without being hardreset - which always\nhappens after configuring trasnfer mode.  If the device gets hardreset\nfor some reason after that, revalidation fails with -ENODEV.\n\nThis patch makes size checking more robust by moving n_sectors check\nfrom ata_dev_reread_id() to ata_dev_revalidate() after the device is\nfully configured.  No matter what happens during configuration, a\ndevice must have the same n_sectors after fully configured to be\ntreated as the same device.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "fe30911b34098db58c21d0f936f6c3f17f32deb8",
      "tree": "70cca4ffb94f5f34650c30c68d46173505ee890f",
      "parents": [
        "d1c68fa6ce7e56e300d8561bb3b6492c336df863"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue May 15 03:28:15 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed May 16 01:18:30 2007 -0400"
      },
      "message": "libata: separate out ata_dev_reread_id()\n\nSeparate out ata_dev_reread_id() from ata_dev_revalidate().\nata_dev_reread_id() reads IDENTIFY page and determines whether the\nsame device is still there.  ata_dev_revalidate() reconfigures after\nreread completes.  This will be used by ACPI update.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d1c68fa6ce7e56e300d8561bb3b6492c336df863",
      "tree": "f0ca29ef45ad5f68164ee3210eb529ad8452be02",
      "parents": [
        "7b104bcb8e460e45a1aebe3da9b86aacdb4cab12"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Tue May 15 08:21:17 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed May 16 01:18:30 2007 -0400"
      },
      "message": "pata_scc had been missed by ata_std_prereset() switch\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "f7d02ae76ebbf5b8a9531fe150c49e126a397704",
      "tree": "bcfdcab6e70658d55a3c843694e04e938bf9168f",
      "parents": [
        "78db2ad6f4df9145bfd6aab1c0f1c56d615288ec",
        "158304ef09a28c7f2dd37d78f536a4e09ba084a1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 12 18:11:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 12 18:11:33 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027for-linus\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (30 commits)\n  [ARM] Use new get_irqnr_preamble\n  [ARM] Ensure machine class menu is sorted alphabetically\n  [ARM] 4333/2: KS8695: Micrel Development board\n  [ARM] 4332/2: KS8695: Serial driver\n  [ARM] 4331/3: Support for Micrel/Kendin KS8695 processor\n  [ARM] 4371/1: AT91: Support for Atmel AT91SAM9RL-EK development board\n  [ARM] 4372/1: Define byte sizes in asm-arm/sizes.h\n  [ARM] 4370/3: AT91: Support for Atmel AT91SAM9RL processors.\n  [ARM] Update mach-types\n  [ARM] export symbol csum_partial_copy_from_user\n  [ARM] iop13xx: msi support\n  [ARM] stacktrace fix\n  [ARM] Spinlock initializer cleanup\n  [ARM] remove useless config option GENERIC_BUST_SPINLOCK\n  [ARM] 4303/3: base kernel support for TI DaVinci\n  [ARM] 4369/1: AT91: Fix circular dependency in header files\n  [ARM] 4368/1: S3C24xx: build fix\n  [ARM] 4364/1: AT91: LEDS on AT91SAM9261-EK\n  [ARM] Fix iop32x/iop33x build\n  [ARM] EBSA110: fix build errors caused by missing \"const\"\n  ...\n"
    },
    {
      "commit": "b9a3b4d1453689f2927668fcdc4827fdccf44d1b",
      "tree": "bf9d3841ce75aa1d2a413d95bc80b6fc73321c2b",
      "parents": [
        "b196fc69f7be7b4454781add9c2d5173f44d509b"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Wed May 09 23:00:20 2007 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 11 18:18:39 2007 -0400"
      },
      "message": "pata_platform: don\u0027t use generic ata_port_start\n\nI have a system where I have a simple IDE controller that sits on a\nlocal bus without bus master dma capability, and thus no dma_mapping\nops defined for the device/bus.\n\npata_platform works great for me, with the exception of using the generic\nata_port_start which tries to do a dmam_alloc_coherent.\n\nLooks like it doesn\u0027t need to allocate a prd table at all, so replace it\nwith a dummy function instead.\n\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "b196fc69f7be7b4454781add9c2d5173f44d509b",
      "tree": "57fe264ded450614744abeb207781d1792a56967",
      "parents": [
        "2bcfdde6767f2f07891d2753c25220012fe5e6d2"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@linux01.gwdg.de",
        "time": "Thu May 10 22:48:54 2007 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 11 18:16:01 2007 -0400"
      },
      "message": "Use menuconfig objects: libata\n\nUse menuconfigs instead of menus, so the whole menu can be disabled at once\ninstead of going through all options.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@gmx.de\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "2bcfdde6767f2f07891d2753c25220012fe5e6d2",
      "tree": "9ca9b53583acbaae2bee14e95459c1fa04321596",
      "parents": [
        "823777181b4c0200923dcb026efa5b37f55c0ecf"
      ],
      "author": {
        "name": "Henry Su",
        "email": "henry.su@amd.com",
        "time": "Thu May 10 22:48:51 2007 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 11 18:16:01 2007 -0400"
      },
      "message": "add the ATI SB700 SATA controller device id to AHCI pci table\n\nAdd the device ID to AHCI pci table for ATI SB700 SATA controller, the\nsubsequent chipset of SB600.\n\nSigned-off-by: henry su\u003chenry.su@amd.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "48aaae7a2fa46e1ed0d0b7677fde79ccfcb8c963",
      "tree": "83ff0c680645a663a2e6b44a1ff6ef8fc8a82609",
      "parents": [
        "1d30c33d8d07868199560b24f10ed6280e78a89c"
      ],
      "author": {
        "name": "Aeschbacher, Fabrice",
        "email": "Fabrice.Aeschbacher@siemens.com",
        "time": "Thu May 10 22:48:48 2007 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 11 18:16:00 2007 -0400"
      },
      "message": "pata_pcmcia: recognize 2GB CompactFlash from Transcend\n\nAllow the pata_pcmcia driver to automatically detect 2GB CompactFlash cards\nfrom Transcend.\n\nSigned-off-by: Fabrice Aeschbacher \u003cfabrice.aeschbacher@siemens.com\u003e\nCc: \"Peter Stuge\" \u003cstuge-linux-pcmcia@cdy.org\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "1d30c33d8d07868199560b24f10ed6280e78a89c",
      "tree": "311e7baea4f8cf9ffefb3ca10f047e35b4868877",
      "parents": [
        "3a32a8e96694a243ec7e7feb6d76dfc4b1fe90c1"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu May 10 22:48:43 2007 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 11 18:16:00 2007 -0400"
      },
      "message": "git-libata-all: sata_via build fix\n\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "3a32a8e96694a243ec7e7feb6d76dfc4b1fe90c1",
      "tree": "c7e326d85996b196770e5bef4d7fd005380b09a0",
      "parents": [
        "e92351bb53c0849fabfa80be53cbf3b0aa166e54"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat May 05 23:50:38 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 11 18:12:42 2007 -0400"
      },
      "message": "libata-acpi: clean up parameters and misc stuff\n\nThis patch cleans up libata-acpi such that it looks similar to other\nlibata files.  This patch doesn\u0027t introuce any behavior changes.\n\n* make libata-acpi functions take ata_device instead of ata_port +\n  device index\n* s/atadev/dev/\n* de-indent local variable declarations\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e92351bb53c0849fabfa80be53cbf3b0aa166e54",
      "tree": "cb182d532feb99015e66c7377ecfaf9041153cc2",
      "parents": [
        "8575b814097af648dad284bd3087875a11b13d18"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat May 05 23:50:38 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 11 18:12:42 2007 -0400"
      },
      "message": "libata-acpi: s/CONFIG_SATA_ACPI/CONFIG_ATA_ACPI/\n\nACPI applies to both SATA and PATA.  Drop the \u0027S\u0027 from the config\nvariable.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "8575b814097af648dad284bd3087875a11b13d18",
      "tree": "33ee44f9bafab76229df2516c309f31fd6ef428d",
      "parents": [
        "54936f8b099325992f0f212a5e366fd5257c6c9c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri May 11 14:46:51 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 11 18:09:18 2007 -0400"
      },
      "message": "libata: give devices one last chance even if recovery failed with -EINVAL\n\nAfter certain errors, some devices report complete garbage on\nIDENTIFY.  This can cause ata_dev_read_id() to fail with -EINVAL\nresulting in immediate disabling of the device.  Give the device one\nlast chance after -EINVAL to allow recovery from such situations.  As\n-EINVAL is triggered very rarely, this shouldn\u0027t cause any noticeable\naffect on more common error paths.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Harald Dunkel \u003charald.dunkel@t-online.de\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "54936f8b099325992f0f212a5e366fd5257c6c9c",
      "tree": "371da5167542be4f950b894533127ef4c63de6df",
      "parents": [
        "f4d6d00466ef4879e4289f18c2f59210a06a7ada"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri May 11 14:35:29 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 11 18:09:18 2007 -0400"
      },
      "message": "libata: fallback to the other IDENTIFY on device error, take#2\n\nIt seems the world isn\u0027t as frank as we thought and some devices lie\nabout who they are.  Fallback to the other IDENTIFY if IDENTIFY is\naborted by the device.  As this is the strategy used by IDE for a long\ntime, it shouldn\u0027t cause too much problem.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: William Thompson \u003cwt@electro-mechanical.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "f4d6d00466ef4879e4289f18c2f59210a06a7ada",
      "tree": "60a0ec3c2872f1f21c2b546af3e04990b3bfa60b",
      "parents": [
        "1626aeb881236c8cb022b5e4ca594146a951d669"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue May 01 11:50:15 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 11 18:09:18 2007 -0400"
      },
      "message": "libata: ignore EH scheduling during initialization\n\nlibata enables SCSI host during ATA host activation which happens\nafter IRQ handler is registered and IRQ is enabled.  All ATA ports are\nin frozen state when IRQ is enabled but frozen ports may raise limited\nnumber of IRQs after being frozen - IOW, -\u003efreeze() is not responsible\nfor clearing pending IRQs.  During normal operation, the IRQ handler\nis responsible for clearing spurious IRQs on frozen ports and it\nusually doesn\u0027t require any extra code.\n\nUnfortunately, during host initialization, the IRQ handler can end up\nscheduling EH for a port whose SCSI host isn\u0027t initialized yet.  This\nresults in OOPS in the SCSI midlayer.  This is relatively short window\nand scheduling EH for probing is the first thing libata does after\ninitialization, so ignoring EH scheduling until initialization is\ncomplete solves the problem nicely.\n\nThis problem was spotted by Berck E. Nash in the following thread.\n\n  http://thread.gmane.org/gmane.linux.kernel/519412\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Berck E. Nash \u003cflyboy@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "1626aeb881236c8cb022b5e4ca594146a951d669",
      "tree": "30f3457e4b5d76e62ee192fcc0d52b0ee8a829df",
      "parents": [
        "920a4b1038e442700a1cfac77ea7e20bd615a2c3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri May 04 12:43:58 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 11 18:09:18 2007 -0400"
      },
      "message": "libata: clean up SFF init mess\n\nThe intention of using port_mask in SFF init helpers was to eventually\nsupport exoctic configurations such as combination of legacy and\nnative port on the same controller.  This never became actually\nnecessary and the related code always has been subtly broken one way\nor the other.  Now that new init model is in place, there is no reason\nto make common helpers capable of handling all corner cases.  Exotic\ncases can simply dealt within LLDs as necessary.\n\nThis patch removes port_mask handling in SFF init helpers.  SFF init\nhelpers don\u0027t take n_ports argument and interpret it into port_mask\nanymore.  All information is carried via port_info.  n_ports argument\nis dropped and always two ports are allocated.  LLD can tell SFF to\nskip certain port by marking it dummy.  Note that SFF code has been\ntreating unuvailable ports this way for a long time until recent\nbreakage fix from Linus and is consistent with how other drivers\nhandle with unavailable ports.\n\nThis fixes 1-port legacy host handling still broken after the recent\nnative mode fix and simplifies SFF init logic.  The following changes\nare made...\n\n* ata_pci_init_native_host() and ata_init_legacy_host() both now try\n  to initialized whatever they can and mark failed ports dummy.  They\n  return 0 if any port is successfully initialized.\n\n* ata_pci_prepare_native_host() and ata_pci_init_one() now doesn\u0027t\n  take n_ports argument.  All info should be specified via port_info\n  array.  Always two ports are allocated.\n\n* ata_pci_init_bmdma() exported to be used by LLDs in exotic cases.\n\n* port_info handling in all LLDs are standardized - all port_info\n  arrays are const stack variable named ppi.  Unless the second port\n  is different from the first, its port_info is specified as NULL\n  (tells libata that it\u0027s identical to the last non-NULL port_info).\n\n* pata_hpt37x/hpt3x2n: don\u0027t modify static variable directly.  Make an\n  on-stack copy instead as ata_piix does.\n\n* pata_uli: It has 4 ports instead of 2.  Don\u0027t use\n  ata_pci_prepare_native_host().  Allocate the host explicitly and use\n  init helpers.  It\u0027s simple enough.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "920a4b1038e442700a1cfac77ea7e20bd615a2c3",
      "tree": "4209c04b64b021a3e4253a484b108b2475a2860a",
      "parents": [
        "9666f4009c22f6520ac3fb8a19c9e32ab973e828"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri May 04 21:28:48 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 11 18:01:04 2007 -0400"
      },
      "message": "libata: implement libata.spindown_compat\n\nNow that libata uses sd-\u003emanage_start_stop, libata spins down disk on\nshutdown.  In an attempt to compensate libata\u0027s previous shortcoming,\nsome distros sync and spin down disks attached via libata in their\nshutdown(8).  Some disks spin back up just to spin down again on\nSTANDBYNOW1 if the command is issued when the disk is spun down, so\nthis double spinning down causes problem.\n\nThis patch implements module parameter libata.spindown_compat which,\nwhen set to one (default value), prevents libata from spinning down\ndisks on shutdown thus avoiding double spinning down.  Note that\nlibata spins down disks for suspend to mem and disk, so with\nlibata.spindown_compat set to one, disks should be properly spun down\nin all cases without modifying shutdown(8).\n\nshutdown(8) should be fixed eventually.  Some drive do spin up on\nSYNCHRONZE_CACHE even when their cache is clean.  Those disks\ncurrently spin up briefly when sd tries to shutdown the device and\nthen the machine powers off immediately, which can\u0027t be good for the\nhead.  We can\u0027t skip SYNCHRONIZE_CACHE during shudown as it can be\ndangerous data integrity-wise.\n\nSo, this spindown_compat parameter is already scheduled for removal by\nthe end of the next year and here\u0027s what shutdown(8) should do.\n\n  * Check whether /sys/modules/libata/parameters/spindown_compat\n    exists.  If it does, write 0 to it.\n\n  * For each libata harddisk {\n\t* Check whether /sys/class/scsi_disk/h:c:i:l/manage_start_stop\n\t  exists.  Iff it doesn\u0027t, synchronize cache and spin the disk\n\t  down as before.\n  }\n\nThe above procedure will make shutdown(8) work properly with kernels\nbefore this change, ones with this workaround and later ones without\nit.\n\nTo accelerate shutdown(8) updates, if the compat mode is in use, this\npatch prints BIG FAT warning for five seconds during shutdown (the\noptimal interval to annoy the user just the right amount discovered by\nhours of tireless usability testing).\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "9666f4009c22f6520ac3fb8a19c9e32ab973e828",
      "tree": "eaac13cd5890af6298e5576a48c29891f0890bd1",
      "parents": [
        "0a3fd051c7036ef71b58863f8e5da7c3dabd9d3f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri May 04 21:27:47 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 11 18:01:03 2007 -0400"
      },
      "message": "libata: reimplement suspend/resume support using sdev-\u003emanage_start_stop\n\nReimplement suspend/resume support using sdev-\u003emanage_start_stop.\n\n* Device suspend/resume is now SCSI layer\u0027s responsibility and the\n  code is simplified a lot.\n\n* DPM is dropped.  This also simplifies code a lot.  Suspend/resume\n  status is port-wide now.\n\n* ata_scsi_device_suspend/resume() and ata_dev_ready() removed.\n\n* Resume now has to wait for disk to spin up before proceeding.  I\n  couldn\u0027t find easy way out as libata is in EH waiting for the\n  disk to be ready and sd is waiting for EH to complete to issue\n  START_STOP.\n\n* sdev-\u003emanage_start_stop is set to 1 in ata_scsi_slave_config().\n  This fixes spindown on shutdown and suspend-to-disk.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "f95637d2c68be5165d7de228374254c68561b387",
      "tree": "d9cbca1bfd148da4777a2f1cecd3fc5f72793a81",
      "parents": [
        "10bdaaa0fad620145cf10e2b573266b2d80b44de"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Thu May 10 19:32:36 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri May 11 17:19:07 2007 +0100"
      },
      "message": "[ARM] pata_icside: fix build errors\n\nBuilding on the previous two ecard infrastructure changes, this patch\nfixes the pata_icside build errors caused by the recent libata changes.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "10bdaaa0fad620145cf10e2b573266b2d80b44de",
      "tree": "8d3200f5041ab0fdc72e9245ef780310b27a18d8",
      "parents": [
        "c7b87f3d5037a35b5c7bb916ffc826be3fcb208d"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Thu May 10 18:40:51 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri May 11 17:19:02 2007 +0100"
      },
      "message": "[ARM] ecard: add ecardm_iomap() / ecardm_iounmap()\n\nAdd devres ecardm_iomap() and ecardm_iounmap() for Acorn expansion\ncards.  Convert all expansion card drivers to use them.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "c7b87f3d5037a35b5c7bb916ffc826be3fcb208d",
      "tree": "57fb9d7bb21965fa0d78b26043cf459ce51a9668",
      "parents": [
        "129a84de2347002f09721cda3155ccfd19fade40"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Thu May 10 16:46:13 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri May 11 17:18:55 2007 +0100"
      },
      "message": "[ARM] ecard: add helper function for setting ecard irq ops\n\nRather than having every driver fiddle about setting its private\nIRQ operations and data, provide a helper function to contain\nthis functionality in one place.\n\nArrange to remove the driver-private IRQ operations and data when\nthe device is removed from the driver, and remove the driver\nprivate code to do this.\n\nThis fixes potential problems caused by drivers forgetting to\nremove these hooks.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "e25df1205f37c7bff3ab14fdfc8a5249f3c69c82",
      "tree": "e53c1f17d79a62bb845438d6af6a7693ef5440f3",
      "parents": [
        "eeca7a36a86db8bfc1945dd7f6f0c22a6b66b31d"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu May 10 15:45:57 2007 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu May 10 15:46:07 2007 +0200"
      },
      "message": "[S390] Kconfig: menus with depends on HAS_IOMEM.\n\nAdd \"depends on HAS_IOMEM\" to a number of menus to make them\ndisappear for s390 which does not have I/O memory.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "6b38d1d1d50234453e12ccdbbb162d10ece6430f",
      "tree": "864408fc9df9b43d74db2fbb346635f3a78b9543",
      "parents": [
        "6878cce57b43b24eee1a4de6d189051c4646b575"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 01 17:35:55 2007 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed May 09 20:15:47 2007 -0400"
      },
      "message": "libata: fix kernel-doc parameters\n\nWarning(linux-2.6.21-git4//drivers/ata/libata-core.c:904): No description found for parameter \u0027new_sectors\u0027\nWarning(linux-2.6.21-git4//drivers/ata/libata-core.c:941): No description found for parameter \u0027new_sectors\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "6878cce57b43b24eee1a4de6d189051c4646b575",
      "tree": "453ac2809b4222621acbad1e8600f7e2cee4ba5f",
      "parents": [
        "0397bad5b413226b8f55f599b185ab506d13b078"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu May 03 11:30:25 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed May 09 20:15:47 2007 -0400"
      },
      "message": "Fix pata_qdi.c probe code\n\nThere is a small typo in the probe code of pata_qdi.c, here is a patch.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "0397bad5b413226b8f55f599b185ab506d13b078",
      "tree": "48f610bfdd19874bde1aee122b80c7b34f37a7c6",
      "parents": [
        "e1e143cf976ed635a45b768b4a26684173320d6f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu May 03 23:44:59 2007 +0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed May 09 20:15:46 2007 -0400"
      },
      "message": "pata_scc: fix compilation\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e1e143cf976ed635a45b768b4a26684173320d6f",
      "tree": "960f622a1081ff903c5d6a91cfcab327a04012c7",
      "parents": [
        "53014e2526dff68628adb11c44bd1e8f2a2a9ae9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri May 04 15:30:34 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed May 09 20:15:46 2007 -0400"
      },
      "message": "sata_via: add missing PM hooks\n\nFor some reason, sata_via is missing PM hooks.  Add them.  Spotted by\nJeroen Janssen \u003cjeroen.janssen@gmail.com\u003e.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Jeroen Janssen \u003cjeroen.janssen@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "53014e2526dff68628adb11c44bd1e8f2a2a9ae9",
      "tree": "50908a1ef9967d221bc80ae32cb7c27b90ff3235",
      "parents": [
        "7871e74acbf5013970daaa1d032854210282340c"
      ],
      "author": {
        "name": "Robert Hancock",
        "email": "hancockr@shaw.ca",
        "time": "Sat May 05 15:36:36 2007 -0600"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed May 09 20:15:46 2007 -0400"
      },
      "message": "sata_nv: fix ADMA freeze/thaw/irq_clear issues\n\nThis patch fixes some problems with ADMA-capable controllers with\nregard to freeze, thaw and irq_clear libata callbacks. Freeze and\nthaw didn\u0027t switch the ADMA-specific interrupts on or off, and more\ncritically the irq_clear function didn\u0027t respect the restriction that\nthe notifier clear registers for both ports have to be written at\nthe same time even when only one port is being cleared. This could\nresult in timeouts on one port when error handling (i.e. as a result\nof hotplug) occurred on the other port.\n\nAs well, this fixes some issues in the interrupt handler: we shouldn\u0027t\ncheck any ADMA status if the port has ADMA switched off because of\nan ATAPI device, and it also checks to see if any ADMA interrupt has\nbeen raised even when we are in port-register mode.\n\nSigned-off-by: Robert Hancock \u003chancockr@shaw.ca\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "7871e74acbf5013970daaa1d032854210282340c",
      "tree": "10bf6a15d0192f2d83fd279a2e3fb835f7e74da4",
      "parents": [
        "5ac2fe57569c5fbbd4288e3e7fead332b4300ef0"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Tue May 08 15:20:56 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed May 09 20:15:46 2007 -0400"
      },
      "message": "pata_pcmcia.c: add card ident for jvc cdrom\n\nupdate pata_pcmcia to add card ident for JVC MP-CDX1 cdrom drive\ncard info:\nPRODID_1\u003d\"KME\"\nPRODID_2\u003d\"KXLC005\"\nPRODID_3\u003d\"00\"\nMANFID\u003d0032,2904\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "5ac2fe57569c5fbbd4288e3e7fead332b4300ef0",
      "tree": "05b6f04dbec9c76a0cfb73a3124668d5cee1cc56",
      "parents": [
        "8ffcfd9d0dc735071379760c23317f15904f9056"
      ],
      "author": {
        "name": "Mikael Pettersson",
        "email": "mikpe@it.uu.se",
        "time": "Sun May 06 22:14:01 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed May 09 20:15:46 2007 -0400"
      },
      "message": "sata_promise: SATAII-150/300 TX4 port numbering fix\n\nThere is a known problem with sata_promise on SATAII-150/300 TX4\ncontroller cards: it enumerates drives in an order that differs\nfrom the port numbers printed on the controller cards. However,\nPromise\u0027s BIOS and Linux driver both get the order right.\n\nI investigated Promise\u0027s Linux driver (v1.01.0.23), and found\nthat it explicitly changes the mapping from logical port number\nto ATA engine MMIO address on the SATAII TX4 cards. It does this\non all SATAII TX4 cards, without inspecting revision etc. The\nSATAII TX2plus cards continue to use the same mapping that was\nused for the first-generation chips.\n\nThis patch updates sata_promise to use the new port number to\nATA engine mapping on SATAII TX4 cards, which fixes the drive\nenumeration order problem on those cards. Tested on several\n1st and 2nd generation TX2plus and TX4 chips.\n\nSigned-off-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "8ffcfd9d0dc735071379760c23317f15904f9056",
      "tree": "f2c83d453ebb8410eb5ed1ccae216248cabdaa42",
      "parents": [
        "48be6b18336567a795bc41e4526f9adfb3a3d68e"
      ],
      "author": {
        "name": "Mikael Pettersson",
        "email": "mikpe@it.uu.se",
        "time": "Sun May 06 22:12:31 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed May 09 20:15:46 2007 -0400"
      },
      "message": "sata_promise: fix another error decode regression\n\nThe sata_promise error decode update changed pdc_host_intr()\nto return and not complete the qc after detecting an error.\nUnfortunately not completing the qc:s causes them to always\ntime out on error, which is wrong and has nasty side-effects.\n\nThis patch updates pdc_error_intr() to call ata_port_abort(),\nsimilar to ahci and sata_sil24. Doing this is important as it\nmakes EH see the original error and not a bogus timeout.\n\nSigned-off-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "48be6b18336567a795bc41e4526f9adfb3a3d68e",
      "tree": "41bca21966fe455b96bf4f1cbbe888608fa21d55",
      "parents": [
        "3cb7396b7b26585b1ab7c1a8ca554ec103da5d37"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 23 02:06:46 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed May 09 20:15:46 2007 -0400"
      },
      "message": "libata-acpi: fix _GTF command protocol for ATAPI devices\n\n_GTF command is never ATA_PROT_ATAPI_NODATA whether the device is\nATAPI or not.  It\u0027s always ATA_PROT_NODATA.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "9a9136e270af14da506f66bcafcc506b86a86498",
      "tree": "b4d0a6877d92635134b7a944d0032fbc43227fd2",
      "parents": [
        "3960208f9ca0cf6bdb31c21c59ac0526303f8b34",
        "7bb2acb76e8168ca5d0bde5a5a56585a11b3525a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:54:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:54:17 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (25 commits)\n  sound: convert \"sound\" subdirectory to UTF-8\n  MAINTAINERS: Add cxacru website/mailing list\n  include files: convert \"include\" subdirectory to UTF-8\n  general: convert \"kernel\" subdirectory to UTF-8\n  documentation: convert the Documentation directory to UTF-8\n  Convert the toplevel files CREDITS and MAINTAINERS to UTF-8.\n  remove broken URLs from net drivers\u0027 output\n  Magic number prefix consistency change to Documentation/magic-number.txt\n  trivial: s/i_sem /i_mutex/\n  fix file specification in comments\n  drivers/base/platform.c: fix small typo in doc\n  misc doc and kconfig typos\n  Remove obsolete fat_cvf help text\n  Fix occurrences of \"the the \"\n  Fix minor typoes in kernel/module.c\n  Kconfig: Remove reference to external mqueue library\n  Kconfig: A couple of grammatical fixes in arch/i386/Kconfig\n  Correct comments in genrtc.c to refer to correct /proc file.\n  Fix more \"deprecated\" spellos.\n  Fix \"deprecated\" typoes.\n  ...\n\nFix trivial comment conflict in kernel/relay.c.\n"
    },
    {
      "commit": "28e53bddf814485699a4142bc056fd37d4e11dd4",
      "tree": "5182090c4cc2186eedbda3cb90ed82a2836f6ff6",
      "parents": [
        "5830c5902138f80b0a097b797200c739466beedd"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed May 09 02:34:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:53 2007 -0700"
      },
      "message": "unify flush_work/flush_work_keventd and rename it to cancel_work_sync\n\nflush_work(wq, work) doesn\u0027t need the first parameter, we can use cwq-\u003ewq\n(this was possible from the very beginnig, I missed this).  So we can unify\nflush_work_keventd and flush_work.\n\nAlso, rename flush_work() to cancel_work_sync() and fix all callers.\nPerhaps this is not the best name, but \"flush_work\" is really bad.\n\n(akpm: this is why the earlier patches bypassed maintainers)\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Auke Kok \u003cauke-jan.h.kok@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": "67ac58edf771b10f8e89bf9fe1ccf6c9b92ce063",
      "tree": "5bfc140eb9781cff6dc4a9340ae3c398beaa68bb",
      "parents": [
        "d9ef8b92887c35f113cb749270530f87961f7a0a"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed May 09 02:33:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:51 2007 -0700"
      },
      "message": "libata: use flush_work()\n\n(akpm: bypassed maintainers, sorry.  There are other patches which depend on\nthis)\n\nCc: \"Maciej W. Rozycki\" \u003cmacro@linux-mips.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3dde6ad8fc3939d345a3768464ecff43c91d511a",
      "tree": "bf36419973a724f854ba69de793daaf3d916f9a0",
      "parents": [
        "ccf6780dc3d228f380e17b6858b93fc48e40afd4"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dave@jikos.cz",
        "time": "Wed May 09 07:12:20 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed May 09 07:12:20 2007 +0200"
      },
      "message": "Fix trivial typos in Kconfig* files\n\nFix several typos in help text in Kconfig* files.\n\nSigned-off-by: David Sterba \u003cdave@jikos.cz\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "4750def52cb2c21732dda9aa1d43a07db37b0186",
      "tree": "29fd6223665faabb593f8ae1f4f626685f425ff9",
      "parents": [
        "9028780a3e6d2c3dd940e89b377765cca008b6df",
        "27c78b372d05e47bbd059c9bb003c6d716abff54"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:58:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:58:20 2007 -0700"
      },
      "message": "Merge branch \u0027reset-seq\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027reset-seq\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  [libata reset-seq] build and merge fixes\n  libata: reimplement reset sequencing\n  libata: improve ata_std_prereset()\n  libata: improve 0xff status handling\n  libata: add deadline support to prereset and reset methods\n"
    },
    {
      "commit": "02bbc0f09c90cefdb2837605c96a66c5ce4ba2e1",
      "tree": "04ef573cd4de095c500c9fc3477f4278c0b36300",
      "parents": [
        "7487a2245b8841c77ba9db406cf99a483b9334e9",
        "5b94f675f57e4ff16c8fda09088d7480a84dcd91"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue May 08 13:37:51 2007 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue May 08 13:37:51 2007 +1000"
      },
      "message": "Merge branch \u0027linux-2.6\u0027\n"
    },
    {
      "commit": "c6799ade4ae04b53a5f677e5289116155ff01574",
      "tree": "3601b5e2387e39d62c207e4268c6cc5c68f2a364",
      "parents": [
        "b7405e16435f710edfae6ba32bef4ca20d3de145",
        "5cd47155155a32e5b944ac9fc3f3dc578e429aa0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun May 06 13:20:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun May 06 13:20:10 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027for-linus\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (82 commits)\n  [ARM] Add comments marking in-use ptrace numbers\n  [ARM] Move syscall saving out of the way of utrace\n  [ARM] 4360/1: S3C24XX: regs-udc.h remove unused macro\n  [ARM] 4358/1: S3C24XX: mach-qt2410.c: remove linux/mmc/protocol.h header\n  [ARM] mm 10: allow memory type to be specified with ioremap\n  [ARM] mm 9: add additional device memory types\n  [ARM] mm 8: define mem_types table L1 bit 4 to be for ARMv6\n  [ARM] iop: add missing parens in macro\n  [ARM] mm 7: remove duplicated __ioremap() prototypes\n  ARM: OMAP: fix OMAP1 mpuio suspend/resume oops\n  ARM: OMAP: MPUIO wake updates\n  ARM: OMAP: speed up gpio irq handling\n  ARM: OMAP: plat-omap changes for 2430 SDP\n  ARM: OMAP: gpio object shrinkage, cleanup\n  ARM: OMAP: /sys/kernel/debug/omap_gpio\n  ARM: OMAP: Implement workaround for GPIO wakeup bug in OMAP2420 silicon\n  ARM: OMAP: Enable 24xx GPIO autoidling\n  [ARM] 4318/2: DSM-G600 Board Support\n  [ARM] 4227/1: minor head.S fixups\n  [ARM] 4328/1: Move i.MX UART regs to driver\n  ...\n"
    },
    {
      "commit": "73b6a2be8b29b2067aa3c0f1d6433b6148d88705",
      "tree": "e5c9024f689885c1e002ba57fff6895a7f5a54d2",
      "parents": [
        "a17dba8df9848c548912fbe9bf4b28c5a67c5413"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Thu May 03 09:55:52 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu May 03 14:16:56 2007 +0100"
      },
      "message": "[ARM] Add support for ICSIDE interface on RiscPC\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "a17dba8df9848c548912fbe9bf4b28c5a67c5413",
      "tree": "ab699b209ec5a6b952de52c0238e01d21dc478fb",
      "parents": [
        "69f4f331a0f78470f0bc42ba8db8d6cdd9cae4a9"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sat Apr 21 15:55:06 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu May 03 14:16:55 2007 +0100"
      },
      "message": "[ARM] Add platform support for PATA on RiscPC\n\nAdd pata_platform device for RiscPC, thereby converting the primary\nIDE channel on the machine to PATA.\n\nAcked-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "40cd3a4564ed6b7bc0279430120ca0e9b83cf486",
      "tree": "1b7b7705613d915f4f2ca2f79bec4d246171086a",
      "parents": [
        "9f9a3b8a06b7965335bfe5162c1a50e4d9c3859b"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue May 01 13:54:02 2007 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed May 02 20:04:32 2007 +1000"
      },
      "message": "[POWERPC] Rename get_property to of_get_property: drivers\n\nThese are all the remaining instances of get_property.  Simple rename of\nget_property to of_get_property.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "27c78b372d05e47bbd059c9bb003c6d716abff54",
      "tree": "3d6880b48557689dbe67c88cca952636a4554c5b",
      "parents": [
        "31daabda16063b64a99a526242add727601e43c3"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Mar 09 09:41:19 2007 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue May 01 07:49:54 2007 -0400"
      },
      "message": "[libata reset-seq] build and merge fixes\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "31daabda16063b64a99a526242add727601e43c3",
      "tree": "771e48219041e0a60f33f439c35324d0a3849224",
      "parents": [
        "b8cffc6ad8c000410186815b7bcc6b76ef1bbb13"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Feb 02 16:50:52 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue May 01 07:49:54 2007 -0400"
      },
      "message": "libata: reimplement reset sequencing\n\nlibata previously depended upon waits in prereset to get resets after\nhotplug right for both spin up and device ready wait.  This was\nnecessary both for reliablity and speed as reset was likely to fail if\ninitiated too early and each try usually took more than 30secs to\nfail.  Previous patches fixed the reliability part by fixing status\nand SCR handling in resets.  This patch remedies the speed part by\nimproving reset sequencing.\n\nPrereset waiting timeout is adjusted to 10s because spinup wait is\nreplaced by reset sequencing and !BSY wait is not as important as\nbefore.  During boot or module loading where the drive is already\nfully spun up, !BSY wait succeeds immediately, so 10s should be enough\nin most cases.  It matters after hotplugging or other error\nconditions, but in those cases, !BSY wait in prereset simply can\u0027t be\nrelied upon due to the varied and weird behaviors ATA controllers and\ndevices show.\n\nReset is now driven by ata_eh_reset_timeouts[] table which contains\ntimeouts for each reset try.  The first reset can be softreset but the\nfollowing ones are always hardreset if available.  Each timeout\ndefines deadline for the reset try.  If a reset try fails, reset is\nretried with the next timeout till the end of the timeout table is\nreached.  If a reset try fails before the timeout with error, libata\nwaits till the deadline of the failed try before retrying.\n\nIOW, the timeout table defines timetable of reset tries such that the\nn\u0027th try always begins at least after the sum of all previous timeouts\nhas passed.  The current timetable defines 4 tries and takes around 1\nminute.\n\n@0\t: First try.  This should succeed most of the time during boot.\n@10\t: 10s is enough to spin up most consumer harddrives.  Give it\n\t  another shot.\n@20\t: 20s should spin up \u003e 99% of working drives.  This has 30s\n\t  timeout for retarded devices needing long idleness post reset.\n@55\t: Final try with 5s timeout just in case.\n\nThe above timetable is trade off between not annoying the device too\nmuch with frequent resets and taking reasonable amount of time in most\ncases.  Some controllers may do better with shorter timeouts while\nothers may fare better with longer but we just can\u0027t rely upon LLD\nwriters to test each controller with wide variety of devices using\nvarious scenarios.  We need default behavior which reasonably fits\nmost cases.\n\nI\u0027ve tested the above timetable on a dozen SATA controllers and a few\nPATA controllers with about a dozen different drives from all major\nvendors and 4 different ODDs from three different vendors for both\nboot and hotplug (if available) cases.\n\nBoot probing is not affected unless the device is broken in which\ncases new code gives up on the port after a minute rather than five or\nnine minutes.  When hotplugging, most devices get detected on the\nfirst or second try.  Multi-platter drives with long spin up time\nwhich sometimes took \u003e 40 secs with the original code, now usually\ncomes up during the second try and at least right after the third try\n@20.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "b8cffc6ad8c000410186815b7bcc6b76ef1bbb13",
      "tree": "5f85107a671c03dab5030d00d51ad93295524996",
      "parents": [
        "9b89391cc861b8a1105551909eb66c024fe18ab2"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Feb 02 16:50:52 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue May 01 07:49:54 2007 -0400"
      },
      "message": "libata: improve ata_std_prereset()\n\nThis patch updates ata_std_prereset() as follows.\n\n* Don\u0027t fail on phy resume failure.  Just whine and continue.  Failure\n  from prereset makes libata abort whole reset sequence and give up\n  the port, so prereset() should be best effort.  This is more\n  important with the coming EH updates as prereset() will be called\n  with shorter timeout.\n\n* If ata_wait_ready() fails, whine and request hardreset instead.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "9b89391cc861b8a1105551909eb66c024fe18ab2",
      "tree": "f0783823927ea013c8d58c1041ad1e1d884eed9e",
      "parents": [
        "d4b2bab4f26345ea1803feb23ea92fbe3f6b77bc"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Feb 02 16:50:52 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue May 01 07:49:54 2007 -0400"
      },
      "message": "libata: improve 0xff status handling\n\nFor PATA, 0xff status indicates empty port.  For SATA, it depends on\nhow the controller emulates status register.  On some controllers,\n0xff is used to represent broken link or certain stage during reset.\n\nlibata currently deals SATA the same.  This hasn\u0027t caused any problem\nbecause problematic situations usually only occur after hotplug or\nother link disruption events and libata blindly waited for the device\nto spin up and settle after hotplug giving the link and device\nwhatever time to go through those stages.\n\nlibata is going to replace unconditional spinup wait with generic\ntimed sequence of resets, so not only getting 0xff handling right for\nSATA is, well, the right thing to do, it\u0027s much more important now.\n\nThis patch makes the following changes.\n\n* Make ata_bus_softreset() return -ENODEV if any of its wait fails\n  due to 0xff status.\n\n* Fail soft/hardreset if status wait returns -ENODEV indicating 0xff\n  status while SStatus says the link is online.  e.g. Reset fails if\n  status is 0xff after reset when SStatus reports the linke is online.\n  If SCR registers are not available, everything is the same as\n  before.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d4b2bab4f26345ea1803feb23ea92fbe3f6b77bc",
      "tree": "30a9826351e597828de2b402f1c41b9fca94cf95",
      "parents": [
        "dc87c3985e9b442c60994308a96f887579addc39"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Feb 02 16:50:52 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue May 01 07:49:53 2007 -0400"
      },
      "message": "libata: add deadline support to prereset and reset methods\n\nAdd @deadline to prereset and reset methods and make them honor it.\nata_wait_ready() which directly takes @deadline is implemented to be\nused as the wait function.  This patch is in preparation for EH timing\nimprovements.\n\n* ata_wait_ready() never does busy sleep.  It\u0027s only used from EH and\n  no wait in EH is that urgent.  This function also prints \u0027be\n  patient\u0027 message automatically after 5 secs of waiting if more than\n  3 secs is remaining till deadline.\n\n* ata_bus_post_reset() now fails with error code if any of its wait\n  fails.  This is important because earlier reset tries will have\n  shorter timeout than the spec requires.  If a device fails to\n  respond before the short timeout, reset should be retried with\n  longer timeout rather than silently ignoring the device.\n\n  There are three behavior differences.\n\n  1. Timeout is applied to both devices at once, not separately.  This\n     is more consistent with what the spec says.\n\n  2. When a device passes devchk but fails to become ready before\n     deadline.  Previouly, post_reset would just succeed and let\n     device classification remove the device.  New code fails the\n     reset thus causing reset retry.  After a few times, EH will give\n     up disabling the port.\n\n  3. When slave device passes devchk but fails to become accessible\n     (TF-wise) after reset.  Original code disables dev1 after 30s\n     timeout and continues as if the device doesn\u0027t exist, while the\n     patched code fails reset.  When this happens, new code fails\n     reset on whole port rather than proceeding with only the primary\n     device.\n\n  If the failing device is suffering transient problems, new code\n  retries reset which is a better behavior.  If the failing device is\n  actually broken, the net effect is identical to it, but not to the\n  other device sharing the channel.  In the previous code, reset would\n  have succeeded after 30s thus detecting the working one.  In the new\n  code, reset fails and whole port gets disabled.  IMO, it\u0027s a\n  pathological case anyway (broken device sharing bus with working\n  one) and doesn\u0027t really matter.\n\n* ata_bus_softreset() is changed to return error code from\n  ata_bus_post_reset().  It used to return 0 unconditionally.\n\n* Spin up waiting is to be removed and not converted to honor\n  deadline.\n\n* To be on the safe side, deadline is set to 40s for the time being.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "dc87c3985e9b442c60994308a96f887579addc39",
      "tree": "3299ea602d673f11739b4d3656e9ab069ec7269b",
      "parents": [
        "14e38ac823b7b25e3f4e563c182f93fde78167d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 17:43:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 17:43:48 2007 -0700"
      },
      "message": "libata: honour host controllers that want just one host\n\nThe Marvell IDE interface on my machine would hit a BUG_ON() in\nlib/iomem.c because it was calling ata_pci_init_one() specifying just a\nsingle port on the host, but that would actually end up trying to\ninitialize two ports, the second one with bogus information.\n\nThis fixes \"ata_pci_init_one()\" so that it actually passes down the\nn_ports variable that it got from the low-level driver to the host\nallocation routine (\"ata_host_alloc_pinfo()\"), which results in the ATA\nlayer actually having the correct port number information.\n\nAnd in order to make it all work, I also needed to fix a few places that\nhad incorrectly hard-coded the fact that a host always had exactly two\nports (both ata_pci_init_bmdma() and ata_request_legacy_irqs() would\njust always iterate over both ports).\n\nAcked-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "225036314e768bbfe8331ea9b0e91ca101afe427",
      "tree": "f18b7ec54e051519207d62efee853f2615ea6eda",
      "parents": [
        "4b22afd743a3882123a16135fa863558c0ac2d94"
      ],
      "author": {
        "name": "Milind Arun Choudhary",
        "email": "milindchoudhary@gmail.com",
        "time": "Thu Apr 26 00:19:27 2007 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 15:16:40 2007 -0400"
      },
      "message": "SPIN_LOCK_UNLOCKED cleanup in drivers/ata/pata_winbond.c\n\nremove SPIN_LOCK_UNLOCKED, use DEFINE_SPINLOCK instead\n\nSigned-off-by: Milind Arun Choudhary \u003cmilindchoudhary@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "4b22afd743a3882123a16135fa863558c0ac2d94",
      "tree": "1d6c244f112c9faeb19021c87d46c00df7f1ae84",
      "parents": [
        "a473446856374668c4296db5256ca708ce8f7095"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Apr 26 00:19:26 2007 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 15:16:40 2007 -0400"
      },
      "message": "drivers/ata/pata_cmd640.c: fix build with CONFIG_PM\u003dn\n\nThis is grubby, but all the ata drivers do it this way.\n\nWould it not be better to do\n\n#define ata_scsi_device_resume NULL\n\nin libata.h, remove all those ifdefs?\n\n(updated version, ug, ug)\n\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "a473446856374668c4296db5256ca708ce8f7095",
      "tree": "5734c4fd98968b4c236a2af0a8b1891d9f52f0bd",
      "parents": [
        "28e21c8c0d44cd63bad4c62f94ef0c5a1cb8402c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Apr 26 00:19:25 2007 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 15:16:39 2007 -0400"
      },
      "message": "pata_hpt37x: Further small fixes\n\nFurther HPT37x changes\n\n- No 66MHz 370/370A\n- Remove dead special case check now we use the DPLL (as per the IDE driver)\n\nPointed out by Sergei\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "28e21c8c0d44cd63bad4c62f94ef0c5a1cb8402c",
      "tree": "76f511c2abc018b1836dad6afc1b0aba57f9704e",
      "parents": [
        "bd1d5ec64fff579e624b7c50c8a737da112efe5f"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Apr 26 00:19:25 2007 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 15:16:39 2007 -0400"
      },
      "message": "pata_hpt3x2n: Add HPT371N support and other bits\n\nYes its no longer 3x2n but 3xxn, I can rename it if you want Jeff\n\n- Don\u0027t reset both ports each time (Sergei)\n- If we can\u0027t get a DPLL then abort entirely\n- Use ioport access for clock (from drivers/ide)\n- Add HPT371N support (from drivers/ide)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "bd1d5ec64fff579e624b7c50c8a737da112efe5f",
      "tree": "b7d5a303581321bc9dda51a89cbb546cdb1d3db0",
      "parents": [
        "0d64a233fe6a8fd45a062fe125159854ffed60c7"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Apr 26 00:19:21 2007 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 15:16:21 2007 -0400"
      },
      "message": "ata: printk warning fixes\n\ndrivers/ata/libata-core.c: In function \u0027ata_hpa_resize\u0027:\ndrivers/ata/libata-core.c:986: warning: format \u0027%lld\u0027 expects type \u0027long long int\u0027, but argument 5 has type \u0027u64\u0027\ndrivers/ata/libata-core.c:986: warning: format \u0027%lld\u0027 expects type \u0027long long int\u0027, but argument 6 has type \u0027u64\u0027\ndrivers/ata/libata-core.c:990: warning: format \u0027%lld\u0027 expects type \u0027long long int\u0027, but argument 4 has type \u0027u64\u0027\ndrivers/ata/libata-core.c:990: warning: format \u0027%lld\u0027 expects type \u0027long long int\u0027, but argument 5 has type \u0027u64\u0027\ndrivers/ata/libata-core.c:1003: warning: format \u0027%lld\u0027 expects type \u0027long long int\u0027, but argument 4 has type \u0027u64\u0027\n\nAlso fix various 80-col bustage.\n\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "0d64a233fe6a8fd45a062fe125159854ffed60c7",
      "tree": "012d6288c549e2186555c280e7960cebf693415d",
      "parents": [
        "1188c0d83ca010c3799711e85e63dbde122e6a90"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 23 02:41:05 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:51:33 2007 -0400"
      },
      "message": "libata: separate ATA_EHI_DID_RESET into DID_SOFTRESET and DID_HARDRESET\n\nSeparate ATA_EHI_DID_RESET into ATA_EHI_DID_SOFTRESET and\nATA_EHI_DID_HARDRESET.  ATA_EHI_DID_RESET is redefined as OR of the\ntwo flags.  This patch doesn\u0027t introduce any behavior change.  This\nwill be used later to determine whether _SDD is necessary or not.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "1188c0d83ca010c3799711e85e63dbde122e6a90",
      "tree": "dbb0705488eef68b0cce96af19ca4e6ff4aed87b",
      "parents": [
        "4f701d1e9a796a3d6657e1129bee0566d7cda916"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 23 02:41:05 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:51:33 2007 -0400"
      },
      "message": "ahci: consolidate common port flags\n\nConsolidate common port flags into AHCI_FLAG_COMMON.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "4f701d1e9a796a3d6657e1129bee0566d7cda916",
      "tree": "ac2b13b4fc37bcc29ada2f46fde1e2cd2d734052",
      "parents": [
        "c1c4e8d55757f8aec5f95eb80860e340d717c217"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Apr 23 11:55:36 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:51:33 2007 -0400"
      },
      "message": "ata_timing: ensure t-\u003ecycle is always correct\n\nRussell King hit a case where quantisation errors accumulated such that\nthe cycle time was shorter than rather than equal to the active/recovery\ntime. The code already knows how to stretch times to fit the cycle time\nbut does not know about the reverse.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c1c4e8d55757f8aec5f95eb80860e340d717c217",
      "tree": "1ecd67225ea52427f701d56e57ae13f803f69a88",
      "parents": [
        "abcfa88bd47d433c796cf724a8a8b321a7190bdd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 23 02:05:53 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:46:18 2007 -0400"
      },
      "message": "libata: add missing call to -\u003ecable_detect() in new EH path\n\n-\u003ecable_detect() used to be called on by the old ata_bus_probe() path.\nAdd invocation to ata_eh_revalidate_and_attach() right after IDENTIFYs\nare done.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "abcfa88bd47d433c796cf724a8a8b321a7190bdd",
      "tree": "3ce9963cc51559878ec8e1082bee5d901caaa5be",
      "parents": [
        "169439c2e35f01e7832a9b4fc8a7446980c3d593"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 23 02:04:38 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:46:18 2007 -0400"
      },
      "message": "pata_amd: remove contamination added during cable_detect conversion\n\nThis is added by added by cff63dfceb52c564fe1ba5394d50ab7d599a11b9\n - pata: cable methods.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "169439c2e35f01e7832a9b4fc8a7446980c3d593",
      "tree": "83cbc6898be74b2bfb49bd4eaa966913c49de9da",
      "parents": [
        "1e999736cafdffc374f22eed37b291129ef82e4e"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "liml@rtr.ca",
        "time": "Tue Apr 17 18:26:07 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:40:40 2007 -0400"
      },
      "message": "libata: Handle drives that require a spin-up command before first access\n\n(S)ATA drives can be configured for \"power-up in standby\",\na mode whereby a specific \"spin up now!\" command is required\nbefore the first media access.\n\nCurrently, a drive with this feature enabled can not be used at all\nwith libata, and once in this mode, the drive becomes a doorstop.\n\nThe older drivers/ide subsystem at least enumerates the drive,\nso that it can be woken up after the fact from a userspace HDIO_*\ncommand, but not libata.\n\nThis patch adds support to libata for the \"power-up in standby\"\nmode where a \"spin up now!\" command (SET_FEATURES) is needed.\nWith this, libata will recognize such drives, spin them up,\nand then re-IDENTIFY them if necessary to get a full/complete\nset of drive features data.\n\nDrives in this state are determined by looking for\nspecial values in id[2], as documented in the current ATA specs.\n\nSigned-off-by: Mark Lord \u003cmlord@pobox.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "1e999736cafdffc374f22eed37b291129ef82e4e",
      "tree": "d71e0907827841de66f172dec0cc4d550bd2cec8",
      "parents": [
        "6bfff31e77cfa1b13490337e5a4dbaa3407e83ac"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 11 00:23:13 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:06 2007 -0400"
      },
      "message": "libata: HPA support\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\n\nAdd support for ignoring the BIOS HPA result (off by default) and setting\nthe disk to the full available size unless already frozen.\n\nTested with various platforms/disks and confirmed to work with the\nMacintosh (which broke earlier) and ata_piix (breakage due to the LBA48\nreadback that Tejun fixed).\n\nFor normal users this brings us, I believe, to feature parity with old IDE\n(and of course more featured in some areas too).\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "6bfff31e77cfa1b13490337e5a4dbaa3407e83ac",
      "tree": "89f7dc5379453381aed939741fc3a7e46b0465fa",
      "parents": [
        "5d728824efeda61d304153bfcf1378a3c18b7d70"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Apr 17 23:44:08 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:06 2007 -0400"
      },
      "message": "libata: kill probe_ent and related helpers\n\nAll drivers are converted to new init model.  Kill probe_ent,\nata_device_add() and ata_pci_init_native_mode().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "5d728824efeda61d304153bfcf1378a3c18b7d70",
      "tree": "8a3d4ba0c1c650da5c161f11155e7c19f0fe78aa",
      "parents": [
        "4447d35156169cf136e829eb6b5cac2d6370f2d9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Apr 17 23:44:08 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:06 2007 -0400"
      },
      "message": "libata: convert the remaining PATA drivers to new init model\n\nConvert pdc_adma, pata_cs5520, pata_isapnp, pata_ixp4xx_cf,\npata_legacy, pata_mpc52xx, pata_mpiix, pata_pcmcia, pata_pdc2027x,\npata_platform, pata_qdi, pata_scc and pata_winbond to new init model.\n\n* init_one()\u0027s now follow more consistent init order\n\n* cs5520 now registers one host with two ports, not two hosts.  If any\n  of the two ports are disabled, it\u0027s made dummy as other drivers do.\n\nTested pdc_adma and pata_legacy.  Both are as broken as before.  The\nrest are compile tested only.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "4447d35156169cf136e829eb6b5cac2d6370f2d9",
      "tree": "20be4c582ea4ce1cce1b0f8dbea949a410a72e3c",
      "parents": [
        "9a829ccfc833269bdb85751f5048288ab93678ac"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Apr 17 23:44:08 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:06 2007 -0400"
      },
      "message": "libata: convert the remaining SATA drivers to new init model\n\nConvert ahci, sata_sil, sata_sil24, sata_svw, sata_qstor, sata_mv,\nsata_sx4, sata_vsc and sata_inic162x to new init model.\n\nNow that host and ap are available during intialization, functions are\nconverted to take either host or ap instead of low level parameters\nwhich were inevitable for functions shared between init and other\npaths.  This simplifies code quite a bit.\n\n* init_one()\u0027s now follow more consistent init order\n\n* ahci_setup_port() and ahci_host_init() collapsed into\n  ahci_init_one() for init order consistency\n\n* sata_vsc uses port_info instead of setting fields manually\n\n* in sata_svw, k2_board_info converted to port_info (info is now in\n  port flags).  port number is honored now.\n\nTested on ICH7/8 AHCI, jmb360, sil3112, 3114, 3124 and 3132.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "9a829ccfc833269bdb85751f5048288ab93678ac",
      "tree": "89732ae0da2ce1b1076d6ce8e80ac6aad8d9deb0",
      "parents": [
        "eca25dca17630ae354f4b1df559ed90578b794fe"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Apr 17 23:44:08 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:03 2007 -0400"
      },
      "message": "libata: convert ata_pci_init_native_mode() users to new init model\n\nConvert drivers which use ata_pci_init_native_mode() to new init\nmodel.  ata_pci_init_native_host() is used instead.  sata_nv, sata_uli\nand sata_sis are in this category.\n\nTested on nVidia Corporation CK804 Serial ATA Controller [10de:0054]\nin both BMDMA and ADMA mode.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "eca25dca17630ae354f4b1df559ed90578b794fe",
      "tree": "e1c0864264a227bf3302480c8a5290d542acbf71",
      "parents": [
        "21b0ad4fb8306ac2bf5a249ffc978b1b8924c7d0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Apr 17 23:44:07 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:03 2007 -0400"
      },
      "message": "libata: convert drivers with combined SATA/PATA ports to new init model\n\nConvert sata_via and sata_promise to new init model.  Both controllers\ncan have combined configuration (SATA + PATA) and used twisted\ninitialization method (modifying port in -\u003eport_start) to overcome\nprobe_ent limitations.\n\nThis patch converts both drivers to new init model in which such\nconfiguration is natively supported.\n\n* promise: Combined pata port now uses separate port_info entry right\n  after the sata counterpart entry.\n\n* promise: Controller configuration is discerned using ap-\u003eflags.\n  This simplifies init path and makes it look more like other LLDs.\n\n* via: Both SATA and PATA ports in vt6421 are represented in their\n  own port_info structure.\n\nTested on PDC20375 (SATA150 TX2plus) [105a:3375] and PDC40775 (SATA\n300 TX2plus) [105a:3d73].  Couldn\u0027t test via cuz my c3 won\u0027t boot the\ncurrent kernel.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "21b0ad4fb8306ac2bf5a249ffc978b1b8924c7d0",
      "tree": "9f82cc6a4bca146ce1021f0825cc12f18f9063b9",
      "parents": [
        "d491b27b1959565671e2c05dff09b5f535a854ce"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Apr 17 23:44:07 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:03 2007 -0400"
      },
      "message": "libata: add init helpers including ata_pci_prepare_native_host()\n\nThese will be used to convert LLDs to new init model.\n\n* Add irq_handler field to port_info.  In new init model, requesting\n  IRQ is LLD\u0027s responsibility and libata doesn\u0027t need to know about\n  irq_handler.  Most LLDs can simply register their irq_handler but\n  some need different irq_handler depending on specific chip.  The\n  added port_info-\u003eirq_handler field can be used by LLDs to select\n  the matching IRQ handler in such cases.\n\n* Add ata_dummy_port_info.\n\n* Implement ata_pci_prepare_native_host(), a helper to alloc ATA host,\n  acquire all resources and init the host in one go.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d491b27b1959565671e2c05dff09b5f535a854ce",
      "tree": "207711a735f7460649f21bd9eedff04eb55afa11",
      "parents": [
        "0f834de3ea61aacacf1fac59ba9e82680f83c846"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Apr 17 23:44:07 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:03 2007 -0400"
      },
      "message": "libata: convert native PCI host handling to new init model\n\nConvert native PCI host handling to alloc-init-register model.  New\nfunction ata_pci_init_native_host() follows the new init model and\nreplaces ata_pci_init_native_mode().  As there are remaining LLD\nusers, the old function isn\u0027t removed yet.\n\nata_pci_init_one() is reimplemented using the new function and now\nfully converted to new init model.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "0f834de3ea61aacacf1fac59ba9e82680f83c846",
      "tree": "3b99ea99281e04ab6dd436f2954981f2cce889bb",
      "parents": [
        "f5cda257296fbd3683b1f568f2d94d3caaacf74d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Apr 17 23:44:07 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:03 2007 -0400"
      },
      "message": "libata: convert legacy PCI host handling to new init model\n\nConvert legacy PCI host handling to alloc-init-register model.\nata_init_legacy_host(), ata_request_legacy_irqs() and\nata_pci_init_bmdma() are separated out and follow the new init model.\n\nThe two legacy handling functions use separate ata_legacy_devres\ninstead of generic devm_* resources.  This reduces devres overhead for\nlegacy hosts which was a bit high because it didn\u0027t use PCI/iomap\nmerged resoruces.\n\nata_pci_init_one() is rewritten in terms of the aboved functions but\nnative mode handling is still using the old method.  Conversion will\nbe completed when native mode handling is updated.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "f5cda257296fbd3683b1f568f2d94d3caaacf74d",
      "tree": "a0c31206f6a7f299c11f233a22f3b8b8aa836151",
      "parents": [
        "f31871951b38daf2d7ca17daad59fdb735062da3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Apr 17 23:44:07 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:03 2007 -0400"
      },
      "message": "libata: implement ata_host_alloc_pinfo() and ata_host_register()\n\nImplement ata_host_alloc_pinfo() and ata_host_register().  These helpers\nwill be used in the following patches to adopt new init model.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "f31871951b38daf2d7ca17daad59fdb735062da3",
      "tree": "4286402eaf679b6fb73e893d8e51bb693559091d",
      "parents": [
        "ecef7253235e7a9365afe08a508e11bed91c1c11"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Apr 17 23:44:07 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:03 2007 -0400"
      },
      "message": "libata: separate out ata_host_alloc() and ata_host_register()\n\nReorganize ata_host_alloc() and its subroutines into the following\nthree functions.\n\n* ata_host_alloc() : allocates host and its ports.  shost is not\n  registered automatically.\n\n* ata_scsi_add_hosts() : allocates and adds shosts associated with an\n  ATA host.  Used by ata_host_register().\n\n* ata_host_register() : takes a fully initialized ata_host structure\n  and registers it to libata layer and probes it.\n\nOnly ata_host_alloc() and ata_host_register() are exported.\nata_device_add() is rewritten using the above functions.  This patch\ndoes not introduce any observable behavior change.  Things worth\nmentioning.\n\n* print_id is assigned at registration time and LLDs are allowed to\n  overallocate ports and reduce host-\u003en_ports during initialization.\n  ata_host_register() will throw away unused ports automatically.\n\n* All SCSI host initialization stuff now resides in\n  ata_scsi_add_hosts() in libata-scsi.c, where it should be.\n\n* ipr is now the only user of ata_host_init().  Either kill it by\n  converting ipr to use ata_host_alloc() and friends or rename and\n  move it to libata-scsi.c\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ecef7253235e7a9365afe08a508e11bed91c1c11",
      "tree": "2d4ae5a148c38a3371a6be609594833733f24c8a",
      "parents": [
        "4911487a34baa89ec5b5f09a661761b73091fbec"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Apr 17 23:44:06 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:02 2007 -0400"
      },
      "message": "libata: separate out ata_host_start()\n\nSeparate out ata_host_start() from ata_device_add().  ata_host_start()\ncalls -\u003eport_start on each port if available and freezes the port.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "4911487a34baa89ec5b5f09a661761b73091fbec",
      "tree": "f79f6fa1a061cbbfcaac9a1581c7cf9600a82441",
      "parents": [
        "bf33554290bb6a6b2bd8827076f89fb17fb19e3d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Apr 17 23:44:06 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:02 2007 -0400"
      },
      "message": "libata: allocate ap separately from shost\n\nDon\u0027t embed ap inside shost.  Allocate it separately and point it back\nfrom shosts\u0027s hostdata.  This makes port allocation more flexible and\nallows regular ATA and SAS share host alloc/init paths.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "bf33554290bb6a6b2bd8827076f89fb17fb19e3d",
      "tree": "7c6f2236daad79d2232c7ef309459ed4d02465bb",
      "parents": [
        "03ec52dea0f3c615b1b502672c189f296842f7dd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Apr 11 17:27:14 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:02 2007 -0400"
      },
      "message": "ahci: add PCI ID for new VIA chip\n\nAdd PCI ID for new VIA chip.  Original patch is from Maarten Vanraes.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Maarten Vanraes \u003cmaarten.vanraes@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "03ec52dea0f3c615b1b502672c189f296842f7dd",
      "tree": "b22483590ca0eef27243b3edad9f89b7de3184cc",
      "parents": [
        "c65ec1c25dc23123040efdc4ada46071431723e3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Apr 12 13:38:11 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:02 2007 -0400"
      },
      "message": "libata: kill type mismatch compile warning\n\nkill the following compile warning.\n\ndrivers/ata/libata-core.c:1786: warning: comparison of distinct pointer types lacks a cast\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c65ec1c25dc23123040efdc4ada46071431723e3",
      "tree": "7c5a6e3f1f8bf3a0a9f74520eb5c1806fba4c5c7",
      "parents": [
        "a51d644af6eb0a93bc383e5f005faa445c87f335"
      ],
      "author": {
        "name": "Conke Hu",
        "email": "conke.hu@gmail.com",
        "time": "Wed Apr 11 18:23:14 2007 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:02 2007 -0400"
      },
      "message": "ahci.c: remove non-existing SB600 raid id (re-send)\n\n    SB600 RAID and SB600 SATA is the same controller and share the\nsame PCI ID 0x4380. There is no such PCI ID 0x4381.\n\n    Signed-off-by: Conke Hu \u003cconke.hu@gmail.com\u003e\n ---------\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "a51d644af6eb0a93bc383e5f005faa445c87f335",
      "tree": "b1392796d9766e86e7a87d57dd0f7d62e0fa0dfa",
      "parents": [
        "55a6adeea4077521b4bba1dfe674f5835157a00b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 20 15:24:11 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:02 2007 -0400"
      },
      "message": "libata: improve AC_ERR_DEV handling for -\u003epost_internal_cmd\n\n-\u003epost_internal_cmd is simplified EH for internal commands.  Its\nprimary mission is to stop the controller such that no rogue memory\naccess or other activities occur after the internal command is\nreleased.  It may provide error diagnostics by setting qc-\u003eerr_mask\nbut this hasn\u0027t been a requirement.\n\nTo ignore SETXFER failure for CFA devices, libata needs to know\nwhether a command was failed by the device or for any other reason.\nie. internal command needs to get AC_ERR_DEV right.\n\nThis patch makes the following changes to AC_ERR_DEV handling and\n-\u003epost_internal_cmd semantics to accomodate this need and simplify\ncallback implementation.\n\n1. As long as the correct bits in the result TF registers are set,\n   there is no need to set AC_ERR_DEV explicitly.  libata EH core\n   takes care of that for both normal and internal commands.\n\n2. The only requirement for -\u003epost_internal_cmd() is to put the\n   controller into quiescent state.  It needs not to set any err_mask.\n\n3. ata_exec_internal_sg() performs minimal error analysis such that\n   AC_ERR_DEV is automatically set as long as result_tf is filled\n   correctly.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "55a6adeea4077521b4bba1dfe674f5835157a00b",
      "tree": "908e61d7a0a828bc9625b38bc1e22e0645230ade",
      "parents": [
        "17199b187b5d9a22f2ec835c9fdb38302501b918"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Mar 09 19:43:35 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:02 2007 -0400"
      },
      "message": "libata: fix native mode disabled port handling\n\nDisabled port handling in ata_pci_init_native_mode() is slightly\nbroken in that it may end up using the wrong port_info.  This patch\nupdates it such that disables ports are made dummy as done in the\nlegacy and other cases.\n\nWhile at it, fix indentation in ata_resources_present().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "17199b187b5d9a22f2ec835c9fdb38302501b918",
      "tree": "ae381abed721e382c2bb031a89acd8098e4aeb15",
      "parents": [
        "d447df140d0f07a02bd221cb42eb0b61bce16042"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Mar 18 22:26:53 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:01 2007 -0400"
      },
      "message": "ahci: move port_map handling to ahci_save_initial_config()\n\nMove cross checking between port_map and cap.n_ports into\nahci_save_initial_config().  After save_initial_config is done,\nhpriv-\u003eport_map is always setup properly.\n\nTested on JMB363, ICH7 and ICH8 (with dummy ports).\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d447df140d0f07a02bd221cb42eb0b61bce16042",
      "tree": "7ce228513178cdce89db5d93cb7bd4c04be1a771",
      "parents": [
        "ce2d3abc292c1eecd9ddc6f03391a0a46c6561dc"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Mar 18 22:15:33 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:01 2007 -0400"
      },
      "message": "ahci: implement ata_save/restore_initial_config()\n\nThere are several registers which describe how the controller is\nconfigured.  These registers are sometimes implemented as r/w\nregisters which are configured by firmware and get cleared on\ncontroller reset or after suspend/resume cycle.  ahci saved and\nrestored those values inside ahci_reset_controller() which is a bit\nmessy and doesn\u0027t work over suspend/resume cycle.\n\nThis patch implements ahci_save/restore_initial_config().  The save\nfunction is called during driver initialization and saves cap and\nport_map to hpriv.  The restore function is called after the\ncontroller is reset to restore the initial values.\n\nSometimes the initial firmware values are inconsistent and need to be\nfixed up.  This is handled by ahci_save_initial_config().  For this,\nthere are two versions of saved registers.  One to write back to the\nhardware register, the other to use during driver operation.  This is\nnecessary to keep ahci\u0027s behavior unchanged (write back fixed up\nport_map while keeping cap as-is).\n\nThis patch makes ahci save the register values once before the first\ncontroller reset, not after it\u0027s been reset.  Also, the same stored\nvalues are used written back after each reset, so the register values\nare properly recovered after suspend/resume cycle.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ce2d3abc292c1eecd9ddc6f03391a0a46c6561dc",
      "tree": "42c692445e1b84926fa1f0035fe18f910c89b332",
      "parents": [
        "9bedb799f2d270dc6434473fcab745adc930a85b"
      ],
      "author": {
        "name": "Mikael Pettersson",
        "email": "mikpe@it.uu.se",
        "time": "Sat Apr 07 14:29:51 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:01 2007 -0400"
      },
      "message": "sata_promise: fix error decode regression\n\nPromise ATA ports should always be reset by pdc_reset_port()\nwhen errors are detected, but the recent error reason decoding\nupdate to sata_promise replaced that reset with a freeze.\n\nThis patch changes the error detection to do a reset again.\nThis makes the error decoding update safer, as it now only\nadds error decoding without changing any other behaviour.\n\nSigned-off-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "9bedb799f2d270dc6434473fcab745adc930a85b",
      "tree": "3663b299bccfcd81c508755759a9f572a5692d59",
      "parents": [
        "ad648c08835851b1b447b08144013e86aceafe5f"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 11 00:19:00 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:01 2007 -0400"
      },
      "message": "pata_pdc2027x: Updates\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\n\nCorrect missing modefilter (crash if BAR4 unassigned)\nUse Cable Detect method\nWrap -\u003eset_mode instead ready for -\u003epost_set_mode removal\nMaxtor errata as per Jeff Garzik report\nRemove duplicated private udma_mask hacking\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ad648c08835851b1b447b08144013e86aceafe5f",
      "tree": "2d8e0de673fa783bff1cae546b12bd10050d0dd6",
      "parents": [
        "eb4a2c7f03db06dda0370591c958fa5a62ff2ec3"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 11 00:14:09 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:01 2007 -0400"
      },
      "message": "pata_winbond\n\nNot a PCI device so doesn\u0027t need PCI includes\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "eb4a2c7f03db06dda0370591c958fa5a62ff2ec3",
      "tree": "63933e8f00d363728dfcd9182ed3718dbbf45572",
      "parents": [
        "5a5dbd18a7496ed403f6f54bb20c955c65482fa5"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 11 00:04:20 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:01 2007 -0400"
      },
      "message": "pata: cable methods\n\nVersus upstream as requested\n\nLast of the trivial switches to cable_detect methods.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "5a5dbd18a7496ed403f6f54bb20c955c65482fa5",
      "tree": "031eec40ab42ac4ab04e59db539b8126ac31fb6d",
      "parents": [
        "1234010684bb9cde51125ec3d1c71054a9f24f47"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "liml@rtr.ca",
        "time": "Fri Mar 16 10:22:26 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:01 2007 -0400"
      },
      "message": "libata: add support for READ/WRITE LONG\n\nThe READ/WRITE LONG commands are theoretically obsolete,\nbut the majority of drives in existance still implement them.\n\nThe WRITE_LONG and WRITE_LONG_ONCE commands are of particular\ninterest for fault injection testing -- eg. creating \"media errors\"\nat specific locations on a disk.\n\nThe fussy bit is that these commands require a non-standard\nsector size, usually 520 bytes instead of 512.\n\nThis patch adds support to libata for READ/WRITE LONG commands\nissued via SG_IO/ATA_16.\n\nSigned-off-by:  Mark Lord \u003cmlord@pobox.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "1234010684bb9cde51125ec3d1c71054a9f24f47",
      "tree": "c2629530bd03a8db17d2d873ca6ecd7ff85834f0",
      "parents": [
        "5c25bf0d2893ae03287693b958e9ef12e4893e04"
      ],
      "author": {
        "name": "Robin H\\. Johnson",
        "email": "robbat2@gentoo.org",
        "time": "Wed Mar 28 18:02:07 2007 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:01 2007 -0400"
      },
      "message": "Add notation that the Asus W5F laptop has a short cable instead of 80-wire.\n\nThe Asus W5F laptop uses a short cable instead of the 80-wire style, and thus\nneeds to be in the ich_laptop special cases for correct detection and support\nof UDMA/100 for the hard drive. I noticed this because I have the W5F laptop,\nand was tracing apparent slowness.\n\nSigned-off-by: Robin H. Johnson \u003crobbat2@gentoo.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "5c25bf0d2893ae03287693b958e9ef12e4893e04",
      "tree": "214981e83004fd508c8899f8cbb982a7e5a216a4",
      "parents": [
        "2f5344b1be57e63b6a3bfa19e69c5cd84f031edb"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Mar 26 21:43:43 2007 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:01 2007 -0400"
      },
      "message": "pata_optidma: rework for cable detect and to remove post_set_mode()\n\nA lot of noise because I had to rename the optidma_set_mode() method to\navoid confusion with the new -\u003eset_mode() method that was added. Cable\ndetect side is pretty trivial.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "2f5344b1be57e63b6a3bfa19e69c5cd84f031edb",
      "tree": "26027a32bcfc859b2de51fb1819c003201a0c6b5",
      "parents": [
        "c45a6328742be39eee351a4ac7a5e60f7d048846"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Mar 26 21:43:42 2007 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:00 2007 -0400"
      },
      "message": "pata_winbond: restore cable method\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c45a6328742be39eee351a4ac7a5e60f7d048846",
      "tree": "aa5acc21a336c8b1c90278631555b5a1021426f2",
      "parents": [
        "3b4ba5910b150c5db019642899d7b6ba9bec27b4"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Mar 26 21:43:41 2007 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:00 2007 -0400"
      },
      "message": "pata_sl82c105: restore cable detect method\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    }
  ],
  "next": "3b4ba5910b150c5db019642899d7b6ba9bec27b4"
}
