)]}'
{
  "commit": "1ce03373a7f4b5fa8ca5be02ff35229800a6e12b",
  "tree": "918fd844d371ec0fd9d19ac16a7798e361cb5583",
  "parents": [
    "c4fa0bbf384496ae4acc0a150719d9d8fa8d11b3"
  ],
  "author": {
    "name": "Eric W. Biederman",
    "email": "ebiederm@xmission.com",
    "time": "Wed Oct 04 02:16:41 2006 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Wed Oct 04 07:55:28 2006 -0700"
  },
  "message": "[PATCH] genirq: msi: make the msi code irq based and not vector based\n\nThe msi currently allocates irqs backwards.  First it allocates a platform\ndependent routing value for an interrupt the ``vector\u0027\u0027 and then it figures\nout from the vector which irq you are on.\n\nFor ia64 this is fine.  For x86 and x86_64 this is complete nonsense and makes\nan enourmous mess of the irq handling code and prevents some pretty\nsignificant cleanups in the code for handling large numbers of irqs.\n\nThis patch refactors msi.c to work in terms of irqs and create_irq/destroy_irq\nfor dynamically managing irqs.\n\nHopefully this is finally a version of msi.c that is useful on more than just\nx86 derivatives.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a32e75a4417e8c4a3be948dea95d40e3a7d1eab8",
      "old_mode": 33188,
      "old_path": "drivers/pci/msi.c",
      "new_id": "da2c6c2b6b11cff6ed117ec11dbb1a67bcca3c1d",
      "new_mode": 33188,
      "new_path": "drivers/pci/msi.c"
    },
    {
      "type": "modify",
      "old_id": "6793241f3884397d1d574f847f938dd4e494be76",
      "old_mode": 33188,
      "old_path": "drivers/pci/msi.h",
      "new_id": "435d05aae4ba526458562b012c41f860004f0cec",
      "new_mode": 33188,
      "new_path": "drivers/pci/msi.h"
    }
  ]
}
