)]}'
{
  "log": [
    {
      "commit": "31d9d9b6d83030f748d013e61502fa5477e2ac0e",
      "tree": "503670b94d594c09daa83c047b426e7b5328aa76",
      "parents": [
        "60f96b41f71d2a13d1c0a457b8b77958f77142d1"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Fri Sep 23 17:03:06 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 03 15:35:26 2011 +0200"
      },
      "message": "genirq: Add support for per-cpu dev_id interrupts\n\nThe ARM GIC interrupt controller offers per CPU interrupts (PPIs),\nwhich are usually used to connect local timers to each core. Each CPU\nhas its own private interface to the GIC, and only sees the PPIs that\nare directly connect to it.\n\nWhile these timers are separate devices and have a separate interrupt\nline to a core, they all use the same IRQ number.\n\nFor these devices, request_irq() is not the right API as it assumes\nthat an IRQ number is visible by a number of CPUs (through the\naffinity setting), but makes it very awkward to express that an IRQ\nnumber can be handled by all CPUs, and yet be a different interrupt\nline on each CPU, requiring a different dev_id cookie to be passed\nback to the handler.\n\nThe *_percpu_irq() functions is designed to overcome these\nlimitations, by providing a per-cpu dev_id vector:\n\nint request_percpu_irq(unsigned int irq, irq_handler_t handler,\n\t\t   const char *devname, void __percpu *percpu_dev_id);\nvoid free_percpu_irq(unsigned int, void __percpu *);\nint setup_percpu_irq(unsigned int irq, struct irqaction *new);\nvoid remove_percpu_irq(unsigned int irq, struct irqaction *act);\nvoid enable_percpu_irq(unsigned int irq);\nvoid disable_percpu_irq(unsigned int irq);\n\nThe API has a number of limitations:\n- no interrupt sharing\n- no threading\n- common handler across all the CPUs\n\nOnce the interrupt is requested using setup_percpu_irq() or\nrequest_percpu_irq(), it must be enabled by each core that wishes its\nlocal interrupt to be delivered.\n\nBased on an initial patch by Thomas Gleixner.\n\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nCc: linux-arm-kernel@lists.infradead.org\nLink: http://lkml.kernel.org/r/1316793788-14500-2-git-send-email-marc.zyngier@arm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7f1b1244e159a8490d7fb13667c6cb7e1e75046b",
      "tree": "1d5f5ff0ec14e3ac84d4ec17b0de4d43dacf8118",
      "parents": [
        "770767787c23040dc152e7ae230597ff55b39470"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Apr 07 06:01:44 2011 +0900"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Apr 23 15:56:24 2011 +0200"
      },
      "message": "genirq: Support per-IRQ thread disabling.\n\nThis adds support for disabling threading on a per-IRQ basis via the IRQ\nstatus instead of the IRQ flow, which is necessary for interrupts that\ndon\u0027t follow the natural IRQ flow channels, such as those that are\nvirtually created.\n\nThe new APIs added are simply:\n\n\tirq_set_thread()\n\tirq_set_nothread()\n\nwhich follow the rest of the IRQ status routines.\n\nChained handlers also have IRQ_NOTHREAD set on them automatically, making\nthe lack of threading explicit rather than implicit. Subsequently, the\nnothread flag can be viewed through the standard genirq debugging\nfacilities.\n\n[ tglx: Fixed cleanup fallout ]\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nLink: http://lkml.kernel.org/r/%3C20110406210135.GF18426%40linux-sh.org%3E\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "0c6f8a8b917ad361319c8ace3e9f28e69bfdb4c1",
      "tree": "b4b0cb4b619368bc93ff883f4b667e05a185549b",
      "parents": [
        "dced35aeb0367dda2636ee9ee914bda14510dcc9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 13:32:20 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 14:48:19 2011 +0200"
      },
      "message": "genirq: Remove compat code\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a6967caf00ebbb2d4acdebcb72a25f2e9ba43fd2",
      "tree": "fbc957bb2e34d644164d3b0df874da88fa01ec3e",
      "parents": [
        "e1ef824146131709d7466e37f889f2dab24ca98e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 10 22:01:25 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:22 2011 +0100"
      },
      "message": "genirq: Remove desc-\u003estatus when GENERIC_HARDIRQS_NO_COMPAT\u003dy\n\nIf everything uses the right accessors, then enabling\nGENERIC_HARDIRQS_NO_COMPAT should just work. If not it will tell you.\n\nDon\u0027t be lazy and use the trick which I use in the core code!\n\ngit grep status_use_accessors\n\nwill unearth it in a split second. Offenders are tracked down and not\nslapped with stinking trouts. This time we use frozen shark for a\nbetter educational value.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5d4d8fc9ac3e9a90bbdf90bae6864cb2c01f2208",
      "tree": "5ec451adff8792ed345bac22c91d8565b11ba61a",
      "parents": [
        "f9e4989eb8183a1f33581fa1b99274287b0639d2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 17:27:18 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:21 2011 +0100"
      },
      "message": "genirq: Cleanup irq.h\n\nPut the constants into an enum and document them.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f9e4989eb8183a1f33581fa1b99274287b0639d2",
      "tree": "3b69372623761448a044a24627ceba973e25c4f1",
      "parents": [
        "1ccb4e612f68ceefb888c2c6c1def6294ea8666d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 09 14:54:49 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:21 2011 +0100"
      },
      "message": "genirq: Force wrapped access to desc-\u003estatus in core code\n\nForce the usage of wrappers by another nasty CPP substitution.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1ccb4e612f68ceefb888c2c6c1def6294ea8666d",
      "tree": "f3cae56489a56ebc54e06871abdf63193dc5a4bb",
      "parents": [
        "876dbd4cc1b35c1a4cb96a2be1d43ea0eabce3b4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 09 14:44:17 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:21 2011 +0100"
      },
      "message": "genirq: Wrap the remaning IRQ_* flags\n\nUse wrappers to keep them away from the core code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "876dbd4cc1b35c1a4cb96a2be1d43ea0eabce3b4",
      "tree": "9be1e7e4cd4a4c9fadd98a9ac637020417215521",
      "parents": [
        "2bdd10558c8d93009cb6c32ce9e30800fbb08add"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 17:28:12 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:20 2011 +0100"
      },
      "message": "genirq: Mirror irq trigger type bits in irq_data.state\n\nThat\u0027s the data structure chip functions get provided. Also allow them\nto signal the core code that they updated the flags in irq_data.state\nby returning IRQ_SET_MASK_OK_NOCOPY. The default is unchanged.\n\nThe type bits should be accessed via:\n\nval \u003d irqd_get_trigger_type(irqdata);\nand\nirqd_set_trigger_type(irqdata, val);\n\nCoders who access them directly will be tracked down and slapped with\nstinking trouts.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2bdd10558c8d93009cb6c32ce9e30800fbb08add",
      "tree": "f25b36c02faa8709628e2dbb93748f370678bb52",
      "parents": [
        "bce43032ad79fae0ce5b6174ce1321e643ceb54b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 17:22:00 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:20 2011 +0100"
      },
      "message": "genirq: Move IRQ_AFFINITY_SET to core\n\nKeep status in sync until last abuser is gone.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a005677b3dd05decdd8880cf3044ae709856f58f",
      "tree": "529d1454940fe8c6723bd54f01e009d9be2ab840",
      "parents": [
        "1ce6068dac1924f7095be5850481e790cbf1b3c1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 17:11:03 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:20 2011 +0100"
      },
      "message": "genirq: Mirror IRQ_PER_CPU and IRQ_NO_BALANCING in irq_data.state\n\nThat\u0027s the right data structure to look at for arch code.\n\nAccessor functions are provided.\n\n\t irqd_is_per_cpu(irqdata);\n\t irqd_can_balance(irqdata);\n\nCoders who access them directly will be tracked down and slapped with\nstinking trouts.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f230b6d5c48f8d12f4dfa1f8b5ab0b0320076d21",
      "tree": "d4d30f77ab196930dd2d2982e90b1f2b5fd9bbe2",
      "parents": [
        "91c499178139d6597e68db19638e4135510a34b8"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 05 15:20:04 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:18 2011 +0100"
      },
      "message": "genirq: Add IRQ_MOVE_PENDING to irq_data.state\n\nchip implementations need to know about it. Keep status in sync until\nall users are fixed. \n\nAccessor function: irqd_is_setaffinity_pending(irqdata)\n\nCoders who access them directly will be tracked down and slapped with\nstinking trouts.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6d2cd17fde1fc3e93302815f049f255bb2b3123e",
      "tree": "48995b27264ec657cae21e22a5be1f4c05973bc0",
      "parents": [
        "c531e8361f1968d664e6e97fbd3bfa4cf0e62e42"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 14:34:18 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:18 2011 +0100"
      },
      "message": "genirq: Move IRQ_WAKEUP to core\n\nNo users outside of core.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6e40262ea43c4b0e3f435b3a083e4461ef921c17",
      "tree": "4548c1607f81701b77c0d63b544096cdee8ccde0",
      "parents": [
        "2a0d6fb335d4428285dab2d254911748e6040807"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 12:36:06 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:17 2011 +0100"
      },
      "message": "genirq: Move IRQ_MASKED to core\n\nKeep status in sync until all users are fixed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2a0d6fb335d4428285dab2d254911748e6040807",
      "tree": "16090086899df6886436b89cc76e6d0d5b36d083",
      "parents": [
        "c1594b77e46124bb462f961e536120e471c67446"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 12:17:57 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:17 2011 +0100"
      },
      "message": "genirq: Move IRQ_PENDING flag to core\n\nKeep status in sync until all users are fixed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c1594b77e46124bb462f961e536120e471c67446",
      "tree": "3f52ad5809125ab5be6db1fd4b1212fe6127df66",
      "parents": [
        "163ef3091195f514a06f064b12914597d2644c55"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 22:11:30 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:17 2011 +0100"
      },
      "message": "genirq: Move IRQ_DISABLED to core\n\nKeep status in sync until all abusers are fixed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "163ef3091195f514a06f064b12914597d2644c55",
      "tree": "a6e222b1a7366aa93c884257063aa36ef17cf91f",
      "parents": [
        "3d67baec7f1b01fc289ac1a2f1a7e6d5e43391c6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 11:39:15 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:16 2011 +0100"
      },
      "message": "genirq: Move IRQ_REPLAY and IRQ_WAITING to core\n\nNo users outside of core.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "009b4c3b8ad584b3462734127a5bec680d5d6af4",
      "tree": "f7cb860dde86ba96afcc085ec7a75ca2a41e49b6",
      "parents": [
        "6954b75b488dd740950573f244ddd66fd28620aa"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 21:48:49 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:16 2011 +0100"
      },
      "message": "genirq: Add IRQ_INPROGRESS to core\n\nWe need to maintain the flag for now in both fields status and istate.\nAdd a CONFIG_GENERIC_HARDIRQS_NO_COMPAT switch to allow testing w/o\nthe status one. Wrap the access to status IRQ_INPROGRESS in a inline\nwhich can be turned of with CONFIG_GENERIC_HARDIRQS_NO_COMPAT along\nwith the define.\n\nThere is no reason that anything outside of core looks at this. That\nneeds some modifications, but we\u0027ll get there.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e6bea9c404699223322d7411c6f2ceaec02fa83c",
      "tree": "c006048322aae74b4d60ec2a2a16e1fd941af09b",
      "parents": [
        "dbec07bac614a61e3392c1e7c08cc6a49ad43f7a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 09 13:16:52 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:14 2011 +0100"
      },
      "message": "genirq: Protect tglx from tripping over his own feet\n\nThe irq_desc.status field will either go away or renamed to\nsettings. Anyway we need to maintain compatibility to avoid breaking\nthe world and some more. While moving bits into the core, I need to\navoid that I use any of the still existing IRQ_ bits in the core code\nby typos. So that file will hold the inline wrappers and some nasty\nCPP tricks to break the build when typoed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    }
  ]
}
