)]}'
{
  "log": [
    {
      "commit": "89d694b9dbe769ca1004e01db0ca43964806a611",
      "tree": "b8fd51348034a4b09547ea0137d4ac467f6987fa",
      "parents": [
        "188fd89d539d899bfca2bc83534e5508e0161139"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 18 18:25:17 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 19 10:43:58 2008 +0100"
      },
      "message": "genirq: do not leave interupts enabled on free_irq\n\nThe default_disable() function was changed in commit:\n\n 76d2160147f43f982dfe881404cfde9fd0a9da21\n genirq: do not mask interrupts by default\n\nIt removed the mask function in favour of the default delayed\ninterrupt disabling. Unfortunately this also broke the shutdown in\nfree_irq() when the last handler is removed from the interrupt for\nthose architectures which rely on the default implementations. Now we\ncan end up with a enabled interrupt line after the last handler was\nremoved, which can result in spurious interrupts.\n\nFix this by adding a default_shutdown function, which is only\ninstalled, when the irqchip implementation does provide neither a\nshutdown nor a disable function.\n\n[@stable: affected versions: .21 - .24 ]\n\nPointed-out-by: Michael Hennerich \u003cMichael.Hennerich@analog.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: stable@kernel.org\nTested-by: Michael Hennerich \u003cMichael.Hennerich@analog.com\u003e\n\n"
    },
    {
      "commit": "46f4f8f665080900e865392f4b3593be463bf0d8",
      "tree": "d4d1cb04b461b4ddd841396647d911fdc08819ef",
      "parents": [
        "922f9cfa79b52c85b6002d96cb0eefd13437c58c"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Feb 08 04:22:01 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:42 2008 -0800"
      },
      "message": "IRQ_NOPROBE helper functions\n\nProbing non-ISA interrupts using the handle_percpu_irq as their handle_irq\nmethod may crash the system because handle_percpu_irq does not check\nIRQ_WAITING.  This for example hits the MIPS Qemu configuration.\n\nThis patch provides two helper functions set_irq_noprobe and set_irq_probe to\nset rsp.  clear the IRQ_NOPROBE flag.  The only current caller is MIPS code\nbut this really belongs into generic code.\n\nAs an aside, interrupt probing these days has become a mostly obsolete if not\ndangerous art.  I think Linux interrupts should be changed to default to\nnon-probing but that\u0027s subject of this patch.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-and-tested-by: Rob Landley \u003crob@landley.net\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ad5b3a505e68cfdc342933d6e0fc0eaa5e0a4f7",
      "tree": "6715ffd8df509d3d53dea581bb97418a21bc7cbc",
      "parents": [
        "fc9b52cd8f5f459b88adcf67c47668425ae31a78"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Feb 08 04:19:53 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:31 2008 -0800"
      },
      "message": "kernel: remove fastcall in kernel/*\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "971e5b35fb02c5088d49e6c024aab73582a35b71",
      "tree": "3d90abcd2d4ff8ed66dc0110af9f8d3e63c1043a",
      "parents": [
        "213fde71024223abcdd7d9e5349d1ea2679227b5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Dec 18 18:05:58 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 18 18:05:58 2007 +0100"
      },
      "message": "genirq: revert lazy irq disable for simple irqs\n\nIn commit 76d2160147f43f982dfe881404cfde9fd0a9da21 lazy irq disabling\nwas implemented, and the simple irq handler had a masking set to it.\n\nRemy Bohmer discovered that some devices in the ARM architecture\nwould trigger the mask, but never unmask it. His patch to do the\nunmasking was questioned by Russell King about masking simple irqs\nto begin with. Looking further, it was discovered that the problems\nRemy was seeing was due to improper use of the simple handler by\ndevices, and he later submitted patches to fix those. But the issue\nthat was uncovered was that the simple handler should never mask.\n\nThis patch reverts the masking in the simple handler.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "28e3fed8b79c76450f264e77c58d0f5fbd2dd739",
      "tree": "3e1b2f8e5a5f9f15fdaae2a307eead82e38c450c",
      "parents": [
        "b4471cbb09c4694e54092d02715c09fda2eb45ed"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Oct 16 23:30:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:00 2007 -0700"
      },
      "message": "Compile handle_percpu_irq even for uniprocessor kernels\n\nCompiling handle_percpu_irq only on uniprocessor generates an artificial\nspecial case so a typical use like:\n\n  set_irq_chip_and_handler(irq, \u0026some_irq_type, handle_percpu_irq);\n\nneeds to be conditionally compiled only on SMP systems as well and an\nalternative UP construct is usually needed - for no good reason.\n\nThis fixes uniprocessor configurations for some MIPS SMP systems.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: 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": "496634217e5671ed876a0348e9f5b7165e830b20",
      "tree": "b7614ffeca67d328ec70d9d886c4ae63ce225f44",
      "parents": [
        "963c6527e0a0e285736ad482b8142d098f9c2288"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Aug 12 15:46:34 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Aug 12 11:05:45 2007 -0700"
      },
      "message": "genirq: cleanup mismerge artifact\n\nCommit 5a43a066b11ac2fe84cf67307f20b83bea390f83: \"genirq: Allow fasteoi\nhandler to retrigger disabled interrupts\" was erroneously applied to\nhandle_level_irq().  This added the irq retrigger / resend functionality\nto the level irq handler.\n\nRevert the offending bits.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7fe3730de729b758e9f69b862b9255d998671b5f",
      "tree": "2fc0cf3a003aaf6e8c257a32b748941e3eec93b2",
      "parents": [
        "f282b97021ddc95c6092b9016f667c0963858fb1"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Wed Apr 18 19:39:21 2007 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 19:02:38 2007 -0700"
      },
      "message": "MSI: arch must connect the irq and the msi_desc\n\nset_irq_msi() currently connects an irq_desc to an msi_desc. The archs call\nit at some point in their setup routine, and then the generic code sets up the\nreverse mapping from the msi_desc back to the irq.\n\nset_irq_msi() should do both connections, making it the one and only call\nrequired to connect an irq with it\u0027s MSI desc and vice versa.\n\nThe arch code MUST call set_irq_msi(), and it must do so only once it\u0027s sure\nit\u0027s not going to fail the irq allocation.\n\nGiven that there\u0027s no need for the arch to return the irq anymore, the return\nvalue from the arch setup routine just becomes 0 for success and anything else\nfor failure.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5575ddf75ca7e61d6f69b96368e03dd88edd4604",
      "tree": "31226bbad6f6ff1cd2123570ef965a20682b8b52",
      "parents": [
        "472900b8b02bf3782b06dcf0acdef26811c2b995"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Fri Feb 16 01:28:26 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:14:00 2007 -0800"
      },
      "message": "[PATCH] small irq management simplification\n\nUse mask_ack_irq() where possible.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "472900b8b02bf3782b06dcf0acdef26811c2b995",
      "tree": "0aa22b5fd11d4172ffbfd09b14a237cc68cc3004",
      "parents": [
        "d7e25f3394ba05a6d64cb2be42c2765fe72ea6b2"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Feb 16 01:28:25 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:14:00 2007 -0800"
      },
      "message": "[PATCH] IRQ kernel-doc fixes\n\nFix kernel-doc warnings in IRQ management.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "76d2160147f43f982dfe881404cfde9fd0a9da21",
      "tree": "5140d838f64e8494abd4942b4e2ddf2ddee69046",
      "parents": [
        "1f2ea0837dbc263ce2a2512c4e73c83df68a6a55"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 16 01:28:24 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:14:00 2007 -0800"
      },
      "message": "[PATCH] genirq: do not mask interrupts by default\n\nNever mask interrupts immediately upon request.  Disabling interrupts in\nhigh-performance codepaths is rare, and on the other hand this change could\nrecover lost edges (or even other types of lost interrupts) by conservatively\nonly masking interrupts after they happen.  (NOTE: with this change the\nhighlevel irq-disable code still soft-disables this IRQ line - and if such an\ninterrupt happens then the IRQ flow handler keeps the IRQ masked.)\n\nMark i8529A controllers as \u0027never loses an edge\u0027.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\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": "5b912c108c8b1fcecbfe13d6d9a183db97b682d3",
      "tree": "0267f65fd9237a41207e4359e09d09e60f6cd754",
      "parents": [
        "1c659d61cfbd8dc3926688c1bbf12d80f4cfb5c2"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Jan 28 12:52:03 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 15:50:08 2007 -0800"
      },
      "message": "msi: Kill the msi_desc array.\n\nWe need to be able to get from an irq number to a struct msi_desc.\nThe msi_desc array in msi.c had several short comings the big one was\nthat it could not be used outside of msi.c.  Using irq_data in struct\nirq_desc almost worked except on some architectures irq_data needs to\nbe used for something else.\n\nSo this patch adds a msi_desc pointer to irq_desc, adds the appropriate\nwrappers and changes all of the msi code to use them.\n\nThe dynamic_irq_init/cleanup code was tweaked to ensure the new\nfield is left in a well defined state.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9d7ac8be4b48737ad1cebd94ed754a269f360708",
      "tree": "a6f57e44a3a5fa993145f9bf6a9af7dc8f481623",
      "parents": [
        "e903387f1ebe3a7ddb93cd49c38341d3632df528"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 22 01:08:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 22 08:55:48 2006 -0800"
      },
      "message": "[PATCH] genirq: fix irq flow handler uninstall\n\nThe sanity check for no_irq_chip in __set_irq_hander() is unconditional on\nboth install and uninstall of an handler.  This triggers false warnings and\nreplaces no_irq_chip by dummy_irq_chip in the uninstall case.\n\nCheck only, when a real handler is installed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Sylvain Munaut \u003ctnt@246tNt.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b039db8eeab0b3cee66dcf9820526dd9cfb04f6b",
      "tree": "769b176e2904b0db21c2c8a29bdd8c97de8b7da3",
      "parents": [
        "4604096768d3be37ee1a05aee424aceed3e1b56f"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Wed Dec 20 15:59:48 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 21 00:08:27 2006 -0800"
      },
      "message": "[PATCH] __set_irq_handler bogus space\n\n__set_irq_handler: Kill a bogus space\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b86432b42eba5671969a9e6483ee219674b7ee25",
      "tree": "78b33862865d7ae6d122b3e58c4ae7133491ed0b",
      "parents": [
        "b48f5457b4e9d64d9c1117a4ece247d98b4db49f"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Thu Nov 16 01:19:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Nov 16 11:43:37 2006 -0800"
      },
      "message": "[PATCH] some irq_chip variables point to NULL\n\nI got an oops when booting 2.6.19-rc5-mm1 on my ia64 machine.\n\nBelow is the log.\n\nOops 11012296146944 [1]\nModules linked in: binfmt_misc dm_mirror dm_multipath dm_mod thermal processor f\nan container button sg eepro100 e100 mii\n\nPid: 0, CPU 0, comm:              swapper\npsr : 0000121008022038 ifs : 800000000000040b ip  : [\u003ca0000001000e1411\u003e]    Not\ntainted\nip is at __do_IRQ+0x371/0x3e0\nunat: 0000000000000000 pfs : 000000000000040b rsc : 0000000000000003\nrnat: 656960155aa56aa5 bsps: a00000010058b890 pr  : 656960155aa55a65\nldrs: 0000000000000000 ccv : 0000000000000000 fpsr: 0009804c0270033f\ncsd : 0000000000000000 ssd : 0000000000000000\nb0  : a0000001000e1390 b6  : a0000001005beac0 b7  : e00000007f01aa00\nf6  : 000000000000000000000 f7  : 0ffe69090000000000000\nf8  : 1000a9090000000000000 f9  : 0ffff8000000000000000\nf10 : 1000a908ffffff6f70000 f11 : 1003e0000000000000909\nr1  : a000000100fbbff0 r2  : 0000000000010002 r3  : 0000000000010001\nr8  : fffffffffffbffff r9  : a000000100bd8060 r10 : a000000100dd83b8\nr11 : fffffffffffeffff r12 : a000000100bcbbb0 r13 : a000000100bc4000\nr14 : 0000000000010000 r15 : 0000000000010000 r16 : a000000100c01aa8\nr17 : a000000100d2c350 r18 : 0000000000000000 r19 : a000000100d2c300\nr20 : a000000100c01a88 r21 : 0000000080010100 r22 : a000000100c01ac0\nr23 : a0000001000108e0 r24 : e000000477980004 r25 : 0000000000000000\nr26 : 0000000000000000 r27 : e00000000913400c r28 : e0000004799ee51c\nr29 : e0000004778b87f0 r30 : a000000100d2c300 r31 : a00000010005c7e0\n\nCall Trace:\n [\u003ca000000100014600\u003e] show_stack+0x40/0xa0\n                                sp\u003da000000100bcb760 bsp\u003da000000100bc4f40\n [\u003ca000000100014f00\u003e] show_regs+0x840/0x880\n                                sp\u003da000000100bcb930 bsp\u003da000000100bc4ee8\n [\u003ca000000100037fb0\u003e] die+0x250/0x320\n                                sp\u003da000000100bcb930 bsp\u003da000000100bc4ea0\n [\u003ca00000010005e5f0\u003e] ia64_do_page_fault+0x8d0/0xa20\n                                sp\u003da000000100bcb950 bsp\u003da000000100bc4e50\n [\u003ca00000010000caa0\u003e] ia64_leave_kernel+0x0/0x290\n                                sp\u003da000000100bcb9e0 bsp\u003da000000100bc4e50\n [\u003ca0000001000e1410\u003e] __do_IRQ+0x370/0x3e0\n                                sp\u003da000000100bcbbb0 bsp\u003da000000100bc4df0\n [\u003ca000000100011f50\u003e] ia64_handle_irq+0x170/0x220\n                                sp\u003da000000100bcbbb0 bsp\u003da000000100bc4dc0\n [\u003ca00000010000caa0\u003e] ia64_leave_kernel+0x0/0x290\n                                sp\u003da000000100bcbbb0 bsp\u003da000000100bc4dc0\n [\u003ca000000100012390\u003e] ia64_pal_call_static+0x90/0xc0\n                                sp\u003da000000100bcbd80 bsp\u003da000000100bc4d78\n [\u003ca000000100015630\u003e] default_idle+0x90/0x160\n                                sp\u003da000000100bcbd80 bsp\u003da000000100bc4d58\n [\u003ca000000100014290\u003e] cpu_idle+0x1f0/0x440\n                                sp\u003da000000100bcbe20 bsp\u003da000000100bc4d18\n [\u003ca000000100009980\u003e] rest_init+0xc0/0xe0\n                                sp\u003da000000100bcbe20 bsp\u003da000000100bc4d00\n [\u003ca0000001009f8ea0\u003e] start_kernel+0x6a0/0x6c0\n                                sp\u003da000000100bcbe20 bsp\u003da000000100bc4ca0\n [\u003ca0000001000089f0\u003e] __end_ivt_text+0x6d0/0x6f0\n                                sp\u003da000000100bcbe30 bsp\u003da000000100bc4c00\n \u003c0\u003eKernel panic - not syncing: Aiee, killing interrupt handler!\n\nThe root cause is that some irq_chip variables, especially ia64_msi_chip,\ninitiate their memeber end to point to NULL. __do_IRQ doesn\u0027t check\nif irq_chip-\u003eend is null and just calls it after processing the interrupt.\n\nAs irq_chip-\u003eend is called at many places, so I fix it by reinitiating\nirq_chip-\u003eend to dummy_irq_chip.end, e.g., a noop function.\n\nSigned-off-by: Zhang Yanmin \u003cyanmin.zhang@intel.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\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"
    },
    {
      "commit": "a460e745e8f9c75a0525ff94154a0629f9d3e05d",
      "tree": "38ef71d81c2ca2f979319b0a91f34f0cf9998643",
      "parents": [
        "308ba5fcf89b6e328f9290067181c1e4d772fdc9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 17 00:10:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 17 08:18:45 2006 -0700"
      },
      "message": "[PATCH] genirq: clean up irq-flow-type naming\n\nIntroduce desc-\u003ename and eliminate the handle_irq_name() hack.  Add\nset_irq_chip_and_handler_name() to set the flow type and name at once.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7d12e780e003f93433d49ce78cfedf4b4c52adc5",
      "tree": "6748550400445c11a306b132009f3001e3525df8",
      "parents": [
        "da482792a6d1a3fbaaa25fae867b343fb4db3246"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 05 14:55:46 2006 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Thu Oct 05 15:10:12 2006 +0100"
      },
      "message": "IRQ: Maintain regs pointer globally rather than passing to IRQ handlers\n\nMaintain a per-CPU global \"struct pt_regs *\" variable which can be used instead\nof passing regs around manually through all ~1800 interrupt handlers in the\nLinux kernel.\n\nThe regs pointer is used in few places, but it potentially costs both stack\nspace and code to pass it around.  On the FRV arch, removing the regs parameter\nfrom all the genirq function results in a 20% speed up of the IRQ exit path\n(ie: from leaving timer_interrupt() to leaving do_IRQ()).\n\nWhere appropriate, an arch may override the generic storage facility and do\nsomething different with the variable.  On FRV, for instance, the address is\nmaintained in GR28 at all times inside the kernel as part of general exception\nhandling.\n\nHaving looked over the code, it appears that the parameter may be handed down\nthrough up to twenty or so layers of functions.  Consider a USB character\ndevice attached to a USB hub, attached to a USB controller that posts its\ninterrupts through a cascaded auxiliary interrupt controller.  A character\ndevice driver may want to pass regs to the sysrq handler through the input\nlayer which adds another few layers of parameter passing.\n\nI\u0027ve build this code with allyesconfig for x86_64 and i386.  I\u0027ve runtested the\nmain part of the code on FRV and i386, though I can\u0027t test most of the drivers.\nI\u0027ve also done partial conversion for powerpc and MIPS - these at least compile\nwith minimal configurations.\n\nThis will affect all archs.  Mostly the changes should be relatively easy.\nTake do_IRQ(), store the regs pointer at the beginning, saving the old one:\n\n\tstruct pt_regs *old_regs \u003d set_irq_regs(regs);\n\nAnd put the old one back at the end:\n\n\tset_irq_regs(old_regs);\n\nDon\u0027t pass regs through to generic_handle_irq() or __do_IRQ().\n\nIn timer_interrupt(), this sort of change will be necessary:\n\n\t-\tupdate_process_times(user_mode(regs));\n\t-\tprofile_tick(CPU_PROFILING, regs);\n\t+\tupdate_process_times(user_mode(get_irq_regs()));\n\t+\tprofile_tick(CPU_PROFILING);\n\nI\u0027d like to move update_process_times()\u0027s use of get_irq_regs() into itself,\nexcept that i386, alone of the archs, uses something other than user_mode().\n\nSome notes on the interrupt handling in the drivers:\n\n (*) input_dev() is now gone entirely.  The regs pointer is no longer stored in\n     the input_dev struct.\n\n (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking.  It does\n     something different depending on whether it\u0027s been supplied with a regs\n     pointer or not.\n\n (*) Various IRQ handler function pointers have been moved to type\n     irq_handler_t.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n(cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)\n"
    },
    {
      "commit": "57a58a9435aef3e0342ba4b2c97e0ddfea6f2c7f",
      "tree": "35603f6385edf3dcd20e80a2fcf4c66c7cdc34a7",
      "parents": [
        "d223a60106891bfe46febfacf46b20cd8509aaad"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 05 13:06:34 2006 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Thu Oct 05 13:28:06 2006 +0100"
      },
      "message": "IRQ: Typedef the IRQ flow handler function type\n\nTypedef the IRQ flow handler function type.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n(cherry picked from 8e973fbdf5716b93a0a8c0365be33a31ca0fa351 commit)\n"
    },
    {
      "commit": "1f80025e624bb14fefadfef7e80fbfb9740d4714",
      "tree": "1d6f18ebd2855e882213922036d8df8cd7e88db4",
      "parents": [
        "8b955b0dddb35e398b07e217a81f8bd49400796f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:29 2006 -0700"
      },
      "message": "[PATCH] msi: simplify msi sanity checks by adding with generic irq code\n\nCurrently msi.c is doing sanity checks that make certain before an irq is\ndestroyed it has no more users.\n\nBy adding irq_has_action I can perform the test is a generic way, instead of\nrelying on a msi specific data structure.\n\nBy performing the core check in dynamic_irq_cleanup I ensure every user of\ndynamic irqs has a test present and we don\u0027t free resources that are in use.\n\nIn msi.c this allows me to kill the attrib.state member of msi_desc and all of\nthe assciated code to maintain it.\n\nTo keep from freeing data structures when irq cleanup code is called to soon\nchanging dyanamic_irq_cleanup is insufficient because there are msi specific\ndata structures that are also not safe to free.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3a16d713626735f3016da0521b7bf251cd78e836",
      "tree": "39147d40b681391a578b19fceb50dfe5a7a4a1ab",
      "parents": [
        "92db6d10bc1bc43330a4c540fa5b64c83d9d865f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:27 2006 -0700"
      },
      "message": "[PATCH] genirq: irq: add a dynamic irq creation API\n\nWith the msi support comes a new concept in irq handling, irqs that are\ncreated dynamically at run time.\n\nCurrently the msi code allocates irqs backwards.  First it allocates a\nplatform dependent routing value for an interrupt the ``vector\u0027\u0027 and then it\nfigures out from the vector which irq you are on.\n\nThis msi backwards allocator suffers from two basic problems.  The allocator\nsuffers because it is trying to do something that is architecture specific in\na generic way making it brittle, inflexible, and tied to tightly to the\narchitecture implementation.  The alloctor also suffers from it\u0027s very\nbackwards nature as it has tied things together that should have no\ndependencies.\n\nTo solve the basic dynamic irq allocation problem two new architecture\nspecific functions are added: create_irq and destroy_irq.\n\ncreate_irq takes no input and returns an unused irq number, that won\u0027t be\nreused until it is returned to the free poll with destroy_irq.  The irq then\ncan be used for any purpose although the only initial consumer is the msi\ncode.\n\ndestroy_irq takes an irq number allocated with create_irq and returns it to\nthe free pool.\n\nMaking this functionality per architecture increases the simplicity of the irq\nallocation code and increases it\u0027s flexibility.\n\ndynamic_irq_init() and dynamic_irq_cleanup() are added to automate the\nirq_desc initializtion that should happen for dynamic irqs.\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"
    },
    {
      "commit": "538d9d532b0e0320c9dd326a560b5a72d73f910d",
      "tree": "ad41d9ddc79aa74eceb806f6d207cea479c06608",
      "parents": [
        "2ff6fd8f4a40b72ff35dbb1e08eb9ed6b64b6028"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Fri Sep 29 01:59:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:07 2006 -0700"
      },
      "message": "[PATCH] irq: remove a extra line\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2ff6fd8f4a40b72ff35dbb1e08eb9ed6b64b6028",
      "tree": "c6a3f085b6bbba80f468eab68e04477e42194232",
      "parents": [
        "42012cc4a2183c555a907eee32d7ce4fc7dc3a6a"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Fri Sep 29 01:59:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:07 2006 -0700"
      },
      "message": "[PATCH] irq: fixed coding style\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "86998aa6534e839ec003ed2ef7067d6fe8696ccc",
      "tree": "ca2e8fff9371ef26f339f2893c6c1d50c5f4e2fe",
      "parents": [
        "47a5c6fa0e204a2b63309c648bb2fde36836c826"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 19 11:14:34 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 19 07:57:20 2006 -0700"
      },
      "message": "[PATCH] genirq core: fix handle_level_irq()\n\nwhile porting the -rt tree to 2.6.18-rc7 i noticed the following\nscreaming-IRQ scenario on an SMP system:\n\n 2274  0Dn.:1 0.001ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.010ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.020ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.029ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.039ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.048ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.058ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.068ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.077ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.087ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.097ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n\nas it turns out, the bug is caused by handle_level_irq(), which if it\nraces with another CPU already handling this IRQ, it _unmasks_ the IRQ\nline on the way out. This is not how 2.6.17 works, and we introduced\nthis bug in one of the early genirq cleanups right before it went into\n-mm. (the bug was not in the genirq patchset for a long time, and we\ndidnt notice the bug due to the lack of -rt rebase to the new genirq\ncode. -rt, and hardirq-preemption in particular opens up such races much\nwider than anything else.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5a43a066b11ac2fe84cf67307f20b83bea390f83",
      "tree": "d4770958575f4e7592620d9a0d36c431ecceefc9",
      "parents": [
        "3e9a69275f23baec86b54febc5dad0b2fc7fb200"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jul 03 19:54:59 2006 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Jul 03 19:54:59 2006 +1000"
      },
      "message": "[PATCH] genirq: Allow fasteoi handler to retrigger disabled interrupts\n\nMake the fasteoi handler mark disabled interrupts as pending if they\nhappen anyway. This allow implementation of a delayed disable scheme\nwith the fasteoi handler.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "f8b5473fcbddbfde827ecf82aa0e81fa2a878220",
      "tree": "0d6d504f95830610cb2c2fb1e6e9e1ebf932762b",
      "parents": [
        "a2166abd06e7a9fd34eb18b7b27da18c6146e6ef"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 01 22:30:08 2006 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Jul 01 22:30:08 2006 +0100"
      },
      "message": "[ARM] 3690/1: genirq: Introduce and make use of dummy irq chip\n\nPatch from Thomas Gleixner\n\nFrom: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\nARM has a couple of really dumb interrupt controllers.\nImplement a generic one and fixup the ARM migration. ARM reused\nthe no_irq_chip for this purpose, but this does not work out\nfor platforms which are not converted to the new interrupt\ntype handling model.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "47c2a3aa4475d27073dd3c7e183fcc13f495c8f5",
      "tree": "d151e03da804103753977c2c94e17b71104e3d35",
      "parents": [
        "f702d7013c7470284843a6370aaa53b8b75c5a40"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:25:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:26 2006 -0700"
      },
      "message": "[PATCH] genirq: add chip-\u003eeoi(), fastack -\u003e fasteoi\n\nClean up the fastack concept by turning it into fasteoi and introducing the\n-\u003eeoi() method for chips.\n\nThis also allows the cleanup of an i386 EOI quirk - now the quirk is\ncleanly separated from the pure ACK implementation.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "98bb244b685eb2a297aa60fa2e5c0631f95828e1",
      "tree": "468ab2cf22dc3b10d1bc48660360b908d24cabef",
      "parents": [
        "f210be198ddd3f54b17d4aa6e69b829f75f226e5"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Jun 29 02:25:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:25 2006 -0700"
      },
      "message": "[PATCH] genirq: fasteoi handler: handle interrupt disabling\n\nNote when a disable interrupt happened with the fasteoi handler as well so\nthat delayed disable can be implemented with fasteoi-type controllers.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dd87eb3a24c4527741122713e223d74b85d43c85",
      "tree": "0c3796af23da908515d890a7b8fde37893eb3b2a",
      "parents": [
        "dae8620421833bb2e9a01c4ccc42bdc3759b81df"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 29 02:24:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:24 2006 -0700"
      },
      "message": "[PATCH] genirq: add irq-chip support\n\nEnable platforms to use the irq-chip and irq-flow abstractions: allow setting\nof the chip, the type and provide highlevel handlers for common irq-flows.\n\n[rostedt@goodmis.org: misroute-irq: Don\u0027t call desc-\u003echip-\u003eend because of edge interrupts]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ]
}
