)]}'
{
  "log": [
    {
      "commit": "4f7faa3f2b99f8fb246c8cdeef971e55ceda4e52",
      "tree": "54602fe9e13d6ee571efe41174dd6ba1c63aec4c",
      "parents": [
        "b93fda12357b3f1aa55cf69d8e088372788ea9ea"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Jan 30 18:18:26 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:26 2008 -0400"
      },
      "message": "libata: make EH fail gracefully if no reset method is available\n\nWhen no reset method is available, libata currently oopses.  Although\nthe condition can\u0027t happen unless there\u0027s a bug in a low level driver,\noopsing isn\u0027t the best way to report the error condition.  Complain,\ndump stack and fail reset instead.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "b93fda12357b3f1aa55cf69d8e088372788ea9ea",
      "tree": "bd7b68da74f8e2948c818891e8d45098bfbac802",
      "parents": [
        "f792068e43a3a156139569304b29ec8fc5dec4e3"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue Apr 08 16:36:44 2008 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:25 2008 -0400"
      },
      "message": "libata: Be a bit more slack about early devices\n\nWe have a certain number of \u0027ATA\u0027 emulations often on CF or other flash\ndevices that are at best \"loosely based\" on the CF 1.1 standard. These\ndevices report themselves as disk but don\u0027t support the ATA minimal\ncommand set only the CF 1.1 set.\n\nRelax the PIO checking for devices reporting ATA rev 0, or no iordy\nsupport, or CFA. Rework the code a bit as it was already messy and this\nmade it quite ugly.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "f792068e43a3a156139569304b29ec8fc5dec4e3",
      "tree": "53b27f2ab564f2b7fe0a88e3ad816e9614cb5590",
      "parents": [
        "45db2f6c95eee7c6622ea1b3edb9abafba58e3ab"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue Apr 08 16:37:50 2008 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:25 2008 -0400"
      },
      "message": "libata: cable logic\n\nThe cable detect isolation patch inadvertently removed 40 wire short\ncable handling. Put it back\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "45db2f6c95eee7c6622ea1b3edb9abafba58e3ab",
      "tree": "1c57efcf3e118b177dd7c9c1070b8af70694aff3",
      "parents": [
        "2a0c15ca39f5881aa1b472ca856bb7a2e584ece7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Apr 08 01:46:56 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:25 2008 -0400"
      },
      "message": "libata: move link onlineness check out of softreset methods\n\nCurrently, SATA softresets should do link onlineness check before\nactually performing SRST protocol but it doesn\u0027t really belong to\nsoftreset.\n\nThis patch moves onlineness check in softreset to ata_eh_reset() and\nata_eh_followup_srst_needed() to clean up code and help future sata_mv\nchanges which need clear separation between SCR and TF accesses.\n\nsata_fsl is peculiar in that its softreset really isn\u0027t softreset but\ncombination of hardreset and softreset.  This patch adds dummy private\n-\u003eprereset to keep the current behavior but the driver really should\nimplement separate hard and soft resets and return -EAGAIN from\nhardreset if it should be follwed by softreset.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "2a0c15ca39f5881aa1b472ca856bb7a2e584ece7",
      "tree": "28fe9136db8016720c272ba39df3a3b43a9715e2",
      "parents": [
        "e50e3ce5e70e36e6069a8cc8292df76058fa9e23"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Apr 08 01:25:35 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:25 2008 -0400"
      },
      "message": "libata: kill dead code paths in reset path\n\nSome code paths which had been made obsolete by recent reset\nsimplification were still around.  Kill them.\n\n* ata_eh_reset() checked for ATA_DEV_UNKNOWN to determine\n  classification failure.  This is no longer applicable.\n\n* ata_do_reset() should convert ATA_DEV_UNKNOWN to ATA_DEV_NONE\n  regardless of reset result (e.g. -EAGAIN).\n\n* LLDs don\u0027t need to convert ATA_DEV_UNKNOWN to ATA_DEV_NONE.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "e50e3ce5e70e36e6069a8cc8292df76058fa9e23",
      "tree": "bfff8eb16da5f22bb993ff7a38de6a823ad1bcc9",
      "parents": [
        "88fcd5627563722483427a55113c0a83f56e8080"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Wed Apr 09 13:34:40 2008 +1000"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:25 2008 -0400"
      },
      "message": "pata_scc: fix build breakage\n\ndrivers/ata/pata_scc.c: In function \u0027scc_bus_softreset\u0027:\ndrivers/ata/pata_scc.c:594: error: \u0027deadlien\u0027 undeclared (first use in this function)\ndrivers/ata/pata_scc.c:594: error: (Each undeclared identifier is reported only once\ndrivers/ata/pata_scc.c:594: error: for each function it appears in.)\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "88fcd5627563722483427a55113c0a83f56e8080",
      "tree": "6a596e33d6497fbed58147e8fdb59b611d956c12",
      "parents": [
        "071f44b1d2c051641b62a3571223314737ccbe59"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:22 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:25 2008 -0400"
      },
      "message": "libata: make PMP support optional\n\nMake PMP support optional by adding CONFIG_SATA_PMP and leaving out\nlibata-pmp.c if it isn\u0027t set.  PMP helpers return constant values if\nPMP support is not enabled and PMP declarations alias non-PMP\ncounterparts.  This makes the compiler to leave out PMP related part\nout and LLDs to use non-PMP counterparts automatically.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "071f44b1d2c051641b62a3571223314737ccbe59",
      "tree": "a07794c8109e5d82a78223ae0159eadbf862c463",
      "parents": [
        "48515f6c006c2a9d7b624ee8ad068018c2d3fe0e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:22 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:25 2008 -0400"
      },
      "message": "libata: implement PMP helpers\n\nImplement helpers to test whether PMP is supported, attached and\ndetermine pmp number to use when issuing SRST to a link.  While at it,\nmove ata_is_host_link() so that it\u0027s together with the two new PMP\nhelpers.\n\nThis change simplifies LLDs and helps making PMP support optional.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "48515f6c006c2a9d7b624ee8ad068018c2d3fe0e",
      "tree": "0ade033552ccb297ac7736a6b2d77dd249be4eb8",
      "parents": [
        "127102aea2ea9ec4e9ca233e2b1a75c8d3b058c4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:21 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:25 2008 -0400"
      },
      "message": "libata: separate PMP support code from core code\n\nMost of PMP support code is already in libata-pmp.c.  All that are in\nlibata-core.c are sata_pmp_port_ops and EXPORTs.  Move them to\nlibata-pmp.c.  Also, collect PMP related prototypes and declarations\nin header files and move them right above of SFF stuff.\n\nThis change is to make PMP support optional.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "127102aea2ea9ec4e9ca233e2b1a75c8d3b058c4",
      "tree": "92fb528eac658adbc7307a009bd8a7558db2658a",
      "parents": [
        "350756f6dab6d37ef9ed3f18dec520e88969ddac"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:21 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:24 2008 -0400"
      },
      "message": "libata: make SFF support optional\n\nNow that SFF support is completely separated out from the core layer,\nit can be made optional.  Add CONFIG_ATA_SFF and let SFF drivers\ndepend on it.  If CONFIG_ATA_SFF isn\u0027t set, all codes in libata-sff.c\nand data structures for SFF support are disabled.  This saves good\nnumber of bytes for small systems.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "350756f6dab6d37ef9ed3f18dec520e88969ddac",
      "tree": "825bb133cf0059e21949d31dda127fd13847339e",
      "parents": [
        "182d7bbac322d6921ce81f8e6aa23d250816381d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:21 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:24 2008 -0400"
      },
      "message": "libata: don\u0027t use ap-\u003eioaddr in non-SFF drivers\n\nap-\u003eioaddr is to carry addresses for TF and BMDMA registers of a SFF\ncontroller, don\u0027t abuse it in non-SFF controllers.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "182d7bbac322d6921ce81f8e6aa23d250816381d",
      "tree": "e795cdf066915f7925e00417d6ff1ad253a0a42c",
      "parents": [
        "c9f75b04ed5ed65a058d18a8a8dda50632a96de8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:21 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:24 2008 -0400"
      },
      "message": "libata: clean up dummy port_ops\n\nNow that SFF assumptions are removed from core layer, dummy port_ops\ncan be slimmed down.  Chop it down.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "c9f75b04ed5ed65a058d18a8a8dda50632a96de8",
      "tree": "e0100eae3b10006a8618ddb32bdf971e20db0dd8",
      "parents": [
        "520d06f92b32d7abe5127d7cc46a819db0f384e6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:21 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:24 2008 -0400"
      },
      "message": "libata: kill ata_noop_dev_select()\n\nNow that SFF assumptions are separated out from non-SFF reset\nsequence, port_ops-\u003esff_dev_select() is no longer necessary for\nnon-SFF controllers.  Kill ata_noop_dev_select() and -\u003esff_dev_select\ninitialization from base and other non-SFF port_ops.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "520d06f92b32d7abe5127d7cc46a819db0f384e6",
      "tree": "fd4f9ce7fdfa4296a1e71457906500736ca27fa0",
      "parents": [
        "4c9bf4e799ce06a7378f1196587084802a414c03"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:21 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:24 2008 -0400"
      },
      "message": "libata: remove check_status from non-SFF drivers\n\nNow that all SFF stuff is separated out of core layer, core layer\ndoesn\u0027t call ops-\u003e[alt_]check_status().  In fact, no one calls them\nfor non-SFF drivers anymore.  Kill them.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "4c9bf4e799ce06a7378f1196587084802a414c03",
      "tree": "70a7d3741e756b975468850537f222349143a0be",
      "parents": [
        "79f97dadfe9b4b561634d202225ba2fa910dc225"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:20 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:23 2008 -0400"
      },
      "message": "libata: replace tf_read with qc_fill_rtf for non-SFF drivers\n\nNow that all SFF stuff is separated out of core layer, core layer\ndoesn\u0027t call ops-\u003etf_read directly.  It gets called only via\nops-\u003eqc_fill_rtf() for non-SFF drivers.  This patch directly\nimplements private ops-\u003eqc_fill_rtf() for non-SFF controllers and kill\nops-\u003etf_read().\n\nThis is much cleaner for non-SFF controllers as some of them have to\ncache SFF register values in private data structure and report the\ncached values via ops-\u003etf_read().  Also, ops-\u003etf_read() gets nasty for\ncontrollers which don\u0027t have clear notion of TF registers when\noperation is not in progress.\n\nAs this change makes default ops-\u003eqc_fill_rtf unnecessary, move\nata_sff_qc_fill_rtf() form ata_base_port_ops to ata_sff_port_ops where\nit belongs.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "79f97dadfe9b4b561634d202225ba2fa910dc225",
      "tree": "7bea39a135c7c87b7430d6c071288a05990b9309",
      "parents": [
        "22183bf569c8600ff414ac25f23134044e0ef453"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:20 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:23 2008 -0400"
      },
      "message": "libata: drop @finish_qc from ata_qc_complete_multiple()\n\nata_qc_complete_multiple() took @finish_qc and called it on every qc\nbefore completing it.  This was to give opportunity to update TF cache\nbefore ata_qc_complete() tries to fill result_tf.  Now that result TF\nis a separate operation, this is no longer necessary.\n\nUpdate sata_sil24, which was the only user of this mechanism, such\nthat it implements its own ops-\u003eqc_fill_rtf() and drop @finish_qc from\nata_qc_complete_multiple().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "22183bf569c8600ff414ac25f23134044e0ef453",
      "tree": "1dea79cdbe439637477e1c4214b600b6823cb866",
      "parents": [
        "305d2a1ab137d11d573319c315748a87060fe82d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:20 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:23 2008 -0400"
      },
      "message": "libata: add qc_fill_rtf port operation\n\nOn command completion, ata_qc_complete() directly called ops-\u003etf_read\nto fill qc-\u003eresult_tf.  This patch adds ops-\u003eqc_fill_rtf to replace\nhardcoded ops-\u003etf_read usage.\n\nata_sff_qc_fill_rtf() which uses ops-\u003etf_read to fill result_tf is\nimplemented and set in ata_base_port_ops and other ops tables which\ndon\u0027t inherit from ata_base_port_ops, so this patch doesn\u0027t introduce\nany behavior change.\n\nops-\u003eqc_fill_rtf() is similar to ops-\u003esff_tf_read() but can only be\ncalled when a command finishes.  As some non-SFF controllers don\u0027t\nhave TF registers defined unless they\u0027re associated with in-flight\ncommands, this limited operation makes life easier for those drivers\nand help lifting SFF assumptions from libata core layer.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "305d2a1ab137d11d573319c315748a87060fe82d",
      "tree": "8dcf81b1742db21c6a745688de96a18944c83617",
      "parents": [
        "5958e3025fd9d97429163e074d9cfa3848f51f28"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:20 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:23 2008 -0400"
      },
      "message": "libata: unify mechanism to request follow-up SRST\n\nPreviously, there were two ways to trigger follow-up SRST from\nhardreset method - returning -EAGAIN and leaving all device classes\nunmodified.  Drivers never used the latter mechanism and the only use\ncase for the former was when hardreset couldn\u0027t classify.\n\nDrop the latter mechanism and let -EAGAIN mean \"perform follow-up SRST\nif classification is required\".  This change removes unnecessary\nfollow-up SRSTs and simplifies reset implementations.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "5958e3025fd9d97429163e074d9cfa3848f51f28",
      "tree": "f20492dc35fc2651452c871fbc812bd4f8379b40",
      "parents": [
        "ac371987a81c61c2efbd6931245cdcaf43baad89"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:20 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:23 2008 -0400"
      },
      "message": "libata: move PMP SCR access failure during reset to ata_eh_reset()\n\nIf PMP fan-out reset fails and SCR isn\u0027t accessible, PMP should be\nreset.  This used to be tested by sata_pmp_std_hardreset() and\ncommunicated to EH by -ERESTART.  However, this logic is generic and\ndoesn\u0027t really have much to do with specific hardreset implementation.\n\nThis patch moves SCR access failure detection logic to ata_eh_reset()\nwhere it belongs.  As this makes sata_pmp_std_hardreset() identical to\nsata_std_hardreset(), the function is killed and replaced with the\nstandard method.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "ac371987a81c61c2efbd6931245cdcaf43baad89",
      "tree": "f88970931b26d2ad344d7d67ddabc64d9b48181d",
      "parents": [
        "57c9efdfb3cee5d4564fcb5f70555e2edb1bc52a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:19 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:23 2008 -0400"
      },
      "message": "libata: clear SError after link resume\n\nSError used to be cleared in -\u003epostreset.  This has small hotplug race\ncondition.  If a device is plugged in after reset is complete but\npostreset hasn\u0027t run yet, its hotplug event gets lost when SError is\ncleared.  This patch makes sata_link_resume() clear SError.  This\nkills the race condition and makes a lot of sense as some PMP and host\nPHYs don\u0027t work properly without SError cleared.\n\nThis change makes sata_pmp_std_{pre|post}_reset()\u0027s unnecessary as\nthey become identical to ata_std counterparts.  It also simplifies\nsata_pmp_hardreset() and ahci_vt8251_hardreset().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "57c9efdfb3cee5d4564fcb5f70555e2edb1bc52a",
      "tree": "c2289500f093736853a94d2d9577036658676498",
      "parents": [
        "9dadd45b24145d6aee2fabb28d7aef972301892b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:19 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:23 2008 -0400"
      },
      "message": "libata: implement and use sata_std_hardreset()\n\nImplement sata_std_hardreset(), which simply wraps around\nsata_link_hardreset().  sata_std_hardreset() becomes new standard\nhardreset method for sata_port_ops and sata_sff_hardreset() moves from\nata_base_port_ops to ata_sff_port_ops, which is where it really\nbelongs.\n\nata_is_builtin_hardreset() is added so that both\nata_std_error_handler() and ata_sff_error_handler() skip both builtin\nhardresets if SCR isn\u0027t accessible.\n\npiix_sidpr_hardreset() in ata_piix.c is identical to\nsata_std_hardreset() in functionality and got replaced with the\nstandard function.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "9dadd45b24145d6aee2fabb28d7aef972301892b",
      "tree": "c97c323e2edd400bc94eaceddf20f84e9a6da005",
      "parents": [
        "a89611e8489ac24f371c9fd6fef6605b170b16ba"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:19 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:22 2008 -0400"
      },
      "message": "libata: move generic hardreset code from sata_sff_hardreset() to sata_link_hardreset()\n\nsata_sff_hardreset() contains link readiness wait logic which isn\u0027t\nSFF specific.  Move that part into sata_link_hardreset(), which now\ntakes two more parameters - @online and @check_ready.  Both are\noptional.  The former is out parameter for link onlineness after\nreset.  The latter is used to wait for link readiness after hardreset.\n\nUsers of sata_link_hardreset() is updated to use new funtionality and\nahci_hardreset() is updated to use sata_link_hardreset() instead of\nsata_sff_hardreset().  This doesn\u0027t really cause any behavior change.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "a89611e8489ac24f371c9fd6fef6605b170b16ba",
      "tree": "ffde56421ee093e92e8c0673eeaca7ecd6b4093a",
      "parents": [
        "aa2731ad9ad80ac3fca48bd1c4cf0eceede4810e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:19 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:22 2008 -0400"
      },
      "message": "ahci: use ata_wait_after_reset() instead of ata_sff_wait_ready()\n\nImplement ahci_check_ready() and replace ata_sff_wait_after_reset()\nwith ata_wait_after_reset().  As ahci was faking TF access, this\nchange doesn\u0027t result in any functional difference.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "aa2731ad9ad80ac3fca48bd1c4cf0eceede4810e",
      "tree": "db6d3327017b9b84355aba49a5ccd5c322d3f248",
      "parents": [
        "705e76beb90b97421e1f61e857c4246799781bb5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:19 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:22 2008 -0400"
      },
      "message": "libata: separate out ata_wait_ready() and implement ata_wait_after_reset()\n\nFactor out waiting logic (which is common to all ATA controllers) from\nata_sff_wait_ready() into ata_wait_ready().  ata_wait_ready() takes\n@check_ready function pointer and uses it to poll for readiness.  This\nallows non-SFF controllers to use ata_wait_ready() to wait for link\nreadiness.\n\nThis patch also implements ata_wait_after_reset() - generic version of\nata_sff_wait_after_reset() - using ata_wait_ready().\n\nata_sff_wait_ready() is reimplemented using ata_wait_ready() and\nata_sff_check_ready().  Functionality remains the same.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "705e76beb90b97421e1f61e857c4246799781bb5",
      "tree": "e571ad9229d469cd73d1388c76823922400823d5",
      "parents": [
        "203c75b8245c5386044721d9c5eda5c6b71b3d14"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:19 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:22 2008 -0400"
      },
      "message": "libata: restructure SFF post-reset readiness waits\n\nPreviously, post-softreset readiness is waited as follows.\n\n1. ata_sff_wait_after_reset() waits for 150ms and then for\n   ATA_TMOUT_FF_WAIT if status is 0xff and other conditions meet.\n\n2. ata_bus_softreset() finishes with -ENODEV if status is still 0xff.\n   If not, continue to #3.\n\n3. ata_bus_post_reset() waits readiness of dev0 and/or dev1 depending\n   on devmask using ata_sff_wait_ready().\n\nAnd for post-hardreset readiness,\n\n1. ata_sff_wait_after_reset() waits for 150ms and then for\n   ATA_TMOUT_FF_WAIT if status is 0xff and other conditions meet.\n\n2. sata_sff_hardreset waits for device readiness using\n   ata_sff_wait_ready().\n\nThis patch merges and unifies post-reset readiness waits into\nata_sff_wait_ready() and ata_sff_wait_after_reset().\n\nATA_TMOUT_FF_WAIT handling is merged into ata_sff_wait_ready().  If TF\nstatus is 0xff, link status is unknown and the port is SATA, it will\ncontinue polling till ATA_TMOUT_FF_WAIT.\n\nata_sff_wait_after_reset() is updated to perform the following steps.\n\n1. waits for 150ms.\n\n2. waits for dev0 readiness using ata_sff_wait_ready().  Note that\n   this is done regardless of devmask, as ata_sff_wait_ready() handles\n   0xff status correctly, this preserves the original behavior except\n   that it may wait longer after softreset if link is online but\n   status is 0xff.  This behavior change is very unlikely to cause any\n   actual difference and is intended.  It brings softreset behavior to\n   that of hardreset.\n\n3. waits for dev1 readiness just the same way ata_bus_post_reset() did.\n\nNow both soft and hard resets call ata_sff_wait_after_reset() after\nreset to wait for readiness after resets.  As\nata_sff_wait_after_reset() contains calls to -\u003esff_dev_select(),\nexplicit call near the end of sata_sff_hardreset() is removed.\n\nThis change makes reset implementation simpler and more consistent.\n\nWhile at it, make the magical 150ms wait post-reset wait duration a\nconstant and ata_sff_wait_ready() and ata_sff_wait_after_reset() take\n@link instead of @ap.  This is to make them consistent with other\nreset helpers and ease core changes.\n\npata_scc is updated accordingly.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "203c75b8245c5386044721d9c5eda5c6b71b3d14",
      "tree": "5a8c446c483a77dc86aca145b0b38c4a2b410dfa",
      "parents": [
        "0aa1113d544226bc2c4a20d6ac1d71170512a361"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:18 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:22 2008 -0400"
      },
      "message": "libata: separate out ata_std_postreset() from ata_sff_postreset()\n\nSeparate out generic ATA portion from ata_sff_postreset() into\nata_std_postreset() and implement ata_sff_postreset() using the std\nversion.\n\nata_base_port_ops now has ata_std_postreset() for its postreset and\nata_sff_port_ops overrides it to ata_sff_postreset().\n\nThis change affects pdc_adma, ahci, sata_fsl and sata_sil24.  pdc_adma\nnow specifies postreset to ata_sff_postreset() explicitly.  sata_fsl\nand sata_sil24 now use ata_std_postreset() which makes no difference\nto them.  ahci now calls ata_std_postreset() from its own postreset\nmethod, which causes no behavior difference.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "0aa1113d544226bc2c4a20d6ac1d71170512a361",
      "tree": "503b33b0805424d312abddd3535c941bb85c03bc",
      "parents": [
        "288623a06c652239d2f57d271af12bb024cf7218"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:18 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:22 2008 -0400"
      },
      "message": "libata: separate out ata_std_prereset() from ata_sff_prereset()\n\nSeparate out generic ATA portion from ata_sff_prereset() into\nata_std_prereset() and implement ata_sff_prereset() using the std\nversion.  Waiting for device readiness is the only SFF specific part.\n\nata_base_port_ops now has ata_std_prereset() for its prereset and\nata_sff_port_ops overrides it to ata_sff_prereset().  This change can\naffect pdc_adma, ahci, sata_fsl and sata_sil24.  pdc_adma implements\nits own prereset using ata_sff_prereset() and the rest has hardreset\nand thus are unaffected by this change.\n\nThis change reflects real world situation.  There is no generic way to\nwait for device readiness for non-SFF controllers and some of them\ndon\u0027t have any mechanism for that.  Non-sff drivers which don\u0027t have\nhardreset should wrap ata_std_prereset() and wait for device readiness\nitself but there\u0027s no such driver now and isn\u0027t likely to be popular\nin the future either.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "288623a06c652239d2f57d271af12bb024cf7218",
      "tree": "e693ca8a46cbedc522cb6f5ca3395d3dc692cfb3",
      "parents": [
        "5682ed33aae05d10a25c95633ef9d9c062825888"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:17 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:22 2008 -0400"
      },
      "message": "libata: clean up port_ops-\u003esff_irq_clear()\n\n-\u003esff_irq_clear() is called only from SFF interrupt handler, so there\nis no reason to initialize it for non-SFF controllers.  Also,\nata_sff_irq_clear() can handle both BMDMA and non-BMDMA SFF\ncontrollers.\n\nThis patch kills ata_noop_irq_clear() and removes it from base\nport_ops and sets -\u003esff_irq_clear to ata_sff_irq_clear() in sff\nport_ops instead of bmdma port_ops.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "5682ed33aae05d10a25c95633ef9d9c062825888",
      "tree": "1632d4d70f4fd2dc25596a5cde1183f70f162ac3",
      "parents": [
        "9363c3825ea9ad76561eb48a395349dd29211ed6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:16 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:22 2008 -0400"
      },
      "message": "libata: rename SFF port ops\n\nAdd sff_ prefix to SFF specific port ops.\n\nThis rename is in preparation of separating SFF support out of libata\ncore layer.  This patch strictly renames ops and doesn\u0027t introduce any\nbehavior difference.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "9363c3825ea9ad76561eb48a395349dd29211ed6",
      "tree": "abe89a0f7c82b805d84b1a211c97b317f6628d5f",
      "parents": [
        "b67a1064cb1c1d3b43e01e8b43a6a8dcdefed733"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:16 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:21 2008 -0400"
      },
      "message": "libata: rename SFF functions\n\nSFF functions have confusing names.  Some have sff prefix, some have\nbmdma, some std, some pci and some none.  Unify the naming by...\n\n* SFF functions which are common to both BMDMA and non-BMDMA are\n  prefixed with ata_sff_.\n\n* SFF functions which are specific to BMDMA are prefixed with\n  ata_bmdma_.\n\n* SFF functions which are specific to PCI but apply to both BMDMA and\n  non-BMDMA are prefixed with ata_pci_sff_.\n\n* SFF functions which are specific to PCI and BMDMA are prefixed with\n  ata_pci_bmdma_.\n\n* Drop generic prefixes from LLD specific routines.  For example,\n  bfin_std_dev_select -\u003e bfin_dev_select.\n\nThe following renames are noteworthy.\n\n  ata_qc_issue_prot() -\u003e ata_sff_qc_issue()\n  ata_pci_default_filter() -\u003e ata_bmdma_mode_filter()\n  ata_dev_try_classify() -\u003e ata_sff_dev_classify()\n\nThis rename is in preparation of separating SFF support out of libata\ncore layer.  This patch strictly renames functions and doesn\u0027t\nintroduce any behavior difference.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "b67a1064cb1c1d3b43e01e8b43a6a8dcdefed733",
      "tree": "8db97228fbc4b331cfc8fa25d8fc0169aff2ab31",
      "parents": [
        "b562468cc3bd0c81decba1f5f39a7173f839e57e"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "liml@rtr.ca",
        "time": "Mon Mar 31 19:35:13 2008 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:21 2008 -0400"
      },
      "message": "sata_mv fix ifctl handling\n\nFix handling of the SATA_INTERFACE_CFG register to match datasheet requirements.\n\nSigned-off-by: Mark Lord \u003cmlord@pobox.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "b562468cc3bd0c81decba1f5f39a7173f839e57e",
      "tree": "60239c6f86eb2aa92e59d16f74c1dabd474d2046",
      "parents": [
        "e12bef50b7660cf7c19d1cd3eac381b9eff734d7"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "liml@rtr.ca",
        "time": "Mon Mar 31 19:34:40 2008 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:21 2008 -0400"
      },
      "message": "sata_mv clean up mv_stop_edma usage\n\nClean up uses of mv_stop_edma{_engine}() to match datasheet requirements.\n\nSigned-off-by: Mark Lord \u003cmlord@pobox.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e12bef50b7660cf7c19d1cd3eac381b9eff734d7",
      "tree": "58bb601d948f6a1235fd6f402ef7ee62bc1695a1",
      "parents": [
        "83c063dd730cb56bf3fc89b70250ff9a398fec1e"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "liml@rtr.ca",
        "time": "Mon Mar 31 19:33:56 2008 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:21 2008 -0400"
      },
      "message": "sata_mv cosmetic fixes\n\nVarious cosmetic fixes in preparation for real code changes later on.\n\nSigned-off-by: Mark Lord \u003cmlord@pobox.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "83c063dd730cb56bf3fc89b70250ff9a398fec1e",
      "tree": "4447914e4957f678a3085d45824c132dfc5c8b8b",
      "parents": [
        "c30484d775eb0b899f2b6a8f5508a99ecaba59fc"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Thu Feb 28 21:43:13 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:21 2008 -0400"
      },
      "message": "use ATA_TAG_INTERNAL in ata_tag_internal()\n\nIt should be ATA_TAG_INTERNAL.\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c30484d775eb0b899f2b6a8f5508a99ecaba59fc",
      "tree": "2de378497e5e63cf2de0021f43b32d14065e8442",
      "parents": [
        "fc4712d12e332a46f200b9ba641855182df282c0"
      ],
      "author": {
        "name": "Chris Wedgwood",
        "email": "cw@f00f.org",
        "time": "Tue Mar 18 15:06:48 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:21 2008 -0400"
      },
      "message": "Add \u0027short help text\u0027 to ATA_ACPI so it\u0027s [de]selectable.\n\nATA_ACPI isn\u0027t selectable right now because it lacks \u0027short help\ntext\u0027.  This means it\u0027s always enabled and always enables ACPI_DOCK.\nAdd text so it\u0027s now [de]selectable.\n\ncc: Jeff Garzik \u003cjeff@garzik.org\u003e\ncc: Tejun Heo \u003chtejun@gmail.com\u003e\ncc: Len Brown \u003clen.brown@intel.com\u003e\nSigned-off-by: Chris Wedgwood \u003ccw@f00f.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "fc4712d12e332a46f200b9ba641855182df282c0",
      "tree": "366e46c30457f95823f1805f3b081f4a30273995",
      "parents": [
        "b0316b15ace0570c87b74c81f1296cf7bf8d459e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 21:36:06 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:21 2008 -0400"
      },
      "message": "pdc_adma: kill adma_host_stop()\n\nadma_host_stop() does the same thing that adma_port_stop() does.  Kill\nit.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Mark Lord \u003climl@rtr.ca\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "b0316b15ace0570c87b74c81f1296cf7bf8d459e",
      "tree": "dbf4b03b7a3b426bb32da0fae90e1ced0bbd4a28",
      "parents": [
        "ed82f96425e744dffe62115e46f08eb785c0b2f3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 21:35:30 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:20 2008 -0400"
      },
      "message": "pdc_adma: inherit ata_sff_port_ops\n\nWith the previous ops standardization, pdc_adma now can inherit\nata_sff_port_ops instead of ata_base_port_ops.  Make the change.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Mark Lord \u003climl@rtr.ca\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ed82f96425e744dffe62115e46f08eb785c0b2f3",
      "tree": "a4c61c016c6bd340d941ad141c14a8f7d837ab7f",
      "parents": [
        "d8b81b8008a0f131e01bb6eb5c681c900c327e2b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 21:34:39 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:20 2008 -0400"
      },
      "message": "libata/pdc_adma: make SFF EH handle non-bmdma SFF drivers and standardize pdc_adma ops\n\npdc_adma has interface similar to SFF but has its own DMA interface.\nIt currently implements noop bmdma ops to avoid crashing\nata_bmdma_error_handler() which BTW actually is EH for SFF drivers.\n\nThis patch makes ata_bmdma_error_handler() dereference bmdma ops iff\nbmdma_addr is initialized as done in ata_bmdma_post_internal_cmd.\nThis change allows pdc_adma to standardize ops and use SFF\nerror_handler and post_internal_cmd.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Mark Lord \u003climl@rtr.ca\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d8b81b8008a0f131e01bb6eb5c681c900c327e2b",
      "tree": "3f6ef48e0787fc952f3f58e7a2991d7eab82fbf7",
      "parents": [
        "03faab7827e4e45823fd27c47b84c133e20a0cd0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Mar 27 19:14:25 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:20 2008 -0400"
      },
      "message": "libata: kill unused ata_flush_cache()\n\nata_flush_code() hasn\u0027t been in use for quite some time now.  Kill it.\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": "03faab7827e4e45823fd27c47b84c133e20a0cd0",
      "tree": "046b04c7e650f5318beb330d70e855a889750154",
      "parents": [
        "a5987e0a1b569146ed9cfa0a8c275a21b344fcaa"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Mar 27 19:14:24 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:20 2008 -0400"
      },
      "message": "libata: implement ATA_QCFLAG_RETRY\n\nCurrently whether a command should be retried after failure is\ndetermined inside ata_eh_finish().  Add ATA_QCFLAG_RETRY and move the\nlogic into ata_eh_autopsy().  This makes things clearer and helps\nextending retry determination logic.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "a5987e0a1b569146ed9cfa0a8c275a21b344fcaa",
      "tree": "23c6f0e4ac2e521fdcb87aadf214ad8987b67b22",
      "parents": [
        "06993d2237da45615b5a9a4dde3f344ce97ca17d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Mar 27 19:14:23 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:20 2008 -0400"
      },
      "message": "libata: make ata_tf_to_lba[48]() generic\n\nata_tf_to_lba[48]() currently return LBA in tf + 1 for\nata_read_native_max_address().  Make them return LBA and make it\nglobal so that it can be used to read LBA off TF for other purposes.\nata_read_native_max_address() now adds 1 itself.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "06993d2237da45615b5a9a4dde3f344ce97ca17d",
      "tree": "21c3d2bdc1d2f4bf2d9c49414eb78a63d7fea143",
      "parents": [
        "826cd156de6cea1e4982f32238077215cfa4ae63"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Apr 04 03:34:45 2008 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:20 2008 -0400"
      },
      "message": "[libata] sata_nv: disable ADMA by default\n\nContinues to have open issues, and engineering support is extremely difficult\nto come by, according to fellow NVIDIA engineers.\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "826cd156de6cea1e4982f32238077215cfa4ae63",
      "tree": "7c74d82ef9a5331b48b2d2c2b4310757d08f169b",
      "parents": [
        "9c0bf675054883acd10dec99c0c854514e139f06"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Tue Mar 25 05:18:11 2008 +0000"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:20 2008 -0400"
      },
      "message": "libata annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "9c0bf675054883acd10dec99c0c854514e139f06",
      "tree": "fd1a6eb180150f3d75469e04149563f8cbcade0e",
      "parents": [
        "5016d7d212dbcc85cdc5130b1228d23f3423bd61"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Mar 26 16:00:58 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:20 2008 -0400"
      },
      "message": "ata_piix: kill ich6_sata_ahci and clean up\n\nich6_sata_ahci and ich6_sata are identical.  Kill ich6_sata_ahci and\ndrop _ahci postfixes from controller ids, which doesn\u0027t really mean\nanything at this point.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "5016d7d212dbcc85cdc5130b1228d23f3423bd61",
      "tree": "d3c0783eddede47ccc4f6050a29b6a52ad8c1799",
      "parents": [
        "c1796d9850aaa97ee7492d090499b5508971514b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Mar 26 15:46:58 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:19 2008 -0400"
      },
      "message": "ata_piix: don\u0027t attach to ICH6M in ahci mode\n\nata_piix when attached to ICH6M in AHCI mode doesn\u0027t provide any\nbenefit over using ahci and has detection problems.  Don\u0027t let\nata_piix claim ICH6M if it\u0027s in AHCI mode.\n\nThis change makes ICH6R the only one which ata_piix can attach to even\nwhen it\u0027s in ahci mode which is necessary as some devices don\u0027t work\nproperly under ahci mode.  Drop PIIX_FLAG_AHCI and match the\ncontroller directly so that piix_disable_ahci() is called only for it.\n\nThis change makes PIIX_SCC no longer used and it gets dropped too.\n\nThis fixes bz 9491.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Robert M. Albrecht \u003cromal@gmx.de\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c1796d9850aaa97ee7492d090499b5508971514b",
      "tree": "5ff4949f9d11d8b08ff2a9b6bc8b713e30429367",
      "parents": [
        "15a5551c847c8787d6cd75b8cf7682cd6d642e1b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Mar 27 19:44:24 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:19 2008 -0400"
      },
      "message": "pata_scc: fix compile warning\n\nMissed one during mass conversion (dc14c0c5).  Fix it.  Spotted by\nStephen Rothwell.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "15a5551c847c8787d6cd75b8cf7682cd6d642e1b",
      "tree": "8a48f734a41b4856448d4c715d572fb6057b68cc",
      "parents": [
        "d21279f4125893c63ec285962e1f2164b4d71117"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Mar 28 14:33:46 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:19 2008 -0400"
      },
      "message": "libata: isolate and rework cable logic\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": "d21279f4125893c63ec285962e1f2164b4d71117",
      "tree": "adcdcbdbf05e83f8d2f479e96514295ad8e25591",
      "parents": [
        "d9c74fbead08de13e3965e1c6ffe289f24f45479"
      ],
      "author": {
        "name": "Zoltan Boszormenyi",
        "email": "zboszor@dunaweb.hu",
        "time": "Fri Mar 28 14:33:46 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:19 2008 -0400"
      },
      "message": "ata: SWNCQ should be enabled by default\n\nSigned-off-by: Zoltan Boszormenyi \u003czboszor@dunaweb.hu\u003e\nCc: Robert Hancock \u003chancockr@shaw.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d9c74fbead08de13e3965e1c6ffe289f24f45479",
      "tree": "95c3e8e4f33b6a00858afeb10b6a8344fb5d838d",
      "parents": [
        "6fd36390117f7844ad147377878ddb52088f583a"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Mar 28 14:33:56 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:18 2008 -0400"
      },
      "message": "pata_amd: fix sparse warning\n\nCurrent code is essentially choosing between dividing by 1 or\ndividing by two, make the conditions a little more obvious.\n\nAs a bonus, removes a sparse error:\ndrivers/ata/pata_amd.c:59:11: warning: symbol \u0027__x\u0027 shadows an earlier one\ndrivers/ata/pata_amd.c:59:11: originally declared here\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "6fd36390117f7844ad147377878ddb52088f583a",
      "tree": "c25d9a8357ff173ce46eb057cc50370b87b9cca8",
      "parents": [
        "3d5a3d67a578d95ac3a11a862d16a054e2d4d9cd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 22:16:44 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:18 2008 -0400"
      },
      "message": "libata: kill ata_chk_status()\n\nata_chk_status() just calls ops-\u003echeck_status and it only adds\nconfusion with other status functions.  Kill it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "3d5a3d67a578d95ac3a11a862d16a054e2d4d9cd",
      "tree": "86f4cbf439ca5a892da1a45cc2af54bbe86231ec",
      "parents": [
        "071ce34d57924edb76b76f7de460eb4991463959"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 22:16:43 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:18 2008 -0400"
      },
      "message": "libata: kill ata_chk_status() call from ata_dev_configure()\n\nata_dev_configure() isn\u0027t tied to any controller interface except for\nthe probe debug message printing at the end of the function.  Kill the\nmessage.\n\nThis is to help separating out SFF support from core layer.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "071ce34d57924edb76b76f7de460eb4991463959",
      "tree": "10400b05bd2649fe25a8c3aa4d41c08bd29c6347",
      "parents": [
        "624d5c514eed18d5a93062e9d86d67065175f30a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 22:16:42 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:18 2008 -0400"
      },
      "message": "libata: move ata_pci_default_filter() out of CONFIG_PCI\n\nata_pci_default_filter() doesn\u0027t really have anything to do with PCI.\nIt\u0027s generally applicable to BMDMA controllers.  Move it out of\nCONFIG_PCI.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "624d5c514eed18d5a93062e9d86d67065175f30a",
      "tree": "61f89b05b70e9b443cf09083b4ae3d102dd357b7",
      "parents": [
        "272f7884e8c0effe594e5537092b9c0ccc0140b0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 22:16:41 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:18 2008 -0400"
      },
      "message": "libata: reorganize SFF related stuff\n\n* Move SFF related functions from libata-core.c to libata-sff.c.\n\n  ata_[bmdma_]sff_port_ops, ata_devchk(), ata_dev_try_classify(),\n  ata_std_dev_select(), ata_tf_to_host(), ata_busy_sleep(),\n  ata_wait_after_reset(), ata_wait_ready(), ata_bus_post_reset(),\n  ata_bus_softreset(), ata_bus_reset(), ata_std_softreset(),\n  sata_std_hardreset(), ata_fill_sg(), ata_fill_sg_dumb(),\n  ata_qc_prep(), ata_dump_qc_prep(), ata_data_xfer(),\n  ata_data_xfer_noirq(), ata_pio_sector(), ata_pio_sectors(),\n  atapi_send_cdb(), __atapi_pio_bytes(), atapi_pio_bytes(),\n  ata_hsm_ok_in_wq(), ata_hsm_qc_complete(), ata_hsm_move(),\n  ata_pio_task(), ata_qc_issue_prot(), ata_host_intr(),\n  ata_interrupt(), ata_std_ports()\n\n* Make ata_pio_queue_task() global as it\u0027s now called from\n  libata-sff.c.\n\n* Move SFF related stuff in include/linux/libata.h and\n  drivers/ata/libata.h into one place.  While at it, move timing\n  constants into the global enum definition and fortify comments a\n  bit.\n\nThis patch strictly moves stuff around and as such doesn\u0027t cause any\nfunctional difference.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "272f7884e8c0effe594e5537092b9c0ccc0140b0",
      "tree": "c05ac4d9004943c2a47e74b88eba95483408809c",
      "parents": [
        "21572ea58a1f99a59044febde90c31167d2f59ae"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 22:16:40 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:18 2008 -0400"
      },
      "message": "libata: reorder functions in libata-sff.c\n\nReorder functions in drivers/ata/libata-sff.c such that functions\ngenerally follow ops table order and init functions come last.  This\nis in preparation of SFF cleanup.\n\nThis patch strictly moves stuff around and as such doesn\u0027t cause any\nfunctional difference.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "21572ea58a1f99a59044febde90c31167d2f59ae",
      "tree": "b46461d72f797ff23ba844034a052cea45163d4b",
      "parents": [
        "a1efdaba2dbd6fb89e23a87b66d3f4dd92c9f5af"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 22:16:39 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:18 2008 -0400"
      },
      "message": "libata: drop ata_dev_select() from ata_dev_read_id\n\nThere is no reason to issue device select in read_id, it will be done\nby ops-\u003eqc_issue() when IDENTIFY[_PACKET] is issued via\nata_exec_internal().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "a1efdaba2dbd6fb89e23a87b66d3f4dd92c9f5af",
      "tree": "6197c537892e0d887b2a90e369b74abf0500b9ac",
      "parents": [
        "959471936241bd83da7d0a76411cef6772140fe6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 12:22:50 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:18 2008 -0400"
      },
      "message": "libata: make reset related methods proper port operations\n\nCurrently reset methods are not specified directly in the\nata_port_operations table.  If a LLD wants to use custom reset\nmethods, it should construct and use a error_handler which uses those\nreset methods.  It\u0027s done this way for two reasons.\n\nFirst, the ops table already contained too many methods and adding\nfour more of them would noticeably increase the amount of necessary\nboilerplate code all over low level drivers.\n\nSecond, as -\u003eerror_handler uses those reset methods, it can get\nconfusing.  ie. By overriding -\u003eerror_handler, those reset ops can be\nmade useless making layering a bit hazy.\n\nNow that ops table uses inheritance, the first problem doesn\u0027t exist\nanymore.  The second isn\u0027t completely solved but is relieved by\nproviding default values - most drivers can just override what it has\nimplemented and don\u0027t have to concern itself about higher level\ncallbacks.  In fact, there currently is no driver which actually\nmodifies error handling behavior.  Drivers which override\n-\u003eerror_handler just wraps the standard error handler only to prepare\nthe controller for EH.  I don\u0027t think making ops layering strict has\nany noticeable benefit.\n\nThis patch makes -\u003eprereset, -\u003esoftreset, -\u003ehardreset, -\u003epostreset and\ntheir PMP counterparts propoer ops.  Default ops are provided in the\nbase ops tables and drivers are converted to override individual reset\nmethods instead of creating custom error_handler.\n\n* ata_std_error_handler() doesn\u0027t use sata_std_hardreset() if SCRs\n  aren\u0027t accessible.  sata_promise doesn\u0027t need to use separate\n  error_handlers for PATA and SATA anymore.\n\n* softreset is broken for sata_inic162x and sata_sx4.  As libata now\n  always prefers hardreset, this doesn\u0027t really matter but the ops are\n  forced to NULL using ATA_OP_NULL for documentation purpose.\n\n* pata_hpt374 needs to use different prereset for the first and second\n  PCI functions.  This used to be done by branching from\n  hpt374_error_handler().  The proper way to do this is to use\n  separate ops and port_info tables for each function.  Converted.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "959471936241bd83da7d0a76411cef6772140fe6",
      "tree": "abccf1d3931c17b581ee2c85cda05a603adcfb0f",
      "parents": [
        "887125e3740283be25564bfc6fb5d24974b651ab"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 12:22:49 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:17 2008 -0400"
      },
      "message": "libata: kill port_info-\u003esht and -\u003eirq_handler\n\nlibata core layer doesn\u0027t care about sht or -\u003eirq_handler.  Those are\nonly of interest to the LLD during initialization.  This is confusing\nand has caused several drivers to have duplicate unused initializers\nfor these fields.\n\nCurrently only sata_nv uses these fields.  Make sata_nv use\n-\u003eprivate_data, which is supposed to carry LLD-specific information,\ninstead and kill -\u003esht and -\u003eirq_handler.  nv_pi_priv structure is\ndefined and struct literals are used to initialize private_data.\nNotational overhead is negligible.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "887125e3740283be25564bfc6fb5d24974b651ab",
      "tree": "bd037e1c17a468fabe1834e707b70b4b43513e4a",
      "parents": [
        "1bd5b715a305f6f13455e89becbd839010dd14b5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 12:22:49 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:17 2008 -0400"
      },
      "message": "libata: stop overloading port_info-\u003eprivate_data\n\nport_info-\u003eprivate_data is currently used for two purposes - to record\nprivate data about the port_info or to specify host-\u003eprivate_data to\nuse when allocating ata_host.\n\nThis overloading is confusing and counter-intuitive in that\nport_info-\u003eprivate_data becomes host-\u003eprivate_data instead of\nport-\u003eprivate_data.  In addition, port_info and host don\u0027t correspond\nto each other 1-to-1.  Currently, the first non-NULL\nport_info-\u003eprivate_data is used.\n\nThis patch makes port_info-\u003eprivate_data just be what it is -\nprivate_data for the port_info where LLD can jot down extra info.\nlibata no longer sets host-\u003eprivate_data to the first non-NULL\nport_info-\u003eprivate_data, @host_priv argument is added to\nata_pci_init_one() instead.  LLDs which use ata_pci_init_one() can use\nthis argument to pass in pointer to host private data.  LLDs which\ndon\u0027t should use init-register model anyway and can initialize\nhost-\u003eprivate_data directly.\n\nAdding @host_priv instead of using init-register model for LLDs which\nuse ata_pci_init_one() is suggested by Alan Cox.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\n"
    },
    {
      "commit": "1bd5b715a305f6f13455e89becbd839010dd14b5",
      "tree": "22e74b38495c51cda92145b7ae31f504f80d9fd3",
      "parents": [
        "029cfd6b74fc5c517865fad78cf4a3ea8d9b664a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 12:22:49 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:17 2008 -0400"
      },
      "message": "libata: make ata_pci_init_one() not use ops-\u003eirq_handler and pi-\u003esht\n\nata_pci_init_one() is the only function which uses ops-\u003eirq_handler\nand pi-\u003esht.  Other initialization functions take the same information\nas arguments.  This causes confusion and duplicate unused entries in\nstructures.\n\nMake ata_pci_init_one() take sht as an argument and use ata_interrupt\nimplicitly.  All current users use ata_interrupt and if different irq\nhandler is necessary open coding ata_pci_init_one() using\nata_prepare_sff_host() and ata_activate_sff_host can be done under ten\nlines including error handling and driver which requires custom\ninterrupt handler is likely to require custom initialization anyway.\n\nAs ata_pci_init_one() was the last user of ops-\u003eirq_handler, this\npatch also kills the field.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "029cfd6b74fc5c517865fad78cf4a3ea8d9b664a",
      "tree": "4a40f44f29321e433497a51d2f6cfe1922ae1d58",
      "parents": [
        "68d1d07b510bb57a504588adc2bd2758adea0965"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 12:22:49 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:17 2008 -0400"
      },
      "message": "libata: implement and use ops inheritance\n\nlibata lets low level drivers build ata_port_operations table and\nregister it with libata core layer.  This allows low level drivers\nhigh level of flexibility but also burdens them with lots of\nboilerplate entries.\n\nThis becomes worse for drivers which support related similar\ncontrollers which differ slightly.  They share most of the operations\nexcept for a few.  However, the driver still needs to list all\noperations for each variant.  This results in large number of\nduplicate entries, which is not only inefficient but also error-prone\nas it becomes very difficult to tell what the actual differences are.\n\nThis duplicate boilerplates all over the low level drivers also make\nupdating the core layer exteremely difficult and error-prone.  When\ncompounded with multi-branched development model, it ends up\naccumulating inconsistencies over time.  Some of those inconsistencies\ncause immediate problems and fixed.  Others just remain there dormant\nmaking maintenance increasingly difficult.\n\nTo rectify the problem, this patch implements ata_port_operations\ninheritance.  To allow LLDs to easily re-use their own ops tables\noverriding only specific methods, this patch implements poor man\u0027s\nclass inheritance.  An ops table has -\u003einherits field which can be set\nto any ops table as long as it doesn\u0027t create a loop.  When the host\nis started, the inheritance chain is followed and any operation which\nisn\u0027t specified is taken from the nearest ancestor which has it\nspecified.  This operation is called finalization and done only once\nper an ops table and the LLD doesn\u0027t have to do anything special about\nit other than making the ops table non-const such that libata can\nupdate it.\n\nlibata provides four base ops tables lower drivers can inherit from -\nbase, sata, pmp, sff and bmdma.  To avoid overriding these ops\naccidentaly, these ops are declared const and LLDs should always\ninherit these instead of using them directly.\n\nAfter finalization, all the ops table are identical before and after\nthe patch except for setting .irq_handler to ata_interrupt in drivers\nwhich didn\u0027t use to.  The .irq_handler doesn\u0027t have any actual effect\nand the field will soon be removed by later patch.\n\n* sata_sx4 is still using old style EH and currently doesn\u0027t take\n  advantage of ops inheritance.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "68d1d07b510bb57a504588adc2bd2758adea0965",
      "tree": "94e8788a8ca40017b33044329f98bbe6552cc526",
      "parents": [
        "6bd99b4e0998571808fc1f09d5162348f21ff8c1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 12:22:49 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:17 2008 -0400"
      },
      "message": "libata: implement and use SHT initializers\n\nlibata lets low level drivers build scsi_host_template and register it\nto the SCSI layer.  This allows low level drivers high level of\nflexibility but also burdens them with lots of boilerplate entries.\n\nThis patch implements SHT initializers which can be used to initialize\nall the boilerplate entries in a sht.  Three variants of them are\nimplemented - BASE, BMDMA and NCQ - for different types of drivers.\nNote that entries can be overriden by putting individual initializers\nafter the helper macro.\n\nAll sht tables are identical before and after this patch.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "6bd99b4e0998571808fc1f09d5162348f21ff8c1",
      "tree": "e338bd445aaa5cda4bbf1f5598acf70f0d6b68de",
      "parents": [
        "358f9a77a668660729e705fde9c3cf69f013aa98"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 12:22:48 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:17 2008 -0400"
      },
      "message": "libata: normalize port_info, port_operations and sht tables\n\nOver the time, port info, ops and sht structures developed quite a bit\nof inconsistencies.  This patch updates drivers.\n\n* Enable/disable_pm callbacks added to all ahci ops tables.\n\n* Every driver for SFF controllers now uses ata_sff_port_start()\n  instead of ata_port_start() unless the driver has custom\n  implementation.\n\n* Every driver for SFF controllers now uses ata_pci_default_filter()\n  unless the driver has custom implementation.\n\n* Removed an odd port_info-\u003esht initialization from ata_piix.c.\n  Likely a merge byproduct.\n\n* A port which has ATA_FLAG_SATA set doesn\u0027t need to set cable_detect\n  to ata_cable_sata().  Remove it from via and mv port ops.\n\n* Some drivers had unnecessary .max_sectors initialization which is\n  ignored and was missing .slave_destroy callback.  Fixed.\n\n* Removed unnecessary sht initializations port_info\u0027s.\n\n* Removed onsolete scsi device suspend/resume callbacks from\n  pata_bf54x.\n\n* No reason to set ata_pci_default_filter() and bmdma functions for\n  PIO-only drivers.  Remove those callbacks and replace\n  ata_bmdma_irq_clear with ata_noop_irq_clear.\n\n* pata_platform sets port_start to ata_dummy_ret0.  port_start can\n  just be set to NULL.\n\n* sata_fsl supports NCQ but was missing qc_defer.  Fixed.\n\n* pata_rb600_cf implements dummy port_start.  Removed.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "358f9a77a668660729e705fde9c3cf69f013aa98",
      "tree": "a249660fdd9f252925eff9eaac3ed7836c839f91",
      "parents": [
        "c1bc899f5805771926c9198e2ab4d77122c356a1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 12:22:47 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:16 2008 -0400"
      },
      "message": "libata: implement and use ata_noop_irq_clear()\n\n-\u003eirq_clear() is used to clear IRQ bit of a SFF controller and isn\u0027t\nuseful for drivers which don\u0027t use libata SFF HSM implementation.\nHowever, it\u0027s a required callback and many drivers implement their own\nnoop version as placeholder.  This patch implements ata_noop_irq_clear\nand use it to replace those custom placeholders.\n\nAlso, SFF drivers which don\u0027t support BMDMA don\u0027t need to use\nata_bmdma_irq_clear().  It becomes noop if BMDMA address isn\u0027t\ninitialized.  Convert them to use ata_noop_irq_clear().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "c1bc899f5805771926c9198e2ab4d77122c356a1",
      "tree": "008dc8c45d55477ba3fc7a9c9abe474ecb5027af",
      "parents": [
        "f08048e94564d009b19038cfbdd800aa83e79c7f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 12:22:47 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:16 2008 -0400"
      },
      "message": "libata: reorganize ata_port_operations\n\nOver the time, ops in ata_port_operations has become a bit confusing.\nReorganize.  SFF/BMDMA ops are separated into separate a group as they\nwill be taken out of ata_port_operations later.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "f08048e94564d009b19038cfbdd800aa83e79c7f",
      "tree": "4afa7e4fff9ec716e9acbe746a464cda5daec063",
      "parents": [
        "b558edddb1c42c70a30cfe494984d4be409f7b2b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 12:22:47 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:16 2008 -0400"
      },
      "message": "libata: PCI device should be powered up before being accessed\n\nPCI device should be powered up or powered up before its PCI regsiters\nare accessed.  Although PCI configuration register access is allowed\nin D3hot, PCI device is free to reset its status when transiting from\nD3hot to D0 causing configuration data to change.\n\nMany libata SFF drivers which use ata_pci_init_one() read and update\nconfiguration registers before calling ata_pci_init_one() which\nenables the PCI device.  Also, in resume paths, some drivers access\nregisters without resuming the PCI device.\n\nThis patch adds a call to pcim_enable_device() in init path if\nregister is accessed before calling ata_pci_init_one() and make resume\npaths first resume PCI devices, access PCI configuration regiters then\nresume ATA host.\n\nWhile at it...\n\n* cmd640 was strange in that it set -\u003eresume even when CONFIG_PM is\n  not.  This is by-product of minimal build fix.  Updated.\n\n* In cs5530, Don\u0027t BUG() on reinit failure.  Just whine and fail\n  resume.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "b558edddb1c42c70a30cfe494984d4be409f7b2b",
      "tree": "b03275d15675a519de7d4edde709892f885a5fa0",
      "parents": [
        "8cebf274dd1c955a6e03385a85fd6569ce445946"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jan 24 00:05:14 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:16 2008 -0400"
      },
      "message": "libata: kill ata_ehi_schedule_probe()\n\nata_ehi_schedule_probe() was created to hide details of link-resuming\nreset magic.  Now that all the softreset workarounds are gone,\nscheduling probe is very simple - set probe_mask and request RESET.\nKill ata_ehi_schedule_probe() and open code it.  This also increases\nconsistency as ata_ehi_schedule_probe() couldn\u0027t cover individual\ndevice probings so they were open-coded even when the helper existed.\n\nWhile at it, define ATA_ALL_DEVICES as mask of all possible devices on\na link and always use it when requesting probe on link level for\nsimplicity and consistency.  Setting extra bits in the probe_mask\ndoesn\u0027t hurt anybody.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "8cebf274dd1c955a6e03385a85fd6569ce445946",
      "tree": "c459cd20ef93413e063826bb99ca0bcaf67ec8d2",
      "parents": [
        "672b2d65ba83a6f3f801fd3d58851aa9c0725a54"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jan 24 00:05:14 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:16 2008 -0400"
      },
      "message": "libata: kill ATA_LFLAG_SKIP_D2H_BSY\n\nSome controllers can\u0027t reliably record the initial D2H FIS after SATA\nlink is brought online for whatever reason.  Advanced controllers\nwhich don\u0027t have traditional TF register based interface often have\nthis problem as they don\u0027t really have the TF registers to update\nwhile the controller and link are being initialized.\n\nSKIP_D2H_BSY works around the problem by skipping the wait for device\nreadiness before issuing SRST, so for such controllers libata issues\nSRST blindly and hopes for the best.\n\nNow that libata defaults to hardreset, this workaround is no longer\nnecessary.  For controllers which have support for hardreset, SRST is\nnever issued by itself.  It is only issued as follow-up SRST for\ndevice classification and PMP initialization, so there\u0027s no need to\nwait for it from prereset.\n\nKill ATA_LFLAG_SKIP_D2H_BSY.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "672b2d65ba83a6f3f801fd3d58851aa9c0725a54",
      "tree": "ed3a2fe8013bf8322df637838deccf9f2bc9c92c",
      "parents": [
        "d692abd92f22a81b38d52c39601871003262841c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jan 24 00:05:14 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:16 2008 -0400"
      },
      "message": "libata: kill ATA_EHI_RESUME_LINK\n\nATA_EHI_RESUME_LINK has two functions - promote reset to hardreset if\nATA_LFLAG_HRST_TO_RESUME is set and preventing EH from shortcutting\nreset action when probing is requested.  The former is gone now and\nthe latter can easily be achieved by making EH to perform at least one\nreset if reset is requested, which also makes more sense than\ndepending on RESUME_LINK flag.\n\nAs ATA_EHI_RESUME_LINK was the only EHI reset modifier, this also\nkills reset modifier handling.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "d692abd92f22a81b38d52c39601871003262841c",
      "tree": "4ff3f35d88762a52fb4d48adda1f39e1966b9f26",
      "parents": [
        "cf48062658e7ab3bc55e10c65676c3c73c16f8bf"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jan 24 00:05:14 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:15 2008 -0400"
      },
      "message": "libata: kill ATA_LFLAG_HRST_TO_RESUME\n\nNow that hardreset is the preferred method of resetting, there\u0027s no\nneed for ATA_LFLAG_HRST_TO_RESUME flag.  Kill it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "cf48062658e7ab3bc55e10c65676c3c73c16f8bf",
      "tree": "9a50a016ceb6051d8a30a43ea39f2a4d3d25570e",
      "parents": [
        "4b119e21d0c66c22e8ca03df05d9de623d0eb50f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jan 24 00:05:14 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:15 2008 -0400"
      },
      "message": "libata: prefer hardreset\n\nWhen both soft and hard resets are available, libata preferred\nsoftreset till now.  The logic behind it was to be softer to devices;\nhowever, this doesn\u0027t really help much.  Rationales for the change:\n\n* BIOS may freeze lock certain things during boot and softreset can\u0027t\n  unlock those.  This by itself is okay but during operation PHY event\n  or other error conditions can trigger hardreset and the device may\n  end up with different configuration.\n\n  For example, after a hardreset, previously unlockable HPA can be\n  unlocked resulting in different device size and thus revalidation\n  failure.  Similar condition can occur during or after resume.\n\n* Certain ATAPI devices require hardreset to recover after certain\n  error conditions.  On PATA, this is done by issuing the DEVICE RESET\n  command.  On SATA, COMRESET has equivalent effect.  The problem is\n  that DEVICE RESET needs its own execution protocol.\n\n  For SFF controllers with bare TF access, it can be easily\n  implemented but more advanced controllers (e.g. ahci and sata_sil24)\n  require specialized implementations.  Simply using hardreset solves\n  the problem nicely.\n\n* COMRESET initialization sequence is the norm in SATA land and many\n  SATA devices don\u0027t work properly if only SRST is used.  For example,\n  some PMPs behave this way and libata works around by always issuing\n  hardreset if the host supports PMP.\n\n  Like the above example, libata has developed a number of mechanisms\n  aiming to promote softreset to hardreset if softreset is not going\n  to work.  This approach is time consuming and error prone.\n\n  Also, note that, dependingon how you read the specs, it could be\n  argued that PMP fan-out ports require COMRESET to start operation.\n  In fact, all the PMPs on the market except one don\u0027t work properly\n  if COMRESET is not issued to fan-out ports after PMP reset.\n\n* COMRESET is an integral part of SATA connection and any working\n  device should be able to handle COMRESET properly.  After all, it\u0027s\n  the way to signal hardreset during reboot.  This is the most used\n  and recommended (at least by the ahci spec) method of resetting\n  devices.\n\nSo, this patch makes libata prefer hardreset over softreset by making\nthe following changes.\n\n* Rename ATA_EH_RESET_MASK to ATA_EH_RESET and use it whereever\n  ATA_EH_{SOFT|HARD}RESET used to be used.  ATA_EH_{SOFT|HARD}RESET is\n  now only used to tell prereset whether soft or hard reset will be\n  issued.\n\n* Strip out now unneeded promote-to-hardreset logics from\n  ata_eh_reset(), ata_std_prereset(), sata_pmp_std_prereset() and\n  other places.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "4b119e21d0c66c22e8ca03df05d9de623d0eb50f",
      "tree": "735d446d1c39671146ca96cf5dea59ec35e433f2",
      "parents": [
        "c970d5a32ae1a90fba89892cc3432cf0b408cb8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 16 19:49:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 16 19:49:44 2008 -0700"
      },
      "message": "Linux 2.6.25\n"
    },
    {
      "commit": "c970d5a32ae1a90fba89892cc3432cf0b408cb8b",
      "tree": "1d8c3b5bf21249057efabfbb19abd63960a23a1d",
      "parents": [
        "6af74b03e00fc78806f75f6701b24b582bbb5c96",
        "da19566552315389370c40e690054a31b7623de5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 16 18:58:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 16 18:58:37 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:\n  it821x: do not describe noraid parameter with its value\n  Pb1200/DBAu1200: fix bad IDE resource size\n  Au1200: IDE driver build fix\n  Au1200: kill IDE driver function prototypes\n  avr32 mustn\u0027t select HAVE_IDE\n"
    },
    {
      "commit": "da19566552315389370c40e690054a31b7623de5",
      "tree": "5658be0c7860773511b7a444150f85e4a89b78e3",
      "parents": [
        "b4dcaea36b0376456c97698deba0089d2d67cbe7"
      ],
      "author": {
        "name": "Paul Bolle",
        "email": "pebolle@tiscali.nl",
        "time": "Thu Apr 17 01:14:33 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Apr 17 01:14:33 2008 +0200"
      },
      "message": "it821x: do not describe noraid parameter with its value\n\nDescribe noraid parameter with its name (and not its value).\n\nSigned-off-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "b4dcaea36b0376456c97698deba0089d2d67cbe7",
      "tree": "9dd0a07edf2f15b2a8caeade081915e9f770f256",
      "parents": [
        "fabd3a223a96de1a91b2148655f2ed09ca9d1c20"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Thu Apr 17 01:14:33 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Apr 17 01:14:33 2008 +0200"
      },
      "message": "Pb1200/DBAu1200: fix bad IDE resource size\n\nThe header files for the Pb1200/DBAu1200 boards have wrong definition for the\nIDE interface\u0027s decoded range length -- it should be 512 bytes according to\nwhat the IDE driver does.  In addition, the IDE platform device claims 1 byte\ntoo many for its memory resource -- fix the platform code and the IDE driver\nin accordance.\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "fabd3a223a96de1a91b2148655f2ed09ca9d1c20",
      "tree": "46e3d726532a8bdb5d1f57aef28a4509c87dfc45",
      "parents": [
        "09a77441f27f51f5f9878c90c7ed67e303197a2a"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Thu Apr 17 01:14:33 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Apr 17 01:14:33 2008 +0200"
      },
      "message": "Au1200: IDE driver build fix\n\nThe driver fails to compile with CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA enabled:\n\ndrivers/ide/mips/au1xxx-ide.c: In function `auide_build_dmatable\u0027:\ndrivers/ide/mips/au1xxx-ide.c:256: error: implicit declaration of function\n`sg_virt\u0027\ndrivers/ide/mips/au1xxx-ide.c:275: error: implicit declaration of function\n`sg_next\u0027\ndrivers/ide/mips/au1xxx-ide.c:275: warning: assignment makes pointer from\ninteger without a cast\n\nFix this by including \u003clinux/scatterlist.h\u003e. While at it, remove the #include\u0027s\nwithout which the driver happily builds.\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "09a77441f27f51f5f9878c90c7ed67e303197a2a",
      "tree": "555f0e2ce1e433e57ad907a4ee1b60ddc33366b8",
      "parents": [
        "71fc4c0c441eab97630bf2b310e81ebff5e831d7"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Thu Apr 17 01:14:33 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Apr 17 01:14:33 2008 +0200"
      },
      "message": "Au1200: kill IDE driver function prototypes\n\nFix these warnings emitted when compiling drivers/ide/mips/au1xxx-ide.c:\n\ninclude/asm/mach-au1x00/au1xxx_ide.h:137: warning: \u0027auide_tune_drive\u0027 declared \n`static\u0027 but never defined\ninclude/asm/mach-au1x00/au1xxx_ide.h:138: warning: \u0027auide_tune_chipset\u0027 declared\n `static\u0027 but never defined\n\nby wiping out the whole \"function prototyping\" section from the header file\n\u003casm-mips/mach-au1x00/au1xxx_ide.h\u003e as it mostly declared functions that are\nalready dead in the IDE driver; move the only useful prototype into the driver.\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "71fc4c0c441eab97630bf2b310e81ebff5e831d7",
      "tree": "4ad8ccef17be11eadf352c941f5286b7737dd287",
      "parents": [
        "b87e81e5c6e64ae0eae3b4f61bf07bfeec856184"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Thu Apr 17 01:14:32 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Apr 17 01:14:32 2008 +0200"
      },
      "message": "avr32 mustn\u0027t select HAVE_IDE\n\nThere\u0027s a libata based PATA driver for avr32, but no support for \ndrivers/ide/ on avr32.\n\nThis patch fixes the following compile error:\n\n\u003c--  snip  --\u003e\n\n...\n  CC [M]  drivers/ide/ide-cd.o\nIn file included from /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/ide-cd.c:37:\n/home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/ide.h:209:21: error: asm/ide.h: No such file or directory\nmake[3]: *** [drivers/ide/ide-cd.o] Error 1\n\n\u003c--  snip  --\u003e\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "6af74b03e00fc78806f75f6701b24b582bbb5c96",
      "tree": "f2370760e5096b75c07baa98084576c6fb906191",
      "parents": [
        "1076bb40585dc3a4ae6143ecc5a1654495b84c42",
        "75ce6faccdbbea4465876a759917d4994660c025"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 16 07:45:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 16 07:45:45 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: update git url for blktrace\n  io context: increment task attachment count in ioc_task_link()\n"
    },
    {
      "commit": "1076bb40585dc3a4ae6143ecc5a1654495b84c42",
      "tree": "02b417d08f08d7491aca699aaf75ed79c0f5121d",
      "parents": [
        "b4b8f57965e007afbbb0175ea28f733723c5260b",
        "07c3b1a1001614442c665570942a3107a722c314"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 16 07:45:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 16 07:45:05 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:\n  USB: remove broken usb-serial num_endpoints check\n  USB: option: Add new vendor ID and device ID for AMOI HSDPA modem\n  USB: support more Huawei data card product IDs\n  USB: option.c: add more device IDs\n  USB: Obscure Maxon BP3-USB Device Support 16d8:6280 for option driver\n"
    },
    {
      "commit": "b4b8f57965e007afbbb0175ea28f733723c5260b",
      "tree": "7f4aeda48ada35771ea3e63bbbb36e52c47aeb62",
      "parents": [
        "424b00e2c0f0c38f2cf5331391742ec998f6d89f",
        "56f367bbfd5a7439961499ca6a2f0822d2074d83"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 16 07:44:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 16 07:44:27 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  [TCP]: Add return value indication to tcp_prune_ofo_queue().\n  PS3: gelic: fix the oops on the broken IE returned from the hypervisor\n  b43legacy: fix DMA mapping leakage\n  mac80211: remove message on receiving unexpected unencrypted frames\n  Update rt2x00 MAINTAINERS entry\n  Add rfkill to MAINTAINERS file\n  rfkill: Fix device type check when toggling states\n  b43legacy: Fix usage of struct device used for DMAing\n  ssb: Fix usage of struct device used for DMAing\n  MAINTAINERS: move to generic repository for iwlwifi\n  b43legacy: fix initvals loading on bcm4303\n  rtl8187: Add missing priv-\u003evif assignments\n  netconsole: only set CON_PRINTBUFFER if the user specifies a netconsole\n  [CAN]: Update documentation of struct sockaddr_can\n  MAINTAINERS: isdn4linux@listserv.isdn4linux.de is subscribers-only\n  [TCP]: Fix never pruned tcp out-of-order queue.\n  [NET_SCHED] sch_api: fix qdisc_tree_decrease_qlen() loop\n"
    },
    {
      "commit": "424b00e2c0f0c38f2cf5331391742ec998f6d89f",
      "tree": "78bc6e4e18ee2ac499bdf56e6024c9a042c34766",
      "parents": [
        "b87e81e5c6e64ae0eae3b4f61bf07bfeec856184"
      ],
      "author": {
        "name": "Paul Bolle",
        "email": "pebolle@tiscali.nl",
        "time": "Wed Apr 16 11:08:22 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 16 07:43:48 2008 -0700"
      },
      "message": "AFS: Do not describe debug parameters with their value\n\nDescribe debug parameters with their names (and not their values).\n\nSigned-off-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07c3b1a1001614442c665570942a3107a722c314",
      "tree": "0a144a39d68ba3a684628d374c99d7f13d8273db",
      "parents": [
        "32147be4cc50e5e4445a8760125cacc258c61638"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Apr 14 14:17:29 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Apr 15 22:30:53 2008 -0700"
      },
      "message": "USB: remove broken usb-serial num_endpoints check\n\nThe num_interrupt_in, num_bulk_in, and other checks in the usb-serial\ncode are just wrong, there are too many different devices out there with\ndifferent numbers of endpoints.  We need to just be sticking with the\ndevice ids instead of trying to catch this kind of thing.  It broke too\nmany different devices.\n\nThis fixes a large number of usb-serial devices to get them working\nproperly again.\n\n\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "32147be4cc50e5e4445a8760125cacc258c61638",
      "tree": "66ed6be58bc984440517e01e8608e0d0e4ce6962",
      "parents": [
        "aad8a278f37e748bfe310a1366f2aa7e0dbaf365"
      ],
      "author": {
        "name": "tang kai",
        "email": "tangk73@hotmail.com",
        "time": "Mon Apr 14 10:06:35 2008 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Apr 15 22:30:53 2008 -0700"
      },
      "message": "USB: option: Add new vendor ID and device ID for AMOI HSDPA modem\n\nThis patch add new vendor ID and device ID  for AMOI HSDPA modem. \n\nFrom: tang kai \u003ctangk73@hotmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "aad8a278f37e748bfe310a1366f2aa7e0dbaf365",
      "tree": "3e4c623226371e22b5b3ec68545c6ff1c443785c",
      "parents": [
        "a1d9bc12e06a71b01f626040dc5149b357e8f1eb"
      ],
      "author": {
        "name": "fangxiaozhi",
        "email": "huananhu@huawei.com",
        "time": "Thu Apr 10 14:51:06 2008 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Apr 15 22:30:52 2008 -0700"
      },
      "message": "USB: support more Huawei data card product IDs\n\n - declare the unusal device for Huawei data card devices in\n   unusual_devs.h\n - disable the product ID matching for Huawei data card devices in\n   usb_match_device function of driver.c\n - declare the product IDs in option.c.\n\nSigned-off-by: fangxiaozhi \u003chuananhu@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a1d9bc12e06a71b01f626040dc5149b357e8f1eb",
      "tree": "722cee1eb50cd253049e423ffe8d1f907c4483ed",
      "parents": [
        "80d9709832390fa7e721bbf4a017da474fdc6c29"
      ],
      "author": {
        "name": "Matthias Urlichs",
        "email": "smurf@smurf.noris.de",
        "time": "Thu Apr 10 10:13:32 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Apr 15 22:30:52 2008 -0700"
      },
      "message": "USB: option.c: add more device IDs\n\nAdd devices by AMOI and NovatelWireless.\n\nSigned-Off-By: Matthias Urlichs \u003cmatthias@urlichs.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "80d9709832390fa7e721bbf4a017da474fdc6c29",
      "tree": "620e5fb965b3e1f42ece8cf1c6fe2c558c851a93",
      "parents": [
        "b87e81e5c6e64ae0eae3b4f61bf07bfeec856184"
      ],
      "author": {
        "name": "James Cameron",
        "email": "quozl@laptop.org",
        "time": "Wed Apr 09 18:59:13 2008 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Apr 15 22:30:51 2008 -0700"
      },
      "message": "USB: Obscure Maxon BP3-USB Device Support 16d8:6280 for option driver\n\nThe modem was detected, the ttyUSB{0,1,2} appeared, a call could be\nmade, and the expected data rate was achieved.  Tested for an hour or\ntwo, total of 100Mb.  I shall do more testing.\n\nSigned-off-by: James Cameron \u003cquozl@laptop.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "56f367bbfd5a7439961499ca6a2f0822d2074d83",
      "tree": "cdd34f6fed1fcbaa80f2fb2bf17df4fe03a316db",
      "parents": [
        "c4cbb34bbdaaa841ef7c027f7b420db4c318c4fd"
      ],
      "author": {
        "name": "Vitaliy Gusev",
        "email": "vgusev@openvz.org",
        "time": "Tue Apr 15 20:26:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 15 20:26:34 2008 -0700"
      },
      "message": "[TCP]: Add return value indication to tcp_prune_ofo_queue().\n\nReturns non-zero if tp-\u003eout_of_order_queue was seen non-empty.\nThis allows tcp_try_rmem_schedule() to return early.\n\nSigned-off-by: Vitaliy Gusev \u003cvgusev@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b87e81e5c6e64ae0eae3b4f61bf07bfeec856184",
      "tree": "0220bd679f3e8403a917d5038d1f026214f8548b",
      "parents": [
        "5f1a3f2ac4ddf966cd0555dc445c6df65709c580"
      ],
      "author": {
        "name": "yakui.zhao@intel.com",
        "email": "yakui.zhao@intel.com",
        "time": "Tue Apr 15 14:34:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 19:35:41 2008 -0700"
      },
      "message": "acpi: unneccessary to scan the PCI bus already scanned\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d10124\n\nthis change:\n\n      commit 08f1c192c3c32797068bfe97738babb3295bbf42\n      Author: Muli Ben-Yehuda \u003cmuli@il.ibm.com\u003e\n      Date:   Sun Jul 22 00:23:39 2007 +0300\n\n         x86-64: introduce struct pci_sysdata to facilitate sharing of -\u003esysdata\n\n         This patch introduces struct pci_sysdata to x86 and x86-64, and\n         converts the existing two users (NUMA, Calgary) to use it.\n\n         This lays the groundwork for having other users of sysdata, such as\n         the PCI domains work.\n\n         The Calgary bits are tested, the NUMA bits just look ok.\n\nreplaces pcibios_scan_root by pci_scan_bus_parented...\n\nbut in pcibios_scan_root we have a check about scanned busses.\n\nCc: \u003cyakui.zhao@intel.com\u003e\nCc: Stian Jordet \u003cstian@jordet.net\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Yinghai Lu\" \u003cyhlu.kernel@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": "5f1a3f2ac4ddf966cd0555dc445c6df65709c580",
      "tree": "13359d9f56d11451d7ad01eda0eaba1c7e0dadf8",
      "parents": [
        "f0a37e008750ead1751b7d5e89d220a260a46147"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Tue Apr 15 14:34:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 19:35:41 2008 -0700"
      },
      "message": "acpi thermal trip points increased to 12\n\nThe THERMAL_MAX_TRIPS value is set to 10.  It is too few for the Compaq AP550\nmachine which has 12 trip points.\n\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Zhang Rui \u003crui.zhang@intel.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f0a37e008750ead1751b7d5e89d220a260a46147",
      "tree": "db808d329fc56dee2c518a3964f94e25af9941d3",
      "parents": [
        "d1e7780638a9192f15caf590e0081bf915fdef71"
      ],
      "author": {
        "name": "Chuck Ebbert",
        "email": "cebbert@redhat.com",
        "time": "Tue Apr 15 14:34:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 19:35:41 2008 -0700"
      },
      "message": "acpi: bus: check once more for an empty list after locking it\n\nList could have become empty after the unlocked check that was made earlier,\nso check again inside the lock.\n\nShould fix https://bugzilla.redhat.com/show_bug.cgi?id\u003d427765\n\nSigned-off-by: Chuck Ebbert \u003ccebbert@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1e7780638a9192f15caf590e0081bf915fdef71",
      "tree": "82c5419927d9bfaf77aecede0054a815aea058f3",
      "parents": [
        "50f426b55d919dd017af35bb6a08753d1f262920"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Tue Apr 15 14:34:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 19:35:41 2008 -0700"
      },
      "message": "spi: spi_s3c24xx must initialize num_chipselect\n\nThe SPI core now expects num_chipselect to be set correctly as due to added\nchecks on the chip being selected before an transfer is allowed.  This patch\nadds a num_cs field to the platform data which needs to be set correctly\nbefore adding the SPI platform device.\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "50f426b55d919dd017af35bb6a08753d1f262920",
      "tree": "e7b55f8e9336fe75923b8c08a56d886c4620c322",
      "parents": [
        "4bb5eba06b4bc57e30b0f6336c9907e85c395197"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Tue Apr 15 14:34:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 19:35:41 2008 -0700"
      },
      "message": "spi: spi_s3c24xx must initialize bus_num\n\nPass the bus number we expect the S3C24XX SPI driver to attach to via the\nplatform data.\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4bb5eba06b4bc57e30b0f6336c9907e85c395197",
      "tree": "e471e6c09b5aa148eef724bc7ffd04ec5e59c04e",
      "parents": [
        "335e92e8a515420bd47a6b0f01cb9a206c0ed6e4"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Tue Apr 15 14:34:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 19:35:41 2008 -0700"
      },
      "message": "spi: spi_s3c24xx driver must init completion\n\nThe s3c24xx_spi_txrx() function should initialise the completion each time\nbefore using it, otherwise we end up with the possibility of returning success\nbefore the interrupt handler has processed all the data.\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "335e92e8a515420bd47a6b0f01cb9a206c0ed6e4",
      "tree": "1518f9afa7ac7047be2c86481b3dbc12f8cc9282",
      "parents": [
        "423bec43079a2942a3004034df7aad76469758d8"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Apr 15 14:34:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 19:35:41 2008 -0700"
      },
      "message": "vfs: fix possible deadlock in ext2, ext3, ext4 when using xattrs\n\nmb_cache_entry_alloc() was allocating cache entries with GFP_KERNEL.  But\nfilesystems are calling this function while holding xattr_sem so possible\nrecursion into the fs violates locking ordering of xattr_sem and transaction\nstart / i_mutex for ext2-4.  Change mb_cache_entry_alloc() so that filesystems\ncan specify desired gfp mask and use GFP_NOFS from all of them.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "423bec43079a2942a3004034df7aad76469758d8",
      "tree": "df77cdba718cbee8a61946689390c92eb3c2ab83",
      "parents": [
        "91446b064c748fc2a238fd68b677c9671e536bfd"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Tue Apr 15 14:34:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 19:35:41 2008 -0700"
      },
      "message": "Documentation: correct overcommit caveat in hugetlbpage.txt\n\nAs shown by Gurudas Pai recently, we can put hugepages into the surplus\nstate (by echo 0 \u003e /proc/sys/vm/nr_hugepages), even when\n/proc/sys/vm/nr_overcommit_hugepages is 0. This is actually correct, to\nallow the original goal (shrink the static pool to 0) to succeed (we are\nconverting hugepages to surplus because they are in use). However, the\ndocumentation does not accurately reflect this case. Update it.\n\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nAcked-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "91446b064c748fc2a238fd68b677c9671e536bfd",
      "tree": "44cdc857eec3360e6def1e283043276f145fe000",
      "parents": [
        "b82d4043b3550df00a036f6aa2c8ab9578a283ef"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Apr 15 14:34:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 19:35:41 2008 -0700"
      },
      "message": "add \"Isolate\" migratetype name to /proc/pagetypeinfo\n\nIn a5d76b54a3f3a40385d7f76069a2feac9f1bad63 (memory unplug: page isolation by\nKAMEZAWA Hiroyuki), \"isolate\" migratetype added.  but unfortunately, it\ndoesn\u0027t treat /proc/pagetypeinfo display logic.\n\nthis patch add \"Isolate\" to pagetype name field.\n\n/proc/pagetype\nbefore:\n------------------------------------------------------------------------------------------------------------------------\nFree pages count per migrate type at order       0      1      2      3      4      5      6      7      8      9     10\nNode    0, zone      DMA, type    Unmovable      1      2      2      2      1      2      2      1      1      0      0\nNode    0, zone      DMA, type  Reclaimable      0      0      0      0      0      0      0      0      0      0      0\nNode    0, zone      DMA, type      Movable      2      3      3      1      3      3      2      0      0      0      0\nNode    0, zone      DMA, type      Reserve      0      0      0      0      0      0      0      0      0      0      1\nNode    0, zone      DMA, type       \u003cNULL\u003e      0      0      0      0      0      0      0      0      0      0      0\nNode    0, zone   Normal, type    Unmovable      1      9      7      4      1      1      1      1      0      0      0\nNode    0, zone   Normal, type  Reclaimable      5      2      0      0      1      1      0      0      0      1      0\nNode    0, zone   Normal, type      Movable      0      1      1      0      0      0      1      0      0      1     60\nNode    0, zone   Normal, type      Reserve      0      0      0      0      0      0      0      0      0      0      1\nNode    0, zone   Normal, type       \u003cNULL\u003e      0      0      0      0      0      0      0      0      0      0      0\nNode    0, zone  HighMem, type    Unmovable      0      0      1      1      1      0      1      1      2      2      0\nNode    0, zone  HighMem, type  Reclaimable      0      0      0      0      0      0      0      0      0      0      0\nNode    0, zone  HighMem, type      Movable    236     62      6      2      2      1      1      0      1      1     16\nNode    0, zone  HighMem, type      Reserve      0      0      0      0      0      0      0      0      0      0      1\nNode    0, zone  HighMem, type       \u003cNULL\u003e      0      0      0      0      0      0      0      0      0      0      0\n\nNumber of blocks type     Unmovable  Reclaimable      Movable      Reserve       \u003cNULL\u003e\nNode 0, zone      DMA            1            0            2       1            0\nNode 0, zone   Normal           10           40          169       1            0\nNode 0, zone  HighMem            2            0          283       1            0\n\nafter:\n------------------------------------------------------------------------------------------------------------------------\nFree pages count per migrate type at order       0      1      2      3      4      5      6      7      8      9     10\nNode    0, zone      DMA, type    Unmovable      1      2      2      2      1      2      2      1      1      0      0\nNode    0, zone      DMA, type  Reclaimable      0      0      0      0      0      0      0      0      0      0      0\nNode    0, zone      DMA, type      Movable      2      3      3      1      3      3      2      0      0      0      0\nNode    0, zone      DMA, type      Reserve      0      0      0      0      0      0      0      0      0      0      1\nNode    0, zone      DMA, type      Isolate      0      0      0      0      0      0      0      0      0      0      0\nNode    0, zone   Normal, type    Unmovable      0      2      1      1      0      1      0      0      0      0      0\nNode    0, zone   Normal, type  Reclaimable      1      1      1      1      1      0      1      1      1      0      0\nNode    0, zone   Normal, type      Movable      0      1      1      1      0      1      0      1      0      0    196\nNode    0, zone   Normal, type      Reserve      0      0      0      0      0      0      0      0      0      0      1\nNode    0, zone   Normal, type      Isolate      0      0      0      0      0      0      0      0      0      0      0\nNode    0, zone  HighMem, type    Unmovable      0      1      0      0      0      1      1      1      2      2      0\nNode    0, zone  HighMem, type  Reclaimable      0      0      0      0      0      0      0      0      0      0      0\nNode    0, zone  HighMem, type      Movable      1      0      1      1      0      0      0      0      1      0    200\nNode    0, zone  HighMem, type      Reserve      0      0      0      0      0      0      0      0      0      0      1\nNode    0, zone  HighMem, type      Isolate      0      0      0      0      0      0      0      0      0      0      0\n\nNumber of blocks type     Unmovable  Reclaimable      Movable      Reserve      Isolate\nNode 0, zone      DMA            1            0            2       1            0\nNode 0, zone   Normal            8            4          207       1            0\nNode 0, zone  HighMem            2            0          283       1            0\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b82d4043b3550df00a036f6aa2c8ab9578a283ef",
      "tree": "a2d6686a074e14fee16da379e2b166c66da4cca3",
      "parents": [
        "1f4deba80a0d9fa92832684e683335b742a530e8"
      ],
      "author": {
        "name": "Dmitri Vorobiev",
        "email": "dmitri.vorobiev@gmail.com",
        "time": "Tue Apr 15 14:34:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 19:35:40 2008 -0700"
      },
      "message": "Fix typos in Documentation/filesystems/seq_file.txt\n\nA couple of typos crept into the newly added document about the seq_file\ninterface.  This patch corrects those typos and simultaneously deletes\nunnecessary trailing spaces.\n\nSigned-off-by: Dmitri Vorobiev \u003cdmitri.vorobiev@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": "1f4deba80a0d9fa92832684e683335b742a530e8",
      "tree": "b9e04ac068aead7a2821e311fdad446d3b740c33",
      "parents": [
        "e115f2d89253490fb2dbf304b627f8d908df26f1"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Apr 15 14:34:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 19:35:40 2008 -0700"
      },
      "message": "uml: compile error fix\n\nThis patch fixes this error:\n\nIn file included from /home/wangcong/projects/linux-2.6/arch/um/kernel/smp.c:9:\ninclude2/asm/tlb.h: In function `tlb_remove_page\u0027:\ninclude2/asm/tlb.h:101: error: implicit declaration of function `page_cache_release\u0027\n\nAnd since including \u003clinux/pagemap.h\u003e in \u003clinux/swap.h\u003e will break sparc,\nwe add this #include in uml\u0027s own header.\n\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e115f2d89253490fb2dbf304b627f8d908df26f1",
      "tree": "cfed18e5ac01247f6edbf0d72b418b9e7e110265",
      "parents": [
        "e169c139642fb4c682ec12a409725508dbefa520"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Apr 15 14:34:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 19:35:40 2008 -0700"
      },
      "message": "memcg: fix oops in oom handling\n\nWhen I used a test program to fork mass processes and immediately move them to\na cgroup where the memory limit is low enough to trigger oom kill, I got oops:\n\nBUG: unable to handle kernel NULL pointer dereference at 0000000000000808\nIP: [\u003cffffffff8045c47f\u003e] _spin_lock_irqsave+0x8/0x18\nPGD 4c95f067 PUD 4406c067 PMD 0\nOops: 0002 [1] SMP\nCPU 2\nModules linked in:\n\nPid: 11973, comm: a.out Not tainted 2.6.25-rc7 #5\nRIP: 0010:[\u003cffffffff8045c47f\u003e]  [\u003cffffffff8045c47f\u003e] _spin_lock_irqsave+0x8/0x18\nRSP: 0018:ffff8100448c7c30  EFLAGS: 00010002\nRAX: 0000000000000202 RBX: 0000000000000009 RCX: 000000000001c9f3\nRDX: 0000000000000100 RSI: 0000000000000001 RDI: 0000000000000808\nRBP: ffff81007e444080 R08: 0000000000000000 R09: ffff8100448c7900\nR10: ffff81000105f480 R11: 00000100ffffffff R12: ffff810067c84140\nR13: 0000000000000001 R14: ffff8100441d0018 R15: ffff81007da56200\nFS:  00007f70eb1856f0(0000) GS:ffff81007fbad3c0(0000) knlGS:0000000000000000\nCS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\nCR2: 0000000000000808 CR3: 000000004498a000 CR4: 00000000000006e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess a.out (pid: 11973, threadinfo ffff8100448c6000, task ffff81007da533e0)\nStack:  ffffffff8023ef5a 00000000000000d0 ffffffff80548dc0 00000000000000d0\n ffff810067c84140 ffff81007e444080 ffffffff8026cef9 00000000000000d0\n ffff8100441d0000 00000000000000d0 ffff8100441d0000 ffff8100505445c0\nCall Trace:\n [\u003cffffffff8023ef5a\u003e] ? force_sig_info+0x25/0xb9\n [\u003cffffffff8026cef9\u003e] ? oom_kill_task+0x77/0xe2\n [\u003cffffffff8026d696\u003e] ? mem_cgroup_out_of_memory+0x55/0x67\n [\u003cffffffff802910ad\u003e] ? mem_cgroup_charge_common+0xec/0x202\n [\u003cffffffff8027997b\u003e] ? handle_mm_fault+0x24e/0x77f\n [\u003cffffffff8022c4af\u003e] ? default_wake_function+0x0/0xe\n [\u003cffffffff8027a17a\u003e] ? get_user_pages+0x2ce/0x3af\n [\u003cffffffff80290fee\u003e] ? mem_cgroup_charge_common+0x2d/0x202\n [\u003cffffffff8027a441\u003e] ? make_pages_present+0x8e/0xa4\n [\u003cffffffff8027d1ab\u003e] ? mmap_region+0x373/0x429\n [\u003cffffffff8027d7eb\u003e] ? do_mmap_pgoff+0x2ff/0x364\n [\u003cffffffff80210471\u003e] ? sys_mmap+0xe5/0x111\n [\u003cffffffff8020bfc9\u003e] ? tracesys+0xdc/0xe1\n\nCode: 00 00 01 48 8b 3c 24 e9 46 d4 dd ff f0 ff 07 48 8b 3c 24 e9 3a d4 dd ff fe 07 48 8b 3c 24 e9 2f d4 dd ff 9c 58 fa ba 00 01 00 00 \u003cf0\u003e 66 0f c1 17 38 f2 74 06 f3 90 8a 17 eb f6 c3 fa b8 00 01 00\nRIP  [\u003cffffffff8045c47f\u003e] _spin_lock_irqsave+0x8/0x18\n RSP \u003cffff8100448c7c30\u003e\nCR2: 0000000000000808\n---[ end trace c3702fa668021ea4 ]---\n\nIt\u0027s reproducable in a x86_64 box, but doesn\u0027t happen in x86_32.\n\nThis is because tsk-\u003esighand is not guarded by RCU, so we have to\nhold tasklist_lock, just as what out_of_memory() does.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: David Rientjes \u003crientjes@cs.washington.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e169c139642fb4c682ec12a409725508dbefa520",
      "tree": "71d1911b9973bc68c69597784c9d542c03f935b8",
      "parents": [
        "12c2c019eb9b0b586a061b336766d11cca449499"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue Apr 15 14:34:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 19:35:40 2008 -0700"
      },
      "message": "serial: fix platform driver hotplug/coldplug\n\nSince 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is\nprefixed with \"platform:\".  Add MODULE_ALIAS() to the hotpluggable serial\nplatform drivers, to re-enable auto loading.\n\nNOTE that Kconfig for some of these drivers doesn\u0027t allow modular builds, and\nthus doesn\u0027t match the driver source\u0027s unload support.  Presumably their\nunload code is buggy and/or weakly tested...\n\n[dbrownell@users.sourceforge.net: more drivers, registration fixes]\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Peter Korsgaard \u003cjacmet@sunsite.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "12c2c019eb9b0b586a061b336766d11cca449499"
}
