)]}'
{
  "log": [
    {
      "commit": "babcda74e9d96bb58fd9c6c5112dbdbff169e695",
      "tree": "fcbe5e70f1fff01ad49504171e964c387a5ad7f8",
      "parents": [
        "ab2910921064b657610a3b501358a305e13087ea"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 03 21:11:17 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 03 21:11:17 2008 -0800"
      },
      "message": "drivers/net: Kill now superfluous -\u003elast_rx stores.\n\nThe generic packet receive code takes care of setting\nnetdev-\u003elast_rx when necessary, for the sake of the\nbonding ARP monitor.\n\nDrivers need not do it any more.\n\nSome cases had to be skipped over because the drivers\nwere making use of the -\u003elast_rx value themselves.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f4d86754f956ab5ea73aa91759a0d89a2f0e3f2a",
      "tree": "6afaeefe24fa98385a5f3de6557a31689456071a",
      "parents": [
        "d74472f0b2553e59eafb7feee0ff9558136a17e0"
      ],
      "author": {
        "name": "Finn Thain",
        "email": "fthain@telegraphics.com.au",
        "time": "Wed May 02 12:55:56 2007 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 17:59:08 2007 -0700"
      },
      "message": "SONIC interrupt handling\n\nInstall the built-in macsonic interrupt handler on both IRQs when using\nvia_alt_mapping. Otherwise the rare interrupt that still comes from the\nnubus slot will wedge the nubus.\n\n$ cat /proc/interrupts\nauto       2:      89176 via2\nauto       3:     744367 sonic\nauto       4:          0 scc\nauto       6:     318363 via1\nauto       7:          0 NMI\nmac        9:     119413 framebuffer vbl\nmac       10:       1971 ADB\nmac       14:     198517 timer\nmac       17:      89104 nubus\nmac       19:         72 Mac ESP SCSI\nmac       56:        629 sonic\nmac       62:    1142593 ide0\n\nVersion 1 of this patch had a bug where a nubus sonic card would register\ntwo interrupt handlers. Only a built-in sonic needs both.\n\nVersions 2 and 3 needed some cleanups, as Raylynn Knight and Christoph\nHellwig pointed out (thanks).\n\nSigned-off-by: Finn Thain \u003cfthain@telegraphics.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d74472f0b2553e59eafb7feee0ff9558136a17e0",
      "tree": "38d85faf098e7c5b1e41dc23ea6c9044f8ae3e91",
      "parents": [
        "8b6aaab8c8bdbe011aac79af218dd1e657984bab"
      ],
      "author": {
        "name": "Finn Thain",
        "email": "fthain@telegraphics.com.au",
        "time": "Tue May 01 22:33:02 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 17:59:08 2007 -0700"
      },
      "message": "SONIC: small fix and cleanup\n\nFix a potential problem in the timeout handling: don\u0027t free the DMA buffers\nbefore resetting the chip.\n\nAlso a trivial cleanup. Bring macsonic and jazzsonic into sync.\n\nSigned-off-by: Finn Thain \u003cfthain@telegraphics.com.au\u003e\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4c13eb6657fe9ef7b4dc8f1a405c902e9e5234e0",
      "tree": "d338fad7a61824d8c14c079c0be437ea4ad83f01",
      "parents": [
        "029720f15dcd3c6c16824177cfc486083b229411"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 17:40:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:30 2007 -0700"
      },
      "message": "[ETH]: Make eth_type_trans set skb-\u003edev like the other *_type_trans\n\nOne less thing for drivers writers to worry about.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c31f28e778ab299a5035ea2bda64f245b8915d7c",
      "tree": "92d1070b0ae0c3528ab2c8787c4402fd8adf5a5f",
      "parents": [
        "86d91bab4806191a8126502d80d729c2a4765ebe"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 06 14:56:04 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 06 14:56:04 2006 -0400"
      },
      "message": "drivers/net: eliminate irq handler impossible checks, needless casts\n\n- Eliminate check for irq handler \u0027dev_id\u003d\u003dNULL\u0027 where the\n  condition never occurs.\n\n- Eliminate needless casts to/from void*\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "7d12e780e003f93433d49ce78cfedf4b4c52adc5",
      "tree": "6748550400445c11a306b132009f3001e3525df8",
      "parents": [
        "da482792a6d1a3fbaaa25fae867b343fb4db3246"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 05 14:55:46 2006 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Thu Oct 05 15:10:12 2006 +0100"
      },
      "message": "IRQ: Maintain regs pointer globally rather than passing to IRQ handlers\n\nMaintain a per-CPU global \"struct pt_regs *\" variable which can be used instead\nof passing regs around manually through all ~1800 interrupt handlers in the\nLinux kernel.\n\nThe regs pointer is used in few places, but it potentially costs both stack\nspace and code to pass it around.  On the FRV arch, removing the regs parameter\nfrom all the genirq function results in a 20% speed up of the IRQ exit path\n(ie: from leaving timer_interrupt() to leaving do_IRQ()).\n\nWhere appropriate, an arch may override the generic storage facility and do\nsomething different with the variable.  On FRV, for instance, the address is\nmaintained in GR28 at all times inside the kernel as part of general exception\nhandling.\n\nHaving looked over the code, it appears that the parameter may be handed down\nthrough up to twenty or so layers of functions.  Consider a USB character\ndevice attached to a USB hub, attached to a USB controller that posts its\ninterrupts through a cascaded auxiliary interrupt controller.  A character\ndevice driver may want to pass regs to the sysrq handler through the input\nlayer which adds another few layers of parameter passing.\n\nI\u0027ve build this code with allyesconfig for x86_64 and i386.  I\u0027ve runtested the\nmain part of the code on FRV and i386, though I can\u0027t test most of the drivers.\nI\u0027ve also done partial conversion for powerpc and MIPS - these at least compile\nwith minimal configurations.\n\nThis will affect all archs.  Mostly the changes should be relatively easy.\nTake do_IRQ(), store the regs pointer at the beginning, saving the old one:\n\n\tstruct pt_regs *old_regs \u003d set_irq_regs(regs);\n\nAnd put the old one back at the end:\n\n\tset_irq_regs(old_regs);\n\nDon\u0027t pass regs through to generic_handle_irq() or __do_IRQ().\n\nIn timer_interrupt(), this sort of change will be necessary:\n\n\t-\tupdate_process_times(user_mode(regs));\n\t-\tprofile_tick(CPU_PROFILING, regs);\n\t+\tupdate_process_times(user_mode(get_irq_regs()));\n\t+\tprofile_tick(CPU_PROFILING);\n\nI\u0027d like to move update_process_times()\u0027s use of get_irq_regs() into itself,\nexcept that i386, alone of the archs, uses something other than user_mode().\n\nSome notes on the interrupt handling in the drivers:\n\n (*) input_dev() is now gone entirely.  The regs pointer is no longer stored in\n     the input_dev struct.\n\n (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking.  It does\n     something different depending on whether it\u0027s been supplied with a regs\n     pointer or not.\n\n (*) Various IRQ handler function pointers have been moved to type\n     irq_handler_t.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n(cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)\n"
    },
    {
      "commit": "6aa20a2235535605db6d6d2bd850298b2fe7f31e",
      "tree": "df0b855043407b831d57f2f2c271f8aab48444f4",
      "parents": [
        "7a291083225af6e22ffaa46b3d91cfc1a1ccaab4"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Sep 13 13:24:59 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Sep 13 13:24:59 2006 -0400"
      },
      "message": "drivers/net: Trim trailing whitespace\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "5b057c6b1a25d57edf2b4d1e956e50936480a9ff",
      "tree": "e641febd6f562e0ed1198c160ff353ab513f0612",
      "parents": [
        "5fa21d821f6972e70942f2c555ec29dde962bdb2"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jun 23 02:06:41 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 23 02:06:41 2006 -0700"
      },
      "message": "[NET]: Avoid allocating skb in skb_pad\n\nFirst of all it is unnecessary to allocate a new skb in skb_pad since\nthe existing one is not shared.  More importantly, our hard_start_xmit\ninterface does not allow a new skb to be allocated since that breaks\nrequeueing.\n\nThis patch uses pskb_expand_head to expand the existing skb and linearize\nit if needed.  Actually, someone should sift through every instance of\nskb_pad on a non-linear skb as they do not fit the reasons why this was\noriginally created.\n\nIncidentally, this fixes a minor bug when the skb is cloned (tcpdump,\nTCP, etc.).  As it is skb_pad will simply write over a cloned skb.  Because\nof the position of the write it is unlikely to cause problems but still\nit\u0027s best if we don\u0027t do it.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "efcce839360fb3a7b6dedeacaec80f68b0f2d052",
      "tree": "7ddeeb994619d0c29f3a9c7ac923a376dec413f5",
      "parents": [
        "2600636065406dc14948ac2d2913c66c51be80d5"
      ],
      "author": {
        "name": "Finn Thain",
        "email": "fthain@telegraphics.com.au",
        "time": "Sat Aug 20 15:53:22 2005 +1000"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Aug 23 01:32:12 2005 -0400"
      },
      "message": "[PATCH] macsonic/jazzsonic network drivers update\n\nThe purpose of this patch:\n\n- Adopt the DMA API (jazzsonic, macsonic \u0026 core driver).\n\n- Adopt the driver model (macsonic).\n\nThis part was cribbed from jazzsonic. As a consequence, macsonic once\nagain works as a module. Driver model is also used by the DMA calls.\n\n- Support 16 bit cards (macsonic \u0026 core driver, also affects jazzsonic)\n\nThis code was adapted from the mac68k linux 2.2 kernel, where it has\nlanguished for a long time.\n\n- Support more 32-bit mac cards (macsonic)\n\nAlso from mac68k repo.\n\n- Zero-copy buffer handling (core driver)\n\nProvides a nice performance improvement. The new algorithm incidentally\nhelped to replace the old Jazz DMA code.\n\nThe patch was tested on a variety of macs (several 32-bit quadra built-in\nNICs, a 16-bit LC PDS NIC and a 16-bit comm-slot NIC), and also on MIPS\nJazz.\n\nSigned-off-by: Finn Thain \u003cfthain@telegraphics.com.au\u003e\nAcked-by: Thomas Bogendoerfer \u003ctsbogend@alpha.franken.de\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
