)]}'
{
  "log": [
    {
      "commit": "7e92b4fc345f5b6f57585fbe5ffdb0f24d7c9b26",
      "tree": "a8e9dac38a9c8dd22bd182c13e2ae0e6d32bd729",
      "parents": [
        "d0d4f69bb65a8c1c1430c577a583632709b874c6"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Tue May 08 00:36:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:23 2007 -0700"
      },
      "message": "x86, serial: convert legacy COM ports to platform devices\n\nMake x86 COM ports into platform devices and don\u0027t probe for them\nif we have PNP.\n\nThis prevents double discovery, where a device was found both by\nthe legacy probe and by 8250_pnp, e.g.,\n\n    serial8250: ttyS0 at I/O 0x3f8 (irq \u003d 4) is a 16550A\n    00:02: ttyS0 at I/O 0x3f8 (irq \u003d 4) is a 16550A\n\nThis also means IRDA devices without a UART PNP ID will no longer be\nclaimed by the serial driver, which might require changes in IRDA\ndrivers and administration.\n\nIn addition to this patch, you may need to configure a setserial init\nscript, e.g., /etc/init.d/setserial, so it doesn\u0027t poke legacy UART\nstuff back in.  On Debian, \"dpkg-reconfigure setserial\" with the \"kernel\"\noption does this.\n\nTo force the old legacy probe behavior even when we have PNPBIOS or\nACPI, load the new legacy_serial module (or build 8250 static) with\nthe \"legacy_serial.force\" option.\n\n[akpm@linux-foundation.org: fix makefiles]\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Keith Owens \u003ckaos@ocs.com.au\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Adam Belay \u003cambx1@neo.rr.com\u003e\nCc: Matthieu CASTET \u003ccastet.matthieu@free.fr\u003e\nCc: Jean Tourrilhes \u003cjt@hpl.hp.com\u003e\nCc: Matthew Garrett \u003cmjg59@srcf.ucam.org\u003e\nCc: Ville Syrjala \u003csyrjala@sci.fi\u003e\nCc: Russell King \u003crmk+serial@arm.linux.org.uk\u003e\nCc: Samuel Ortiz \u003csamuel@sortiz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f81dd149806bc53c68c92f34d61f88427079039",
      "tree": "ae60b9f2485a44d68b91aa18bf0991e6cf1181f1",
      "parents": [
        "cab9bdd14dd7d8091b0aac7877ae9f29724eb741"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Tue May 08 00:35:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:23 2007 -0700"
      },
      "message": "PNP: notice whether we have PNP devices (PNPBIOS or PNPACPI)\n\nThis series converts i386 and x86_64 legacy serial ports to be platform\ndevices and prevents probing for them if we have PNP.\n\nThis prevents double discovery, where a device was found both by the legacy\nprobe and by 8250_pnp.\n\nThis also prevents the serial driver from claiming IRDA devices (unless they\nhave a UART PNP ID).  The serial legacy probe sometimes assumed the wrong IRQ,\nso the user had to use \"setserial\" to fix it.\n\nRemoving the need for setserial to make IRDA devices work seems good, but it\ndoes break some things.  In particular, you may need to keep setserial from\npoking legacy UART stuff back in by doing something like \"dpkg-reconfigure\nsetserial\" with the \"kernel\" option.  Otherwise, the setserial-discovered\n\"UART\" will claim resources and prevent the IRDA driver from loading.\n\nThis patch:\n\nIf we can discover devices using PNP, we can skip some legacy probes.  This\nflag (\"pnp_platform_devices\") indicates that PNPBIOS or PNPACPI is enabled and\nshould tell us about builtin devices.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Keith Owens \u003ckaos@ocs.com.au\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Adam Belay \u003cambx1@neo.rr.com\u003e\nCc: Matthieu CASTET \u003ccastet.matthieu@free.fr\u003e\nCc: Jean Tourrilhes \u003cjt@hpl.hp.com\u003e\nCc: Matthew Garrett \u003cmjg59@srcf.ucam.org\u003e\nCc: Ville Syrjala \u003csyrjala@sci.fi\u003e\nCc: Russell King \u003crmk+serial@arm.linux.org.uk\u003e\nCc: Samuel Ortiz \u003csamuel@sortiz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "db05c3b1ddaa06e658548f3d99e31a188b0b3bcc",
      "tree": "5b645d4da752988c21b6a66c7afe8a34f994c8df",
      "parents": [
        "ffa68e79ffa952ec909b66505f004e7323316369"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Tue May 08 00:35:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:22 2007 -0700"
      },
      "message": "Char: cyclades, cy_readX/writeX cleanup\n\ncyclades, cy_readX/writeX cleanup\n\n- cy_readX are placeholders for readX, remove it\n- move cy_writeX macros into do {} while(0) to be safe\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d85a60d85ea5b7c597508c1510c88e657773d378",
      "tree": "2b5d1a5311074de8c12811e7ddf26e3cda4a41a0",
      "parents": [
        "951744fea0aea9adbd7c8cacb3605f2d69a66f96"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bwalle@suse.de",
        "time": "Tue May 08 00:35:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:22 2007 -0700"
      },
      "message": "Add IRQF_IRQPOLL flag (common code)\n\nirqpoll is broken on some architectures that don\u0027t use the IRQ 0 for the timer\ninterrupt like IA64.  This patch adds a IRQF_IRQPOLL flag.\n\nEach architecture is handled in a separate pach.  As I left the irq \u003d\u003d 0 as\ncondition, this should not break existing architectures that use timer_irq \u003d\u003d\n0 and that I did\u0027t address with that patch (because I don\u0027t know).\n\nThis patch:\n\nThis patch adds a IRQF_IRQPOLL flag that the interrupt registration code could\nuse for the interrupt it wants to use for IRQ polling.\n\nBecause this must not be the timer interrupt, an additional flag was added\ninstead of re-using the IRQF_TIMER constant.  Until all architectures will\nhave an IRQF_IRQPOLL interrupt, irq \u003d\u003d 0 will stay as alternative as it should\nnot break anything.\n\nAlso, note_interrupt() is called on CPU-specific interrupts to be used as\ninterrupt source for IRQ polling.\n\nSigned-off-by: Bernhard Walle \u003cbwalle@suse.de\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: Grant Grundler \u003cgrundler@google.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "277866a0e3a4f97e859f7a621f5b4f5359c9526c",
      "tree": "20b244f5c0c7b6a692f0290f70f0fefae9d88d5a",
      "parents": [
        "79df3c19aa601d264719b04e3a788a7b852f4859"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 08 00:35:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:21 2007 -0700"
      },
      "message": "nfs: fix congestion control: use atomic_longs\n\nChange the atomic_t in struct nfs_server to atomic_long_t in anticipation\nof machines that can handle 8+TB of (4K) pages under writeback.\n\nHowever I suspect other things in NFS will start going *bang* by then.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cc38682f356f95ca0e409679b76db46af6036460",
      "tree": "6d4df198c8a72c6bcb8649cd30c147c188dbec3b",
      "parents": [
        "0ba34e197a45c1639aa56aea0399e97f827abb35"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Tue May 08 00:35:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:20 2007 -0700"
      },
      "message": "Some grammatical fixups and additions to atomic.h kernel-doc content\n\nTweak and add content for extractable documentation in asm-i386/atomic.h.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nAcked-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": "a436ed9c5106b41606cbb55ab3b28389fe8ae04f",
      "tree": "b8df0bde6d7eb2808c37da815d8857396ee1eaf1",
      "parents": [
        "5dc12ddee93d63d7107cbbf70db23476d7b30e43"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue May 08 00:35:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:20 2007 -0700"
      },
      "message": "x86: create asm/cmpxchg.h\n\ni386:\n\n  Rearrange the cmpxchg code to allow atomic.h to get it without needing to\n  include system.h.  This kills warnings in the UML build from atomic.h about\n  implicit declarations of cmpxchg symbols.  The i386 build presumably isn\u0027t\n  seeing this because a separate inclusion of system.h is covering it over.\n\n  The cmpxchg stuff is moved to asm-i386/cmpxchg.h, with an include left in\n  system.h for the benefit of generic code which expects cmpxchg there.\n\n  Meanwhile, atomic.h includes cmpxchg.h.\n\n  This causes no noticable damage to the i386 build.\n\nx86_64:\n\n  Move cmpxchg into its own header.  atomic.h already included system.h, so\n  this is changed to include cmpxchg.h.\n\n  This is purely cleanup - it\u0027s not fixing any warnings - so if the x86_64\n  system.h isn\u0027t considered as cleanup-worthy as i386, then this can be\n  dropped.\n\n  It causes no noticable damage to the x86_64 build.\n\numl:\n\n  The i386 and x86_64 cmpxchg patches require an asm-um/cmpxchg.h for the\n  UML build.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5dc12ddee93d63d7107cbbf70db23476d7b30e43",
      "tree": "a0c53f8a4d826e73213268c87657ae933d7634b3",
      "parents": [
        "c343c14aec1e70a51575e3c29391ee86ae7dbeb2"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue May 08 00:34:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:20 2007 -0700"
      },
      "message": "Remove tas()\n\ntas() has no users, so get rid of it.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c343c14aec1e70a51575e3c29391ee86ae7dbeb2",
      "tree": "eddb78478509927951aee847fa135da1a958fdc6",
      "parents": [
        "469b50b622a4f581fd38e3eaf8a94d453f01cc81"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue May 08 00:34:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:20 2007 -0700"
      },
      "message": "local_t: x86_64 extension\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "469b50b622a4f581fd38e3eaf8a94d453f01cc81",
      "tree": "321092f58edc487b1b5de4aa029b574ee4377815",
      "parents": [
        "6d8944a0d7fa59e4db0d7b792e6138043ee0ad2c"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue May 08 00:34:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:20 2007 -0700"
      },
      "message": "local_t: sparc64 cleanup\n\nsparc64 local_t cleanup : simply use asm-generic/local.h.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d8944a0d7fa59e4db0d7b792e6138043ee0ad2c",
      "tree": "7bd2b803b6b549e9b69515a0d9f0d02c680e5329",
      "parents": [
        "14c846a4d8555d4645d502e3cd951f15ee7e3d55"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue May 08 00:34:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:20 2007 -0700"
      },
      "message": "local_t: powerpc extension\n\n[akpm@linux-foundation.org: build fixes]\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "14c846a4d8555d4645d502e3cd951f15ee7e3d55",
      "tree": "fca72967c7051585c984b1f07aba4c2cc79ab6f0",
      "parents": [
        "7232311ef14c274d88871212a07557f18f4140d1"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue May 08 00:34:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:20 2007 -0700"
      },
      "message": "local_t: parisc cleanup\n\nparisc architecture local_t cleanup : use asm-generic/local.h.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7232311ef14c274d88871212a07557f18f4140d1",
      "tree": "46027210d51dee5fd5086f159d98bac3535a005d",
      "parents": [
        "4431f46f5fe0e3b740dfaf09ba34f0b14688185e"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue May 08 00:34:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:20 2007 -0700"
      },
      "message": "local_t: mips extension\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4431f46f5fe0e3b740dfaf09ba34f0b14688185e",
      "tree": "d60c7604c82a02da61a8638891b21606c635146b",
      "parents": [
        "a075227948636e10aa2cc2d8725fbbab27681d4a"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue May 08 00:34:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:20 2007 -0700"
      },
      "message": "local_t: ia64 extension\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a075227948636e10aa2cc2d8725fbbab27681d4a",
      "tree": "6b459363916c4db4cc62a293f122f4c9172b1d6a",
      "parents": [
        "f43f7b46eb101f50950cfcead0cb0b7a9c4f6823"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue May 08 00:34:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:20 2007 -0700"
      },
      "message": "local_t: i386 extension\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f43f7b46eb101f50950cfcead0cb0b7a9c4f6823",
      "tree": "0a966f57c7f0daa1346e3f3dcc70d87c734f62fc",
      "parents": [
        "5e97b9309baa76b476ec7e0d6e9c097edeb4142c"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue May 08 00:34:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:20 2007 -0700"
      },
      "message": "local_t: alpha extension\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5e97b9309baa76b476ec7e0d6e9c097edeb4142c",
      "tree": "f36f3410ce537babc60025ea499970d148c69b14",
      "parents": [
        "2856f5e31c1413bf6e4f1371e07e17078a5fee5e"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue May 08 00:34:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:20 2007 -0700"
      },
      "message": "local_t: architecture independent extension\n\nThis series extena and standardises local_t operations on each architecture,\nallowing a rich set of atomic operations to be done on per-cpu data with\nminimal performance impact.  On architectures where there seems to be no\ndifference between the SMP and UP operation (same memory barriers, same\nLOCKing), local.h simply includes asm-generic/local.h, which removes\nduplicated code from the current kernel tree.\n\nThis patch:\n\nlocal_t: architecture independent extension\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2856f5e31c1413bf6e4f1371e07e17078a5fee5e",
      "tree": "587dfe584f0913813d0cf2414a9378618143db15",
      "parents": [
        "79d365a306c3af53d8a732fec79b76c0b285d816"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "compudj@krystal.dyndns.org",
        "time": "Tue May 08 00:34:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:20 2007 -0700"
      },
      "message": "atomic.h: atomic_add_unless as inline. Remove system.h atomic.h circular dependency\n\natomic_add_unless as inline. Remove system.h atomic.h circular dependency.\nI agree (with Andi Kleen) this typeof is not needed and more error\nprone. All the original atomic.h code that uses cmpxchg (which includes\nthe atomic_add_unless) uses defines instead of inline functions,\nprobably to circumvent a circular dependency between system.h and\natomic.h on powerpc (which my patch addresses). Therefore, it makes\nsense to use inline functions that will provide type checking.\n\natomic_add_unless as inline. Remove system.h atomic.h circular dependency.\nDigging into the FRV architecture shows me that it is also affected by\nsuch a circular dependency. Here is the diff applying this against the\nrest of my atomic.h patches.\n\nIt applies over the atomic.h standardization patches.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79d365a306c3af53d8a732fec79b76c0b285d816",
      "tree": "1fa4e6fd55f46b715e7b3286e65e935dd2faff5f",
      "parents": [
        "2549c8589cc0550f0714d32720877d7af133ae40"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue May 08 00:34:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:19 2007 -0700"
      },
      "message": "atomic.h: add atomic64 cmpxchg, xchg and add_unless to x86_64\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2549c8589cc0550f0714d32720877d7af133ae40",
      "tree": "e481403722dab01dc61e724c5c1669af60fc4eda",
      "parents": [
        "f46e477ed94f6407982690ef53dab7898834268f"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue May 08 00:34:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:19 2007 -0700"
      },
      "message": "atomic.h: add atomic64 cmpxchg, xchg and add_unless to sparc64\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f46e477ed94f6407982690ef53dab7898834268f",
      "tree": "40b53e2bfab3f532fcd490a5aad54b39deef7a51",
      "parents": [
        "8ffe9d0bffa441de41d8543a984e552d49293641"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue May 08 00:34:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:19 2007 -0700"
      },
      "message": "atomic.h: add atomic64 cmpxchg, xchg and add_unless to powerpc\n\n[akpm@linux-foundation.org: build fixes]\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8ffe9d0bffa441de41d8543a984e552d49293641",
      "tree": "051ebf19cd050298545a46649673f4877ac5301b",
      "parents": [
        "e12f644bd085ce64a6ecca4e466fcdc2c2df4c0f"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue May 08 00:34:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:19 2007 -0700"
      },
      "message": "atomic.h: add atomic64 cmpxchg, xchg and add_unless to parisc\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nAcked-by: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e12f644bd085ce64a6ecca4e466fcdc2c2df4c0f",
      "tree": "fef1105bc80332945ca73fa77b3aae27e9b92bdc",
      "parents": [
        "819791319becde19e32788a34cc2556aef9f9e6d"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue May 08 00:34:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:19 2007 -0700"
      },
      "message": "atomic.h: add atomic64 cmpxchg, xchg and add_unless to mips\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "819791319becde19e32788a34cc2556aef9f9e6d",
      "tree": "50c0b7cc25e4338b1e99002ac40f592da2536c75",
      "parents": [
        "e656e245d5adf19f3c431e7f7792659c204e32f2"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue May 08 00:34:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:19 2007 -0700"
      },
      "message": "atomic.h: add atomic64 cmpxchg, xchg and add_unless to ia64\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e656e245d5adf19f3c431e7f7792659c204e32f2",
      "tree": "55c58fcf25c8a7d527dae3b4fa271aa7ec3dc944",
      "parents": [
        "bb2382c3e4395ab595278cc7b92ac3f2eaf23f66"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue May 08 00:34:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:19 2007 -0700"
      },
      "message": "atomic.h: i386 type safety fix\n\nRemove an explicit cast to an integer type for the result returned by cmpxchg.\n It is not per se a problem on the i386 architecture, because sizeof(int) \u003d\u003d\nsizeof(long), but whenever this code is cut\u0027n\u0027pasted to a accept passing an\natomic64_t value as parameter to cmpxchg, xchg and add_unless, having 64 bits\ninputs casted to 32 bits.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb2382c3e4395ab595278cc7b92ac3f2eaf23f66",
      "tree": "9a162bcdff0bc8a19b1ca26ac954a27b0178fb2c",
      "parents": [
        "e96e69942312314c061eb2fdd947a7a1211d62f8"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue May 08 00:34:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:19 2007 -0700"
      },
      "message": "atomic.h: complete atomic_long operations in asm-generic\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e96e69942312314c061eb2fdd947a7a1211d62f8",
      "tree": "179d1e968a5e55e4a8bb2f5d2c53fe0781781640",
      "parents": [
        "bf8f6e5b3e51ee0c64c2d1350c70198ddc8ad3f7"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue May 08 00:34:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:19 2007 -0700"
      },
      "message": "atomic.h: add atomic64 cmpxchg, xchg and add_unless to alpha\n\nThis series mainly adds support for missing 64 bits cmpxchg and 64 bits atomic\nadd unless.  Therefore, principally 64 bits architectures are targeted by\nthese patches.  It also adds the complete list of atomic operations on the\natomic_long type.\n\nThis patch:\n\natomic.h: add atomic64 cmpxchg, xchg and add_unless to alpha\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bf8f6e5b3e51ee0c64c2d1350c70198ddc8ad3f7",
      "tree": "c48ebb92f836cfac58465eacc9658fbc2bac4783",
      "parents": [
        "4c4308cb93450989846ac49faeb6dab943e7657e"
      ],
      "author": {
        "name": "Ananth N Mavinakayanahalli",
        "email": "ananth@in.ibm.com",
        "time": "Tue May 08 00:34:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:19 2007 -0700"
      },
      "message": "Kprobes: The ON/OFF knob thru debugfs\n\nThis patch provides a debugfs knob to turn kprobes on/off\n\no A new file /debug/kprobes/enabled indicates if kprobes is enabled or\n  not (default enabled)\no Echoing 0 to this file will disarm all installed probes\no Any new probe registration when disabled will register the probe but\n  not arm it. A message will be printed out in such a case.\no When a value 1 is echoed to the file, all probes (including ones\n  registered in the intervening period) will be enabled\no Unregistration will happen irrespective of whether probes are globally\n  enabled or not.\no Update Documentation/kprobes.txt to reflect these changes. While there\n  also update the doc to make it current.\n\nWe are also looking at providing sysrq key support to tie to the disabling\nfeature provided by this patch.\n\n[akpm@linux-foundation.org: Use bool like a bool!]\n[akpm@linux-foundation.org: add printk facility levels]\n[cornelia.huck@de.ibm.com: Add the missing arch_trampoline_kprobe() for s390]\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Srinivasa DS \u003csrinivasa@in.ibm.com\u003e\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4c4308cb93450989846ac49faeb6dab943e7657e",
      "tree": "c06092cae6f95a243cdd758d07491cf5fa24a1dd",
      "parents": [
        "6f716acd5fa20ae6a35ab29ae37fa9189e839ed5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 08 00:34:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:19 2007 -0700"
      },
      "message": "kprobes: kretprobes simplifications\n\n - consolidate duplicate code in all arch_prepare_kretprobe instances\n   into common code\n - replace various odd helpers that use hlist_for_each_entry to get\n   the first elemenet of a list with either a hlist_for_each_entry_save\n   or an opencoded access to the first element in the caller\n - inline add_rp_inst into it\u0027s only remaining caller\n - use kretprobe_inst_table_head instead of opencoding it\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "416ce32e704d778c283f2f86cadd836cd5d3696c",
      "tree": "ede7fe08271e40367d228ef4b7a79eba68030ad4",
      "parents": [
        "19bfe37caa8184768ecc15269302f42036625259"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue May 08 00:34:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:18 2007 -0700"
      },
      "message": "revert \"rtc: Add rtc_merge_alarm()\"\n\nDavid says \"884b4aaaa242a2db8c8252796f0118164a680ab5 should be reverted.  It\nadded an rtc_merge_alarm() call to the 2.6.20 kernel, which hasn\u0027t yet been\nused by any in-tree driver; this patch obviates the need for that call, and\nuses a more robust approach.\"\n\nCc: Scott Wood \u003cscottwood@freescale.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87ac84f42a7a580d0dd72ae31d6a5eb4bfe04c6d",
      "tree": "e0750f2ee2146c990d048737aff0fb91942e4c54",
      "parents": [
        "9b5ef64a3a73757f1acdfb8565b5105115fc6e62"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue May 08 00:34:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:18 2007 -0700"
      },
      "message": "rtc-cmos wakeup interface\n\nI finally got around to testing the updated wakeup event hooks for rtc-cmos,\nand they follow in two patches:\n\n - Interface update ... when a simple enable_irq_wake() doesn\u0027t suffice,\n   the platform data can hold suspend/resume callback hooks.\n\n - ACPI implementation ... provides callback hooks to do ACPI magic, and\n   eliminate the legacy /proc/acpi/alarm file.\n\nThe interface update could go into 2.6.21, but that\u0027s not essential; they\nwill be NOPs on most PCs, without the ACPI stuff.\n\nI suspect the ACPI folk may have opinions about how to merge that second\npatch, and how to obsolete that legacy procfs file.  I\u0027d like to see that\nmerge into 2.6.22 if possible...\n\nAs for how to kick it in ... two ways:\n\n - The appended \"rtcwake\" program; updated since the last time it was\n   posted, it deals much better with timezones and DST.\n\n - Write the /sys/class/rtc/.../wakealarm file, then go to sleep.\n\nFor some reason RTC wake from \"swsusp\" stopped working on a system where\nit previously worked; the alarm setting appears to get clobbered.  But\non the bright side, RTC wake from \"standby\" worked on a system that had\nnever been able to resume from that state before ... IDEACPI is my guess\nas to why it finally started to work.  It\u0027s the old \"two steps forward,\none step back\" dance, I guess.\n\n- Dave\n\n/* gcc -Wall -Os -o rtcwake rtcwake.c */\n\n#include \u003cstdio.h\u003e\n#include \u003cgetopt.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cstring.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cerrno.h\u003e\n#include \u003ctime.h\u003e\n\n#include \u003csys/ioctl.h\u003e\n#include \u003csys/time.h\u003e\n#include \u003csys/types.h\u003e\n\n#include \u003clinux/rtc.h\u003e\n\n/* constants from legacy PC/AT hardware */\n#define\tRTC_PF\t0x40\n#define\tRTC_AF\t0x20\n#define\tRTC_UF\t0x10\n\n/*\n * rtcwake -- enter a system sleep state until specified wakeup time.\n *\n * This uses cross-platform Linux interfaces to enter a system sleep state,\n * and leave it no later than a specified time.  It uses any RTC framework\n * driver that supports standard driver model wakeup flags.\n *\n * This is normally used like the old \"apmsleep\" utility, to wake from a\n * suspend state like ACPI S1 (standby) or S3 (suspend-to-RAM).  Most\n * platforms can implement those without analogues of BIOS, APM, or ACPI.\n *\n * On some systems, this can also be used like \"nvram-wakeup\", waking\n * from states like ACPI S4 (suspend to disk).  Not all systems have\n * persistent media that are appropriate for such suspend modes.\n *\n * The best way to set the system\u0027s RTC is so that it holds the current\n * time in UTC.  Use the \"-l\" flag to tell this program that the system\n * RTC uses a local timezone instead (maybe you dual-boot MS-Windows).\n */\n\nstatic char\t\t*progname;\n\n#ifdef\tDEBUG\n#define\tVERSION\t\"1.0 dev (\" __DATE__ \" \" __TIME__ \")\"\n#else\n#define\tVERSION\t\"0.9\"\n#endif\n\nstatic unsigned\t\tverbose;\nstatic int\t\trtc_is_utc \u003d -1;\n\nstatic int may_wakeup(const char *devname)\n{\n\tchar\tbuf[128], *s;\n\tFILE\t*f;\n\n\tsnprintf(buf, sizeof buf, \"/sys/class/rtc/%s/device/power/wakeup\",\n\t\t\tdevname);\n\tf \u003d fopen(buf, \"r\");\n\tif (!f) {\n\t\tperror(buf);\n\t\treturn 0;\n\t}\n\tfgets(buf, sizeof buf, f);\n\tfclose(f);\n\n\ts \u003d strchr(buf, \u0027\\n\u0027);\n\tif (!s)\n\t\treturn 0;\n\t*s \u003d 0;\n\n\t/* wakeup events could be disabled or not supported */\n\treturn strcmp(buf, \"enabled\") \u003d\u003d 0;\n}\n\n/* all times should be in UTC */\nstatic time_t\tsys_time;\nstatic time_t\trtc_time;\n\nstatic int get_basetimes(int fd)\n{\n\tstruct tm\ttm;\n\tstruct rtc_time\trtc;\n\n\t/* this process works in RTC time, except when working\n\t * with the system clock (which always uses UTC).\n\t */\n\tif (rtc_is_utc)\n\t\tsetenv(\"TZ\", \"UTC\", 1);\n\ttzset();\n\n\t/* read rtc and system clocks \"at the same time\", or as\n\t * precisely (+/- a second) as we can read them.\n\t */\n\tif (ioctl(fd, RTC_RD_TIME, \u0026rtc) \u003c 0) {\n\t\tperror(\"read rtc time\");\n\t\treturn 0;\n\t}\n\tsys_time \u003d time(0);\n\tif (sys_time \u003d\u003d (time_t)-1) {\n\t\tperror(\"read system time\");\n\t\treturn 0;\n\t}\n\n\t/* convert rtc_time to normal arithmetic-friendly form,\n\t * updating tm.tm_wday as used by asctime().\n\t */\n\tmemset(\u0026tm, 0, sizeof tm);\n\ttm.tm_sec \u003d rtc.tm_sec;\n\ttm.tm_min \u003d rtc.tm_min;\n\ttm.tm_hour \u003d rtc.tm_hour;\n\ttm.tm_mday \u003d rtc.tm_mday;\n\ttm.tm_mon \u003d rtc.tm_mon;\n\ttm.tm_year \u003d rtc.tm_year;\n\ttm.tm_isdst \u003d rtc.tm_isdst;\t/* stays unspecified? */\n\trtc_time \u003d mktime(\u0026tm);\n\n\tif (rtc_time \u003d\u003d (time_t)-1) {\n\t\tperror(\"convert rtc time\");\n\t\treturn 0;\n\t}\n\n\tif (verbose) {\n\t\tif (!rtc_is_utc) {\n\t\t\tprintf(\"\\ttzone   \u003d %ld\\n\", timezone);\n\t\t\tprintf(\"\\ttzname  \u003d %s\\n\", tzname[daylight]);\n\t\t\tgmtime_r(\u0026rtc_time, \u0026tm);\n\t\t}\n\t\tprintf(\"\\tsystime \u003d %ld, (UTC) %s\",\n\t\t\t\t(long) sys_time, asctime(gmtime(\u0026sys_time)));\n\t\tprintf(\"\\trtctime \u003d %ld, (UTC) %s\",\n\t\t\t\t(long) rtc_time, asctime(\u0026tm));\n\t}\n\n\treturn 1;\n}\n\nstatic int setup_alarm(int fd, time_t *wakeup)\n{\n\tstruct tm\t\t*tm;\n\tstruct rtc_wkalrm\twake;\n\n\ttm \u003d gmtime(wakeup);\n\n\twake.time.tm_sec \u003d tm-\u003etm_sec;\n\twake.time.tm_min \u003d tm-\u003etm_min;\n\twake.time.tm_hour \u003d tm-\u003etm_hour;\n\twake.time.tm_mday \u003d tm-\u003etm_mday;\n\twake.time.tm_mon \u003d tm-\u003etm_mon;\n\twake.time.tm_year \u003d tm-\u003etm_year;\n\twake.time.tm_wday \u003d tm-\u003etm_wday;\n\twake.time.tm_yday \u003d tm-\u003etm_yday;\n\twake.time.tm_isdst \u003d tm-\u003etm_isdst;\n\n\t/* many rtc alarms only support up to 24 hours from \u0027now\u0027 ... */\n\tif ((rtc_time + (24 * 60 * 60)) \u003e *wakeup) {\n\t\tif (ioctl(fd, RTC_ALM_SET, \u0026wake.time) \u003c 0) {\n\t\t\tperror(\"set rtc alarm\");\n\t\t\treturn 0;\n\t\t}\n\t\tif (ioctl(fd, RTC_AIE_ON, 0) \u003c 0) {\n\t\t\tperror(\"enable rtc alarm\");\n\t\t\treturn 0;\n\t\t}\n\n\t/* ... so use the \"more than 24 hours\" request only if we must */\n\t} else {\n\t\t/* avoid an extra AIE_ON call */\n\t\twake.enabled \u003d 1;\n\n\t\tif (ioctl(fd, RTC_WKALM_SET, \u0026wake) \u003c 0) {\n\t\t\tperror(\"set rtc wake alarm\");\n\t\t\treturn 0;\n\t\t}\n\t}\n\n\treturn 1;\n}\n\nstatic void suspend_system(const char *suspend)\n{\n\tFILE\t*f \u003d fopen(\"/sys/power/state\", \"w\");\n\n\tif (!f) {\n\t\tperror(\"/sys/power/state\");\n\t\treturn;\n\t}\n\n\tfprintf(f, \"%s\\n\", suspend);\n\tfflush(f);\n\n\t/* this executes after wake from suspend */\n\tfclose(f);\n}\n\nint main(int argc, char **argv)\n{\n\tstatic char\t\t*devname \u003d \"rtc0\";\n\tstatic unsigned\t\tseconds \u003d 0;\n\tstatic char\t\t*suspend \u003d \"standby\";\n\n\tint\t\tt;\n\tint\t\tfd;\n\ttime_t\t\talarm \u003d 0;\n\n\tprogname \u003d strrchr(argv[0], \u0027/\u0027);\n\tif (progname)\n\t\tprogname++;\n\telse\n\t\tprogname \u003d argv[0];\n\tif (chdir(\"/dev/\") \u003c 0) {\n\t\tperror(\"chdir /dev\");\n\t\treturn 1;\n\t}\n\n\twhile ((t \u003d getopt(argc, argv, \"d:lm:s:t:uVv\")) !\u003d EOF) {\n\t\tswitch (t) {\n\n\t\tcase \u0027d\u0027:\n\t\t\tdevname \u003d optarg;\n\t\t\tbreak;\n\n\t\tcase \u0027l\u0027:\n\t\t\trtc_is_utc \u003d 0;\n\t\t\tbreak;\n\n\t\t/* what system power mode to use?  for now handle only\n\t\t * standardized mode names; eventually when systems define\n\t\t * their own state names, parse /sys/power/state.\n\t\t *\n\t\t * \"on\" is used just to test the RTC alarm mechanism,\n\t\t * bypassing all the wakeup-from-sleep infrastructure.\n\t\t */\n\t\tcase \u0027m\u0027:\n\t\t\tif (strcmp(optarg, \"standby\") \u003d\u003d 0\n\t\t\t\t\t|| strcmp(optarg, \"mem\") \u003d\u003d 0\n\t\t\t\t\t|| strcmp(optarg, \"disk\") \u003d\u003d 0\n\t\t\t\t\t|| strcmp(optarg, \"on\") \u003d\u003d 0\n\t\t\t\t\t) {\n\t\t\t\tsuspend \u003d optarg;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tprintf(\"%s: unrecognized suspend state \u0027%s\u0027\\n\",\n\t\t\t\t\tprogname, optarg);\n\t\t\tgoto usage;\n\n\t\t/* alarm time, seconds-to-sleep (relative) */\n\t\tcase \u0027s\u0027:\n\t\t\tt \u003d atoi(optarg);\n\t\t\tif (t \u003c 0) {\n\t\t\t\tprintf(\"%s: illegal interval %s seconds\\n\",\n\t\t\t\t\t\tprogname, optarg);\n\t\t\t\tgoto usage;\n\t\t\t}\n\t\t\tseconds \u003d t;\n\t\t\tbreak;\n\n\t\t/* alarm time, time_t (absolute, seconds since 1/1 1970 UTC) */\n\t\tcase \u0027t\u0027:\n\t\t\tt \u003d atoi(optarg);\n\t\t\tif (t \u003c 0) {\n\t\t\t\tprintf(\"%s: illegal time_t value %s\\n\",\n\t\t\t\t\t\tprogname, optarg);\n\t\t\t\tgoto usage;\n\t\t\t}\n\t\t\talarm \u003d t;\n\t\t\tbreak;\n\n\t\tcase \u0027u\u0027:\n\t\t\trtc_is_utc \u003d 1;\n\t\t\tbreak;\n\n\t\tcase \u0027v\u0027:\n\t\t\tverbose++;\n\t\t\tbreak;\n\n\t\tcase \u0027V\u0027:\n\t\t\tprintf(\"%s: version %s\\n\", progname, VERSION);\n\t\t\tbreak;\n\n\t\tdefault:\nusage:\n\t\t\tprintf(\"usage: %s [options]\"\n\t\t\t\t\"\\n\\t\"\n\t\t\t\t\"-d rtc0|rtc1|...\\t(select rtc)\"\n\t\t\t\t\"\\n\\t\"\n\t\t\t\t\"-l\\t\\t\\t(RTC uses local timezone)\"\n\t\t\t\t\"\\n\\t\"\n\t\t\t\t\"-m standby|mem|...\\t(sleep mode)\"\n\t\t\t\t\"\\n\\t\"\n\t\t\t\t\"-s seconds\\t\\t(seconds to sleep)\"\n\t\t\t\t\"\\n\\t\"\n\t\t\t\t\"-t time_t\\t\\t(time to wake)\"\n\t\t\t\t\"\\n\\t\"\n\t\t\t\t\"-u\\t\\t\\t(RTC uses UTC)\"\n\t\t\t\t\"\\n\\t\"\n\t\t\t\t\"-v\\t\\t\\t(verbose messages)\"\n\t\t\t\t\"\\n\\t\"\n\t\t\t\t\"-V\\t\\t\\t(show version)\"\n\t\t\t\t\"\\n\",\n\t\t\t\tprogname);\n\t\t\treturn 1;\n\t\t}\n\t}\n\n\tif (!alarm \u0026\u0026 !seconds) {\n\t\tprintf(\"%s: must provide wake time\\n\", progname);\n\t\tgoto usage;\n\t}\n\n\t/* REVISIT:  if /etc/adjtime exists, read it to see what\n\t * the util-linux version of hwclock assumes.\n\t */\n\tif (rtc_is_utc \u003d\u003d -1) {\n\t\tprintf(\"%s: assuming RTC uses UTC ...\\n\", progname);\n\t\trtc_is_utc \u003d 1;\n\t}\n\n\t/* this RTC must exist and (if we\u0027ll sleep) be wakeup-enabled */\n\tfd \u003d open(devname, O_RDONLY);\n\tif (fd \u003c 0) {\n\t\tperror(devname);\n\t\treturn 1;\n\t}\n\tif (strcmp(suspend, \"on\") !\u003d 0 \u0026\u0026 !may_wakeup(devname)) {\n\t\tprintf(\"%s: %s not enabled for wakeup events\\n\",\n\t\t\t\tprogname, devname);\n\t\treturn 1;\n\t}\n\n\t/* relative or absolute alarm time, normalized to time_t */\n\tif (!get_basetimes(fd))\n\t\treturn 1;\n\tif (verbose)\n\t\tprintf(\"alarm %ld, sys_time %ld, rtc_time %ld, seconds %u\\n\",\n\t\t\t\talarm, sys_time, rtc_time, seconds);\n\tif (alarm) {\n\t\tif (alarm \u003c sys_time) {\n\t\t\tprintf(\"%s: time doesn\u0027t go backward to %s\",\n\t\t\t\t\tprogname, ctime(\u0026alarm));\n\t\t\treturn 1;\n\t\t}\n\t\talarm +\u003d sys_time - rtc_time;\n\t} else\n\t\talarm \u003d rtc_time + seconds + 1;\n\tif (setup_alarm(fd, \u0026alarm) \u003c 0)\n\t\treturn 1;\n\n\tsync();\n\tprintf(\"%s: wakeup from \\\"%s\\\" using %s at %s\",\n\t\t\tprogname, suspend, devname,\n\t\t\tctime(\u0026alarm));\n\tfflush(stdout);\n\tusleep(10 * 1000);\n\n\tif (strcmp(suspend, \"on\") !\u003d 0)\n\t\tsuspend_system(suspend);\n\telse {\n\t\tunsigned long data;\n\n\t\tdo {\n\t\t\tt \u003d read(fd, \u0026data, sizeof data);\n\t\t\tif (t \u003c 0) {\n\t\t\t\tperror(\"rtc read\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (verbose)\n\t\t\t\tprintf(\"... %s: %03lx\\n\", devname, data);\n\t\t} while (!(data \u0026 RTC_AF));\n\t}\n\n\tif (ioctl(fd, RTC_AIE_OFF, 0) \u003c 0)\n\t\tperror(\"disable rtc alarm interrupt\");\n\n\tclose(fd);\n\treturn 0;\n}\n\nThis patch:\n\nMake rtc-cmos do the relevant magic so this RTC can wake the system from a\nsleep state.  That magic comes in two basic flavors:\n\n - Straightforward:  enable_irq_wake(), the way it\u0027d work on most SOC chips;\n   or generally with system sleep states which don\u0027t disable core IRQ logic.\n\n - Roundabout, using non-IRQ platform hooks.  This is needed with ACPI and\n   one almost-clone chip which uses a special wakeup-only alarm.  (That\u0027s\n   the RTC used on Footbridge boards, FWIW, which don\u0027t do PM in Linux.)\n\nA separate patch implements those hooks for ACPI platforms, so that rtc_cmos\ncan issue system wakeup events (and its sysfs \"wakealarm\" attribute works on\nat least some systems).\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd9662094edf4173e87f0452e57e4eacc228f8ff",
      "tree": "819d487aad05c7e61531bd25e3e7a0d4c08c6616",
      "parents": [
        "7d9f99eccc8f94ace31030a2a7ff73cf5f8c12a0"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue May 08 00:33:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:18 2007 -0700"
      },
      "message": "rtc: remove rest of class_device\n\nFinish converting the RTC framework so it no longer uses class_device.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-By: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab6a2d70d18edc7a716ef3127b9e13382faec98c",
      "tree": "6de624dfcbd0181e54e21f1730d2a52ae9822c47",
      "parents": [
        "5726fb2012f0d96153113ddb7f988a0daea587ce"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue May 08 00:33:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:18 2007 -0700"
      },
      "message": "rtc: rtc interfaces don\u0027t use class_device\n\nThis patch removes class_device from the programming interface that the RTC\nframework exposes to the rest of the kernel.  Now an rtc_device is passed,\nwhich is more type-safe and streamlines all the relevant code.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-By: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5726fb2012f0d96153113ddb7f988a0daea587ce",
      "tree": "27f31cfcc330cc3bc46dcc5297f85080f6f04ab7",
      "parents": [
        "1c710c896eb461895d3c399e15bb5f20b39c9073"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue May 08 00:33:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:18 2007 -0700"
      },
      "message": "rtc: remove /sys/class/rtc-dev/*\n\nThis simplifies the /dev support by removing a superfluous class_device (the\n/sys/class/rtc-dev stuff) and the class_interface that hooks it into the rtc\ncore.  Accordingly, if it\u0027s configured then /dev support is now part of the\nRTC core, and is never a separate module.\n\nIt\u0027s another step towards being able to remove \"struct class_device\".\n\n[bunk@stusta.de: drivers/rtc/rtc-dev.c should #include \"rtc-core.h\"]\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-By: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1c710c896eb461895d3c399e15bb5f20b39c9073",
      "tree": "862e210cc6dad50abffd7640f01d50c3e9f3d375",
      "parents": [
        "ade5fb818fb1861fd5f84619c761920ade762b5d"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Tue May 08 00:33:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:18 2007 -0700"
      },
      "message": "utimensat implementation\n\nImplement utimensat(2) which is an extension to futimesat(2) in that it\n\na) supports nano-second resolution for the timestamps\nb) allows to selectively ignore the atime/mtime value\nc) allows to selectively use the current time for either atime or mtime\nd) supports changing the atime/mtime of a symlink itself along the lines\n   of the BSD lutimes(3) functions\n\nFor this change the internally used do_utimes() functions was changed to\naccept a timespec time value and an additional flags parameter.\n\nAdditionally the sys_utime function was changed to match compat_sys_utime\nwhich already use do_utimes instead of duplicating the work.\n\nAlso, the completely missing futimensat() functionality is added.  We have\nsuch a function in glibc but we have to resort to using /proc/self/fd/* which\nnot everybody likes (chroot etc).\n\nTest application (the syscall number will need per-arch editing):\n\n#include \u003cerrno.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003ctime.h\u003e\n#include \u003csys/time.h\u003e\n#include \u003cstddef.h\u003e\n#include \u003csyscall.h\u003e\n\n#define __NR_utimensat 280\n\n#define UTIME_NOW       ((1l \u003c\u003c 30) - 1l)\n#define UTIME_OMIT      ((1l \u003c\u003c 30) - 2l)\n\nint\nmain(void)\n{\n  int status \u003d 0;\n\n  int fd \u003d open(\"ttt\", O_RDWR|O_CREAT|O_EXCL, 0666);\n  if (fd \u003d\u003d -1)\n    error (1, errno, \"failed to create test file \\\"ttt\\\"\");\n\n  struct stat64 st1;\n  if (fstat64 (fd, \u0026st1) !\u003d 0)\n    error (1, errno, \"fstat failed\");\n\n  struct timespec t[2];\n  t[0].tv_sec \u003d 0;\n  t[0].tv_nsec \u003d 0;\n  t[1].tv_sec \u003d 0;\n  t[1].tv_nsec \u003d 0;\n  if (syscall(__NR_utimensat, AT_FDCWD, \"ttt\", t, 0) !\u003d 0)\n    error (1, errno, \"utimensat failed\");\n\n  struct stat64 st2;\n  if (fstat64 (fd, \u0026st2) !\u003d 0)\n    error (1, errno, \"fstat failed\");\n\n  if (st2.st_atim.tv_sec !\u003d 0 || st2.st_atim.tv_nsec !\u003d 0)\n    {\n      puts (\"atim not reset to zero\");\n      status \u003d 1;\n    }\n  if (st2.st_mtim.tv_sec !\u003d 0 || st2.st_mtim.tv_nsec !\u003d 0)\n    {\n      puts (\"mtim not reset to zero\");\n      status \u003d 1;\n    }\n  if (status !\u003d 0)\n    goto out;\n\n  t[0] \u003d st1.st_atim;\n  t[1].tv_sec \u003d 0;\n  t[1].tv_nsec \u003d UTIME_OMIT;\n  if (syscall(__NR_utimensat, AT_FDCWD, \"ttt\", t, 0) !\u003d 0)\n    error (1, errno, \"utimensat failed\");\n\n  if (fstat64 (fd, \u0026st2) !\u003d 0)\n    error (1, errno, \"fstat failed\");\n\n  if (st2.st_atim.tv_sec !\u003d st1.st_atim.tv_sec\n      || st2.st_atim.tv_nsec !\u003d st1.st_atim.tv_nsec)\n    {\n      puts (\"atim not set\");\n      status \u003d 1;\n    }\n  if (st2.st_mtim.tv_sec !\u003d 0 || st2.st_mtim.tv_nsec !\u003d 0)\n    {\n      puts (\"mtim changed from zero\");\n      status \u003d 1;\n    }\n  if (status !\u003d 0)\n    goto out;\n\n  t[0].tv_sec \u003d 0;\n  t[0].tv_nsec \u003d UTIME_OMIT;\n  t[1] \u003d st1.st_mtim;\n  if (syscall(__NR_utimensat, AT_FDCWD, \"ttt\", t, 0) !\u003d 0)\n    error (1, errno, \"utimensat failed\");\n\n  if (fstat64 (fd, \u0026st2) !\u003d 0)\n    error (1, errno, \"fstat failed\");\n\n  if (st2.st_atim.tv_sec !\u003d st1.st_atim.tv_sec\n      || st2.st_atim.tv_nsec !\u003d st1.st_atim.tv_nsec)\n    {\n      puts (\"mtim changed from original time\");\n      status \u003d 1;\n    }\n  if (st2.st_mtim.tv_sec !\u003d st1.st_mtim.tv_sec\n      || st2.st_mtim.tv_nsec !\u003d st1.st_mtim.tv_nsec)\n    {\n      puts (\"mtim not set\");\n      status \u003d 1;\n    }\n  if (status !\u003d 0)\n    goto out;\n\n  sleep (2);\n\n  t[0].tv_sec \u003d 0;\n  t[0].tv_nsec \u003d UTIME_NOW;\n  t[1].tv_sec \u003d 0;\n  t[1].tv_nsec \u003d UTIME_NOW;\n  if (syscall(__NR_utimensat, AT_FDCWD, \"ttt\", t, 0) !\u003d 0)\n    error (1, errno, \"utimensat failed\");\n\n  if (fstat64 (fd, \u0026st2) !\u003d 0)\n    error (1, errno, \"fstat failed\");\n\n  struct timeval tv;\n  gettimeofday(\u0026tv,NULL);\n\n  if (st2.st_atim.tv_sec \u003c\u003d st1.st_atim.tv_sec\n      || st2.st_atim.tv_sec \u003e tv.tv_sec)\n    {\n      puts (\"atim not set to NOW\");\n      status \u003d 1;\n    }\n  if (st2.st_mtim.tv_sec \u003c\u003d st1.st_mtim.tv_sec\n      || st2.st_mtim.tv_sec \u003e tv.tv_sec)\n    {\n      puts (\"mtim not set to NOW\");\n      status \u003d 1;\n    }\n\n  if (symlink (\"ttt\", \"tttsym\") !\u003d 0)\n    error (1, errno, \"cannot create symlink\");\n\n  t[0].tv_sec \u003d 0;\n  t[0].tv_nsec \u003d 0;\n  t[1].tv_sec \u003d 0;\n  t[1].tv_nsec \u003d 0;\n  if (syscall(__NR_utimensat, AT_FDCWD, \"tttsym\", t, AT_SYMLINK_NOFOLLOW) !\u003d 0)\n    error (1, errno, \"utimensat failed\");\n\n  if (lstat64 (\"tttsym\", \u0026st2) !\u003d 0)\n    error (1, errno, \"lstat failed\");\n\n  if (st2.st_atim.tv_sec !\u003d 0 || st2.st_atim.tv_nsec !\u003d 0)\n    {\n      puts (\"symlink atim not reset to zero\");\n      status \u003d 1;\n    }\n  if (st2.st_mtim.tv_sec !\u003d 0 || st2.st_mtim.tv_nsec !\u003d 0)\n    {\n      puts (\"symlink mtim not reset to zero\");\n      status \u003d 1;\n    }\n  if (status !\u003d 0)\n    goto out;\n\n  t[0].tv_sec \u003d 1;\n  t[0].tv_nsec \u003d 0;\n  t[1].tv_sec \u003d 1;\n  t[1].tv_nsec \u003d 0;\n  if (syscall(__NR_utimensat, fd, NULL, t, 0) !\u003d 0)\n    error (1, errno, \"utimensat failed\");\n\n  if (fstat64 (fd, \u0026st2) !\u003d 0)\n    error (1, errno, \"fstat failed\");\n\n  if (st2.st_atim.tv_sec !\u003d 1 || st2.st_atim.tv_nsec !\u003d 0)\n    {\n      puts (\"atim not reset to one\");\n      status \u003d 1;\n    }\n  if (st2.st_mtim.tv_sec !\u003d 1 || st2.st_mtim.tv_nsec !\u003d 0)\n    {\n      puts (\"mtim not reset to one\");\n      status \u003d 1;\n    }\n\n  if (status \u003d\u003d 0)\n     puts (\"all OK\");\n\n out:\n  close (fd);\n  unlink (\"ttt\");\n  unlink (\"tttsym\");\n\n  return status;\n}\n\n[akpm@linux-foundation.org: add missing i386 syscall table entry]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5517d86bea237c1d7078840182d9ebc0fe4c1afc",
      "tree": "67f1999895313878bfa904c66dffb7066f3c8d91",
      "parents": [
        "46cb4b7c88fa5517f64b5bee42939ea3614cddcb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue May 08 00:32:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:17 2007 -0700"
      },
      "message": "Speed up divides by cpu_power in scheduler\n\nI noticed expensive divides done in try_to_wakeup() and\nfind_busiest_group() on a bi dual core Opteron machine (total of 4 cores),\nmoderatly loaded (15.000 context switch per second)\n\noprofile numbers :\n\nCPU: AMD64 processors, speed 2600.05 MHz (estimated)\nCounted CPU_CLK_UNHALTED events (Cycles outside of halt state) with a unit\nmask of 0x00 (No unit mask) count 50000\nsamples  %        symbol name\n...\n613914    1.0498  try_to_wake_up\n    834  0.0013 :ffffffff80227ae1:   div    %rcx\n77513  0.1191 :ffffffff80227ae4:   mov    %rax,%r11\n\n608893    1.0413  find_busiest_group\n   1841  0.0031 :ffffffff802260bf:       div    %rdi\n140109  0.2394 :ffffffff802260c2:       test   %sil,%sil\n\nSome of these divides can use the reciprocal divides we introduced some\ntime ago (currently used in slab AFAIK)\n\nWe can assume a load will fit in a 32bits number, because with a\nSCHED_LOAD_SCALE\u003d128 value, its still a theorical limit of 33554432\n\nWhen/if we reach this limit one day, probably cpus will have a fast\nhardware divide and we can zap the reciprocal divide trick.\n\nIngo suggested to rename cpu_power to __cpu_power to make clear it should\nnot be modified without changing its reciprocal value too.\n\nI did not convert the divide in cpu_avg_load_per_task(), because tracking\nnr_running changes may be not worth it ?  We could use a static table of 32\nreciprocal values but it would add a conditional branch and table lookup.\n\n[akpm@linux-foundation.org: !SMP build fix]\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.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": "46cb4b7c88fa5517f64b5bee42939ea3614cddcb",
      "tree": "429b8092394974ae787bf0cfaefe5c7b6a1da782",
      "parents": [
        "bdecea3a9282d529b54954f3f1e59877629baba1"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue May 08 00:32:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:17 2007 -0700"
      },
      "message": "sched: dynticks idle load balancing\n\nFix the process idle load balancing in the presence of dynticks.  cpus for\nwhich ticks are stopped will sleep till the next event wakes it up.\nPotentially these sleeps can be for large durations and during which today,\nthere is no periodic idle load balancing being done.\n\nThis patch nominates an owner among the idle cpus, which does the idle load\nbalancing on behalf of the other idle cpus.  And once all the cpus are\ncompletely idle, then we can stop this idle load balancing too.  Checks added\nin fast path are minimized.  Whenever there are busy cpus in the system, there\nwill be an owner(idle cpu) doing the system wide idle load balancing.\n\nOpen items:\n1. Intelligent owner selection (like an idle core in a busy package).\n2. Merge with rcu\u0027s nohz_cpu_mask?\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a7e27d5dd396419dc6d6288db6a6d86cf3a94ba5",
      "tree": "d724d785531a6c181b4b78c2fde96b122f07eff6",
      "parents": [
        "635244c59c27d3b22c4523d2a951cf553195a966"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Tue May 08 00:32:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:16 2007 -0700"
      },
      "message": "sanitize linux/isdn_divertif.h for userspace\n\nthe isdn_divertif contains kernel-only references so I\u0027ve wrapped them in\n__KERNEL__ and add proper #include statements.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Karsten Keil \u003ckkeil@suse.de\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3a3a51d1f2efe10090cd779a66c4b3c8f57eaf9f",
      "tree": "f87e1158f8d3d578479e1ae1fc45cfa0e48978a2",
      "parents": [
        "1a1c9bb433af252767ee90d6394d287afa30cf8b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue May 08 00:32:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:16 2007 -0700"
      },
      "message": "make drivers/isdn/capi/capiutil.c:cdebbuf_alloc() static\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Karsten Keil \u003ckkeil@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "63bd23591e6c3891d34e4c6dba7c6aa41b05caad",
      "tree": "7251bee620c2ad802148502305496d5b63090c19",
      "parents": [
        "33e34dc6ee2cb2cf2d50e65c5b825d9ebb8b9e66"
      ],
      "author": {
        "name": "Jan Nikitenko",
        "email": "jan.nikitenko@gmail.com",
        "time": "Tue May 08 00:32:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:16 2007 -0700"
      },
      "message": "au1550 SPI controller driver\n\nHere is a driver for the Alchemy au1550 PSC (Programmable Serial\nController) in SPI master mode.\n\nIt supports dma transfers using the Alchemy descriptor based dma controller\nfor 4-8 bits per word SPI transfers.  For 9-24 bits per word transfers, pio\nirq based mode is used to avoid setup of dma channels from scratch on each\nnumber of bits per word change.\n\nTested with au1550; this may also work on other MIPS Alchemy cpus, like\nau1200/au1210/au1250.  Used extensively with SD card connected via SPI;\nthis handles 8.1MHz SPI clock transfers using dma without any problem (the\nhighest SPI clock freq possible with au1550 running on 324MHz).\n\nThe driver supports sharing of SPI bus by multiple devices.  All features\nof Alchemy SPI mode are supported (all SPI modes, msb/lsb first, bits per\nword in 4-24 range).\n\nAs the SPI clock of the controller depends on main input clock that shall\nbe configured externally, platform data structure for au1550 SPI controller\ndriver contains mainclk_hz attribute to define the input clock rate.  From\nthis value, dividers of the controller for SPI clock are set up for\nrequired frequency.\n\nSigned-off-by: Jan Nikitenko \u003cjan.nikitenko@gmail.com\u003e\n\nWhitespace and section fixups.  Remove partial workaround for platform\nsetup bug in dma_mask setup; it couldn\u0027t work with multiple controllers.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33e34dc6ee2cb2cf2d50e65c5b825d9ebb8b9e66",
      "tree": "965e5feaaa7c7802129205bff03ec5e0982a75ba",
      "parents": [
        "814a8d50eb1d88cedcef97567be53ee0d4512631"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue May 08 00:32:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:16 2007 -0700"
      },
      "message": "SPI kerneldoc\n\nVarious documentation updates for the SPI infrastructure, to clarify things\nthat may not have been clear, to cope with lack of editing, and fix\nomissions.\n\nAlso, plug SPI into the kernel-api DocBook template, and fix all the\nresulting glitches in document generation.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "814a8d50eb1d88cedcef97567be53ee0d4512631",
      "tree": "edf10598ae95e5729edca3095b60641606b62939",
      "parents": [
        "735ce95e6b9a262d1fbc0ddb5620deb3a29d1067"
      ],
      "author": {
        "name": "Andrea Paterniani",
        "email": "a.paterniani@swapp-eng.it",
        "time": "Tue May 08 00:32:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:15 2007 -0700"
      },
      "message": "/dev/spidevB.C interface\n\nAdd a filesystem API for \u003clinux/spi/spi.h\u003e stack.  The initial version of\nthis interface is purely synchronous.\n\ndbrownell@users.sourceforge.net:\n\n Cleaned up, bugfixed; much simplified; added preliminary documentation.\n\n Works with mdev given CONFIG_SYSFS_DEPRECATED; and presumably udev.\n\n Updated SPI_IOC_MESSAGE ioctl to full spi_message semantics, supporting\n groups of one or more transfers (each of which may be full duplex if\n desired).\n\n This is marked as EXPERIMENTAL with an explicit disclaimer that the API\n (notably the ioctls) is subject to change.\n\nSigned-off-by: Andrea Paterniani \u003ca.paterniani@swapp-eng.it\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce0be1273d1473a5a7b57bf0b4995b40c22d6b54",
      "tree": "c1473e9f0828ecaaa01f81cf18fb78d73e127c24",
      "parents": [
        "58235413b24d5e5245685b84a4efe1ebc95f7886"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Tue May 08 00:31:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:15 2007 -0700"
      },
      "message": "clockchips.h: kernel-doc fix\n\nFix misnamed fields of \u0027struct clock_event_device\u0027 in the kernel-doc\ncomment.  Convert the acronyms to uppercase, while at it...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\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": "acd64b737567d88a907bb09d7e982ac5e6ad6a7b",
      "tree": "773da21eeebf6cf2c5c19e9498addd9cc9da8802",
      "parents": [
        "6d4d8c0aa255c7b4bdf0fb693ec015b56204bbb3"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Tue May 08 00:31:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:15 2007 -0700"
      },
      "message": "hide spinlock in linux/quota.h behind __KERNEL__\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nAcked-by: Jan Kara \u003cjack@ucw.cz\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d4d8c0aa255c7b4bdf0fb693ec015b56204bbb3",
      "tree": "81eafa64ecc82beb96dfe33767fdbaa364043179",
      "parents": [
        "62eb5b1f3bb842d4ea112a5dbae0ce94aab088c4"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue May 08 00:31:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:15 2007 -0700"
      },
      "message": "Add taskstats.h to kbuild\n\nAdd taskstats.h to include/linux/Kbuild, make headers_install would then\npickup taskstats.h.  This needs to be done as taskstats.h is a user\ninterface header.\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cef2cf07273d12ac3453d2baff096423f17b7403",
      "tree": "807ce95b91d1a09f449d61301f1148c85d7818db",
      "parents": [
        "6f7f02e78a75a09195d963e0392b195bc2d55c5c"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Tue May 08 00:31:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:14 2007 -0700"
      },
      "message": "Misc: add sensable phantom driver\n\nAdd sensable phantom driver\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f19b121e21c1b032f6c612d2b9b499151f7b661b",
      "tree": "8ee059ce2d92e81b7d1fe1e2c4cd4cdf7384a921",
      "parents": [
        "c1f858b763de570a4ab119ade7b24ccbc8fad23a"
      ],
      "author": {
        "name": "akpm@linux-foundation.org",
        "email": "akpm@linux-foundation.org",
        "time": "Tue May 08 00:31:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:14 2007 -0700"
      },
      "message": "Driver for the Maxim DS1WM, a 1-wire bus master ASIC core\n\nCc: Matt Reimer \u003cmreimer@vpop.net\u003e\n\n[akpm@linux-foundation.org: kconfig update]\nSigned-off-by: Matt Reimer \u003cmreimer@vpop.net\u003e\nSigned-off-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "63f6564d351fb2e7222e43b6dd22737edf9f4a91",
      "tree": "f4aa70a5562ed4c546b58289af1324788fdcdef8",
      "parents": [
        "6df95fd7ad9a842c1688d2b83bdcb7c82e9c8630"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 08 00:31:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:14 2007 -0700"
      },
      "message": "x86_64: kill 19000+ sparse warnings\n\nEliminate 19439 (!!) sparse warnings like:\ninclude/linux/mm.h:321:22: warning: constant 0xffff810000000000 is so big it is unsigned long\n\nEliminate 56 sparse warnings like:\narch/x86_64/kernel/setup.c:248:16: warning: constant 0xffffffff80000000 is so big it is unsigned long\n\nEliminate 5 sparse warnings like:\narch/x86_64/kernel/module.c:49:13: warning: constant 0xfffffffffff00000 is so big it is unsigned long\n\nEliminate 23 sparse warnings like:\narch/x86_64/mm/init.c:551:37: warning: constant 0xffffc20000000000 is so big it is unsigned long\n\nEliminate 6 sparse warnings like:\narch/x86_64/kernel/module.c:49:13: warning: constant 0xffffffff88000000 is so big it is unsigned long\n\nEliminate 23 sparse warnings like:\narch/x86_64/mm/init.c:552:6: warning: constant 0xffffe1ffffffffff is so big it is unsigned long\n\nEliminate 3 sparse warnings like:\narch/x86_64/kernel/e820.c:186:17: warning: constant 0x3fffffffffff is so big it is long\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6df95fd7ad9a842c1688d2b83bdcb7c82e9c8630",
      "tree": "ebf36c4c218a1b6beeffc2e63340059069a036c3",
      "parents": [
        "8e39c933b1b7df501dbb68879fb1640e277b8a5c"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 08 00:31:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:13 2007 -0700"
      },
      "message": "consolidate asm/const.h to linux/const.h\n\nMake a global linux/const.h header file instead of having multiple,\nper-arch files, and convert current users of asm/const.h to use\nlinux/const.h.\n\nBuilt on x86_64 and sparc64.\n\n[akpm@linux-foundation.org: fix include/asm-x86_64/Kbuild]\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "28ec039c21839914389975b896160a815ffd8b83",
      "tree": "e6b0364c906ee7409c7bce2d8849420a46cb7c10",
      "parents": [
        "4ff773bbde87f7f7dddc0f579ad53e077a6587b9"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Tue May 08 00:31:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:13 2007 -0700"
      },
      "message": "fat: don\u0027t use free_clusters for fat32\n\nIt seems that the recent Windows changed specification, and it\u0027s\nundocumented.  Windows doesn\u0027t update -\u003efree_clusters correctly.\n\nThis patch doesn\u0027t use -\u003efree_clusters by default.  (instead, add \"usefree\"\nfor forcing to use it)\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Juergen Beisert \u003cjuergen127@kreuzholzen.de\u003e\nCc: Andreas Schwab \u003cschwab@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0bb5e19d63cc1b09aed8aef3a20926ac435bb8e7",
      "tree": "c6b2a03259a86ca96d3fac02fc0f2f05220e6682",
      "parents": [
        "53f049fa5f18730b61faaee582ea0e045fd44f49"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue May 08 00:30:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:13 2007 -0700"
      },
      "message": "Clean up mostly unused IOSPACE macros\n\nMost architectures defined three macros, MK_IOSPACE_PFN(), GET_IOSPACE()\nand GET_PFN() in pgtable.h.  However, the only callers of any of these\nmacros are in Sparc specific code, either in arch/sparc, arch/sparc64 or\ndrivers/sbus.\n\nThis patch removes the redundant macros from all architectures except\nsparc and sparc64.\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "28be5abb400e5e082f5225105fdc69337ec0c0b4",
      "tree": "e4bb3e527aac316004be68e28a25b2919e30afd4",
      "parents": [
        "9926e4c74300c4b31dee007298c6475d33369df0"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue May 08 00:30:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:12 2007 -0700"
      },
      "message": "ext3: copy i_flags to inode flags on write\n\nA patch that stores inode flags such as S_IMMUTABLE, S_APPEND, etc.  from\ni_flags to EXT3_I(inode)-\u003ei_flags when inode is written to disk.  The same\nthing is done on GETFLAGS ioctl.\n\nQuota code changes these flags on quota files (to make it harder for\nsysadmin to screw himself) and these changes were not correctly propagated\ninto the filesystem (especially, lsattr did not show them and users were\nwondering...).\n\nPropagate flags such as S_APPEND, S_IMMUTABLE, etc.  from i_flags into\next3-specific i_flags.  Hence, when someone sets these flags via a\ndifferent interface than ioctl, they are stored correctly.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1ab824be43842ae7429ab1df37153e1cebb4d32",
      "tree": "346280ad807fa3b60f18861dac7a7da307568695",
      "parents": [
        "b5e618181a927210f8be1d3d2249d31904ba358d"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Tue May 08 00:30:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:11 2007 -0700"
      },
      "message": "Document SPIN_LOCK_UNLOCKED/RW_LOCK_UNLOCKED deprecation\n\nApparently it\u0027s not cool anymore to use SPIN/RW_LOCK_UNLOCKED.  There\u0027s\nsome mention of this in Documentation/spinlocks.txt, but that only talks\nabout dynamic initialisation.\n\nA comment in the code mentioning the preferred usage would be good IMHO.\n\n[akpm@linux-foundation.org: add reason for deprecation]\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\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": "b5e618181a927210f8be1d3d2249d31904ba358d",
      "tree": "731f1ae4ff1ba56d402bb329182b7d935bb439a1",
      "parents": [
        "db9c02fa8bd50eb104781a9f78cae923d8da1e74"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@sw.ru",
        "time": "Tue May 08 00:30:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:11 2007 -0700"
      },
      "message": "Introduce a handy list_first_entry macro\n\nThere are many places in the kernel where the construction like\n\n   foo \u003d list_entry(head-\u003enext, struct foo_struct, list);\n\nare used.\nThe code might look more descriptive and neat if using the macro\n\n   list_first_entry(head, type, member) \\\n             list_entry((head)-\u003enext, type, member)\n\nHere is the macro itself and the examples of its usage in the generic code.\n If it will turn out to be useful, I can prepare the set of patches to\ninject in into arch-specific code, drivers, networking, etc.\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nSigned-off-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: John McCutchan \u003cttb@tentacle.dhs.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b32e41bb97971161ad34ea69364c4f9ec3909151",
      "tree": "d05e1a191c30c2320f30c2d2506bcb61d3d05c95",
      "parents": [
        "6c080f1a93591500299a514ef63209079ff007ac"
      ],
      "author": {
        "name": "Milind Arun Choudhary",
        "email": "milindchoudhary@gmail.com",
        "time": "Tue May 08 00:30:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:10 2007 -0700"
      },
      "message": "SPIN_LOCK_UNLOCKED cleanup in init_task.h\n\nSPIN_LOCK_UNLOCKED cleanup,use __SPIN_LOCK_UNLOCKED instead\n\nSigned-off-by: Milind Arun Choudhary \u003cmilindchoudhary@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "873ec746158403af82c57ce26780166aafc159e1",
      "tree": "a1e853e61ac328ac7dbfb7329f6a776ddf3149fb",
      "parents": [
        "f038f9a361a764ed013447174b7170073f89cbe9"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Tue May 08 00:29:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:10 2007 -0700"
      },
      "message": "EFI: warn only for pre-1.00 system tables\n\nWe used to warn unless the EFI system table major revision was exactly 1.\nBut EFI 2.00 firmware is starting to appear, and the 2.00 changes don\u0027t\naffect anything in Linux.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "49a4ec188f9a96c9a5567956718213d38a456a19",
      "tree": "29ac9f610ed355b3e3f752206c03180054df9bd7",
      "parents": [
        "eb81d93046e7de51d47b8f1303d80e6f51ac9e33"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue May 08 00:29:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:10 2007 -0700"
      },
      "message": "fix hotplug for legacy platform drivers\n\nWe\u0027ve had various reports of some legacy \"probe the hardware\" style\nplatform drivers having nasty problems with hotplug support.\n\nThe core issue is that those legacy drivers don\u0027t fully conform to the\ndriver model.  They assume a role that should be the responsibility of\ninfrastructure code: creating device nodes.\n\nThe \"modprobe\" step in hotplugging relies on drivers to have split those\nroles into different modules.  The lack of this split causes the problems.\nWhen a driver creates nodes for devices that don\u0027t exist (sending a hotplug\nevent), then exits (aborting one modprobe) before the \"modprobe $MODALIAS\"\nstep completes (by failing, since it\u0027s in the middle of a modprobe), the\nresult can be an endless loop of modprobe invocations ...  badness.\n\nThis fix uses the newish per-device flag controlling issuance of \"add\"\nevents.  (A previous version of this patch used a per-device \"driver can\nhotplug\" flag, which only scrubbed $MODALIAS from the environment rather\nthan suppressing the entire hotplug event.) It also shrinks that flag to\none bit, saving a word in \"struct device\".\n\nSo the net of this patch is removing some nasty failures with legacy\ndrivers, while retaining hotplug capability for the majority of platform\ndrivers.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Andres Salomon \u003cdilinger@debian.org\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6272e2667965dfb5b59199f462cd0f001fb304a6",
      "tree": "a14a4537dcd7af09863cc3a1c19a3efe386d67ab",
      "parents": [
        "039b6b3ed84e45a6f8316358dd2bfdc83d59fc45"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 08 00:29:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:09 2007 -0700"
      },
      "message": "cleanup compat ioctl handling\n\nMerge all compat ioctl handling into compat_ioctl.c instead of splitting it\nover compat.c and compat_ioctl.c.  This also allows to get rid of ioctl32.h\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nLooks-good-to: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e729aa16b168fb202d1a20f936028cb7c2a0278d",
      "tree": "d0267225ebfadbaa4f55f55c3025597d86ff1c5f",
      "parents": [
        "428e6ce023c5890cfecc8ad10335da3f28dbf893"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Tue May 08 00:29:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:09 2007 -0700"
      },
      "message": "Pad irq_desc to internode cacheline size\n\nWe noticed a drop in n/w performance due to the irq_desc being cacheline\naligned rather than internode aligned.  We see 50% of expected performance\nwhen two e1000 nics local to two different nodes have consecutive irq\ndescriptors allocated, due to false sharing.\n\nNote that this patch does away with cacheline padding for the UP case, as\nit does not seem useful for UP configurations.\n\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nCc: 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": "644fd4f5de9ca147daeb6dc5f844b44ec3d58b47",
      "tree": "d9bd9c9bc6c02077e5f2d19556377a30c31cd0c9",
      "parents": [
        "884f2810b15b6bb489c9dca5013aafbea2f19fba"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 08 00:29:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:09 2007 -0700"
      },
      "message": "merge compat_ioctl.h into compat_ioctl.c\n\nNow that there is no arch-specific compat ioctl handling left there is not\npoint in having a separate copat_ioctl.h, so merge it into compat_ioctl.c\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7e80d0d0b64f5c00b0ac7e623d96189309c298ca",
      "tree": "748942edea32fb94fdc74c0aaee06acd3d1bffc5",
      "parents": [
        "b259d74b39595f6ac74c3627b9c3657ac90249a0"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue May 08 00:28:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:08 2007 -0700"
      },
      "message": "i386: sched.h inclusion from module.h is baack\n\n  linux/module.h\n  -\u003e linux/elf.h\n     -\u003e asm-i386/elf.h\n        -\u003e linux/utsname.h\n           -\u003e linux/sched.h\n\nNoticeably cut the number of files which are rebuild upon touching sched.h\nand cut down pulled junk from every module.h inclusion.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0e8638e2ace18eb6b814a63fe087106be05ca267",
      "tree": "ed25d468ae48e6819fd1c4a0d0713de95c4b3385",
      "parents": [
        "2833bf68b9634a02895d9463349d8c21bd32ccf6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 08 00:28:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:08 2007 -0700"
      },
      "message": "Deprecate SA_xxx interrupt flags -V2\n\nThe deprecation of the SA_xxx interrupt flags did not emit deprecated\nwarnings. Andrew said about the removal of the deprecated flag defines:\n\n\u003e This is going to break a lot of external stuff.  We should have found\n\u003e a way to make usage of SA_* emit deprecated warnings (or _some_\n\u003e warning) to warn people of impending doom.  But I can\u0027t immediately\n\u003e find a way of doing that. if we _can_ find a way of doing this, I\n\u003e suspect we\u0027ll need to do it, and give people another six months.  It\u0027s\n\u003e going to get ugly out there.  We shall see...\n\nDefine the deprecated flags as a call to a __deprecated inline function\nso a warning is emitted on compile time.\n\nExtend the reprieve of out of tree drivers to 9/2007.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\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": "a5c43dae7ae38c2a6b3e9a819bcf45f010bf6a4a",
      "tree": "b30da7a4541e803e35a6a74ad33e836442c3f6c8",
      "parents": [
        "9d65cb4a1718a072898c7a57a3bc61b2dc4bcd4d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue May 08 00:28:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:08 2007 -0700"
      },
      "message": "Fix race between cat /proc/slab_allocators and rmmod\n\nSame story as with cat /proc/*/wchan race vs rmmod race, only\n/proc/slab_allocators want more info than just symbol name.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d65cb4a1718a072898c7a57a3bc61b2dc4bcd4d",
      "tree": "9e3fd1c9e61e8ed16959d115a9a3f6f7eb0bbf21",
      "parents": [
        "ffb45122766db220d0bf3d01848d575fbbcb6430"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue May 08 00:28:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:08 2007 -0700"
      },
      "message": "Fix race between cat /proc/*/wchan and rmmod et al\n\nkallsyms_lookup() can go iterating over modules list unprotected which is OK\nfor emergency situations (oops), but not OK for regular stuff like\n/proc/*/wchan.\n\nIntroduce lookup_symbol_name()/lookup_module_symbol_name() which copy symbol\nname into caller-supplied buffer or return -ERANGE.  All copying is done with\nmodule_mutex held, so...\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea07890a680273b25127129fb555aac0d9324bea",
      "tree": "b0742aa5dd90792dc10be3563c1181582d0f5d9e",
      "parents": [
        "ae84e324709d6320ed8c1fd7b1736fcbaf26df95"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue May 08 00:28:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:08 2007 -0700"
      },
      "message": "Fix race between rmmod and cat /proc/kallsyms\n\nmodule_get_kallsym() leaks \"struct module *\" outside of module_mutex which is\nno-no, because module can dissapear right after mutex unlock.\n\nCopy all needed information from inside module_mutex into caller-supplied\nspace.\n\n[bunk@stusta.de: is_exported() can now become static]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae84e324709d6320ed8c1fd7b1736fcbaf26df95",
      "tree": "bb3b623f2fd491771c716957622a72e86e9582dd",
      "parents": [
        "55955aad7c09e4d93029d0cf2d360b41891f2fe4"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue May 08 00:28:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:08 2007 -0700"
      },
      "message": "Simplify module_get_kallsym() by dropping length arg\n\nmodule_get_kallsym() could in theory truncate module symbol name to fit in\nbuffer, but nobody does this.  Always use KSYM_NAME_LEN + 1 bytes for name.\n\nSuggested by lg^WRusty.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "55955aad7c09e4d93029d0cf2d360b41891f2fe4",
      "tree": "7d7bbb9d1e06c833fcc8d110db1f278b026aae80",
      "parents": [
        "98701d1b0fe98b477b53df89114e6862547f8107"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue May 08 00:28:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:08 2007 -0700"
      },
      "message": "PNPACPI sets pnpdev-\u003edev.archdata\n\nTeach PNPACPI how to hook up its devices to their ACPI nodes, so that\npnpdev-\u003edev.archdata points to the parallel acpi device node.  Previously\nthis only worked for PCI, leaving a notable hole.\n\nExport \"acpi_bus_type\" so this can work.\n\nRemove some extraneous whitespace.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Adam Belay \u003cambx1@neo.rr.com\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f95b7fc839bc3272b1bf2325d8748a649bd3534",
      "tree": "c5cbf5eabc5b58867d7a8949c412163e37182542",
      "parents": [
        "8f0c45cdf87dc9141e87b0ad2fc6fff216a95f79"
      ],
      "author": {
        "name": "Ananth N Mavinakayanahalli",
        "email": "ananth@in.ibm.com",
        "time": "Tue May 08 00:28:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:08 2007 -0700"
      },
      "message": "Kprobes: print details of kretprobe on assertion failure\n\nIn certain cases like when the real return address can\u0027t be found or when\nthe number of tracked calls to a kretprobed function is less than the\nnumber of returns, we may not be able to find the correct return address\nafter processing a kretprobe.  Currently we just do a BUG_ON, but no\ninformation is provided about the actual failing kretprobe.\n\nPrint out details of the kretprobe before calling BUG().\n\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6672f76a5a1878d42264c1deba8f1ab52b4618d9",
      "tree": "77396eefed3548183c1f0c3d1dc38f034d8fc429",
      "parents": [
        "73285082745045bcd64333c1fbaa88f8490f2626"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Tue May 08 00:28:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "kdump/kexec: calculate note size at compile time\n\nCurrently the size of the per-cpu region reserved to save crash notes is\nset by the per-architecture value MAX_NOTE_BYTES.  Which in turn is\ncurrently set to 1024 on all supported architectures.\n\nWhile testing ia64 I recently discovered that this value is in fact too\nsmall.  The particular setup I was using actually needs 1172 bytes.  This\nlead to very tedious failure mode where the tail of one elf note would\noverwrite the head of another if they ended up being alocated sequentially\nby kmalloc, which was often the case.\n\nIt seems to me that a far better approach is to caclculate the size that\nthe area needs to be.  This patch does just that.\n\nIf a simpler stop-gap patch for ia64 to be squeezed into 2.6.21(.X) is\nneeded then this should be as easy as making MAX_NOTE_BYTES larger in\narch/asm-ia64/kexec.h.  Perhaps 2048 would be a good choice.  However, I\nthink that the approach in this patch is a much more robust idea.\n\nAcked-by:  Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "73285082745045bcd64333c1fbaa88f8490f2626",
      "tree": "bb45362b563332ff1e712b5f2b3b16a47b019691",
      "parents": [
        "4f911d64e04a44c47985be30f978fb3c2efcee0c"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Tue May 08 00:28:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "remove artificial software max_loop limit\n\nRemove artificial maximum 256 loop device that can be created due to a\nlegacy device number limit.  Searching through lkml archive, there are\nseveral instances where users complained about the artificial limit that\nthe loop driver impose.  There is no reason to have such limit.\n\nThis patch rid the limit entirely and make loop device and associated block\nqueue instantiation on demand.  With on-demand instantiation, it also gives\nthe benefit of not wasting memory if these devices are not in use (compare\nto current implementation that always create 8 loop devices), a net\nimprovement in both areas.  This version is both tested with creation of\nlarge number of loop devices and is compatible with existing losetup/mount\nuser land tools.\n\nThere are a number of people who worked on this and provided valuable\nsuggestions, in no particular order, by:\n\nJens Axboe\nJan Engelhardt\nChristoph Hellwig\nThomas M\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nCc: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04c9167f91e309c9c4ea982992aa08e83b2eb42e",
      "tree": "b15e7bed8eb2e22e96971bbe3156a00683c70909",
      "parents": [
        "966812dc98e6a7fcdf759cbfa0efab77500a8868"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue May 08 00:28:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:06 2007 -0700"
      },
      "message": "add touch_all_softlockup_watchdogs()\n\nAdd touch_all_softlockup_watchdogs() to allow the softlockup watchdog\ntimers on all cpus to be updated.  This is used to prevent sysrq-t from\ngenerating a spurious watchdog message when generating lots of output.\n\nSoftlockup watchdogs use sched_clock() as its timebase, which is inherently\nper-cpu (at least, when it is measuring unstolen time).  Because of this,\nit isn\u0027t possible for one CPU to directly update the other CPU\u0027s timers,\nbut it is possible to tell the other CPUs to do update themselves\nappropriately.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nAcked-by: Chris Lalancette \u003cclalance@redhat.com\u003e\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Rick Lindsley \u003cricklind@us.ibm.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": "8524070b7982d76258942275908b7434cfcab4b4",
      "tree": "6e63c45c3b9ff6a86ad32b1de7adf48889eb0bfc",
      "parents": [
        "329c8d84ca1946c037d9859dc251b56d8b1b4630"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue May 08 00:27:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:06 2007 -0700"
      },
      "message": "Move timekeeping code to timekeeping.c\n\nMove the timekeeping code out of kernel/timer.c and into\nkernel/time/timekeeping.c.  I made no cleanups or other changes in transit.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: 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": "329c8d84ca1946c037d9859dc251b56d8b1b4630",
      "tree": "05cfd2124dd6066eb6c2e769be99f6860ffb7501",
      "parents": [
        "f75d222b836f7febfab0954c7612b23059d748cb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue May 08 00:27:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:06 2007 -0700"
      },
      "message": "time: SMP friendly alignment of struct clocksource\n\nstruct clocksource is a critical data structure.\n\nMost of its fields are read only, some of them are heavily modified at each\ntimer interrupt.\n\nIt makes sense to separate those fields and make sure they all share one\ncache line, or at least the minimum for machines with small cache lines.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3367b994fe4f131ab1240600682a1981de7cad0c",
      "tree": "2afbec0bf8943d628c48dfb07883b7ce62a5c318",
      "parents": [
        "28287033e12463c8ff89f1ea8038783d0360391c"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue May 08 00:27:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:05 2007 -0700"
      },
      "message": "\u003clinux/sysdev.h\u003e needs to include \u003clinux/module.h\u003e\n\nsysdev.h uses THIS_MODULE so should include \u003clinux/module.h\u003e.\n\n[akpm@linux-foundation.org: couple of fixes]\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "28287033e12463c8ff89f1ea8038783d0360391c",
      "tree": "27eabb2890dd1e2e30363dee2f4263cbee906a42",
      "parents": [
        "6e453a67510a17f01b63835f18569e8c3939a38c"
      ],
      "author": {
        "name": "Venki Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Tue May 08 00:27:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:05 2007 -0700"
      },
      "message": "Add a new deferrable delayed work init\n\nAdd a new deferrable delayed work init.  This can be used to schedule work\nthat are \u0027unimportant\u0027 when CPU is idle and can be called later, when CPU\neventually comes out of idle.\n\nUse this init in cpufreq ondemand governor.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e453a67510a17f01b63835f18569e8c3939a38c",
      "tree": "2cbc50f434cf4397d2f279480ea2c2a87defa9b0",
      "parents": [
        "da6752964290567a6b4ea180d1becda75e810e87"
      ],
      "author": {
        "name": "Venki Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Tue May 08 00:27:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:05 2007 -0700"
      },
      "message": "Add support for deferrable timers\n\nIntroduce a new flag for timers - deferrable: Timers that work normally\nwhen system is busy.  But, will not cause CPU to come out of idle (just to\nservice this timer), when CPU is idle.  Instead, this timer will be\nserviced when CPU eventually wakes up with a subsequent non-deferrable\ntimer.\n\nThe main advantage of this is to avoid unnecessary timer interrupts when\nCPU is idle.  If the routine currently called by a timer can wait until\nnext event without any issues, this new timer can be used to setup timer\nevent for that routine.  This, with dynticks, allows CPUs to be lazy,\nallowing them to stay in idle for extended period of time by reducing\nunnecesary wakeup and thereby reducing the power consumption.\n\nThis patch:\n\nBuilds this new timer on top of existing timer infrastructure.  It uses\nlast bit in \u0027base\u0027 pointer of timer_list structure to store this deferrable\ntimer flag.  __next_timer_interrupt() function skips over these deferrable\ntimers when CPU looks for next timer event for which it has to wake up.\n\nThis is exported by a new interface init_timer_deferrable() that can be\ncalled in place of regular init_timer().\n\n[akpm@linux-foundation.org: Privatise a #define]\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c15a3837d2aa30e3ea41aed49d80abed355ab6bd",
      "tree": "23da1c16c1e73ac5679f81c3264fc0faeb92fcf2",
      "parents": [
        "d2d9433a4c84c9e7ed78d633fdbffb35d5afda17"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue May 08 00:27:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:05 2007 -0700"
      },
      "message": "parport-\u003edev driver model support\n\nCurrently a parport_driver can\u0027t get a handle on the device node for the\nunderlying parport (PNPACPI, PCI, etc).  That prevents correct placement of\nsysfs child nodes, which can affect things like power management.\n\nThis patch adds a field to \"struct parport\" pointing to that device node, and\nupdates non-legacy port drivers to initialize that device pointer.  That field\nreplaces the analagous PCI-only support in parport_pc.\n\n[akpm@linux-foundation.org: fix powerpc build]\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c467a388ae9f236c039d4d0f4c4be07c7deebe97",
      "tree": "a56d519e9f06c05385b53e68921be481bbac1dff",
      "parents": [
        "dd9037a26a1e6ebec9121b4681c414dc77189a90"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Tue May 08 00:27:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:05 2007 -0700"
      },
      "message": "Delete unused header file linux/awe_voice.h\n\nDelete the unused header file include/linux/awe_voice.h, as well as\nits corresponding Kbuild entry.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e5f00f42f35e6f4699f105a3bd56874847cbf72f",
      "tree": "ac4e5c0a9fbafceacf5e78281bab508ba03e5044",
      "parents": [
        "c6b40d16d1cfa1a01158049bb887a9bbe48ef7ba"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue May 08 00:27:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:05 2007 -0700"
      },
      "message": "make remove_inode_dquot_ref() static\n\nremove_inode_dquot_ref() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "757dea93e136b219af09d3cd56a81063fdbdef1a",
      "tree": "872f2db0b00716ed7a7e67cf0f0c0f83dbb689c4",
      "parents": [
        "274ee1cd91800a7aa1ed34b7ab2db7c53f09c93a"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Tue May 08 00:27:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:05 2007 -0700"
      },
      "message": "Delete unused header file math-emu/extended.h\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef51c97623b94f51e439ac91d2736aab3d1b6594",
      "tree": "5c020421f1e5a6e28b5a9f341fec32479a8ffb3a",
      "parents": [
        "524e6752912a891a396a9cf74c5d7d60fff5510a"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue May 08 00:27:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:04 2007 -0700"
      },
      "message": "Remove do_sync_file_range()\n\nRemove do_sync_file_range() and convert callers to just use\ndo_sync_mapping_range().\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1eeb66a1bb973534dc3d064920a5ca683823372e",
      "tree": "19c22d611e6adefb352dbc107b859e4d13ba38c1",
      "parents": [
        "e3869792990f708c97be5877499cada70d469bd3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 08 00:27:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:04 2007 -0700"
      },
      "message": "move die notifier handling to common code\n\nThis patch moves the die notifier handling to common code.  Previous\nvarious architectures had exactly the same code for it.  Note that the new\ncode is compiled unconditionally, this should be understood as an appel to\nthe other architecture maintainer to implement support for it aswell (aka\nsprinkling a notify_die or two in the proper place)\n\narm had a notifiy_die that did something totally different, I renamed it to\narm_notify_die as part of the patch and made it static to the file it\u0027s\ndeclared and used at.  avr32 used to pass slightly less information through\nthis interface and I brought it into line with the other architectures.\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix vmalloc_sync_all bustage]\n[bryan.wu@analog.com: fix vmalloc_sync_all in nommu]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "98a27ba485c7508ef9d9527fe06e4686f3a163dc",
      "tree": "73d5dca7f1b5120ecf1bbcc664094044bc35dc56",
      "parents": [
        "2a65f1d9fe78475720bd8f0e0fbbf1973b1b5ac2"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 08 00:26:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:04 2007 -0700"
      },
      "message": "tty: introduce no_tty and use it in selinux\n\nWhile researching the tty layer pid leaks I found a weird case in selinux when\nwe drop a controlling tty because of inadequate permissions we don\u0027t do the\nnormal hangup processing.  Which is a problem if it happens the session leader\nhas exec\u0027d something that can no longer access the tty.\n\nWe already have code in the kernel to handle this case in the form of the\nTIOCNOTTY ioctl.  So this patch factors out a helper function that is the\nessence of that ioctl and calls it from the selinux code.\n\nThis removes the inconsistency in handling dropping of a controlling tty and\nwho knows it might even make some part of user space happy because it received\na SIGHUP it was expecting.\n\nIn addition since this removes the last user of proc_set_tty outside of\ntty_io.c proc_set_tty is made static and removed from tty.h\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6ae9200f2cab7b328e505fc9a7021db64e0590cf",
      "tree": "f3516ed394d6439f22d669329b4f47a0751e1f84",
      "parents": [
        "19c5d45a09312ca20cd1f9df3fd1a87fe0cb8aac"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue May 08 00:26:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:04 2007 -0700"
      },
      "message": "enlarge console.name\n\nconsole.name[] is eight chars, but so is \"earlyvga\".  So when we try to print\nconsole-\u003ename when using earlyvga it runs off the end of the string.\n\nMake it bigger.\n\nDiagnosed-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9adef58b1d4fbb58d7daed931b6790c5a3b7543a",
      "tree": "23e5ea2b0a140d244f2ed203b4954309d052e43d",
      "parents": [
        "aa5bd7e929325dbb48be43c3dccf7d1da433e38e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue May 08 00:26:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:03 2007 -0700"
      },
      "message": "futex: get_futex_key, get_key_refs and drop_key_refs\n\nlguest uses the convenient futex infrastructure for inter-domain I/O, so\nexpose get_futex_key, get_key_refs (renamed get_futex_key_refs) and\ndrop_key_refs (renamed drop_futex_key_refs).  Also means we need to expose the\nunion that these use.\n\nNo code changes.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a86b5e34e4d09e3246a983c53929ce38af52275",
      "tree": "1f7f56f6236508ff021b28e9481a1e834b50d66d",
      "parents": [
        "7c4e95bf483231d55bc0d491bc585bb9b7e852b8"
      ],
      "author": {
        "name": "Klaus Kudielka",
        "email": "klaus.kudielka@gmx.net",
        "time": "Tue May 08 00:26:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:03 2007 -0700"
      },
      "message": "cyclades: remove custom types\n\nSwitch from private uclong, etc over to standard types.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7c4e95bf483231d55bc0d491bc585bb9b7e852b8",
      "tree": "13f9950574757685c639b141292294a7e99ee879",
      "parents": [
        "9b3af29bf33bfe08c604769632799d27d56ae103"
      ],
      "author": {
        "name": "Klaus Kudielka",
        "email": "klaus.kudielka@gmx.net",
        "time": "Tue May 08 00:26:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:03 2007 -0700"
      },
      "message": "fix cyclades.h for x86_64 (and probably others)\n\nAt least on x86_64 the present cyclades.h is broken due to the wrong size\nof uclong.  This affects, of course, both the kernel and the user-level\nutilities.  The symptom is that cyzload refuses to load the firmware.  I\nalso managed to freeze the machine when unloading the module.\n\nThe patch below fixes this in an architecture-independent way.  I have\ntested it with 2.6.19 and the driver works fine again with a Cyclades-Z on\nan Athlon 64 X2.\n\n[akpm@linux-foundation.org: fix warnings]\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b3af29bf33bfe08c604769632799d27d56ae103",
      "tree": "e4709e8023b717b0b20632c11f393eda568a31c2",
      "parents": [
        "6de02123bf3e8baeee97fff7efc50bc192332804"
      ],
      "author": {
        "name": "Ananth N Mavinakayanahalli",
        "email": "ananth@in.ibm.com",
        "time": "Tue May 08 00:26:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:03 2007 -0700"
      },
      "message": "Kprobes: Make kprobe.symbol_name const\n\nKprobes doesn\u0027t scribble the kprobe.symbol_name field.  Its only set by the\nmodule when registering the probe.  Modules that exercise good hygiene\nusing the \"const\" qualifier will see warnings...\n\n\twarning: assignment discards qualifiers from pointer target type\n\nMake struct kprobe.symbol_name const char *\n\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6de02123bf3e8baeee97fff7efc50bc192332804",
      "tree": "bd27e1695889caee401316feb3546e6d6ea368b4",
      "parents": [
        "c23fbb6bcb3eb9cdf39a103edadf57bde8ce309c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue May 08 00:26:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:03 2007 -0700"
      },
      "message": "tty: i386/x86_64 arbitary speed support\n\nAdds the needed TCGETS2/TCSETS2 ioctl calls, structures, defines and the like.\nTested against the test suite and passes.  Other platforms should need\nroughly the same change.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c23fbb6bcb3eb9cdf39a103edadf57bde8ce309c",
      "tree": "d79ab2278774de2c1a8061aa948ed068902e87b4",
      "parents": [
        "2793274298c4423d79701e9a8190f2940bf3c785"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue May 08 00:26:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:03 2007 -0700"
      },
      "message": "VFS: delay the dentry name generation on sockets and pipes\n\n1) Introduces a new method in \u0027struct dentry_operations\u0027.  This method\n   called d_dname() might be called from d_path() to build a pathname for\n   special filesystems.  It is called without locks.\n\n   Future patches (if we succeed in having one common dentry for all\n   pipes/sockets) may need to change prototype of this method, but we now\n   use : char *d_dname(struct dentry *dentry, char *buffer, int buflen);\n\n2) Adds a dynamic_dname() helper function that eases d_dname() implementations\n\n3) Defines d_dname method for sockets : No more sprintf() at socket\n   creation.  This is delayed up to the moment someone does an access to\n   /proc/pid/fd/...\n\n4) Defines d_dname method for pipes : No more sprintf() at pipe\n   creation.  This is delayed up to the moment someone does an access to\n   /proc/pid/fd/...\n\nA benchmark consisting of 1.000.000 calls to pipe()/close()/close() gives a\n*nice* speedup on my Pentium(M) 1.6 Ghz :\n\n3.090 s instead of 3.450 s\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7695650a924a6859910c8c19dfa43b4d08224d66",
      "tree": "5947c3e1b24600b6440468c11b30feeef31eee2c",
      "parents": [
        "79c0b2df79eb56fc71e54c75cd7fb3acf84370f9"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@openvz.org",
        "time": "Tue May 08 00:25:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:01 2007 -0700"
      },
      "message": "Fix race between proc_get_inode() and remove_proc_entry()\n\nproc_lookup\t\t\t\tremove_proc_entry\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\t\t\t\t\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nlock_kernel();\nspin_lock(\u0026proc_subdir_lock);\n[find PDE with refcount 0]\nspin_unlock(\u0026proc_subdir_lock);\n\t\t\t\t\tspin_lock(\u0026proc_subdir_lock);\n\t\t\t\t\t[find PDE with refcount 0]\n\t\t\t\t\t[check refcount and free PDE]\n\t\t\t\t\tspin_unlock(\u0026proc_subdir_lock);\nproc_get_inode:\n\tde_get(de); /* boom */\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79c0b2df79eb56fc71e54c75cd7fb3acf84370f9",
      "tree": "f19be816fef3565b7f9cc746786e29fee0ac62e6",
      "parents": [
        "880afc4d76af452267174b5989943f081c1db2c0"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue May 08 00:25:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:01 2007 -0700"
      },
      "message": "add filesystem subtype support\n\nThere\u0027s a slight problem with filesystem type representation in fuse\nbased filesystems.\n\nFrom the kernel\u0027s view, there are just two filesystem types: fuse and\nfuseblk.  From the user\u0027s view there are lots of different filesystem\ntypes.  The user is not even much concerned if the filesystem is fuse based\nor not.  So there\u0027s a conflict of interest in how this should be\nrepresented in fstab, mtab and /proc/mounts.\n\nThe current scheme is to encode the real filesystem type in the mount\nsource.  So an sshfs mount looks like this:\n\n  sshfs#user@server:/   /mnt/server    fuse   rw,nosuid,nodev,...\n\nThis url-ish syntax works OK for sshfs and similar filesystems.  However\nfor block device based filesystems (ntfs-3g, zfs) it doesn\u0027t work, since\nthe kernel expects the mount source to be a real device name.\n\nA possibly better scheme would be to encode the real type in the type\nfield as \"type.subtype\".  So fuse mounts would look like this:\n\n  /dev/hda1       /mnt/windows   fuseblk.ntfs-3g   rw,...\n  user@server:/   /mnt/server    fuse.sshfs        rw,nosuid,nodev,...\n\nThis patch adds the necessary code to the kernel so that this can be\ncorrectly displayed in /proc/mounts.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e17c5508fa015f2c7690e29041f437e9308c64f",
      "tree": "d53402b77180827931fc31b190be53c6b20ec2c0",
      "parents": [
        "6f8bc500a10ab9cb3861e5bb71155d7bd2bbd2d5"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue May 08 00:25:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:00 2007 -0700"
      },
      "message": "init dma masks in pnp_dev\n\nPNP now initializes device dma masks, which prevents oopses when generic\ndma calls are made using pnp device nodes.\n\nThis assumes PNP only uses ISA DMA, with 24 bit addresses; and that it\u0027s\nsafe to init those masks for all devices (rather than finding out which\ndevices have been assigned DMA channels, and handling only those).\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Adam Belay \u003cabelay@novell.com\u003e\nCc: Jaroslav Kysela \u003cperex@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e3222c4ecc649c4ae568e61dda9349482401b501",
      "tree": "d96614ef67d947a3dd8ab0929a4755bce9fdbcc1",
      "parents": [
        "4fc75ff4816c3483b4b772b2f6cb3d8fd88ca547"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Tue May 08 00:25:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:00 2007 -0700"
      },
      "message": "Merge sys_clone()/sys_unshare() nsproxy and namespace handling\n\nsys_clone() and sys_unshare() both makes copies of nsproxy and its associated\nnamespaces.  But they have different code paths.\n\nThis patch merges all the nsproxy and its associated namespace copy/clone\nhandling (as much as possible).  Posted on container list earlier for\nfeedback.\n\n- Create a new nsproxy and its associated namespaces and pass it back to\n  caller to attach it to right process.\n\n- Changed all copy_*_ns() routines to return a new copy of namespace\n  instead of attaching it to task-\u003ensproxy.\n\n- Moved the CAP_SYS_ADMIN checks out of copy_*_ns() routines.\n\n- Removed unnessary !ns checks from copy_*_ns() and added BUG_ON()\n  just incase.\n\n- Get rid of all individual unshare_*_ns() routines and make use of\n  copy_*_ns() instead.\n\n[akpm@osdl.org: cleanups, warning fix]\n[clg@fr.ibm.com: remove dup_namespaces() declaration]\n[serue@us.ibm.com: fix CONFIG_IPC_NS\u003dn, clone(CLONE_NEWIPC) retval]\n[akpm@linux-foundation.org: fix build with CONFIG_SYSVIPC\u003dn]\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \u003ccontainers@lists.osdl.org\u003e\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "616883df78bd4b3fcdb6ddc39bd3d4cb902bfa32",
      "tree": "c1ad0fa79ae7cc50593e7b435006520b07578970",
      "parents": [
        "c761c84154dcd952182e4867d841298c9eb0b14b"
      ],
      "author": {
        "name": "Monakhov Dmitriy",
        "email": "dmonakhov@openvz.org",
        "time": "Tue May 08 00:25:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:00 2007 -0700"
      },
      "message": "IRQ: add __must_check to request_irq\n\nThis could help to find buggy drivers where request_irq return value wasn\u0027t\nchecked.  There\u0027s just no reason to ignore errors which can and do occur.\nAnyone who got warning during compilation have to realise what it is\u0027t\nrealy safe code.\n\nSigned-off-by: Monakhov Dmitriy \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c761c84154dcd952182e4867d841298c9eb0b14b",
      "tree": "2020ee5b1b681dac2daa84037160094e682617be",
      "parents": [
        "f87367a6b1e3ec1fd440158e5eb357fbd5c2288e"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Tue May 08 00:25:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:00 2007 -0700"
      },
      "message": "kconfig: centralize the selection of semaphore debugging in lib/Kconfig.debug\n\nRemove the Kconfig selection of semaphore debugging from the ALPHA and FRV\nKconfig files, and centralize it in lib/Kconfig.debug.\n\nThere doesn\u0027t seem to be much point in letting individual architectures\nindependently define the same Kconfig option when it can just as easily be\nput in a single Kconfig file and made dependent on a subset of\narchitectures.  that way, at least the option shows up in the same relative\nlocation in the menu each time.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe08a9d4982d9618ec25760ea715c46fe051e508",
      "tree": "6535cfaf206d19cb0a5e09192f49b37e91ba6232",
      "parents": [
        "6f2fad748ccced5b9313efce2a2c7ae4c04ef564"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue May 08 00:24:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:00 2007 -0700"
      },
      "message": "reiserfs: shrink superblock if no xattrs\n\nThis makes in-core superblock fit into one cacheline here.\n\nBefore:\n    struct dentry *            xattr_root;           /*   124     4 */\n    /* --- cacheline 1 boundary (128 bytes) --- */\n    struct rw_semaphore        xattr_dir_sem;        /*   128    12 */\n    int                        j_errno;              /*   140     4 */\n    }; /* size: 144, cachelines: 2 */\n       /* sum members: 142, holes: 1, sum holes: 2 */\n       /* last cacheline: 16 bytes */\n\nAfter:\n    int                        j_errno;              /*   124     4 */\n    /* --- cacheline 1 boundary (128 bytes) --- */\n    }; /* size: 128, cachelines: 1 */\n       /* sum members: 126, holes: 1, sum holes: 2 */\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \u003creiserfs-dev@namesys.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee7b9e3706b9c5f90113eb16a1a84a1c01e09f95",
      "tree": "cefd066af5ddf6f761790882efd4c7365f6538a0",
      "parents": [
        "46595390e97b3ab2741a36f5ff69e8f6033fa9c0"
      ],
      "author": {
        "name": "Michal Schmidt",
        "email": "xschmi00@stud.feec.vutbr.cz",
        "time": "Tue May 08 00:24:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:00 2007 -0700"
      },
      "message": "Fix compilation of drivers with -O0\n\nIt is sometimes useful to compile individual drivers with optimization\ndisabled for easier debugging.  Currently drivers which use htonl() and\nsimilar functions don\u0027t compile with -O0.  This patch fixes it.  It also\nremoves obsolete and misleading comments.  This header is not for\nuserspace, so we don\u0027t have to care about strange programs these comments\nmention.\n\n(akpm: -O0 probably isn\u0027t a good idea, but this code looks pretty crufty and\nunuseful)\n\nSigned-off-by: Michal Schmidt \u003cmschmidt@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "46595390e97b3ab2741a36f5ff69e8f6033fa9c0",
      "tree": "911fb1bd59ecf260999eca19fad4534f719894da",
      "parents": [
        "b2ead6e012e2b2ab31851c288e0dd7872884a8a3"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue May 08 00:24:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:00 2007 -0700"
      },
      "message": "init/do_mounts.c: proper prepare_namespace() prototype\n\nAdd a proper protype for prepare_namespace() in include/linux/init.h.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1ae7075bcd805c3aa5e8f53effc63a4562d6110e",
      "tree": "76ce9da136deee264b1642169522981b5175af82",
      "parents": [
        "7b8e89249ba54fb6e12358bbed7e3070fa1d1e6a"
      ],
      "author": {
        "name": "Chris Snook",
        "email": "csnook@redhat.com",
        "time": "Tue May 08 00:24:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:59 2007 -0700"
      },
      "message": "use use SEEK_MAX to validate user lseek arguments\n\nAdd SEEK_MAX and use it to validate lseek arguments from userspace.\n\nSigned-off-by: Chris Snook \u003ccsnook@redhat.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "8e2c20023f34b652605a5fb7c68bb843d2b100a8"
}
