)]}'
{
  "log": [
    {
      "commit": "853280a4dc8e3cc97ff10c1c02234d96078f437b",
      "tree": "3767a0fa8e9aff275bd69e887c2d3d7117812822",
      "parents": [
        "1e75540ec5202cae63cd238c86bd880e3d496546"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 07:00:41 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 07:00:41 2009 +0900"
      },
      "message": "ide: use blk_run_queue() instead of blk_start_queueing()\n\nblk_start_queueing() is being phased out in favor of\n[__]blk_run_queue().  Switch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "60f85019c6c8c1aebf3485a313e0da094bc95d07",
      "tree": "5cbb0e1a733b59887308a50ce083613c4e7c0ede",
      "parents": [
        "674f0ea111bc9bff1b4e4841d7da38933c5e3b59"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Wed Apr 08 14:13:01 2009 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Apr 08 14:13:01 2009 +0200"
      },
      "message": "ide: replace IDE_TFLAG_* flags by IDE_VALID_*\n\nReplace IDE_TFLAG_{IN|OUT}_* flags meaning to the taskfile register validity on\ninput/output by the IDE_VALID_* flags and introduce 4 symmetric 8-bit register\nvalidity indicator subfields, \u0027valid.{input/output}.{tf|hob}\u0027, into the \u0027struct\nide_cmd\u0027 instead of using the \u0027tf_flags\u0027 field for that purpose (this field can\nthen be turned from 32-bit into 8-bit one).\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "d364c7f50b3bb6dc77259974038567b821e2cf0a",
      "tree": "8a7a01a17656fb758a03ed0f1430371c300b07c1",
      "parents": [
        "e7fedc3ca0b8fcd3350a40c42a7100a9539e6c4a"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Mar 27 12:46:42 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Mar 27 12:46:42 2009 +0100"
      },
      "message": "ide: use ide_complete_cmd() for REQ_UNPARK_HEADS\n\n* Fixup -\u003etf_flags in ide_do_park_unpark() to match their current use.\n\n* Use ide_complete_cmd() for REQ_UNPARK_HEADS.\n\nWhile at it:\n\n* No need to read Error register for PM requests in task_no_data_intr().\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "0dfb991c6943c810175376b58d1c29cfe532541b",
      "tree": "c7b82d2ea9159e94c40f8df1a178dab4d2590ed3",
      "parents": [
        "04d09b0e62f2180a7e3fa8578ed778eca0c454fd"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Mar 27 12:46:39 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Mar 27 12:46:39 2009 +0100"
      },
      "message": "ide: use ata_tf_protocols enums\n\n* Add IDE_TFLAG_MULTI_PIO taskfile flag and set it for commands\n  using multi-PIO protocol.\n\n* Use ata_tf_protocols enums instead of TASKFILE_* defines to\n  denote command\u0027s protocol and then rename -\u003edata_phase field\n  to -\u003eprotocol.\n\n* Remove no longer needed \u003clinux/hdreg.h\u003e includes.\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "22aa4b32a19b1f231d4ce7e9af6354b577a22a35",
      "tree": "3e773e7102e4ea6bb6b4c00edce442c4e8f37edb",
      "parents": [
        "e6830a86c260d73c6f370aa7ed17ee6c71e5ee05"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Mar 27 12:46:37 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Mar 27 12:46:37 2009 +0100"
      },
      "message": "ide: remove ide_task_t typedef\n\nWhile at it:\n- rename struct ide_task_s to struct ide_cmd\n- remove stale comments from idedisk_{read_native,set}_max_address()\n- drop unused \u0027cmd\u0027 argument from ide_{cmd,task}_ioctl()\n- drop unused \u0027task\u0027 argument from tx4939ide_tf_load_fixup()\n- rename ide_complete_task() to ide_complete_cmd()\n- use consistent naming for struct ide_cmd variables\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "e3d9a73a83d98fc466dabdcfe4f4e7e4419e3f8e",
      "tree": "3a93a8eca3800bafe5aeaf6a469fb3af05739c44",
      "parents": [
        "5e76acd588c125fbd37390e44868dcb07cadbe4a"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Mar 27 12:46:32 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Mar 27 12:46:32 2009 +0100"
      },
      "message": "ide: remove -\u003edata_phase field from ide_hwif_t\n\n* Always use hwif-\u003etask-\u003edata_phase and remove -\u003edata_phase\n  field from ide_hwif_t.\n\n* Remove superfluous REQ_TYPE_ATA_TASKFILE check from\n  ide_pio_datablock() while at it.\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "c4e66c36cce3f23d68013c4112013123ffe80bdb",
      "tree": "9ea3551dd639acd23bf66f44a3da54d0c7b5eb8e",
      "parents": [
        "1bc6daae4aba9194f8ff6801af8367a1a4718965"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Mar 24 23:22:44 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Mar 24 23:22:44 2009 +0100"
      },
      "message": "ide: move ide_do_park_unpark() to ide-park.c\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "b65fac32cfe3b2f98cd472fef400bd1c1340de23",
      "tree": "493a7e30e23e5413a9e5ad6102b8e91ebc02c069",
      "parents": [
        "5b31f855f10d0053e738baa6d91fb6a3fad35119"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:50 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:50 2009 +0100"
      },
      "message": "ide: merge ide_hwgroup_t with ide_hwif_t (v2)\n\n* Merge ide_hwgroup_t with ide_hwif_t.\n\n* Cleanup init_irq() accordingly, then remove no longer needed\n  ide_remove_port_from_hwgroup() and ide_ports[].\n\n* Remove now unused HWGROUP() macro.\n\nWhile at it:\n\n* ide_dump_ata_error() fixups\n\nv2:\n* Fix -\u003equirk_list check in do_ide_request()\n  (s/hwif-\u003ecur_dev/prev_port-\u003ecur_dev).\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "201bffa46466b4afdf7d29db8eca3fa5decb39c8",
      "tree": "47e7d85563690547b67748092e587be1f31046b5",
      "parents": [
        "631de3708d595d153e8a510a3608689290f4c0ed"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 02 16:12:50 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 02 16:12:50 2009 +0100"
      },
      "message": "ide: use per-device request queue locks (v2)\n\n* Move hack for flush requests from choose_drive() to do_ide_request().\n\n* Add ide_plug_device() helper and convert core IDE code from using\n  per-hwgroup lock as a request lock to use the -\u003equeue_lock instead.\n\n* Remove no longer needed:\n  - choose_drive() function\n  - WAKEUP() macro\n  - \u0027sleeping\u0027 flag from ide_hwif_t\n  - \u0027service_{start,time}\u0027 fields from ide_drive_t\n\nThis patch results in much simpler and more maintainable code\n(besides being a scalability improvement).\n\nv2:\n* Fixes/improvements based on review from Elias:\n  - take as many requests off the queue as possible\n  - remove now redundant BUG_ON()\n\nCc: Elias Oltmanns \u003ceo@nebensachen.de\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "631de3708d595d153e8a510a3608689290f4c0ed",
      "tree": "dbecf12cccac76e89cf1908f80b4f515cada731e",
      "parents": [
        "b2cfb05a701809abee591265a198afa029d68bff"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 02 16:12:50 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 02 16:12:50 2009 +0100"
      },
      "message": "ide: add ide_[un]lock_hwgroup() helpers\n\nAdd ide_[un]lock_hwgroup() inline helpers for obtaining exclusive\naccess to the given hwgroup and update the core code accordingly.\n\n[ This change besides making code saner results in more efficient\n  use of ide_{get,release}_lock(). ]\n\nCc: Michael Schmitz \u003cschmitz@biophys.uni-duesseldorf.de\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Elias Oltmanns \u003ceo@nebensachen.de\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "2a2ca6a96194c4744a2adeefbc09ce881f3c5abe",
      "tree": "50b43d823d4a589fbfb8f8751278d6101cd3ecf3",
      "parents": [
        "6ea52226ca131a99bb619bd56fbeee566ea5a966"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Dec 29 20:27:31 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Dec 29 20:27:31 2008 +0100"
      },
      "message": "ide: replace the global ide_lock spinlock by per-hwgroup spinlocks (v2)\n\nNow that (almost) all host drivers have been fixed not to abuse ide_lock\nand core code usage of ide_lock has been sanitized we may safely replace\nide_lock by per-hwgroup locks.\n\nThis patch is partially based on earlier patch from Ravikiran G Thirumalai.\n\nWhile at it:\n- don\u0027t use deprecated HWIF() and HWGROUP() macros\n- update locking documentation in ide.h\n\nv2:\nAdd missing spin_lock_init(\u0026hwgroup-\u003elock).  (Noticed by Elias Oltmanns)\n\nCc: Vaibhav V. Nivargi \u003cvaibhav.nivargi@gmail.com\u003e\nCc: Alok N. Kataria \u003calokk@calsoftinc.com\u003e\nCc: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nCc: Elias Oltmanns \u003ceo@nebensachen.de\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "4abdc6ee7c47a1a6e12f95717e461baeebee5df7",
      "tree": "51cac3d66891d026483838563e35124467a8eb86",
      "parents": [
        "08243ba731ee08ff42cf1589379c81567690218f"
      ],
      "author": {
        "name": "Elias Oltmanns",
        "email": "eo@nebensachen.de",
        "time": "Mon Oct 13 21:39:50 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Oct 13 21:39:50 2008 +0200"
      },
      "message": "ide: Implement disk shock protection support (v4)\n\nOn user request (through sysfs), the IDLE IMMEDIATE command with UNLOAD\nFEATURE as specified in ATA-7 is issued to the device and processing of\nthe request queue is stopped thereafter until the specified timeout\nexpires or user space asks to resume normal operation. This is supposed\nto prevent the heads of a hard drive from accidentally crashing onto the\nplatter when a heavy shock is anticipated (like a falling laptop expected\nto hit the floor). Port resets are deferred whenever a device on that\nport is in the parked state.\n\nv3:\nElias Oltmanns \u003ceo@nebensachen.de\u003e wrote:\n[...]\n\u003e \u003e\u003e 1. Make sure that no negative value is being passed to\n\u003e \u003e\u003e    jiffies_to_msecs() in ide_park_show().\n\u003e \u003e\u003e 2. Drop the superfluous variable hwif in ide_special_rq().\n\u003e \u003e\u003e 3. Skip initialisation of task and tf in ide_special_rq() if we are not\n\u003e \u003e\u003e    handling a (un)park request.\n\u003e \u003e\n\u003e \u003e Well, #3 should have been done differently because we donn\u0027t want to\n\u003e \u003e check for REQ_(UN)?PARK_HEADS more often than is necessary.\n\u003e \n\u003e While preparing the backport to 2.6.27, it has just occurred to me that\n\u003e we need to clear the IDE_DFLAG_PARKED flag in ide_disk_pre_reset()\n\u003e because this flag must not be set after *any* sort of access to the\n\u003e device.\n\nv4:\nFix a memory leak due to a missing blk_put_request() in\nissue_park_cmd(). Additionally, we should plug the queue when enqueueing\nthe unpark request because there is no guarantee that the park timeout\nhas not expired by then. Even though the chance for that to happen is\nvery slim, the request might end up hanging in the queue until the next\nI/O operation is queued up. While at it, clean up the code a little:\n- make issue_park_cmd() a function of type void since nobody cares for\n  the return value anyway;\n- use blk_start_queueing() instead of __blk_run_queue() since we don\u0027t\n  have to worry about recursion;\n- remove a superfluous pointer deference in task_no_data_intr().\n\nSigned-off-by: Elias Oltmanns \u003ceo@nebensachen.de\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e,\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    }
  ]
}
