)]}'
{
  "log": [
    {
      "commit": "9ebfd4929dc86d33cb68823714802cf226a38d42",
      "tree": "fd6356871885e37366fbc2378f95bbfb1a07b611",
      "parents": [
        "48f5fec5486286103c4423fc78fdf3a15530c3b9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sun Mar 16 22:22:04 2008 +0000"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Mar 17 07:56:38 2008 -0400"
      },
      "message": "epic100 endianness annotations and fixes\n\n* \"powerpc or sparc\" is not the same as \"big-endian\", fix the ifdef\n* since we tell the card to byteswap the descriptors on big-endian,\n  we ought to leave them host-endian...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "4ec2411980d0fd2995e8dea8a06fe57aa47523cb",
      "tree": "a4013547ff1bda8fc038623290debd62ad6dd7fe",
      "parents": [
        "a0a46196cd98af5cc015842bba757571f02a8c30"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 07 20:48:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 08 23:30:09 2008 -0800"
      },
      "message": "[NET]: Do not check netif_running() and carrier state in -\u003epoll()\n\nDrivers do this to try to break out of the -\u003epoll()\u0027ing loop\nwhen the device is being brought administratively down.\n\nNow that we have a napi_disable() \"pending\" state we are going\nto solve that problem generically.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0795af5729b18218767fab27c44b1384f72dc9ad",
      "tree": "67c16df84aa6ec219340b8ea1b5cfb0e8150a216",
      "parents": [
        "95ea36275f3c9a1d3d04c217b4b576c657c4e70e"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Oct 03 17:59:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:42 2007 -0700"
      },
      "message": "[NET]: Introduce and use print_mac() and DECLARE_MAC_BUF()\n\nThis is nicer than the MAC_FMT stuff.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "88d3aafdae5c5e1d2dd9489a5c8a24e29d335f2e",
      "tree": "272ce75c30a170420ac8bbfd679c3faed9f9d20a",
      "parents": [
        "09f75cd7bf13720738e6a196cc0107ce9a5bd5a0"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Sep 15 14:41:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:17 2007 -0700"
      },
      "message": "[ETHTOOL] Provide default behaviors for a few ethtool sub-ioctls\n\nFor the operations\n\tget-tx-csum\n\tget-sg\n\tget-tso\n\tget-ufo\nthe default ethtool_op_xxx behavior is fine for all drivers, so we\npermit op\u003d\u003dNULL to imply the default behavior.\n\nThis provides a more uniform behavior across all drivers, eliminating\nethtool(8) \"ioctl not supported\" errors on older drivers that had\nnot been updated for the latest sub-ioctls.\n\nThe ethtool_op_xxx() functions are left exported, in case anyone\nwishes to call them directly from a driver-private implementation --\na not-uncommon case.  Should an ethtool_op_xxx() helper remain unused\nfor a while, except by net/core/ethtool.c, we can un-export it at a\nlater date.\n\n[ Resolved conflicts with set/get value ethtool patch... -DaveM ]\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "10d024c1b2fd58af8362670d7d6e5ae52fc33353",
      "tree": "dbfb03c539986e2c1270385eb0083aaf0dfca8ab",
      "parents": [
        "596c5c97431eab8465739c169401ea611127b9ad"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Sep 17 13:11:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:13 2007 -0700"
      },
      "message": "[NET]: Nuke SET_MODULE_OWNER macro.\n\nIt\u0027s been a useless no-op for long enough in 2.6 so I figured it\u0027s time to\nremove it.  The number of people that could object because they\u0027re\nmaintaining unified 2.4 and 2.6 drivers is probably rather small.\n\n[ Handled drivers added by netdev tree and some missed IRDA cases... -DaveM ]\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bea3348eef27e6044b6161fd04c3152215f96411",
      "tree": "f0990b263e5ce42505d290a4c346fe990bcd4c33",
      "parents": [
        "dde4e47e8fe333a5649a3fa0e7db1fa7c08d6158"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Wed Oct 03 16:41:36 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:45 2007 -0700"
      },
      "message": "[NET]: Make NAPI polling independent of struct net_device objects.\n\nSeveral devices have multiple independant RX queues per net\ndevice, and some have a single interrupt doorbell for several\nqueues.\n\nIn either case, it\u0027s easier to support layouts like that if the\nstructure representing the poll is independant from the net\ndevice itself.\n\nThe signature of the -\u003epoll() call back goes from:\n\n\tint foo_poll(struct net_device *dev, int *budget)\n\nto\n\n\tint foo_poll(struct napi_struct *napi, int budget)\n\nThe caller is returned the number of RX packets processed (or\nthe number of \"NAPI credits\" consumed if you want to get\nabstract).  The callee no longer messes around bumping\ndev-\u003equota, *budget, etc. because that is all handled in the\ncaller upon return.\n\nThe napi_struct is to be embedded in the device driver private data\nstructures.\n\nFurthermore, it is the driver\u0027s responsibility to disable all NAPI\ninstances in it\u0027s -\u003estop() device close handler.  Since the\nnapi_struct is privatized into the driver\u0027s private data structures,\nonly the driver knows how to get at all of the napi_struct instances\nit may have per-device.\n\nWith lots of help and suggestions from Rusty Russell, Roland Dreier,\nMichael Chan, Jeff Garzik, and Jamal Hadi Salim.\n\nBug fixes from Thomas Graf, Roland Dreier, Peter Zijlstra,\nJoseph Fannin, Scott Wood, Hans J. Koch, and Michael Chan.\n\n[ Ported to current tree and all drivers converted.  Integrated\n  Stephen\u0027s follow-on kerneldoc additions, and restored poll_list\n  handling to the old style to fix mutual exclusion issues.  -DaveM ]\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8c7b7faaa630fef7f68d8728cee1cce398cc9697",
      "tree": "844c5c5aad361b7c1e24f8d0b8f3195c4a4ad816",
      "parents": [
        "a7ab4b501f9b8a9dc4d5cee542db67b6ccd1088b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 10 22:08:12 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 10 22:08:12 2007 -0700"
      },
      "message": "[NET]: Kill eth_copy_and_sum().\n\nIt hasn\u0027t \"summed\" anything in over 7 years, and it\u0027s\njust a straight mempcy ala skb_copy_to_linear_data()\nso just get rid of it.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c2a8c531e953c753b06605c8ad6a9161ca527fa",
      "tree": "126844bed0aac5aef599b81f03e4d1d64c34c226",
      "parents": [
        "b96687768a9ac0fdd005c7700093ebb24b93450f"
      ],
      "author": {
        "name": "Markus Dahms",
        "email": "dahms@fh-brandenburg.de",
        "time": "Wed May 09 07:58:10 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed May 09 08:58:18 2007 +0200"
      },
      "message": "remove broken URLs from net drivers\u0027 output\n\nRemove broken URLs (www.scyld.com) from network drivers\u0027 logging output.\nURLs in comments and other strings are left intact.\n\nSigned-off-by: Markus Dahms \u003cdahms@fh-brandenburg.de\u003e\nAcked-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nigned-off-by: Adrian Bunk \u003cbunk@stusta.de\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": "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": "7282d491ecaee9883233a0e27283c4c79486279a",
      "tree": "172ffa70716f5493db57976ceef7652120b3332f",
      "parents": [
        "76fd85937097a0c2ec8ab23bf21dc10992d1c398"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Sep 13 14:30:00 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Sep 13 14:30:00 2006 -0400"
      },
      "message": "drivers/net: const-ify ethtool_ops declarations\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "4e83b7fad8d3fd55828baa4510885c7362e66a26",
      "tree": "eb3f28516c05a945f2e9c8003e5864de4e0763bc",
      "parents": [
        "c925f1ea9ec20a95d46f57810f4a4d69db74580e",
        "d5b20697ca37d80cc4ec2ba3c5ddf1339dc1d49a"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Sep 12 11:45:33 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Sep 12 11:45:33 2006 -0400"
      },
      "message": "Merge branch \u0027tmp\u0027 into upstream\n"
    },
    {
      "commit": "d5b20697ca37d80cc4ec2ba3c5ddf1339dc1d49a",
      "tree": "a5fa98145b1d95b84357157856517de8d0e31edf",
      "parents": [
        "05ff0e291af086f4325bac76abad250690bbbd63"
      ],
      "author": {
        "name": "Andy Gospodarek",
        "email": "andy@greyhouse.net",
        "time": "Mon Sep 11 17:39:18 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Sep 12 11:45:19 2006 -0400"
      },
      "message": "[PATCH] Remove more unnecessary driver printk\u0027s\n\nAs I promised last week, here is the first pass at removing all\nunnecessary printk\u0027s that exist in network device drivers currently in\npromiscuous mode.  The duplicate messages are not needed so they have\nbeen removed.  Some of these drivers are quite old and might not need an\nupdate, but I did them all anyway.\n\nI am currently auditing the remaining conditional printk\u0027s and will send\nout a patch for those soon.\n\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "299176206b266f204be859adf9e66efd06628ab2",
      "tree": "e25d9ee1c43940e00e70124a18d869a75de543ab",
      "parents": [
        "5243a37b7991c85e3ea3afb6e3e13eea7ec2927d"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Aug 19 17:48:59 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Aug 19 17:48:59 2006 -0400"
      },
      "message": "drivers/net: Remove deprecated use of pci_module_init()\n\nFrom: Michal Piotrowski \u003cmichal.k.k.piotrowski@gmail.com\u003e\n\nSigned-off-by: Michal Piotrowski \u003cmichal.k.k.piotrowski@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "9b91cf9daac41eeaaea57ecfe68dc13bb0305fa9",
      "tree": "301308991315efc8dbe07ccfe1ee2f937b50a1c1",
      "parents": [
        "2e8a538d865de0eb9813c8a0f2284e920299c0cc"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Jun 27 11:39:50 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jul 05 13:42:57 2006 -0400"
      },
      "message": "[netdrvr] use dev_xxx() printk helpers, rather than dev_printk(KERN_xxx, ...\n\nSuggested by Jiri Slaby.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "2e8a538d865de0eb9813c8a0f2284e920299c0cc",
      "tree": "30b773865f17b6a2768171f62fdae9700b54ec44",
      "parents": [
        "cabb7667dc150320ccd9d6f64fbd7a34766bc775"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Jun 27 10:47:51 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jul 05 13:42:07 2006 -0400"
      },
      "message": "[netdrvr] Use dev_printk() when ethernet interface isn\u0027t available\n\nFor messages prior to register_netdev(), prefer dev_printk() because\nthat prints out both our driver name and our [PCI | whatever] bus id.\n\nUpdates: 8139{cp,too}, b44, bnx2, cassini, {eepro,epic}100, fealnx,\n\t hamachi, ne2k-pci, ns83820, pci-skeleton, r8169.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "36e1e84768b1123eb632aff153104855c71684cc",
      "tree": "a64dbbaca3470f2fe5194878ccd472c4dda73b4d",
      "parents": [
        "ca78f6baca863afe2e6a244a0fe94b3a70211d46"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Jun 27 07:38:33 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jul 05 13:40:47 2006 -0400"
      },
      "message": "[netdrvr] epic100: minor cleanups\n\n- Remove in-source changelog, it\u0027s in the global kernel history.\n- convert silly and useless version to useful one\n- replace invariant pci_id_tbl[]::io_size uses with EPIC_TOTAL_SIZE\n- remove now-unused io_size member from pci_id_tbl[]\n- current kernel style prefers dev_printk() for the rare ethernet driver\n  messages that cannot print an \u0027eth%d\u0027 prefix.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "1fb9df5d3069064c037c81c0ab8bf783ffa5e373",
      "tree": "23028cfd5b98a72fcf12256fac4bc0c68181f2c4",
      "parents": [
        "dace145374b8e39aeb920304c358ab5e220341ab"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 01 19:29:39 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jul 02 13:58:51 2006 -0700"
      },
      "message": "[PATCH] irq-flags: drivers/net: Use the new IRQF_ constants\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "1f1bd5fc326a46d8c49132260f661b7cc954846f",
      "tree": "b564551c3f47ebdff46a348e7ca80bf02b79df4a",
      "parents": [
        "a2b524b2ec6caa0499aea56a58fdb67a6d10db90"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Jun 26 23:47:50 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Jun 26 23:47:50 2006 -0400"
      },
      "message": "[netdrvr] Remove long-unused bits from Becker template drivers\n\nSymbols such as PCI_USES_IO, PCI_ADDR0, etc. originated from Donald\nBecker\u0027s net driver template, but have been long unused.  Remove.\n\nIn a few drivers, this allows the further eliminate of the pci_flags (or\njust plain flags) member in the template driver probe structure.\n\nMost of this logic is simply open-coded in most drivers, since it never\nchanges.\n\nMade a few other cleanups while I was in there, too:\n* constify, __devinitdata several PCI ID tables\n* replace table terminating entries such as \"{0,},\" and \"{NULL},\"\n  with a more-clean \"{ }\".\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": "f3b197ac26ed0e57989856494c495818dcc7f9ac",
      "tree": "5451adb0bc6c219d0a794ea32e3c598740c82bdf",
      "parents": [
        "4c0c2fd486b6598e37c77b5d81a08bc2d948aa7b"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 26 21:39:03 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 26 21:39:03 2006 -0400"
      },
      "message": "[netdrvr] trim trailing whitespace: 8139*.c, epic100, forcedeth, tulip/*\n"
    },
    {
      "commit": "f71e130966ba429dbd24be08ddbcdf263df9a5ad",
      "tree": "523f10c926012f520c47894811b94944a7793fd5",
      "parents": [
        "c499ec24c31edf270e777a868ffd0daddcfe7ebd"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Fri Mar 03 21:33:57 2006 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Mar 03 21:33:57 2006 -0500"
      },
      "message": "Massive net driver const-ification.\n"
    },
    {
      "commit": "b7b1d2021452d0a3562807b6a90dfa5124147a79",
      "tree": "9c18a41353b2d40dfa844e955619e7d931ce853d",
      "parents": [
        "6ba98d311d0a4ff7dc36d8f435ce60174f4c30ec"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 18 21:31:01 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Oct 18 22:26:01 2005 -0400"
      },
      "message": "[PATCH] epic100: fix counting of work_done in epic_poll\n\nwork_done is overwritten each time through the rx_action loop in\nepic_poll.  This screws-up the NAPI accounting if the loop is executed\nmore than once.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "689be43945e9ca7dd704522e55af1b8a73a994d3",
      "tree": "6dcc7a5675a9a2b98c36ee54f2ba4386f84efe83",
      "parents": [
        "f835e471b557c45d2e5701ea5215f6e739b4eb39"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 28 15:25:31 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 28 15:25:31 2005 -0700"
      },
      "message": "[NET]: Remove gratuitous use of skb-\u003etail in network drivers.\n\nMany drivers use skb-\u003etail unnecessarily.\n\nIn these situations, the code roughly looks like:\n\n\tdev \u003d dev_alloc_skb(...);\n\n\t[optional] skb_reserve(skb, ...);\n\n\t... skb-\u003etail ...\n\nBut even if the skb_reserve() happens, skb-\u003edata equals\nskb-\u003etail.  So it doesn\u0027t make any sense to use anything\nother than skb-\u003edata in these cases.\n\nAnother case was the s2io.c driver directly mucking with\nthe skb-\u003edata and skb-\u003etail pointers.  It really just wanted\nto do an skb_reserve(), so that\u0027s what the code was changed\nto do instead.\n\nAnother reason I\u0027m making this change as it allows some SKB\ncleanups I have planned simpler to merge.  In those cleanups,\nskb-\u003ehead, skb-\u003etail, and skb-\u003eend pointers are removed, and\nreplaced with skb-\u003ehead_room and skb-\u003etail_room integers.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-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"
    }
  ]
}
