)]}'
{
  "commit": "3af9a77af9e2b72366363864bfcd3d51465ff98a",
  "tree": "f6a311a56353cf81d34d64cf1a3f86aa6f659246",
  "parents": [
    "3495de733633d24ee97852080b737b436c110d6e"
  ],
  "author": {
    "name": "Tejun Heo",
    "email": "htejun@gmail.com",
    "time": "Sun Sep 23 13:19:54 2007 +0900"
  },
  "committer": {
    "name": "Jeff Garzik",
    "email": "jeff@garzik.org",
    "time": "Fri Oct 12 14:55:44 2007 -0400"
  },
  "message": "libata-pmp: implement Port Multiplier support\n\nImplement Port Multiplier support.  To support PMP, a LLDD has to\nsupply ops-\u003epmp_read() and pmp_write().  If non-null, -\u003epmp_attach and\n-\u003epmp_detach are called on PMP attach and detach, respectively.\n\n-\u003epmp_read/write() can be called while the port is frozen, so they\nmust be implemented by polling.  This patch supplies several helpers\nto ease -\u003epmp_read/write() implementation.\n\nAlso, irq_handler and error_handler must be PMP aware.  Most of PMP\naware EH can be done by calling ata_pmp_do_eh() with appropriate\nmethods.  PMP EH uses separate set of reset methods and this patch\nimplements standard prereset, hardreset and postreset methods.\n\nThis patch only implements PMP support.  The next patch will integrate\nPMP into the reset of libata and thus enable PMP support.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "56bf13cbd19863a6903d35d96975f53097b094a8",
      "old_mode": 33188,
      "old_path": "drivers/ata/Makefile",
      "new_id": "7e937519a9301b82e28c12df749915a83f20f75b",
      "new_mode": 33188,
      "new_path": "drivers/ata/Makefile"
    },
    {
      "type": "modify",
      "old_id": "eb9709864a21abd009c23fa81fc52ed5bccb0618",
      "old_mode": 33188,
      "old_path": "drivers/ata/libata-core.c",
      "new_id": "9e7f55b710441fd57359e68cef2ac15ae81fae56",
      "new_mode": 33188,
      "new_path": "drivers/ata/libata-core.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "671d171055a3d3bacdf3c4ea1bd3fc0dd5941f04",
      "new_mode": 33188,
      "new_path": "drivers/ata/libata-pmp.c"
    },
    {
      "type": "modify",
      "old_id": "ebe22982e80ccf54b383d24523a4d7a4fb7bf1e9",
      "old_mode": 33188,
      "old_path": "drivers/ata/libata.h",
      "new_id": "a9b9c9e1e10502f1e3654bb04ea6425db5e49896",
      "new_mode": 33188,
      "new_path": "drivers/ata/libata.h"
    },
    {
      "type": "modify",
      "old_id": "f9ed198e4fcda383b380c002bf721aee2c059667",
      "old_mode": 33188,
      "old_path": "include/linux/libata.h",
      "new_id": "3cfdb5f676212d1686d3c2f2e4e7475c648b8312",
      "new_mode": 33188,
      "new_path": "include/linux/libata.h"
    }
  ]
}
