)]}'
{
  "log": [
    {
      "commit": "842de40d93e00a5c40a1a7f520a6fbe422994e99",
      "tree": "ec59fd64804a4f5cde40f5edf43fabd5ddb3c413",
      "parents": [
        "7d715a6c1ae5785d00fb9a876b5abdfc43abc44b"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Tue Mar 04 11:56:47 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Apr 20 21:47:04 2008 -0700"
      },
      "message": "PCI: add generic pci_enable_resources()\n\nEach architecture has its own pcibios_enable_resources() implementation.\nThese differ in many minor ways that have nothing to do with actual\narchitectural differences.  Follow-on patches will make most arches\nuse this generic version instead.\n\nThis version is based on powerpc, which seemed most up-to-date.  The only\nfunctional difference from the x86 version is that this uses \"!r-\u003eparent\"\nto check for resource collisions instead of \"!r-\u003estart \u0026\u0026 r-\u003eend\".\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7d715a6c1ae5785d00fb9a876b5abdfc43abc44b",
      "tree": "58ec6d1969739a590e0c6c976bfebf04c8e9f31e",
      "parents": [
        "657472e9ccd9fccb82b775eb691c4b25b27451da"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Mon Feb 25 09:46:41 2008 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Apr 20 21:47:03 2008 -0700"
      },
      "message": "PCI: add PCI Express ASPM support\n\nPCI Express ASPM defines a protocol for PCI Express components in the D0\nstate to reduce Link power by placing their Links into a low power state\nand instructing the other end of the Link to do likewise. This\ncapability allows hardware-autonomous, dynamic Link power reduction\nbeyond what is achievable by software-only controlled power management.\nHowever, The device should be configured by software appropriately.\nEnabling ASPM will save power, but will introduce device latency.\n\nThis patch adds ASPM support in Linux. It introduces a global policy for\nASPM, a sysfs file /sys/module/pcie_aspm/parameters/policy can control\nit. The interface can be used as a boot option too. Currently we have\nbelow setting:\n        -default, BIOS default setting\n        -powersave, highest power saving mode, enable all available ASPM\nstate and clock power management\n        -performance, highest performance, disable ASPM and clock power\nmanagement\nBy default, the \u0027default\u0027 policy is used currently.\n\nIn my test, power difference between powersave mode and performance mode\nis about 1.3w in a system with 3 PCIE links.\n\nNote: some devices might not work well with aspm, either because chipset\nissue or device issue. The patch provide API (pci_disable_link_state),\ndriver can disable ASPM for specific device.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "21c6847406784fde73ad5ea47c2c3434714d58d1",
      "tree": "9098d9b7dc15a44c4c367c7d51e5536d5ab0925e",
      "parents": [
        "4c44bac8645e0ce0249c53cc154f56b5543af232"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Feb 04 23:50:11 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Apr 20 21:47:02 2008 -0700"
      },
      "message": "PCI: #if 0 pci_cleanup_aer_correct_error_status()\n\n#if 0 the no longer used pci_cleanup_aer_correct_error_status().\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5ff580c10ec06fd296bd23d4570c1a95194094a0",
      "tree": "fc00b4a107824519ae452c264674e5b8c2768d8e",
      "parents": [
        "c71c68a04ba7672b9373ef04173114c211bb9f88"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 14 14:56:56 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Apr 20 21:47:02 2008 -0700"
      },
      "message": "PCI: remove global list of PCI devices\n\nThis patch finally removes the global list of PCI devices.  We are\nrelying entirely on the list held in the driver core now, and do not\nneed a separate \"shadow\" list as no one uses it.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8a1bc9013a03d41a0e36ee413bb6f97281b30bd1",
      "tree": "83c01850e1779e37be1d9db0f87436b09b89f3fe",
      "parents": [
        "70308923d317f2ad4973c30d90bb48ae38761317"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 14 14:56:56 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Apr 20 21:47:00 2008 -0700"
      },
      "message": "PCI: add is_added flag to struct pci_dev\n\nThis lets us check if the device is really added to the driver core or\nnot, which is what we need when walking some of the bus lists.  The flag\nis there in anticipation of getting rid of the other PCI device list,\nwhich is what we used to check in this situation.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "95247b57ed844511a212265b45cf9a919753aea1",
      "tree": "ffabb4e3b868120f3d9a2c6463d568ad12d2f7f5",
      "parents": [
        "34220909a26b7f7cfc71e88ce01856c2563fe1d4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 13 11:03:58 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Apr 20 21:46:54 2008 -0700"
      },
      "message": "PCI: clean up search.c a lot\n\nThis cleans up the search.c file, now using the pci list of devices that\nare created for the driver core, instead of relying on our separate list\nof devices.  It\u0027s better to use the functions already created for this\nkind of thing, instead of rolling our own all the time.\n\nThis work is done in anticipation of getting rid of that second list of\npci devices all together.\n\nAnd it ends up saving code, always a nice benefit.\n\nThis also removes one compiler warning for when CONFIG_PCI_LEGACY is\nenabled as we no longer internally use the deprecated functions anymore.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "34220909a26b7f7cfc71e88ce01856c2563fe1d4",
      "tree": "deea265e6356cfeca3f835d4f3ee3f403d37680e",
      "parents": [
        "a2b5d877840f29b5fbb5f53b63dfcbf8bc0aea47"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 13 09:32:03 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Apr 20 21:46:53 2008 -0700"
      },
      "message": "PCI: remove pci_get_device_reverse\n\nThis removes the pci_get_device_reverse function as there should not be\nany need to walk pci devices backwards anymore.  All users of this call\nare now gone from the tree, so it is safe to remove it.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "448432c4b8e2e3189177d6dbd16b8a8d83c5c11c",
      "tree": "689adfdedd9165bce6235491110ffd2be9b0af79",
      "parents": [
        "2baad5f96b498812626eadb6f6af3eb41d8656a3"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Feb 12 13:36:20 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Apr 20 21:46:52 2008 -0700"
      },
      "message": "PCI: remove pci_find_present\n\nNo one is using this function anymore for quite some time, so remove it.\nEveryone calls pci_dev_present() instead anyway...\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2baad5f96b498812626eadb6f6af3eb41d8656a3",
      "tree": "96617ff2422732cccd9b8741befe593232af7201",
      "parents": [
        "4b5ff469234b8ab5cd05f4a201cbb229896729d0"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 13 23:30:12 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Apr 20 21:46:52 2008 -0700"
      },
      "message": "PCI: #if 0 pci_assign_resource_fixed()\n\nAn unused function that bloated the kernel only when CONFIG_EMBEDDED was\nenabled...\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3925e6fc1f774048404fdd910b0345b06c699eb4",
      "tree": "c9a58417d9492f39f7fe81d4721d674c34dd8be2",
      "parents": [
        "334d094504c2fe1c44211ecb49146ae6bca8c321",
        "7cea51be4e91edad05bd834f3235b45c57783f0d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 18:18:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 18:18:30 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  security: fix up documentation for security_module_enable\n  Security: Introduce security\u003d boot parameter\n  Audit: Final renamings and cleanup\n  SELinux: use new audit hooks, remove redundant exports\n  Audit: internally use the new LSM audit hooks\n  LSM/Audit: Introduce generic Audit LSM hooks\n  SELinux: remove redundant exports\n  Netlink: Use generic LSM hook\n  Audit: use new LSM hooks instead of SELinux exports\n  SELinux: setup new inode/ipc getsecid hooks\n  LSM: Introduce inode_getsecid and ipc_getsecid hooks\n"
    },
    {
      "commit": "334d094504c2fe1c44211ecb49146ae6bca8c321",
      "tree": "d3c0f68e4b9f8e3d2ccc39e7dfe5de0534a5fad9",
      "parents": [
        "d1a4be630fb068f251d64b62919f143c49ca8057",
        "d1643d24c61b725bef399cc1cf2944b4c9c23177"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 18:02:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 18:02:35 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26: (1090 commits)\n  [NET]: Fix and allocate less memory for -\u003epriv\u0027less netdevices\n  [IPV6]: Fix dangling references on error in fib6_add().\n  [NETLABEL]: Fix NULL deref in netlbl_unlabel_staticlist_gen() if ifindex not found\n  [PKT_SCHED]: Fix datalen check in tcf_simp_init().\n  [INET]: Uninline the __inet_inherit_port call.\n  [INET]: Drop the inet_inherit_port() call.\n  SCTP: Initialize partial_bytes_acked to 0, when all of the data is acked.\n  [netdrvr] forcedeth: internal simplifications; changelog removal\n  phylib: factor out get_phy_id from within get_phy_device\n  PHY: add BCM5464 support to broadcom PHY driver\n  cxgb3: Fix __must_check warning with dev_dbg.\n  tc35815: Statistics cleanup\n  natsemi: fix MMIO for PPC 44x platforms\n  [TIPC]: Cleanup of TIPC reference table code\n  [TIPC]: Optimized initialization of TIPC reference table\n  [TIPC]: Remove inlining of reference table locking routines\n  e1000: convert uint16_t style integers to u16\n  ixgb: convert uint16_t style integers to u16\n  sb1000.c: make const arrays static\n  sb1000.c: stop inlining largish static functions\n  ...\n"
    },
    {
      "commit": "076c54c5bcaed2081c0cba94a6f77c4d470236ad",
      "tree": "5e8f05cab20a49922618bb3af697a6b46e610eee",
      "parents": [
        "04305e4aff8b0533dc05f9f6f1a34d0796bd985f"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Thu Mar 06 18:09:10 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 10:00:51 2008 +1000"
      },
      "message": "Security: Introduce security\u003d boot parameter\n\nAdd the security\u003d boot parameter. This is done to avoid LSM\nregistration clashes in case of more than one bult-in module.\n\nUser can choose a security module to enable at boot. If no\nsecurity\u003d boot parameter is specified, only the first LSM\nasking for registration will be loaded. An invalid security\nmodule name will be treated as if no module has been chosen.\n\nLSM modules must check now if they are allowed to register\nby calling security_module_enable(ops) first. Modify SELinux\nand SMACK to do so.\n\nDo not let SMACK register smackfs if it was not chosen on\nboot. Smackfs assumes that smack hooks are registered and\nthe initial task security setup (swapper-\u003esecurity) is done.\n\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "04305e4aff8b0533dc05f9f6f1a34d0796bd985f",
      "tree": "9938264917b4b9e6e147b883d88fca94c6788b76",
      "parents": [
        "9d57a7f9e23dc30783d245280fc9907cf2c87837"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Apr 19 09:59:43 2008 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:59:43 2008 +1000"
      },
      "message": "Audit: Final renamings and cleanup\n\nRename the se_str and se_rule audit fields elements to\nlsm_str and lsm_rule to avoid confusion.\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "9d57a7f9e23dc30783d245280fc9907cf2c87837",
      "tree": "508b81e213f5dca1097ccf0ece8ba092b168607b",
      "parents": [
        "d7a96f3a1ae279a2129653d6cb18d722f2f00f91"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Mar 01 22:03:14 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:53:46 2008 +1000"
      },
      "message": "SELinux: use new audit hooks, remove redundant exports\n\nSetup the new Audit LSM hooks for SELinux.\nRemove the now redundant exported SELinux Audit interface.\n\nAudit: Export \u0027audit_krule\u0027 and \u0027audit_field\u0027 to the public\nsince their internals are needed by the implementation of the\nnew LSM hook \u0027audit_rule_known\u0027.\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "03d37d25e0f91b28c4b6d002be6221f1af4b19d8",
      "tree": "de56538f7b6e7623d7cee2b0fcdc8f9764957252",
      "parents": [
        "6b89a74be0fbbc6cc639d5cf7dcf8e6ee0f120a7"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Mar 01 22:00:05 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:52:36 2008 +1000"
      },
      "message": "LSM/Audit: Introduce generic Audit LSM hooks\n\nIntroduce a generic Audit interface for security modules\nby adding the following new LSM hooks:\n\naudit_rule_init(field, op, rulestr, lsmrule)\naudit_rule_known(krule)\naudit_rule_match(secid, field, op, rule, actx)\naudit_rule_free(rule)\n\nThose hooks are only available if CONFIG_AUDIT is enabled.\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nReviewed-by: Paul Moore \u003cpaul.moore@hp.com\u003e\n"
    },
    {
      "commit": "6b89a74be0fbbc6cc639d5cf7dcf8e6ee0f120a7",
      "tree": "c56574f86d518feb898e934e428dbae999236b5a",
      "parents": [
        "0ce784ca729dce8c9076a6339a15530ca13212f2"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Mar 01 21:58:32 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:52:36 2008 +1000"
      },
      "message": "SELinux: remove redundant exports\n\nRemove the following exported SELinux interfaces:\nselinux_get_inode_sid(inode, sid)\nselinux_get_ipc_sid(ipcp, sid)\nselinux_get_task_sid(tsk, sid)\nselinux_sid_to_string(sid, ctx, len)\n\nThey can be substitued with the following generic equivalents\nrespectively:\nnew LSM hook, inode_getsecid(inode, secid)\nnew LSM hook, ipc_getsecid*(ipcp, secid)\nLSM hook, task_getsecid(tsk, secid)\nLSM hook, sid_to_secctx(sid, ctx, len)\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nReviewed-by: Paul Moore \u003cpaul.moore@hp.com\u003e\n"
    },
    {
      "commit": "8a076191f373abaeb4aa5f6755d22e49db98940f",
      "tree": "1311a11332abb0828999a7347a07509a68dffb5f",
      "parents": [
        "d1a4be630fb068f251d64b62919f143c49ca8057"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Mar 01 21:51:09 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:52:32 2008 +1000"
      },
      "message": "LSM: Introduce inode_getsecid and ipc_getsecid hooks\n\nIntroduce inode_getsecid(inode, secid) and ipc_getsecid(ipcp, secid)\nLSM hooks. These hooks will be used instead of similar exported\nSELinux interfaces.\n\nLet {inode,ipc,task}_getsecid hooks set the secid to 0 by default\nif CONFIG_SECURITY is not defined or if the hook is set to\nNULL (dummy). This is done to notify the caller that no valid\nsecid exists.\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nReviewed-by: Paul Moore \u003cpaul.moore@hp.com\u003e\n"
    },
    {
      "commit": "2cca775baecbfede2fec20c99add709232311fe7",
      "tree": "b0eefe80881d263ba7976174144ae4e9cf238425",
      "parents": [
        "eddeb0e2d863e3941d8768e70cb50c6120e61fa0",
        "94795b61e84994a3b058f92d041d1fb3d869c7d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 11:25:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 11:25:31 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (137 commits)\n  [SCSI] iscsi: bidi support for iscsi_tcp\n  [SCSI] iscsi: bidi support at the generic libiscsi level\n  [SCSI] iscsi: extended cdb support\n  [SCSI] zfcp: Fix error handling for blocked unit for send FCP command\n  [SCSI] zfcp: Remove zfcp_erp_wait from slave destory handler to fix deadlock\n  [SCSI] zfcp: fix 31 bit compile warnings\n  [SCSI] bsg: no need to set BSG_F_BLOCK bit in bsg_complete_all_commands\n  [SCSI] bsg: remove minor in struct bsg_device\n  [SCSI] bsg: use better helper list functions\n  [SCSI] bsg: replace kobject_get with blk_get_queue\n  [SCSI] bsg: takes a ref to struct device in fops-\u003eopen\n  [SCSI] qla1280: remove version check\n  [SCSI] libsas: fix endianness bug in sas_ata\n  [SCSI] zfcp: fix compiler warning caused by poking inside new semaphore (linux-next)\n  [SCSI] aacraid: Do not describe check_reset parameter with its value\n  [SCSI] aacraid: Fix down_interruptible() to check the return value\n  [SCSI] sun3_scsi_vme: add MODULE_LICENSE\n  [SCSI] st: rename flush_write_buffer()\n  [SCSI] tgt: use KMEM_CACHE macro\n  [SCSI] initio: fix big endian problems for auto request sense\n  ...\n"
    },
    {
      "commit": "ef38ff9d372d4fe69e415370939a0f1fb5783af1",
      "tree": "fcf38cbbd55298606a695adaf7f2ea97f3185c19",
      "parents": [
        "fda31d7d4b5a9c663ac3ed1ba244018a88deecaf",
        "62be1f71677c53d5e51223807a06ac9052f49b0f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 10:02:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 10:02:46 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (49 commits)\n  [GFS2] fix assertion in log_refund()\n  [GFS2] fix GFP_KERNEL misuses\n  [GFS2] test for IS_ERR rather than 0\n  [GFS2] Invalidate cache at correct point\n  [GFS2] fs/gfs2/recovery.c: suppress warnings\n  [GFS2] Faster gfs2_bitfit algorithm\n  [GFS2] Streamline quota lock/check for no-quota case\n  [GFS2] Remove drop of module ref where not needed\n  [GFS2] gfs2_adjust_quota has broken unstuffing code\n  [GFS2] possible null pointer dereference fixup\n  [GFS2] Need to ensure that sector_t is 64bits for GFS2\n  [GFS2] re-support special inode\n  [GFS2] remove gfs2_dev_iops\n  [GFS2] fix file_system_type leak on gfs2meta mount\n  [GFS2] Allow bmap to allocate extents\n  [GFS2] Fix a page lock / glock deadlock\n  [GFS2] proper extern for gfs2/locking/dlm/mount.c:gdlm_ops\n  [GFS2] gfs2/ops_file.c should #include \"ops_inode.h\"\n  [GFS2] be*_add_cpu conversion\n  [GFS2] Fix bug where we called drop_bh incorrectly\n  ...\n"
    },
    {
      "commit": "188da98800893691e47eea9335a234378e32aceb",
      "tree": "57dbf491d23676e011b4946ec1867a6d55a02eef",
      "parents": [
        "07fe944e87d79f8d7e1b090913fe9f2ace78f41d",
        "273b8385e5817a4765f82257004c5ec661a6a5b2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:39:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:39:24 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: (58 commits)\n  ide: remove ide_init_default_irq() macro\n  ide: move default IDE ports setup to ide_generic host driver\n  ide: remove obsoleted \"idex\u003dnoprobe\" kernel parameter (take 2)\n  ide: remove needless hwif-\u003eirq check from ide_hwif_configure()\n  ide: init hwif-\u003e{io_ports,irq} explicitly in legacy VLB host drivers\n  ide: limit legacy VLB host drivers to alpha, x86 and mips\n  cmd640: init hwif-\u003e{io_ports,irq} explicitly\n  cmd640: cleanup setup_device_ptrs()\n  ide: add ide-4drives host driver (take 3)\n  ide: remove ppc ifdef from init_ide_data()\n  ide: remove ide_default_io_ctl() macro\n  ide: remove CONFIG_IDE_ARCH_OBSOLETE_INIT\n  ide: add CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS (take 2)\n  ppc/pmac: remove no longer needed IDE quirk\n  ppc: don\u0027t include \u003clinux/ide.h\u003e\n  ppc: remove ppc_ide_md\n  ppc/pplus: remove ppc_ide_md.ide_init_hwif hook\n  ppc/sandpoint: remove ppc_ide_md hooks\n  ppc/lopec: remove ppc_ide_md hooks\n  ppc/mpc8xx: remove ppc_ide_md hooks\n  ...\n"
    },
    {
      "commit": "07fe944e87d79f8d7e1b090913fe9f2ace78f41d",
      "tree": "b20a3576d61d4dc3d89cf47515a786b31fd997d6",
      "parents": [
        "8019aa946af5218bc4446c21e43cc19c9401ac68",
        "636bdeaa1243327501edfd2a597ed7443eb4239a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:38:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:38:55 2008 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:\n  dmaengine: ack to flags: make use of the unused bits in the \u0027ack\u0027 field\n  iop-adma: remove the workaround for missed interrupts on iop3xx\n  async_tx: kill -\u003edevice_dependency_added\n  async_tx: fix multiple dependency submission\n  fsldma: Split the MPC83xx event from MPC85xx and refine irq codes.\n  fsldma: Remove CONFIG_FSL_DMA_SELFTEST, keep fsl_dma_self_test() running always.\n"
    },
    {
      "commit": "8019aa946af5218bc4446c21e43cc19c9401ac68",
      "tree": "6681b73a560f5a4e4a4e8f97b3833a087a488439",
      "parents": [
        "73e3e6481f56b3b5b618671a8d32b19a35f84316",
        "48feb3c419508487becfb9ea3afcc54c3eac6d80"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:38:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:38:06 2008 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (79 commits)\n  ata-acpi: don\u0027t call _GTF for disabled drive\n  sata_mv add temporary 3 second init delay for SiliconImage PMs\n  sata_mv remove redundant edma init code\n  sata_mv add basic port multiplier support\n  sata_mv fix SOC flags, enable NCQ on SOC\n  sata_mv disable hotplug for now\n  sata_mv cosmetics\n  sata_mv hardreset rework\n  [libata] improve Kconfig help text for new PMP, SFF options\n  libata: make EH fail gracefully if no reset method is available\n  libata: Be a bit more slack about early devices\n  libata: cable logic\n  libata: move link onlineness check out of softreset methods\n  libata: kill dead code paths in reset path\n  pata_scc: fix build breakage\n  libata: make PMP support optional\n  libata: implement PMP helpers\n  libata: separate PMP support code from core code\n  libata: make SFF support optional\n  libata: don\u0027t use ap-\u003eioaddr in non-SFF drivers\n  ...\n"
    },
    {
      "commit": "73e3e6481f56b3b5b618671a8d32b19a35f84316",
      "tree": "44addba339ca1279a82d6d702e92e6cc2c183810",
      "parents": [
        "4adeaaf51ebcc3f629f5512b96aebb5089388bca",
        "6993fc5bbc5d63ccd55985b39c34417e430e75e9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:41 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt:\n  clocksource: make clocksource watchdog cycle through online CPUs\n  Documentation: move timer related documentation to a single place\n  clockevents: optimise tick_nohz_stop_sched_tick() a bit\n  locking: remove unused double_spin_lock()\n  hrtimers: simplify lockdep handling\n  timers: simplify lockdep handling\n  posix-timers: fix shadowed variables\n  timer_list: add annotations to workqueue.c\n  hrtimer: use nanosleep specific restart_block fields\n  hrtimer: add nanosleep specific restart_block member\n"
    },
    {
      "commit": "9732b6112343df2872518ec6701c8ef729310a05",
      "tree": "9e3dcc461845038da4730c2062eee546348ca445",
      "parents": [
        "9e9abecfc0ff3a9ad2ead954b37bbfcb863c775e",
        "1a9a3e76dde191f82f7a8a66059dcbb4a9f63ff3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:01 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb:\n  kgdb: always use icache flush for sw breakpoints\n  kgdb: fix SMP NMI kgdb_handle_exception exit race\n  kgdb: documentation fixes\n  kgdb: allow static kgdbts boot configuration\n  kgdb: add documentation\n  kgdb: Kconfig fix\n  kgdb: add kgdb internal test suite\n  kgdb: fix several kgdb regressions\n  kgdb: kgdboc pl011 I/O module\n  kgdb: fix optional arch functions and probe_kernel_*\n  kgdb: add x86 HW breakpoints\n  kgdb: print breakpoint removed on exception\n  kgdb: clocksource watchdog\n  kgdb: fix NMI hangs\n  kgdb: fix kgdboc dynamic module configuration\n  kgdb: document parameters\n  x86: kgdb support\n  consoles: polling support, kgdboc\n  kgdb: core\n  uaccess: add probe_kernel_write()\n"
    },
    {
      "commit": "d7bb545d86825e635cab33a1dd81ca0ad7b92887",
      "tree": "34da4139ef06ceab6549aea3906639c7413978c8",
      "parents": [
        "75e98b34155264d943aa53edce465e87f3ccbadf",
        "2342e51ba2b52a7f5b78227e6faa4603ed3632a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:25:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:25:29 2008 -0700"
      },
      "message": "Merge branch \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc:\n  Remove DEBUG_SEMAPHORE from Kconfig\n  Improve semaphore documentation\n  Simplify semaphore implementation\n  Add down_timeout and change ACPI to use it\n  Introduce down_killable()\n  Generic semaphore implementation\n  Add semaphore.h to kernel_lock.c\n  Fix quota.h includes\n"
    },
    {
      "commit": "75e98b34155264d943aa53edce465e87f3ccbadf",
      "tree": "08d100a14ab9f5314c393286ce8c5436ef387d75",
      "parents": [
        "30bc94566e396b432b72e2f3518e19225dc2672d",
        "0a22ab92f51478796d5f3997f4f5922409c98b10"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:20:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:20:06 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (104 commits)\n  IB/iser: Don\u0027t change itt endianness\n  IB/mlx4: Update module version and release date\n  IPoIB: Handle case when P_Key is deleted and re-added at same index\n  IB/iser: Release connection resources on RDMA_CM_EVENT_DEVICE_REMOVAL event\n  IB/mlx4: Fix incorrect comment\n  IB/mlx4: Fix race when detaching a QP from a multicast group\n  IB/ehca: Support all ibv_devinfo values in query_device() and query_port()\n  RDMA/nes: Free IRQ before killing tasklet\n  IB/mthca: Update module version and release date\n  IB/mlx4: Update QP state if query QP succeeds\n  IB/mthca: Update QP state if query QP succeeds\n  RDMA/amso1100: Add check for NULL reply_msg in c2_intr()\n  IB/mlx4: Add support for resizing CQs\n  IB/mlx4: Add support for modifying CQ moderation parameters\n  IPoIB: Support modifying IPoIB CQ event moderation\n  IB/core: Add support for modify CQ\n  IPoIB: Add basic ethtool support\n  mlx4_core: Increase max number of QPs to 128K\n  RDMA/amso1100: Add support for \"send with invalidate\" work requests\n  IB/core: Add support for \"send with invalidate\" work requests\n  ...\n"
    },
    {
      "commit": "4cba84b5d61af81f1f329f4d05170427a9819c39",
      "tree": "aa6f917cd82ff524dc27b2c628ac6d4b88b0fcf6",
      "parents": [
        "7d939fbdfee49e5c06bd27214d25f726fb87a25a",
        "ca68305bf3c76c4a7cd1c77d5423219f39164df8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:19:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:19:15 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (36 commits)\n  [S390] Remove code duplication from monreader / dcssblk.\n  [S390] kernel: show last breaking-event-address on oops\n  [S390] lowcore: Change type of lowcores softirq_pending to __u32.\n  [S390] zcrypt: Comments and kernel-doc cleanup\n  [S390] uaccess: Always access the correct address space.\n  [S390] Fix a lot of sparse warnings.\n  [S390] Convert s390 to GENERIC_CLOCKEVENTS.\n  [S390] genirq/clockevents: move irq affinity prototypes/inlines to interrupt.h\n  [S390] Convert monitor calls to function calls.\n  [S390] qdio (new feature): enhancing info-retrieval from QDIO-adapters\n  [S390] replace remaining __FUNCTION__ occurrences\n  [S390] remove redundant display of free swap space in show_mem()\n  [S390] qdio: remove outdated developerworks link.\n  [S390] Add debug_register_mode() function to debug feature API\n  [S390] crypto: use more descriptive function names for init/exit routines.\n  [S390] switch sched_clock to store-clock-extended.\n  [S390] zcrypt: add support for large random numbers\n  [S390] hw_random: allow rng_dev_read() to return hardware errors.\n  [S390] Vertical cpu management.\n  [S390] cpu topology support for s390.\n  ...\n"
    },
    {
      "commit": "7d939fbdfee49e5c06bd27214d25f726fb87a25a",
      "tree": "8366a5e7ec36b3b0162fd54ec4b434a2b840e7ba",
      "parents": [
        "18c98b65279c00c3c983a4525161207f1aa6a04b",
        "0f389ec63077521166f071e1e970aed36147fd45"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:19:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:19:00 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slub: No need for per node slab counters if !SLUB_DEBUG\n  slub: Move map/flag clearing to __free_slab\n  slub: Fixes to per cpu stat output in sysfs\n  slub: Deal with config variable dependencies\n  slub: Reduce #ifdef ZONE_DMA by moving kmalloc_caches_dma near dma logic\n  slub: Initialize per-cpu stats\n"
    },
    {
      "commit": "1e42198609d73ed1a9adcba2af275c24c2678420",
      "tree": "32fd4d9073bfc0f3909af8f9fb4bcff38951d01a",
      "parents": [
        "794eb6bf20ebf992c040ea831cd3a9c64b0c1f7a",
        "4b119e21d0c66c22e8ca03df05d9de623d0eb50f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 17 23:56:30 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 17 23:56:30 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "0e33555fffdc8490630d98070e76e5fe031bcac2",
      "tree": "74ef5a7427db1deef3994a0342767bf0b4ffafe1",
      "parents": [
        "359c2e2d2039029a8167fb00499296b228928024"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:33 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:33 2008 +0200"
      },
      "message": "ide: add CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS (take 2)\n\n* Add CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS to drivers/ide/Kconfig and use\n  it instead of defining IDE_ARCH_OBSOLETE_DEFAULTS in \u003carch/ide.h\u003e.\n\nv2:\n* Define ide_default_irq() in ide-probe.c/ns87415.c if not already defined\n  and drop defining ide_default_irq() for CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS\u003dn.\n\n  [ Thanks to Stephen Rothwell and David Miller for noticing the problem. ]\n\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "eaec3e7ded9dbc88bad393c076b65f4b7b11d30d",
      "tree": "360c145015b4afd5174676cc2b6ac7225ff0896f",
      "parents": [
        "c2b2b29361dde5f1d9169a487c3021b14cf36518"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "petkovbb@googlemail.com",
        "time": "Fri Apr 18 00:46:27 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:27 2008 +0200"
      },
      "message": "ide: use generic ATAPI packet command flags in ide-{floppy,tape}\n\nSigned-off-by: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "8303b46e18b58b2d0257e6842e60b50ac880a6d1",
      "tree": "865a2ddf450d0a55b45790659b82a390af9f2b23",
      "parents": [
        "346331f82823682fb5c2df6e827db25d95cc2e92"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "petkovbb@googlemail.com",
        "time": "Fri Apr 18 00:46:26 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:26 2008 +0200"
      },
      "message": "ide: add generic packet command representation ide_atapi_pc\n\nThis new struct unifies ide{-floppy,-tape,-scsi}\u0027s view of a packet command. For now,\nit represents the common denominator between the three drivers while adding driver-\nspecific members at the end of the struct which will be merged/simplified into the\ngeneric ATAPI handling code in later steps, or removed completely.\n\nBart:\n- move struct ide_atapi_pc outside of #ifdef/#endif CONFIG_IDE_PROC_FS\n\nSigned-off-by: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "23579a2a170265aacf78069f4817a41c1d6e9323",
      "tree": "a20db3f337b64b13e482a2cb2f41e03b13d52e66",
      "parents": [
        "7616c0ad2087c7d244b8985390c63059a6223c45"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:26 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:26 2008 +0200"
      },
      "message": "ide: remove IDE_*_REG macros\n\n* Add IDE_{ALTSTATUS,IREASON,BCOUNTL,BCOUNTH}_OFFSET defines.\n\n* Remove IDE_*_REG macros - this results in more readable\n  and slightly smaller code.\n\nThere should be no functional changes caused by this patch.\n\nCc: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "7616c0ad2087c7d244b8985390c63059a6223c45",
      "tree": "c65d7e5dce8b6ec314b56ad2903c8760e2659753",
      "parents": [
        "3ad6776cca21f2456b7288f44f224b344ac3c4d0"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:26 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:26 2008 +0200"
      },
      "message": "ide: add ide_atapi_{discard_data,write_zeros} inline helpers\n\nAdd ide_atapi_{discard_data,write_zeros} inline helpers to \u003clinux/ide.h\u003e\nand use them instead of home-brewn helpers in ide-{floppy,tape,scsi}.\n\nThere should be no functional changes caused by this patch.\n\nCc: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "e6bfa38a4803646e212ef542b957344e790c3733",
      "tree": "677e9eccad910361e2b38eb2e24765894a89b8ee",
      "parents": [
        "05734266c07ac588d1773bd9ae51a0ff20456443"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:25 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:25 2008 +0200"
      },
      "message": "ide: remove ide_init_hwif_ports()\n\nide_init_hwif_ports() is only used by init_ide_data() now, inline it there.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "2304dc6481f9d4fb4f0cb5b72497dfe1694cef9c",
      "tree": "c67ee056013a376d83bf9c3e7bd934c69a37d78f",
      "parents": [
        "93de00fd1c70e1a23a73a865e0f9abfe74a7a719"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:24 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:24 2008 +0200"
      },
      "message": "ide: remove -\u003ehold field from ide_hwif_t (take 2)\n\n-\u003ehold is write-only now, remove it.\n\nv2:\n* v1 missed bast-ide, palm_bk3710, ide-cs and delkin_cb host drivers.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "93de00fd1c70e1a23a73a865e0f9abfe74a7a719",
      "tree": "44a0112d29bc82bb619fe4b0437a64fd92620968",
      "parents": [
        "9a0e77f28b50128df0c9e26ae489e44e29a7270a"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:24 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:24 2008 +0200"
      },
      "message": "ide: remove broken/dangerous HDIO_[UNREGISTER,SCAN]_HWIF ioctls (take 3)\n\nhdparm explicitely marks HDIO_[UNREGISTER,SCAN]_HWIF ioctls as DANGEROUS\nand given the number of bugs we can assume that there are no real users:\n\n* DMA has no chance of working because DMA resources are released by\n  ide_unregister() and they are never allocated again.\n\n* Since ide_init_hwif_ports() is used for -\u003eio_ports[] setup the ioctls\n  don\u0027t work for almost all hosts with \"non-standard\" (\u003d\u003d non ISA-like)\n  layout of IDE taskfile registers (there is a lot of such host drivers).\n\n* ide_port_init_devices() is not called when probing IDE devices so:\n  - drive-\u003eautotune is never set and IDE host/devices are not programmed\n    for the correct PIO/DMA transfer modes (\u003d\u003e possible data corruption)\n  - host specific I/O 32-bit and IRQ unmasking settings are not applied\n    (\u003d\u003e possible data corruption)\n  - host specific -\u003eport_init_devs method is not called (\u003d\u003e no luck with\n    ht6560b, qd65xx and opti621 host drivers)\n\n* -\u003erw_disk method is not preserved (\u003d\u003e no HPT3xxN chipsets support).\n\n* -\u003eserialized flag is not preserved (\u003d\u003e possible data corruption when\n   using icside, aec62xx (ATP850UF chipset), cmd640, cs5530, hpt366\n   (HPT3xxN chipsets), rz1000, sc1200, dtc2278 and ht6560b host drivers).\n\n* -\u003eack_intr method is not preserved (\u003d\u003e needed by ide-cris, buddha,\n  gayle and macide host drivers).\n\n* -\u003esata_scr[] and sata_misc[] is cleared by ide_unregister() and it\n  isn\u0027t initialized again (SiI3112 support needs them).\n\n* To issue an ioctl() there need to be at least one IDE device present\n  in the system.\n\n* -\u003ecable_detect method is not preserved + it is not called when probing\n  IDE devices so cable detection is broken (however since DMA support is\n  also broken it doesn\u0027t really matter ;-).\n\n* Some objects which may have already been freed in ide_unregister()\n  are restored by ide_hwif_restore() (i.e. -\u003ehwgroup).\n\n* ide_register_hw() may unregister unrelated IDE ports if free ide_hwifs[]\n  slot cannot be found.\n\n* When IDE host drivers are modular unregistered port may be re-used by\n  different host driver that owned it first causing subtle bugs.\n\nSince we now have a proper warm-plug support remove these ioctls,\nthen remove no longer needed:\n- ide_register_hw() and ide_hwif_restore() functions\n- \u0027init_default\u0027 and \u0027restore\u0027 arguments of ide_unregister()\n- zeroeing of hwif-\u003e{dma,extra}_* fields in ide_unregister()\n\nAs an added bonus IDE core code size shrinks by ~3kB (x86-32).\n\nv2:\n* fix ide_unregister() arguments in cleanup_module() (Andrew Morton).\n\nv3:\n* fix ide_unregister() arguments in palm_bk3710.c.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "9a0e77f28b50128df0c9e26ae489e44e29a7270a",
      "tree": "703170ddefc9435c5169da1525b364465abdeefc",
      "parents": [
        "80aa31cb460d12c1e02327b43eceb3eebc6e7090"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:24 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:24 2008 +0200"
      },
      "message": "ide: remove obsoleted \"idex\u003dbase[,ctl[,irq]]\" kernel parameters (take 2)\n\n* Remove obsoleted \"idex\u003dbase[,ctl[,irq]]\" kernel parameters\n  and update Documentation/ide/ide.txt.\n\n* Remove no longer needed ide_forced chipset type.\n\nv2:\n* is_chipset_set[] -\u003e is_chipset_set in ide.c.\n\n* Documentation/ide/ide.txt fix.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "f74c91413ec6140ee0553180c5f56fdd27c22a2e",
      "tree": "75ba3f7000ba290dc19b1523b12ab95dc5c7b1ea",
      "parents": [
        "50672e5d7486c9ab312432cbe180ac071f1de8e0"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:23 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:23 2008 +0200"
      },
      "message": "ide: add warm-plug support for IDE devices (take 2)\n\n* Add \u0027struct class ide_port_class\u0027 (\u0027ide_port\u0027 class) and a \u0027struct\n  device *portdev\u0027 (\u0027ide_port\u0027 class device) in ide_hwif_t.\n\n* Register \u0027ide_port\u0027 class in ide_init() and unregister it in\n  cleanup_module().\n\n* Create -\u003eportdev in ide_register_port () and unregister it in\n  ide_unregister().\n\n* Add \"delete_devices\" class device attribute for unregistering IDE devices\n  on a port and \"scan\" one for probing+registering IDE devices on a port.\n\n* Add ide_sysfs_register_port() helper for registering \"delete_devices\"\n  and \"scan\" attributes with -\u003eportdev.  Call it in ide_device_add_all().\n\n* Document IDE warm-plug support in Documentation/ide/warm-plug-howto.txt.\n\nv2:\n* Convert patch from using \u0027struct class_device\u0027 to use \u0027struct device\u0027.\n  (thanks to Kay Sievers for doing it)\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "50672e5d7486c9ab312432cbe180ac071f1de8e0",
      "tree": "23e7c391aaba0b3ddde1495bbfcb123548a50f2c",
      "parents": [
        "2dde7861afa23cd59db83515cb0b810b92b220aa"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:23 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:23 2008 +0200"
      },
      "message": "ide: remove dead/obsolete -\u003ebusproc method\n\n-\u003ebusproc method is used by HDIO_SET_BUSSTATE ioctl but it has no chance\nof working as intended (in 2.4.x days) because to issue an ioctl there\nis a device node needed and:\n\n- for BUSSTATE_TRISTATE+OFF it is too late (devices are already gone)\n\n- for BUSSTATE_TRISTATE+ON it is too early (devices are not registered yet)\n\nJust remove -\u003ebusproc method for now (it was only implemented by hpt366,\nsiimage and tc86c001 host drivers).\n\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "2dde7861afa23cd59db83515cb0b810b92b220aa",
      "tree": "e2cfda1c75d2157fde3801d29e2bcbebf1d5a129",
      "parents": [
        "26042d058ba21305aeb8ac92e4b1483dbec642ac"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:23 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:23 2008 +0200"
      },
      "message": "ide: rework PowerMac media-bay support (take 2)\n\nRework PowerMac media-bay support in such way that instead of\nun/registering the IDE interface we un/register IDE devices:\n\n* Add ide_port_scan() helper for probing+registerering devices on a port.\n\n* Rename ide_port_unregister_devices() to __ide_port_unregister_devices().\n\n* Add ide_port_unregister_devices() helper for unregistering devices on a port.\n\n* Add \u0027ide_hwif_t *cd_port\u0027 to \u0027struct media_bay_info\u0027, pass \u0027hwif\u0027 instead\n  of hwif-\u003eindex to media_bay_set_ide_infos() and use it to setup \u0027cd_port\u0027.\n\n* Use ide_port_unregister_devices() instead of ide_unregister()\n  and ide_port_scan() instead of ide_register_hw() in media_bay_step().\n\n* Unexport ide_register_hw() and make it static.\n\nv2:\n* Fix build by adding \u003clinux/ide.h\u003e include to \u003casm-powerpc/mediabay.h\u003e.\n  (Reported by Michael/Kamalesh/Andrew).\n\nCc: Kamalesh Babulal \u003ckamalesh@linux.vnet.ibm.com\u003e\nCc: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "5b0c4b30a625927340a3e7f565aa4de8b60489cc",
      "tree": "eb1dabd30fa6dd6c2ce45bbe59da9cf4cc6adc57",
      "parents": [
        "c7f6f21aaeb826a9b04b5897a92f29226995170f"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:22 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:22 2008 +0200"
      },
      "message": "ide: remove IDE devices from /proc/ide/ before unregistering them\n\nIDE devices need to be removed from /proc/ide/ _before_ being unregistered:\n\n* Drop \u0027ide_hwif_t *hwif\u0027 argument from destroy_proc_ide_device()\n  and use drive-\u003ehwif instead.\n\n* Rename destroy_proc_ide_device() to ide_proc_unregister_device().\n\n* Call ide_proc_unregister_device() in drive_release_dev().\n\n* Remove no longer needed destroy_proc_ide_drives().\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "4f0eee4d877e3b617b6a22d209d52b3dfca2b2a7",
      "tree": "87603afcdc56a97b0a32e7d1fab2ea588fc36da4",
      "parents": [
        "2625cd52b6eafb63b72f2e53f933f41ba9e34dff"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:21 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:21 2008 +0200"
      },
      "message": "ide: use ide_find_port() instead of ide_deprecated_find_port()\n\n* Use ide_find_port() instead of ide_deprecated_find_port() in bast-ide/\n  palm_bk3710/ide-cs/delkin_cb host drivers and in ide_register_hw().\n\n* Remove no longer needed ide_deprecated_find_port().\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "a594eeb1a1d320981fccc29584b6f21fcebd765f",
      "tree": "55f76c9a9b99c4dd98a5ff6034d7150de7057085",
      "parents": [
        "4b119e21d0c66c22e8ca03df05d9de623d0eb50f"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 18 00:46:20 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:20 2008 +0200"
      },
      "message": "IDE: remove ide\u003dreverse IDE core\n\nThis option is obsolete and can be removed safely.\n\nIt allows us to remove the pci_get_device_reverse() function from the\nPCI core.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "636bdeaa1243327501edfd2a597ed7443eb4239a",
      "tree": "59b894f124e3664ea4a537d7c07c527abdb9c8da",
      "parents": [
        "c4fe15541d0ef5cc8cc1ce43057663851f8fc387"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Apr 17 20:17:26 2008 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Apr 17 13:25:54 2008 -0700"
      },
      "message": "dmaengine: ack to flags: make use of the unused bits in the \u0027ack\u0027 field\n\n\u0027ack\u0027 is currently a simple integer that flags whether or not a client is done\ntouching fields in the given descriptor.  It is effectively just a single bit\nof information.  Converting this to a flags parameter allows the other bits to\nbe put to use to control completion actions, like dma-unmap, and capture\nresults, like xor-zero-sum \u003d\u003d 0.\n\nChanges are one of:\n1/ convert all open-coded -\u003eack manipulations to use async_tx_ack\n   and async_tx_test_ack.\n2/ set the ack bit at prep time where possible\n3/ make drivers store the flags at prep time\n4/ add flags to the device_prep_dma_interrupt prototype\n\nAcked-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "ce4d65a5db77e1568c82d5151a746f627c4f6ed5",
      "tree": "1f3936d2984fc03125bde025796465f9cada9075",
      "parents": [
        "19242d7233df7d658405d4b7ee1758d21414cfaa"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Apr 17 20:17:26 2008 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Apr 17 13:25:54 2008 -0700"
      },
      "message": "async_tx: kill -\u003edevice_dependency_added\n\nDMA drivers no longer need to be notified of dependency submission\nevents as async_tx_run_dependencies and async_tx_channel_switch will\nhandle the scheduling and execution of dependent operations.\n\n[sfr@canb.auug.org.au: extend this for fsldma]\nAcked-by: Shannon Nelson \u003cshannon.nelson@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "19242d7233df7d658405d4b7ee1758d21414cfaa",
      "tree": "4bffa2700c30fdb454dfa150115a0607c6cf3d2a",
      "parents": [
        "1c62979ed29a8e2bf9fbe1db101c81a0089676f8"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Apr 17 20:17:25 2008 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Apr 17 13:25:05 2008 -0700"
      },
      "message": "async_tx: fix multiple dependency submission\n\nShrink struct dma_async_tx_descriptor and introduce\nasync_tx_channel_switch to properly inject a channel switch interrupt in\nthe descriptor stream.  This simplifies the locking model as drivers no\nlonger need to handle dma_async_tx_descriptor.lock.\n\nAcked-by: Shannon Nelson \u003cshannon.nelson@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "cac1f3c8a80f3fc0b4489d1d3ba29214677ffab2",
      "tree": "a4bd716695f61d11f588f5145c879cefa42d6900",
      "parents": [
        "b1394f961a90a7195ea177ee56d54fe5c37181ca"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Tue Apr 15 12:49:21 2008 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:31:33 2008 -0400"
      },
      "message": "phylib: factor out get_phy_id from within get_phy_device\n\nWe were already doing what amounts to a get_phy_id from within\nget_phy_device, and rather than duplicate this for the TBIPA\nprobing, we might as well just factor it out and make it available\ninstead.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nAcked-by: Andy Fleming \u003cafleming@freescale.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "e3e2aaf7dc0d82a055e084cfd48b9257c0c66b68",
      "tree": "331f93476f8cabf598a90f6e4eedbd1acda7d388",
      "parents": [
        "4a1b5502d426df09b9ba1cbcc74fd09702a74cd8"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Mar 20 13:43:45 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:42 2008 +0200"
      },
      "message": "kgdb: add documentation\n\nAdd in the kgdb documentation for kgdb.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7c3078b637882303b1dcf6a16229d0e35f6b60a5",
      "tree": "4b1456f81627056eff8750e42481c0b00ac84cf0",
      "parents": [
        "d359752407f8916c29ad53a5c30ac73e338f2797"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Feb 15 14:55:54 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:38 2008 +0200"
      },
      "message": "kgdb: clocksource watchdog\n\nIn order to not trip the clocksource watchdog, kgdb must touch the\nclocksource watchdog on the return to normal system run state.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f2d937f3bf00665ccf048b3b6616ef95859b0945",
      "tree": "6136ded0706be0d39a09a0a912e8f79a4ab63322",
      "parents": [
        "dc7d552705215ac50a0617fcf51bb9c736255b8e"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Apr 17 20:05:37 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:37 2008 +0200"
      },
      "message": "consoles: polling support, kgdboc\n\npolled console handling support, to access a console in an irq-less\nway while in debug or irq context.\n\nabsolutely zero impact as long as CONFIG_CONSOLE_POLL is disabled.\n(which is the default)\n\n[ jan.kiszka@siemens.com: lots of cleanups ]\n[ mingo@elte.hu: redesign, splitups, cleanups. ]\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@web.de\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "dc7d552705215ac50a0617fcf51bb9c736255b8e",
      "tree": "3ca376bdf4e6996edd9e2dabd569a791f050dae8",
      "parents": [
        "c33fa9f5609e918824446ef9a75319d4a802f1f4"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Apr 17 20:05:37 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:37 2008 +0200"
      },
      "message": "kgdb: core\n\nkgdb core code. Handles the protocol and the arch details.\n\n[ mingo@elte.hu: heavily modified, simplified and cleaned up. ]\n[ xemul@openvz.org: use find_task_by_pid_ns ]\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@web.de\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c33fa9f5609e918824446ef9a75319d4a802f1f4",
      "tree": "ab711865ba14d4e3d21c2e480e8b113fc73e08a2",
      "parents": [
        "4b119e21d0c66c22e8ca03df05d9de623d0eb50f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:36 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:36 2008 +0200"
      },
      "message": "uaccess: add probe_kernel_write()\n\nadd probe_kernel_read() and probe_kernel_write().\n\nUninlined and restricted to kernel range memory only, as suggested\nby Linus.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "714493cd5468f42ca3c4f730a9c17c203abd5059",
      "tree": "9d087ad3b74cb1bd6fbd9be486fc2b361c6407dd",
      "parents": [
        "b17170b2fac96705db3188f093f89e8e838418e4"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Apr 11 15:23:52 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:43:01 2008 -0400"
      },
      "message": "Improve semaphore documentation\n\nMove documentation from semaphore.h to semaphore.c as requested by\nAndrew Morton.  Also reformat to kernel-doc style and add some more\nnotes about the implementation.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "b17170b2fac96705db3188f093f89e8e838418e4",
      "tree": "3264d8a297cff20338b606559274c36fbf663f04",
      "parents": [
        "f1241c87a16c4fe9f4f51d6ed3589f031c505e8d"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Mar 14 14:35:22 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:42:54 2008 -0400"
      },
      "message": "Simplify semaphore implementation\n\nBy removing the negative values of \u0027count\u0027 and relying on the wait_list to\nindicate whether we have any waiters, we can simplify the implementation\nby removing the protection against an unlikely race condition.  Thanks to\nDavid Howells for his suggestions.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "f1241c87a16c4fe9f4f51d6ed3589f031c505e8d",
      "tree": "2e0ee0f2b864c89eda9067bda0d8a98596e022e7",
      "parents": [
        "f06d96865861c3dd01520f47e2e61c899db1631f"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Mar 14 13:43:13 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:42:46 2008 -0400"
      },
      "message": "Add down_timeout and change ACPI to use it\n\nACPI currently emulates a timeout for semaphores with calls to\ndown_trylock and sleep.  This produces horrible behaviour in terms of\nfairness and excessive wakeups.  Now that we have a unified semaphore\nimplementation, adding a real down_trylock is almost trivial.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "f06d96865861c3dd01520f47e2e61c899db1631f",
      "tree": "d2fbd08af06a96b10192f7b27dd3ea2df1bb93d8",
      "parents": [
        "64ac24e738823161693bf791f87adc802cf529ff"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Mar 14 13:19:33 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:42:40 2008 -0400"
      },
      "message": "Introduce down_killable()\n\ndown_killable() is the functional counterpart of mutex_lock_killable.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "64ac24e738823161693bf791f87adc802cf529ff",
      "tree": "19c0b0cf314d4394ca580c05b86cdf874ce0a167",
      "parents": [
        "e48b3deee475134585eed03e7afebe4bf9e0dba9"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Mar 07 21:55:58 2008 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:42:34 2008 -0400"
      },
      "message": "Generic semaphore implementation\n\nSemaphores are no longer performance-critical, so a generic C\nimplementation is better for maintainability, debuggability and\nextensibility.  Thanks to Peter Zijlstra for fixing the lockdep\nwarning.  Thanks to Harvey Harrison for pointing out that the\nunlikely() was unnecessary.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8b91de2e58318d1168bc13d164478c1a7217a63a",
      "tree": "e5f7a9714c6061d54a7a321b7113cd4db7e2ce59",
      "parents": [
        "4b119e21d0c66c22e8ca03df05d9de623d0eb50f"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Tue Feb 26 09:53:20 2008 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:42:14 2008 -0400"
      },
      "message": "Fix quota.h includes\n\nquota.h currently relies on asm/semaphore.h (through some chain; it\ndoesn\u0027t actually include semaphore.h itself) to include wait.h.  As\nwell as being bad practice to rely on an implicit include, subsequent\npatches will break this.  While I\u0027m in this file, add atomic.h and\nlist.h, and sort the list of includes.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "3f3eafc921e2378954c28cfd0eb10910449f4c11",
      "tree": "0e4c9b1527f0342991fad629f0a4b4d0d0aff756",
      "parents": [
        "8e60e05fdc7344415fa69a3883b11f65db967b47"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Apr 04 20:54:10 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:31 2008 +0200"
      },
      "message": "locking: remove unused double_spin_lock()\n\ndouble_spin_lock() has no callers, and it can\u0027t be used without additional\nlockdep annotations, remove it.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8e60e05fdc7344415fa69a3883b11f65db967b47",
      "tree": "a0b13c31670221906e8d48cb7bf47dc8f8043918",
      "parents": [
        "0d180406f2914aea3a78ddb880e2fe9ac78a9372"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Apr 04 20:54:10 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:31 2008 +0200"
      },
      "message": "hrtimers: simplify lockdep handling\n\nIn order to avoid the false positive from lockdep, each per-cpu base-\u003elock has\nthe separate lock class and migrate_hrtimers() uses double_spin_lock().\n\nThis is overcomplicated: except for migrate_hrtimers() we never take 2 locks\nat once, and migrate_hrtimers() can use spin_lock_nested().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a332d86d3c262cddd3de0bfa90e1910de60b4f95",
      "tree": "cb55bc594c3a00a4aa87ed3536463333b72783cb",
      "parents": [
        "4b119e21d0c66c22e8ca03df05d9de623d0eb50f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Feb 10 09:04:12 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:30 2008 +0200"
      },
      "message": "hrtimer: add nanosleep specific restart_block member\n\nThe back and forth typecasting of restart_block-\u003eargs is horrible. We\nadded a separate union member for futex already. Do the same for\nnanosleep.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d7b906897e9caae452947e33674df0a2d6f7e10f",
      "tree": "5df31094a1b24a46369bda89cdf54d5403b1caa9",
      "parents": [
        "43ca5c3a1cefdaa09231d64485b8f676118bf1e0"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+lkml@arm.linux.org.uk",
        "time": "Thu Apr 17 07:46:24 2008 +0200"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Apr 17 07:47:05 2008 +0200"
      },
      "message": "[S390] genirq/clockevents: move irq affinity prototypes/inlines to interrupt.h\n\n\u003e Generic code is not supposed to include irq.h. Replace this include\n\u003e by linux/hardirq.h instead and add/replace an include of linux/irq.h\n\u003e in asm header files where necessary.\n\u003e This change should only matter for architectures that make use of\n\u003e GENERIC_CLOCKEVENTS.\n\u003e Architectures in question are mips, x86, arm, sh, powerpc, uml and sparc64.\n\u003e\n\u003e I did some cross compile tests for mips, x86_64, arm, powerpc and sparc64.\n\u003e This patch fixes also build breakages caused by the include replacement in\n\u003e tick-common.h.\n\nI generally dislike adding optional linux/* includes in asm/* includes -\nI\u0027m nervous about this causing include loops.\n\nHowever, there\u0027s a separate point to be discussed here.\n\nThat is, what interfaces are expected of every architecture in the kernel.\nIf generic code wants to be able to set the affinity of interrupts, then\nthat needs to become part of the interfaces listed in linux/interrupt.h\nrather than linux/irq.h.\n\nSo what I suggest is this approach instead (against Linus\u0027 tree of a\ncouple of days ago) - we move irq_set_affinity() and irq_can_set_affinity()\nto linux/interrupt.h, change the linux/irq.h includes to linux/interrupt.h\nand include asm/irq_regs.h where needed (asm/irq_regs.h is supposed to be\nrarely used include since not much touches the stacked parent context\nregisters.)\n\nBuild tested on ARM PXA family kernels and ARM\u0027s Realview platform\nkernels which both use genirq.\n\n[ tglx@linutronix.de: add GENERIC_HARDIRQ dependencies ]\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "bbf8eed1a0f8949f7385146624f736f829992a70",
      "tree": "5cf6a5c76ca4c038d3ca0f53abc5f2976872696b",
      "parents": [
        "3fdcb97f0b8d8a29117dc36acd0b15965d2a2160"
      ],
      "author": {
        "name": "Vladimir Sokolovsky",
        "email": "vlad@dev.mellanox.co.il",
        "time": "Wed Apr 16 21:09:33 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 16 21:09:33 2008 -0700"
      },
      "message": "IB/mlx4: Add support for resizing CQs\n\nSigned-off-by: Vladimir Sokolovsky \u003cvlad@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    }
  ],
  "next": "3fdcb97f0b8d8a29117dc36acd0b15965d2a2160"
}
