)]}'
{
  "log": [
    {
      "commit": "3a1a27fa46f6c3ce39fe02b73df6d8d4648d1679",
      "tree": "316175a413a8fc487d79f863321fd7f9343e8412",
      "parents": [
        "887e53d2d131fe0740326f66f1b417671fdfcf9a"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 07 18:10:24 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 07 18:10:24 2009 -0800"
      },
      "message": "atp: convert to net_device_ops\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e4c3c13cb4c4985cb62cf28677fc0ace69a8d69f",
      "tree": "3e944ccdee5669f517803ed3ab7475c75a35e69a",
      "parents": [
        "2705d4f87c068552f45e5d6feaa5c468a312f761"
      ],
      "author": {
        "name": "Hannes Eder",
        "email": "hannes@hanneseder.net",
        "time": "Thu Dec 25 23:55:35 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 25 23:55:35 2008 -0800"
      },
      "message": "drivers/net: fix sparse warnings: make do-while a compound statement\n\nWhile at it insert some extra curly braces and fix formatting.\n\nFix this sparse warnings:\n\n  drivers/net/atp.c:811:8: warning: do-while statement is not a compound statement\n  drivers/net/atp.c:813:8: warning: do-while statement is not a compound statement\n  drivers/net/atp.c:815:11: warning: do-while statement is not a compound statement\n  drivers/net/atp.c:817:11: warning: do-while statement is not a compound statement\n  drivers/net/plip.c:642:4: warning: do-while statement is not a compound statement\n  drivers/net/plip.c:647:4: warning: do-while statement is not a compound statement\n  drivers/net/plip.c:820:4: warning: do-while statement is not a compound statement\n  drivers/net/plip.c:825:4: warning: do-while statement is not a compound statement\n  drivers/net/starfire.c:886:3: warning: do-while statement is not a compound statement\n\nSigned-off-by: Hannes Eder \u003channes@hanneseder.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b74ca3a896b9ab5f952bc440154758e708c48884",
      "tree": "cc67fc67ddd6ac20e25b1060ab633a4d5c4e6ee8",
      "parents": [
        "5a001a070e032bea1be563b13ebf9819cd5e54d4"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Mon Dec 08 01:14:16 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 08 01:14:16 2008 -0800"
      },
      "message": "netdevice: Kill netdev-\u003epriv\n\nThis is the last shoot of this series.\nAfter I removing all directly reference of netdev-\u003epriv, I am killing\n\"priv\" of \"struct net_device\" and fixing relative comments/docs.\n\nAnyone will not be allowed to reference netdev-\u003epriv directly.\nIf you want to reference the memory of private data, use netdev_priv()\ninstead.\nIf the private data is not allocted when alloc_netdev(), use\nnetdev-\u003eml_priv to point that memory after you creating that private\ndata.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "454d7c9b14e20fd1949e2686e9de4a2926e01476",
      "tree": "fae8bd1bfb5fd496977a0639ad71c54a2ee278ae",
      "parents": [
        "7a12122c7a00347da9669cfcde82954c9e3d6f5e"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Wed Nov 12 23:37:49 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 23:37:49 2008 -0800"
      },
      "message": "netdevice: safe convert to netdev_priv() #part-1\n\nWe have some reasons to kill netdev-\u003epriv:\n1. netdev-\u003epriv is equal to netdev_priv().\n2. netdev_priv() wraps the calculation of netdev-\u003epriv\u0027s offset, obviously\n   netdev_priv() is more flexible than netdev-\u003epriv.\nBut we cann\u0027t kill netdev-\u003epriv, because so many drivers reference to it\ndirectly.\n\nThis patch is a safe convert for netdev-\u003epriv to netdev_priv(netdev).\nSince all of the netdev-\u003epriv is only for read.\nBut it is too big to be sent in one mail.\nI split it to 4 parts and make every part smaller than 100,000 bytes,\nwhich is max size allowed by vger.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e174961ca1a0b28f7abf0be47973ad57cb74e5f0",
      "tree": "e8f74ecd420a0e380a71670e5aec5c2a0c15640a",
      "parents": [
        "0c68ae2605dbcf67414d8d1f19af93be44b355fb"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Oct 27 15:59:26 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 27 17:06:18 2008 -0700"
      },
      "message": "net: convert print_mac to %pM\n\nThis converts pretty much everything to print_mac. There were\na few things that had conflicts which I have just dropped for\nnow, no harm done.\n\nI\u0027ve built an allyesconfig with this and looked at the files\nthat weren\u0027t built very carefully, but it\u0027s a huge patch.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c16d118537cadb21d186e35aebad90a13cd78846",
      "tree": "8fc1ab697f2476ecd2b39522efcf6234be3dc5c0",
      "parents": [
        "fe414248551e2880fe8913577699003ff145ab9d"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Tue Jul 22 13:13:12 2008 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Aug 07 02:23:19 2008 -0400"
      },
      "message": "[netdrvr] Drivers should not set IFF_* flag themselves\n\nSome hardware set promisc when they are requested to set IFF_ALLMULTI flag.\nIt\u0027s ok, but if drivers set IFF_PROMISC flag when they set promisc,\nit will broken upper layer handle for promisc and allmulti.\nIn addition, drivers can use their own hardware programming to make it.\nSo do not allow drivers to set IFF_* flags.\n\nThis is a general driver fix, so I didn\u0027t split it to pieces and send\nto specific driver maintainers.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "eca1ad82bda0293339e1f8439dc9c8dba25ff088",
      "tree": "d1c44284a6ad57dd8ae141644011a903f01fccd8",
      "parents": [
        "05bd831fcdf4ce08ae5b832cfe03a303245fb135"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sun Mar 16 22:21:54 2008 +0000"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 26 00:18:43 2008 -0400"
      },
      "message": "misc drivers/net annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\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": "09f75cd7bf13720738e6a196cc0107ce9a5bd5a0",
      "tree": "4c85b0b395abe7f88c87162fc22570e5de255cb1",
      "parents": [
        "ff8ac60948ba819b89e9c87083e8050fc2f89999"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Oct 03 17:41:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:16 2007 -0700"
      },
      "message": "[NET] drivers/net: statistics cleanup #1 -- save memory and shrink code\n\nWe now have struct net_device_stats embedded in struct net_device,\nand the default -\u003eget_stats() hook does the obvious thing for us.\n\nRun through drivers/net/* and remove the driver-local storage of\nstatistics, and driver-local -\u003eget_stats() hook where applicable.\n\nThis was just the low-hanging fruit in drivers/net; plenty more drivers\nremain to be updated.\n\n[ Resolved conflicts with napi_struct changes and fix sunqe build\n  regression... -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": "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": "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": "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"
    }
  ]
}
