)]}'
{
  "log": [
    {
      "commit": "45711f1af6eff1a6d010703b4862e0d2b9afd056",
      "tree": "3d0048f46e3df9d217d56127462ebe680348bd5a",
      "parents": [
        "78c2f0b8c285c5305b3e67b0595200541e15eb43"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 22 21:19:53 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 22 21:19:53 2007 +0200"
      },
      "message": "[SG] Update drivers to use sg helpers\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "bc1ebfba1a3a27122462fd342d11216e3faea53f",
      "tree": "e720d6139dee7a8dc0fc7db55e748d178a3b79ca",
      "parents": [
        "fea97f9ab26a17c29eadc102c04b88776d6262d4"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon May 14 19:24:01 2007 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Sat May 26 19:21:09 2007 -0500"
      },
      "message": "[SCSI] qlogicfas408: convert to use the data buffer accessors\n\n- remove the unnecessary map_single path.\n\n- convert to use the new accessors for the sg lists and the\nparameters.\n\nJens Axboe \u003cjens.axboe@oracle.com\u003e did the for_each_sg cleanup.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "a24342b90c9c829fc5fea9ee01b127f81bca18ef",
      "tree": "a9308160cbf76a6e1b19e5ad5a0b90f0b27d8bd9",
      "parents": [
        "811c93666c3f4a0e99382c24a84480b03c7262f6"
      ],
      "author": {
        "name": "Henne",
        "email": "henne@nachtwindheim.de",
        "time": "Tue Oct 03 21:31:14 2006 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Wed Oct 25 15:11:55 2006 -0700"
      },
      "message": "[SCSI] Scsi_Cmnd conversion in qlogicfas408 driver\n\nChange obsolete Scsi_Cmnd to struct scsi_cmnd in the Qlocic FAS408 driver.\n\nSigned-off-by: Henrik Kretzschmar \u003chenne@nachtwindheim.de\u003e\n\nrejections fixed and\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "c7bec5aba52392aa8d675b8722735caf4a8b7265",
      "tree": "8087cfd2866e63fba25e18ba1fa0f374c27be4f0",
      "parents": [
        "c31f28e778ab299a5035ea2bda64f245b8915d7c"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 06 15:00:58 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 06 15:00:58 2006 -0400"
      },
      "message": "Various drivers\u0027 irq handlers: kill dead code, needless casts\n\n- Eliminate casts to/from void*\n\n- Eliminate checks for conditions that never occur.  These typically\n  fall into two classes:\n\n\t1) Checking for \u0027dev_id \u003d\u003d NULL\u0027, then it is never called with\n\tNULL as an argument.\n\n\t2) Checking for invalid irq number, when the only caller (the\n\tsystem) guarantees the irq handler is called with the proper\n\t\u0027irq\u0027 number argument.\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": "422c0d61d591cbfb70f029e13505fb437e169d68",
      "tree": "ebafa14e1c1564ddf263868c3b6907642a8fdf1e",
      "parents": [
        "017560fca496f72ed9dd734ffde63ce39dfe0411"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Oct 24 18:05:09 2005 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.(none)",
        "time": "Fri Oct 28 21:10:16 2005 -0500"
      },
      "message": "[SCSI] use scmd_id(), scmd_channel() throughout code\n\nWrap a highly common idiom.  Makes the code easier to read, helps pave\nthe way for sdev-\u003e{id,channel} removal, and adds a token that can easily\nby grepped-for in the future.\n\nThere are a couple sdev_id() and scmd_printk() updates thrown in as well.\n\nRejections fixed up and\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "68b3aa7c9805aee9005a8ca53c5e99177961fbb9",
      "tree": "3f28891df0b3a1ecdfe6a98547d8f3c43b74e905",
      "parents": [
        "94d0e7b805961c44e4dc486ffc21075084bb7175"
      ],
      "author": {
        "name": "Jeff Garzik ",
        "email": "jgarzik@pobox.com",
        "time": "Sat May 28 07:56:31 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik ",
        "email": "jgarzik@pobox.com",
        "time": "Fri Jun 17 12:05:10 2005 -0500"
      },
      "message": "[SCSI] allow sleeping in -\u003eeh_bus_reset_handler()\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "3471c288036bf0835a82d0b1bbce2002f6e68390",
      "tree": "9a646a16877b7c600c583a32f703dd02a621c603",
      "parents": [
        "e3df715501be3329986e5d9dfa9a477f49e7996b"
      ],
      "author": {
        "name": "Jeff Garzik ",
        "email": "jgarzik@pobox.com",
        "time": "Sat May 28 07:52:51 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik ",
        "email": "jgarzik@pobox.com",
        "time": "Fri Jun 17 12:04:45 2005 -0500"
      },
      "message": "[SCSI] Remove no-op implementations of SCSI EH hooks\n\nDrivers need not implement a hook that returns FAILED, and does nothing\nelse, since the SCSI midlayer code will do that for us.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.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"
    }
  ]
}
