)]}'
{
  "log": [
    {
      "commit": "b840d79631c882786925303c2b0f4fefc31845ed",
      "tree": "cda60a95d4507fe1321fc285af38982d7eb9693b",
      "parents": [
        "597b0d21626da4e6f09f132442caf0cc2b0eb47c",
        "c3d80000e3a812fe5a200d6bde755fbd7fa65481"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 11:44:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 11:44:09 2009 -0800"
      },
      "message": "Merge branch \u0027cpus4096-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (66 commits)\n  x86: export vector_used_by_percpu_irq\n  x86: use logical apicid in x2apic_cluster\u0027s x2apic_cpu_mask_to_apicid_and()\n  sched: nominate preferred wakeup cpu, fix\n  x86: fix lguest used_vectors breakage, -v2\n  x86: fix warning in arch/x86/kernel/io_apic.c\n  sched: fix warning in kernel/sched.c\n  sched: move test_sd_parent() to an SMP section of sched.h\n  sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc\u003e0\n  sched: activate active load balancing in new idle cpus\n  sched: bias task wakeups to preferred semi-idle packages\n  sched: nominate preferred wakeup cpu\n  sched: favour lower logical cpu number for sched_mc balance\n  sched: framework for sched_mc/smt_power_savings\u003dN\n  sched: convert BALANCE_FOR_xx_POWER to inline functions\n  x86: use possible_cpus\u003dNUM to extend the possible cpus allowed\n  x86: fix cpu_mask_to_apicid_and to include cpu_online_mask\n  x86: update io_apic.c to the new cpumask code\n  x86: Introduce topology_core_cpumask()/topology_thread_cpumask()\n  x86: xen: use smp_call_function_many()\n  x86: use work_on_cpu in x86/kernel/cpu/mcheck/mce_amd_64.c\n  ...\n\nFixed up trivial conflict in kernel/time/tick-sched.c manually\n"
    },
    {
      "commit": "860cf8894b326e4b89720f520540604834337b72",
      "tree": "27c1363ea7224e9bf722b7292309f6d2a1ebbe61",
      "parents": [
        "e262a7ba31f0cd4dae225e6d2e9037e5ac6108e8",
        "973656fe1afb4adf95d7b9ab75d4660cd3821ea1",
        "f2b662da8d6bd44673537f3f64220afefdca369f",
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 16:27:54 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 16:27:54 2008 +0100"
      },
      "message": "Merge branches \u0027irq/sparseirq\u0027, \u0027irq/genirq\u0027 and \u0027irq/urgent\u0027; commit \u0027v2.6.28\u0027 into irq/core\n"
    },
    {
      "commit": "948a7b2b5e2bf126fb697aeb11ff379b2c85dd2e",
      "tree": "727c744438a44d85f7dc340b1bfcb3b127c84f13",
      "parents": [
        "9466d6036f73481104039fbe99338baed11c8fea",
        "17483a1f34c970e6c2cb8c082d4441bfabbe88a9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 13:16:08 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 13:16:08 2008 +0100"
      },
      "message": "Merge branch \u0027irq/sparseirq\u0027 into cpus4096\n\nConflicts:\n\tarch/x86/kernel/io_apic.c\n\nMerge irq/sparseirq here, to resolve conflicts.\n"
    },
    {
      "commit": "48a1b10aff588833b73994704c47bbd0deb73e9c",
      "tree": "deb3c7b486346c3afa54014b3c3516344c2708f2",
      "parents": [
        "13bd41bc227a48d6cf8992a3286bf6eba3c71a0c"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Thu Dec 11 00:15:01 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 00:14:01 2008 +0100"
      },
      "message": "x86, sparseirq: move irq_desc according to smp_affinity, v7\n\nImpact: improve NUMA handling by migrating irq_desc on smp_affinity changes\n\nif CONFIG_NUMA_MIGRATE_IRQ_DESC is set:\n\n-  make irq_desc to go with affinity aka irq_desc moving etc\n-  call move_irq_desc in irq_complete_move()\n-  legacy irq_desc is not moved, because they are allocated via static array\n\nfor logical apic mode, need to add move_desc_in_progress_in_same_domain,\notherwise it will not be moved \u003d\u003d\u003e also could need two phases to get\nirq_desc moved.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "968ea6d80e395cf11a51143cfa1b9a14ada676df",
      "tree": "dc2acec8c9bdced33afe1e273ee5e0b0b93d2703",
      "parents": [
        "7be7585393d311866653564fbcd10a3232773c0b",
        "8299608f140ae321e4eb5d1306184265d2b9511e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:55:51 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:55:51 2008 +1030"
      },
      "message": "Merge ../linux-2.6-x86\n\nConflicts:\n\n\tarch/x86/kernel/io_apic.c\n\tkernel/sched.c\n\tkernel/sched_stats.h\n"
    },
    {
      "commit": "0de26520c7cabf36e1de090ea8092f011a6106ce",
      "tree": "3d02e509b6315fdfd9cdb8c9e0b9ed0a30cf9384",
      "parents": [
        "29c0177e6a4ac094302bed54a1d4bbb6b740a9ef"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:26 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:26 2008 +1030"
      },
      "message": "cpumask: make irq_set_affinity() take a const struct cpumask\n\nImpact: change existing irq_chip API\n\nNot much point with gentle transition here: the struct irq_chip\u0027s\nsetaffinity method signature needs to change.\n\nFortunately, not widely used code, but hits a few architectures.\n\nNote: In irq_select_affinity() I save a temporary in by mangling\nirq_desc[irq].affinity directly.  Ingo, does this break anything?\n\n(Folded in fix from KOSAKI Motohiro)\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nReviewed-by: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: ralf@linux-mips.org\nCc: grundler@parisc-linux.org\nCc: jeremy@xensource.com\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\n"
    },
    {
      "commit": "0b8f1efad30bd58f89961b82dfe68b9edf8fd2ac",
      "tree": "239251bad791fd60af8c0f2ba365b7188395c83f",
      "parents": [
        "218d11a8b071b23b76c484fd5f72a4fe3306801e"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Fri Dec 05 18:58:31 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 08 14:31:51 2008 +0100"
      },
      "message": "sparse irq_desc[] array: core kernel and x86 changes\n\nImpact: new feature\n\nProblem on distro kernels: irq_desc[NR_IRQS] takes megabytes of RAM with\nNR_CPUS set to large values. The goal is to be able to scale up to much\nlarger NR_IRQS value without impacting the (important) common case.\n\nTo solve this, we generalize irq_desc[NR_IRQS] to an (optional) array of\nirq_desc pointers.\n\nWhen CONFIG_SPARSE_IRQ\u003dy is used, we use kzalloc_node to get irq_desc,\nthis also makes the IRQ descriptors NUMA-local (to the site that calls\nrequest_irq()).\n\nThis gets rid of the irq_cfg[] static array on x86 as well: irq_cfg now\nuses desc-\u003echip_data for x86 to store irq_cfg.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f2b662da8d6bd44673537f3f64220afefdca369f",
      "tree": "f0cb66d79a1eecfaecc7af47a3ba0390d63ad2c5",
      "parents": [
        "061e41fdb5047b1fb161e89664057835935ca1d2"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Mon Dec 01 14:31:38 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 02 11:20:46 2008 +0100"
      },
      "message": "genirq: record IRQ_LEVEL in irq_desc[]\n\nImpact: fix __irq_set_trigger() for IRQ_LEVEL\n\nWhen recording the irq trigger type, let\u0027s also make sure\nthat IRQ_LEVEL gets set correctly.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b6f3b7803a9231eddc36d0a2a6d2d8105ef89344",
      "tree": "ac5149f718d8c6c0692daa973632f3538253c31c",
      "parents": [
        "e9f95e637320efe1936b647308ddf4ec5b8e0311"
      ],
      "author": {
        "name": "Dean Nelson",
        "email": "dcn@sgi.com",
        "time": "Sat Oct 18 16:06:56 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 21 15:59:21 2008 +0200"
      },
      "message": "genirq: NULL struct irq_desc\u0027s member \u0027name\u0027 in dynamic_irq_cleanup()\n\nIf the member \u0027name\u0027 of the irq_desc structure happens to point to a\ncharacter string that is resident within a kernel module, problems ensue\nif that module is rmmod\u0027d (at which time dynamic_irq_cleanup() is called)\nand then later show_interrupts() is called by someone.\n\nIt is also not a good thing if the character string resided in kmalloc\u0027d\nspace that has been kfree\u0027d (after having called dynamic_irq_cleanup()).\ndynamic_irq_cleanup() fails to NULL the \u0027name\u0027 member and\nshow_interrupts() references it on a few architectures (like h8300, sh and\nx86).\n\nSigned-off-by: Dean Nelson \u003cdcn@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0b3682ba33c59a362901b478bdab965da888b350",
      "tree": "652dd572a96881874c63db246b86ed6e4fbdec48",
      "parents": [
        "a9b6148d25f15ddfe9d7a7f3e526fdb64e7cf7da"
      ],
      "author": {
        "name": "Chris Friesen",
        "email": "cfriesen@nortel.com",
        "time": "Mon Oct 20 12:41:58 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 21 10:10:08 2008 +0200"
      },
      "message": "genirq: fix set_irq_type() when recording trigger type\n\nImpact: fix boot hang on a G5\n\nIn set_irq_type() we want to pass the type rather than the current\ninterrupt state.\n\nSigned-off-by: Chris Friesen \u003ccfriesen@nortel.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d3c60047bdb03199b93497ac40bd531315d43a86",
      "tree": "858b74f422b1c79be54d2050d23c51999d312566",
      "parents": [
        "a1aca5de08a0cb840a90fb3f729a5940f8d21185"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 16 09:55:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:53:29 2008 +0200"
      },
      "message": "genirq: cleanup the sparseirq modifications\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d6c88a507ef0b6afdb013cba4e7804ba7324d99a",
      "tree": "cdc4041acc212585e3920ad50bf2574cec04076d",
      "parents": [
        "ee32c9732244bde4b9b59eeac2814c23e2b71f8d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 15 15:27:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:53:15 2008 +0200"
      },
      "message": "genirq: revert dynarray\n\nRevert the dynarray changes. They need more thought and polishing.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ee32c9732244bde4b9b59eeac2814c23e2b71f8d",
      "tree": "6164d4d8b67a8f870f01d70eefff52ea84a8d22d",
      "parents": [
        "2cc21ef843d4fb7da122239b644a1f6f0aca60a6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 15 14:34:09 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:53:15 2008 +0200"
      },
      "message": "genirq: remove irq_to_desc_alloc\n\nRemove the leftover of sparseirqs.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "21056830c4e5c6735f1d49453398d7186ca4e8d7",
      "tree": "635346e86f1683e03aaeedbcc5a2907d971f770c",
      "parents": [
        "e65ef88c20d5c68bde18f559e0d0ad7d718beb28"
      ],
      "author": {
        "name": "Dean Nelson",
        "email": "dcn@sgi.com",
        "time": "Fri Sep 05 09:10:40 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:53:07 2008 +0200"
      },
      "message": "irq: set_irq_chip() has redundant call to irq_to_desc()\n\nExtraneous call to irq_to_desc().\n\nSigned-off-by: Dean Nelson \u003cdcn@sgi.com\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8c464a4b23ca283b414022ebc77787f3c7040fa7",
      "tree": "1d62a78b0af21492289d015c81270683f6bbe0bd",
      "parents": [
        "e492c5ae85428d4a3815d06bf308c590120b928b"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Mon Aug 25 12:41:19 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:53:04 2008 +0200"
      },
      "message": "sparseirq: move kstat_irqs from kstat to irq_desc - fix\n\nfix non-sparseirq architectures.\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cb5bc83225a86ca53bbb889ed8439e4fd6cf44ac",
      "tree": "d2c43413adbc86562ab63498e3ce14e36ba253ed",
      "parents": [
        "1d5f6b36c4736af1dac396d6267eb53dcc8c0021"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Aug 19 20:50:17 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:52:51 2008 +0200"
      },
      "message": "x86_64: rename irq_desc/irq_desc_alloc\n\nchange names:\n\n          irq_desc() \u003d\u003d\u003e irq_desc_alloc\n\t__irq_desc() \u003d\u003d\u003e irq_desc\n\nAlso split a few of the uses in lowlevel x86 code.\n\nv2: need to check if desc is null in smp_irq_move_cleanup\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7d94f7ca401dd7f445fda9a971a48aa5427b3e55",
      "tree": "8f4d4b73966fd0aa54df2da5bbcf67ea0a7ff43a",
      "parents": [
        "46b8214d12c274bd4265aae482ab7ffe69d94818"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Aug 19 20:50:14 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:52:50 2008 +0200"
      },
      "message": "irq: remove \u003e\u003d nr_irqs checking with config_have_sparse_irq\n\nremove irq limit checks - nr_irqs is dynamic and we expand anytime.\n\nv2: fix checking about result irq_cfg_without_new, so could use msi again\nv3: use irq_desc_without_new to check irq is valid\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7f95ec9e4c12fd067febfd57532da1166d75d858",
      "tree": "b395b6776485f60e3f5d9d820ad665161ef76771",
      "parents": [
        "3060d6fe28570640c2d7d66d38b9eaa848c3b9e3"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Aug 19 20:50:09 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:52:32 2008 +0200"
      },
      "message": "x86: move kstat_irqs from kstat to irq_desc\n\nbased on Eric\u0027s patch ...\n\ntogether mold it with dyn_array for irq_desc, will allcate kstat_irqs for\nnr_irq_desc alltogether if needed. -- at that point nr_cpus is known already.\n\nv2: make sure system without generic_hardirqs works they don\u0027t have irq_desc\nv3: fix merging\nv4: [mingo@elte.hu] fix typo\n\n[ mingo@elte.hu ] irq: build fix\n\nfix:\n\n arch/x86/xen/spinlock.c: In function \u0027xen_spin_lock_slow\u0027:\n arch/x86/xen/spinlock.c:90: error: \u0027struct kernel_stat\u0027 has no member named \u0027irqs\u0027\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "08678b0841267c1d00d771fe01548d86043d065e",
      "tree": "7debb21f9e9a768ced43077f7376797a0c46f8c0",
      "parents": [
        "bfea1238beac9d306eeac081c67de5ca6aec4c7a"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Aug 19 20:50:05 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:52:29 2008 +0200"
      },
      "message": "generic: sparse irqs: use irq_desc() together with dyn_array, instead of irq_desc[]\n\nadd CONFIG_HAVE_SPARSE_IRQ to for use condensed array.\nGet rid of irq_desc[] array assumptions.\n\nPreallocate 32 irq_desc, and irq_desc() will try to get more.\n\n( No change in functionality is expected anywhere, except the odd build\n  failure where we missed a code site or where a crossing commit itroduces\n  new irq_desc[] usage. )\n\nv2: according to Eric, change get_irq_desc() to irq_desc()\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "85c0f90978bf50596dbd23854648020f1f9b5bfd",
      "tree": "f66c598bb37b925dd6c74e4ce1fb06345c742c01",
      "parents": [
        "6da55c3e8da88e8a7cb6452160776ad6706798ad"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Aug 19 20:49:47 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:52:05 2008 +0200"
      },
      "message": "irq: introduce nr_irqs\n\nat this point nr_irqs is equal NR_IRQS\n\nconvert a few easy users from NR_IRQS to dynamic nr_irqs.\n\nv2: according to Eric, we need to take care of arch without generic_hardirqs\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0c5d1eb77a8be917b638344a22afe1398236482b",
      "tree": "57d57c9b270cc10428f818cfec9725a1344b78ce",
      "parents": [
        "d6d5aeb661fc14655c417f3582ae7ec52985d2a8"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Wed Oct 01 14:46:18 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 02 10:24:09 2008 +0200"
      },
      "message": "genirq: record trigger type\n\nGenirq hasn\u0027t previously recorded the trigger type used by any given IRQ,\nalthough some irq_chip support has done so.  That data can be useful when\ntroubleshooting.  This patch records it in the relevant irq_desc.status\nbits, and improves consistency between the two driver-visible calls\naffected:\n\n - Make set_irq_type() usage match request_irq() usage:\n    * IRQ_TYPE_NONE should be a NOP; succeed, so irq_chip methods\n      won\u0027t have to handle that case any more (many do it wrong).\n    * IRQ_TYPE_PROBE is ignored; any buggy out-of-tree callers\n      might need to switch over to the real IRQ probing code.\n    * emit the same diagnostics (from shared utility code)\n\n - Their kerneldoc now reflects usage:\n    * request_irq() flags include IRQF_TRIGGER_* to specify\n      active edge(s)/level ... docs previously omitted that\n    * set_irq_type() is declared in \u003clinux/irq.h\u003e so callers\n      should use the (bit-equivalent) IRQ_TYPE_* symbols there\n\nAlso: adds a warning about shared IRQs that don\u0027t end up using the\nrequested trigger mode; and fix an unrelated \"sparse\" warning.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d6d5aeb661fc14655c417f3582ae7ec52985d2a8",
      "tree": "5e168da05cb28d10b5accc74718428cfd5527201",
      "parents": [
        "7e6e178ab1548c8d894a77593e757acf4510b8ba",
        "94aca1dac6f6d21f4b07e4864baf7768cabcc6e7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 02 10:21:26 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 02 10:21:26 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.27-rc8\u0027 into genirq\n"
    },
    {
      "commit": "7e6e178ab1548c8d894a77593e757acf4510b8ba",
      "tree": "1bbebd67a2a80573f277e39e7746c2d9c19dfcf4",
      "parents": [
        "377bf1e4ac2d894791733270604594c7c851ef83"
      ],
      "author": {
        "name": "Pawel MOLL",
        "email": "pawel.moll@st.com",
        "time": "Mon Sep 01 10:12:11 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 20:36:38 2008 +0200"
      },
      "message": "genirq: irq_chip-\u003estartup() usage in setup_irq and set_irq_chained handler\n\nThis patch clarifies usage of irq_chip-\u003estartup() callback:\n\n1. The \"if (startup) startup(); else enabled();\" code in setup_irq()\n   is unnecessary, as startup() falls back to enabled() via\n   default callbacks, set by irq_chip_set_defaults().\n\n2. When using set_irq_chained_handler() the startup() was never called,\n   which is not good at all... Fixed. And again - when startup() is not\n   defined the call will fall back to enable() than to unmask() via\n   default callbacks.\n\nSigned-off-by: Pawel Moll \u003cpawel.moll@st.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "261c40c1191ad8d7a2e49fa2bb5f6a84e3d44b10",
      "tree": "31660b2632ffaa1ea43107eb941670d5c95d3fce",
      "parents": [
        "4c8573e25f27b60b495aaa23089032f685ffd5ba"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jul 25 19:45:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:07 2008 -0700"
      },
      "message": "use WARN() in kernel/irq/chip.c\n\nUse WARN() instead of a printk+WARN_ON() pair; this way the message\nbecomes part of the warning section for better reporting/collection.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\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": "d366f8cbc16882e93538d9a52423c2f50dad7c06",
      "tree": "64202cd91a942dc3ea9b88adb6da562c2fb191a8",
      "parents": [
        "f46bdf2db25dfaff3b611c9711705645cdb03acc"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Apr 04 18:11:12 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "cpumask: Cleanup more uses of CPU_MASK and NODE_MASK\n\n *  Replace usages of CPU_MASK_NONE, CPU_MASK_ALL, NODE_MASK_NONE,\n    NODE_MASK_ALL to reduce stack requirements for large NR_CPUS\n    and MAXNODES counts.\n\n *  In some cases, the cpumask variable was initialized but then overwritten\n    with another value.  This is the case for changes like this:\n\n    -       cpumask_t oldmask \u003d CPU_MASK_ALL;\n    +       cpumask_t oldmask;\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "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"
    }
  ]
}
