)]}'
{
  "log": [
    {
      "commit": "645ef9ef1fc0ff70456495b1e21d3420b7b08541",
      "tree": "f5e5df85076f397690437f09cb56688b06a03dbf",
      "parents": [
        "7b6c3a34e93aafc5dd9adc7dee87c7fa61d8bdbb"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Sep 14 21:53:41 2010 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Tue Sep 14 23:14:50 2010 +0200"
      },
      "message": "sound: autoconvert trivial BKL users to private mutex\n\nThe usage of the BKL in the OSS sound drivers is\ntrivial, and each of them only locks against itself,\nso it can be turned into per-driver mutexes.\n\nThis is the script that was used for the conversion:\n\nfile\u003d$1\nname\u003d$2\nif grep -q lock_kernel ${file} ; then\n    if grep -q \u0027include.*linux.mutex.h\u0027 ${file} ; then\n            sed -i \u0027/include.*\u003clinux\\/smp_lock.h\u003e/d\u0027 ${file}\n    else\n            sed -i \u0027s/include.*\u003clinux\\/smp_lock.h\u003e.*$/include \u003clinux\\/mutex.h\u003e/g\u0027 ${file}\n    fi\n    sed -i ${file} \\\n        -e \"/^#include.*linux.mutex.h/,$ {\n                1,/^\\(static\\|int\\|long\\)/ {\n                     /^\\(static\\|int\\|long\\)/istatic DEFINE_MUTEX(${name}_mutex);\n\n} }\"  \\\n    -e \"s/\\(un\\)*lock_kernel\\\u003e[ ]*()/mutex_\\1lock(\\\u0026${name}_mutex)/g\" \\\n    -e \u0027/[      ]*cycle_kernel_lock();/d\u0027\nelse\n    sed -i -e \u0027/include.*\\\u003csmp_lock.h\\\u003e/d\u0027 ${file}  \\\n                -e \u0027/cycle_kernel_lock()/d\u0027\nfi\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "d209974cdc36aeeef406fa2019e9e1dacecbb979",
      "tree": "eb028490375c6651cebe1e054bb2efdb5ceb787a",
      "parents": [
        "90dc763fef4c869e60b2a7ad92e1a7dab68575ea"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Jul 12 19:53:18 2010 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Mon Jul 12 22:36:47 2010 +0200"
      },
      "message": "sound/oss: convert to unlocked_ioctl\n\nThese are the final conversions for the ioctl file operation so we can remove\nit in the next merge window.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "90dc763fef4c869e60b2a7ad92e1a7dab68575ea",
      "tree": "ab3757f14a6d84e36afa36ac5f325fd316d4e197",
      "parents": [
        "395c61d19621e80b763810cc988416dc1b6bfd3e"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Jul 11 12:16:36 2010 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Mon Jul 12 17:41:05 2010 +0200"
      },
      "message": "sound: push BKL into open functions\n\nThis moves the lock_kernel() call from soundcore_open\nto the individual OSS device drivers, where we can deal\nwith it one driver at a time if needed, or just kill\noff the drivers.\n\nAll core components in ALSA already provide\nadequate locking in their open()-functions\nand do not require the big kernel lock, so\nthere is no need to add the BKL there.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "f1d269bac24e5ddb3a0650aaeb4117aa806b99f1",
      "tree": "4744cfe08ef1cf2929fdf31c849874396b7a3d39",
      "parents": [
        "5e8e7c38533a8f86626e9410fa38f5854a6959df"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Aug 26 12:01:20 2009 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Aug 26 12:42:43 2009 +0200"
      },
      "message": "sound: vwsnd: Fix setting of cfgval and ctlval in li_setup_dma()\n\nSince !LI_CCFG_* evaluates to 0, this did not change anything to\ncfgval and ctlval.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "db1dd4d376134eba0e08af523b61cc566a4ea1cd",
      "tree": "8882c673abbaa5713511b7046493fa862b9140d1",
      "parents": [
        "684999149002dd046269666a390458e0acb38280"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Fri Feb 06 15:25:24 2009 -0700"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Mar 16 08:32:27 2009 -0600"
      },
      "message": "Use f_lock to protect f_flags\n\nTraditionally, changes to struct file-\u003ef_flags have been done under BKL\nprotection, or with no protection at all.  This patch causes all f_flags\nchanges after file open/creation time to be done under protection of\nf_lock.  This allows the removal of some BKL usage and fixes a number of\nlongstanding (if microscopic) races.\n\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "aeb5d727062a0238a2f96c9c380fbd2be4640c6f",
      "tree": "51dae8a071fcf42e4431a66d37c5b843c8e99cf6",
      "parents": [
        "2515ddc6db8eb49a79f0fe5e67ff09ac7c81eab4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 02 15:28:45 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:47:06 2008 -0400"
      },
      "message": "[PATCH] introduce fmode_t, do annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8a55a00aad9f5c4e9bb97729b42a7ceea2a3b6fb",
      "tree": "fe0550f928c49bf656f64194c7b1f6e072aaca43",
      "parents": [
        "3a62ed73ccb76b3d573c2ceb52ee01081fa89f3d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 10 19:35:33 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 10 19:34:22 2008 +0200"
      },
      "message": "x86, VisWS: turn into generic arch, update include file change\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9bf8e7ddeaf57f1ec534014c447705ad31d5d721",
      "tree": "6cb4dd4763631bf9f181ba30ffce6ebbfc70073b",
      "parents": [
        "24982c5f7feca2f4d1b0b562a28b767d93a01ce0"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Mar 03 15:32:18 2008 -0800"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Apr 24 12:00:20 2008 +0200"
      },
      "message": "[ALSA] sound: replace remaining __FUNCTION__ occurences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "9c2e08c592cd357a8330c34def1e8ecfdcf53275",
      "tree": "62e7449e43bb502f2e9630ab41832ceccd9a0f65",
      "parents": [
        "da7071d7e32d15149cc513f096a3638097b66387"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:37 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 9\n\nMany struct file_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.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": "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": "8f3b50fc72d538c79dd2c1f728f5e594a0192da2",
      "tree": "467c8e0880c7470d4d169a6d149c5946876c20ea",
      "parents": [
        "1751ace034bba6b423c1de4668f0e65cc9ef2b84"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Sun Mar 26 01:37:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:58 2006 -0800"
      },
      "message": "[PATCH] Fix compilation for sound/oss/vwsnd.c\n\nFix compilation for sound/oss/vwsnd.o, by moving li_destroy() above\nli_create()\n\nsound/oss/vwsnd.c:275: warning: conflicting types for âli_destroyâ\nsound/oss/vwsnd.c:275: error: static declaration of âli_destroyâ follows non-static declaration\nsound/oss/vwsnd.c:264: error: previous implicit declaration of âli_destroyâ was here\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "910f5d202ce39cc78de1bbb679285a3167de9fb2",
      "tree": "2c5b55c2b141aaf016c459beb397fc702c41b967",
      "parents": [
        "82d4dc5adb0055393248ad4ab8de392fac708a12"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 23 03:00:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:13 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: sound/oss/\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.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"
    }
  ]
}
