)]}'
{
  "log": [
    {
      "commit": "fe12bc2c996d3e492b2920e32ac79f7bbae3e15d",
      "tree": "05af87563123d909d04c328aead3fe24599633d1",
      "parents": [
        "fe0514348452f5b0ad7e842b0d71b8322b1297de"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 18 12:48:00 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 18 14:59:08 2011 +0200"
      },
      "message": "genirq: Uninline and sanity check generic_handle_irq()\n\ngeneric_handle_irq() is missing a NULL pointer check for the result of\nirq_to_desc. This was a not a big problem, but we want to expose it to\ndrivers, so we better have sanity checks in place. Add a return value\nas well, which indicates that the irq number was valid and the handler\nwas invoked.\n\nBased on the pure code move from Jonathan Cameron.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\n"
    },
    {
      "commit": "770767787c23040dc152e7ae230597ff55b39470",
      "tree": "3555dfc9ed30bb959c4a09dcdfc05567a53953ab",
      "parents": [
        "ee430599bf63c13ee521a352f562a4281cba5e61"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sun Apr 10 11:01:52 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Apr 23 15:56:24 2011 +0200"
      },
      "message": "genirq: irq_desc: Document preflow_handler and affinity_hint\n\n[ tglx: Filled in the FIXME place holders ]\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nLink: http://lkml.kernel.org/r/%3C1302426113-13808-2-git-send-email-geert%40linux-m68k.org%3E\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0911f124bf55357803d53197cc1ae5479f5e37e2",
      "tree": "1c12a540ebc2527c14872183a51c2ddf2c5c3ae9",
      "parents": [
        "f0e615c3cb72b42191b558c130409335812621d8"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sun Apr 10 11:01:51 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Apr 23 15:56:23 2011 +0200"
      },
      "message": "genirq: Forgotten updates/deletions after removal of compat code\n\ncommit 0c6f8a8b917ad361319c8ace3e9f28e69bfdb4c1 (\"genirq: Remove compat code\")\nremoved the compat code, but forgot to update some references in comments and\ndelete some of its documentation.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nLink: http://lkml.kernel.org/r/%3C1302426113-13808-1-git-send-email-geert%40linux-m68k.org%3E\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0c6f8a8b917ad361319c8ace3e9f28e69bfdb4c1",
      "tree": "b4b0cb4b619368bc93ff883f4b667e05a185549b",
      "parents": [
        "dced35aeb0367dda2636ee9ee914bda14510dcc9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 13:32:20 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 14:48:19 2011 +0200"
      },
      "message": "genirq: Remove compat code\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a2e8461a2ce5e8140b7374eb68af0d09e36e07ff",
      "tree": "b4905feaba6dc8f7162fd3846b94d72e0f736d48",
      "parents": [
        "d3e17deb1790ee2123e9d11420be6411d1768b47"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 23 13:10:31 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 23 20:22:06 2011 +0100"
      },
      "message": "genirq: Provide locked setter for chip, handler, name\n\nSome irq_set_type() callbacks need to change the chip and the handler\nwhen the trigger mode changes. We have already a (misnomed) setter\nfunction for the handler which can be called from irq_set_type().\n\nProvide one which allows to set chip and name as well. Put the\nmisnomed function under the COMPAT switch and provide a replacement.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d3e17deb1790ee2123e9d11420be6411d1768b47",
      "tree": "ecbfd39ef20da51fc7d5bd8a8b590f45823818f1",
      "parents": [
        "3b9038912828384e38d82409c281124631c8533b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 22 17:08:15 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 23 20:22:06 2011 +0100"
      },
      "message": "genirq: Provide a lockdep helper\n\nSome irq chips need to call genirq functions for nested chips from\ntheir callbacks. That upsets lockdep. So they need to set a different\nlock class for those nested chips. Provide a helper function to avoid\nopen access to irq_desc.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3b9038912828384e38d82409c281124631c8533b",
      "tree": "68e41aeda588e7363ad252d108b5fce39a587ec6",
      "parents": [
        "6447f55da90b77faec1697d499ed7986bb4f6de6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 23 00:24:11 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 23 20:22:06 2011 +0100"
      },
      "message": "genirq; Remove the last leftovers of the old sparse irq code\n\nAll users converted. Get rid of it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d9936bb3952a08d701f7b03f8f62d158f94d8085",
      "tree": "6d6e5f45fd36340a4027d8e866a8f7ec9eaac881",
      "parents": [
        "c68fd4f3ca90de7d18c567e70b2c164078aefadf"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 11 14:15:35 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 11 14:15:35 2011 +0100"
      },
      "message": "genirq: Add desc-\u003eirq_data accessor\n\nWe have accessors for all fields in irq_data based on irq_desc, but\nnot for irq_data itself.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b5faba21a6805c33b40e258d36f57997ee1de131",
      "tree": "c84ef3357ecd6e1b1cfda623136529db0e5fab6f",
      "parents": [
        "1204e95689f9fbd245a4ce5c1b0cd0a9b77f8d25"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 23 23:52:13 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 25 20:24:21 2011 +0100"
      },
      "message": "genirq: Prepare the handling of shared oneshot interrupts\n\nFor level type interrupts we need to track how many threads are on\nflight to avoid useless interrupt storms when not all thread handlers\nhave finished yet. Keep track of the woken threads and only unmask\nwhen there are no more threads in flight.\n\nYes, I\u0027m lazy and using a bitfield. But not only because I\u0027m lazy, the\nmain reason is that it\u0027s way simpler than using a refcount. A refcount\nbased solution would need to keep track of various things like\ncrashing the irq thread, spurious interrupts coming in,\ndisables/enables, free_irq() and some more. The bitfield keeps the\ntracking simple and makes things just work. It\u0027s also nicely confined\nto the thread code pathes and does not require additional checks all\nover the place.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20110223234956.388095876@linutronix.de\u003e\n"
    },
    {
      "commit": "781295762defc709a609efc01d8bb065276cd9a2",
      "tree": "21f035b5f92571c8c3559b5e94eb0e1aa4113a36",
      "parents": [
        "3836ca08aad4575c120ccf328652f3873eea9063"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 10 15:14:20 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:24 2011 +0100"
      },
      "message": "genirq: Add preflow handler support\n\nsparc64 needs to call a preflow handler on certain interrupts befor\ncalling the action chain. Integrate it into handle_fasteoi_irq. Must\nbe enabled via CONFIG_IRQ_FASTEOI_PREFLOW. No impact when disabled.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a6967caf00ebbb2d4acdebcb72a25f2e9ba43fd2",
      "tree": "fbc957bb2e34d644164d3b0df874da88fa01ec3e",
      "parents": [
        "e1ef824146131709d7466e37f889f2dab24ca98e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 10 22:01:25 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:22 2011 +0100"
      },
      "message": "genirq: Remove desc-\u003estatus when GENERIC_HARDIRQS_NO_COMPAT\u003dy\n\nIf everything uses the right accessors, then enabling\nGENERIC_HARDIRQS_NO_COMPAT should just work. If not it will tell you.\n\nDon\u0027t be lazy and use the trick which I use in the core code!\n\ngit grep status_use_accessors\n\nwill unearth it in a split second. Offenders are tracked down and not\nslapped with stinking trouts. This time we use frozen shark for a\nbetter educational value.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "91c499178139d6597e68db19638e4135510a34b8",
      "tree": "9f2a58301e73178009d99e181d8de417659eda60",
      "parents": [
        "6d2cd17fde1fc3e93302815f049f255bb2b3123e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 03 20:48:29 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:18 2011 +0100"
      },
      "message": "genirq: Add state field to irq_data\n\nSome chip implementations need to access certain status flags. With\nsparse irqs that requires a lookup of the irq descriptor. Add a state\nfield which contains such flags.\n\nName it in a way which will make coders happy to access it with the\nproper accessor functions. And it\u0027s easy to grep for.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "dbec07bac614a61e3392c1e7c08cc6a49ad43f7a",
      "tree": "df584e74c8b2fcbe10cce70fd910b4482093fe9a",
      "parents": [
        "35e857cbeb24e75c6f9a9312ac30454eee8c5950"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 20:19:55 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:14 2011 +0100"
      },
      "message": "genirq: Add internal state field to irq_desc\n\nThat field will contain internal state information which is not going\nto be exposed to anything outside the core code - except via accessor\nfunctions. I\u0027m tired of everyone fiddling in irq_desc.status.\n\ncore_internal_state__do_not_mess_with_it is clear enough, annoying to\ntype and easy to grep for. Offenders will be tracked down and slapped\nwith stinking trouts.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a0cd9ca2b907d7ee26575e7b63ac92dad768a75e",
      "tree": "4b46f7951b9cd76531caf6d4d68d687e1b622336",
      "parents": [
        "43abe43ce0619d744c7a5bb15cce075e532b53b7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 10 11:36:33 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:06 2011 +0100"
      },
      "message": "genirq: Namespace cleanup\n\nThe irq namespace has become quite convoluted. My bad.  Clean it up\nand deprecate the old functions. All new functions follow the scheme:\n\nirq number based:\n    irq_set/get/xxx/_xxx(unsigned int irq, ...)\n\nirq_data based:\n\t irq_data_set/get/xxx/_xxx(struct irq_data *d, ....)\n\nirq_desc based:\n\t irq_desc_get_xxx(struct irq_desc *desc)\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "cd7eab44e9946c28d595abe3e9a43e945bc49141",
      "tree": "b8b0c1beebbcad7785422a463504a374bb43cdea",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Wed Jan 19 21:01:44 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jan 22 17:34:25 2011 +0100"
      },
      "message": "genirq: Add IRQ affinity notifiers\n\nWhen initiating I/O on a multiqueue and multi-IRQ device, we may want\nto select a queue for which the response will be handled on the same\nor a nearby CPU.  This requires a reverse-map of IRQ affinity.  Add a\nnotification mechanism to support this.\n\nThis is based closely on work by Thomas Gleixner \u003ctglx@linutronix.de\u003e.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nCc: linux-net-drivers@solarflare.com\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nLKML-Reference: \u003c1295470904.11126.84.camel@bwh-desktop\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1c77ff22f539ceaa64ea43d6a26d867e84602cb7",
      "tree": "d1623ae6a2f8ed56acbaa03b514e393496c42802",
      "parents": [
        "0e155b2ce293382730b8473f6ceeb7ac9b939b7d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 19 19:41:35 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jan 21 11:55:31 2011 +0100"
      },
      "message": "genirq: Remove __do_IRQ\n\nAll architectures are finally converted. Remove the cruft.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Chen Liqin \u003cliqin.chen@sunplusct.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\n"
    },
    {
      "commit": "6c9ae009b298753a3baf71298d676a68b5a10c8f",
      "tree": "95a7e4ca54fe8e96c95cedd4e8d6450659015212",
      "parents": [
        "558bbb2fc75fd9676e07e347c021865e326c56db"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jan 13 15:45:38 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:31 2011 -0800"
      },
      "message": "irq: use per_cpu kstat_irqs\n\nUse modern per_cpu API to increment {soft|hard}irq counters, and use\nper_cpu allocation for (struct irq_desc)-\u003ekstats_irq instead of an array.\n\nThis gives better SMP/NUMA locality and saves few instructions per irq.\n\nWith small nr_cpuids values (8 for example), kstats_irq was a small array\n(less than L1_CACHE_BYTES), potentially source of false sharing.\n\nIn the !CONFIG_SPARSE_IRQ case, remove the huge, NUMA/cache unfriendly\nkstat_irqs_all[NR_IRQS][NR_CPUS] array.\n\nNote: we still populate kstats_irq for all possible irqs in\nearly_irq_init().  We probably could use on-demand allocations.  (Code\nincluded in alloc_descs()).  Problem is not all IRQS are used with a prior\nalloc_descs() call.\n\nkstat_irqs_this_cpu() is not used anymore, remove it.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78f90d91f395cd0dc1ef3f21e0c5cd6fd50d202c",
      "tree": "e9a6b0a5d8a0b99cd23dbc1c1f376a7e78a93428",
      "parents": [
        "b7b29338dc7111ed8bd4d6555d84afae13ebe752"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 29 17:18:47 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 12 16:53:44 2010 +0200"
      },
      "message": "genirq: Remove the now unused sparse irq leftovers\n\nThe move_irq_desc() function was only used due to the problem that the\nallocator did not free the old descriptors. So the descriptors had to\nbe moved in create_irq_nr(). That\u0027s history.\n\nThe code would have never been able to move active interrupt\ndescriptors on affinity settings. That can be done in a completely\ndifferent way w/o all this horror.\n\nRemove all of it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "10ba1e0eeef6a3c9453d96364e28cb4d911e1ac3",
      "tree": "c535feadce8d57e5e96f401e156617c7e9ab4237",
      "parents": [
        "1a0730d6649113c820217387a011a17dd4aff3ad"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 11 12:21:18 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 12 16:53:43 2010 +0200"
      },
      "message": "genirq: Remove irq_2_iommu\n\nirq_2_iommu is now in the x86 code where it belongs. Remove all\nleftovers.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "e144710b302525de5b90b9c3ba43562458d8957f",
      "tree": "0a6ef61ccb4957512ebf4a1887ba3bc54e78f99e",
      "parents": [
        "fe21221386e46b8e0f2cbd83559a29680c28473b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Oct 01 16:03:45 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 12 16:39:04 2010 +0200"
      },
      "message": "genirq: Distangle irq.h\n\nMove irq_desc and internal functions out of irq.h\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ]
}
