)]}'
{
  "log": [
    {
      "commit": "f3cbd435b02fb45efc2c8a39c2ea19816669c412",
      "tree": "fc3cfda8b6bdbddedf0a0d3d41736bf9a049a7d9",
      "parents": [
        "7fe5e04292e71af34ae171b88caa2a139e0b6125"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Feb 21 16:43:07 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:20 2013 -0800"
      },
      "message": "sys_prctl(): coding-style cleanup\n\nRemove a tabstop from the switch statement, in the usual fashion.  A few\ninstances of weirdwrapping were removed as a result.\n\nCc: Chen Gang \u003cgang.chen@asianux.com\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7fe5e04292e71af34ae171b88caa2a139e0b6125",
      "tree": "5bae0bf98e77442626c61ad57d3121440d599f09",
      "parents": [
        "242260fb858e99674289484bc2bfe3b41f9c4cbb"
      ],
      "author": {
        "name": "Chen Gang",
        "email": "gang.chen@asianux.com",
        "time": "Thu Feb 21 16:43:06 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:20 2013 -0800"
      },
      "message": "sys_prctl(): arg2 is unsigned long which is never \u003c 0\n\narg2 will never \u003c 0, for its type is \u0027unsigned long\u0027\n\nAlso, use the provided macros.\n\nSigned-off-by: Chen Gang \u003cgang.chen@asianux.com\u003e\nReported-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "242260fb858e99674289484bc2bfe3b41f9c4cbb",
      "tree": "09dcf9a2a5c21d27ed06f028c0096a727eaf64f3",
      "parents": [
        "76e8402619cf777a3adae9cd70e56a848a9bf952"
      ],
      "author": {
        "name": "Christian Kujau",
        "email": "lists@nerdbynature.de",
        "time": "Thu Feb 21 16:43:05 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:20 2013 -0800"
      },
      "message": "sun.com documentation fixes\n\nAfter I came across a help text for SUNGEM mentioning a broken sun.com\nURL, I felt like fixing those up, as they are now pointing to oracle.com\nURLs.\n\nSigned-off-by: Christian Kujau \u003clists@nerdbynature.de\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "76e8402619cf777a3adae9cd70e56a848a9bf952",
      "tree": "27aa5717d8ca6860a2144321f8353eef0f719aa9",
      "parents": [
        "9a46ad6d6df3b547d057c39db13f69d7170a99e9"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kyle@redhat.com",
        "time": "Thu Feb 21 16:43:04 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:20 2013 -0800"
      },
      "message": "lib/Kconfig.debug: unhide CONFIG_PANIC_ON_OOPS\n\nCONFIG_EXPERT doesn\u0027t really make sense, and hides it unintentionally.\nRemove superfluous \"default n\" pointed out by Ingo as well.\n\nSigned-off-by: Kyle McMartin \u003ckyle@redhat.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a46ad6d6df3b547d057c39db13f69d7170a99e9",
      "tree": "684a14d248639c2411c46f53dc7acba4a81c357c",
      "parents": [
        "6d1c7ccae946f5c959f5c9236813d9c33ae48537"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shli@kernel.org",
        "time": "Thu Feb 21 16:43:03 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:20 2013 -0800"
      },
      "message": "smp: make smp_call_function_many() use logic similar to smp_call_function_single()\n\nI\u0027m testing swapout workload in a two-socket Xeon machine.  The workload\nhas 10 threads, each thread sequentially accesses separate memory\nregion.  TLB flush overhead is very big in the workload.  For each page,\npage reclaim need move it from active lru list and then unmap it.  Both\nneed a TLB flush.  And this is a multthread workload, TLB flush happens\nin 10 CPUs.  In X86, TLB flush uses generic smp_call)function.  So this\nworkload stress smp_call_function_many heavily.\n\nWithout patch, perf shows:\n+  24.49%  [k] generic_smp_call_function_interrupt\n-  21.72%  [k] _raw_spin_lock\n   - _raw_spin_lock\n      + 79.80% __page_check_address\n      + 6.42% generic_smp_call_function_interrupt\n      + 3.31% get_swap_page\n      + 2.37% free_pcppages_bulk\n      + 1.75% handle_pte_fault\n      + 1.54% put_super\n      + 1.41% grab_super_passive\n      + 1.36% __swap_duplicate\n      + 0.68% blk_flush_plug_list\n      + 0.62% swap_info_get\n+   6.55%  [k] flush_tlb_func\n+   6.46%  [k] smp_call_function_many\n+   5.09%  [k] call_function_interrupt\n+   4.75%  [k] default_send_IPI_mask_sequence_phys\n+   2.18%  [k] find_next_bit\n\nswapout throughput is around 1300M/s.\n\nWith the patch, perf shows:\n-  27.23%  [k] _raw_spin_lock\n   - _raw_spin_lock\n      + 80.53% __page_check_address\n      + 8.39% generic_smp_call_function_single_interrupt\n      + 2.44% get_swap_page\n      + 1.76% free_pcppages_bulk\n      + 1.40% handle_pte_fault\n      + 1.15% __swap_duplicate\n      + 1.05% put_super\n      + 0.98% grab_super_passive\n      + 0.86% blk_flush_plug_list\n      + 0.57% swap_info_get\n+   8.25%  [k] default_send_IPI_mask_sequence_phys\n+   7.55%  [k] call_function_interrupt\n+   7.47%  [k] smp_call_function_many\n+   7.25%  [k] flush_tlb_func\n+   3.81%  [k] _raw_spin_lock_irqsave\n+   3.78%  [k] generic_smp_call_function_single_interrupt\n\nswapout throughput is around 1400M/s.  So there is around a 7%\nimprovement, and total cpu utilization doesn\u0027t change.\n\nWithout the patch, cfd_data is shared by all CPUs.\ngeneric_smp_call_function_interrupt does read/write cfd_data several times\nwhich will create a lot of cache ping-pong.  With the patch, the data\nbecomes per-cpu.  The ping-pong is avoided.  And from the perf data, this\ndoesn\u0027t make call_single_queue lock contend.\n\nNext step is to remove generic_smp_call_function_interrupt() from arch\ncode.\n\nSigned-off-by: Shaohua Li \u003cshli@fusionio.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d1c7ccae946f5c959f5c9236813d9c33ae48537",
      "tree": "302940bc3853727589cd061aa1c3f724b15c9231",
      "parents": [
        "182dcfd648aef0705fd04c42cbe507c09e00c25d"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Thu Feb 21 16:43:01 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:20 2013 -0800"
      },
      "message": "mm: use vm_unmapped_area() on alpha architecture\n\nUpdate the alpha arch_get_unmapped_area function to make use of\nvm_unmapped_area() instead of implementing a brute force search.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Matt Turner \u003cmattst88@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "182dcfd648aef0705fd04c42cbe507c09e00c25d",
      "tree": "7440ba7319c459418837efc3b64748af594672aa",
      "parents": [
        "1269529bda27823ed42798762e896c059ea5e486"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Feb 21 16:42:59 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:20 2013 -0800"
      },
      "message": "ubifs: wait for page writeback to provide stable pages\n\nWhen stable pages are required, we have to wait if the page is just\ngoing to disk and we want to modify it.  Add proper callback to\nubifs_vm_page_mkwrite().\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nCc: Artem Bityutskiy \u003cdedekind1@gmail.com\u003e\nCc: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nCc: Andy Lutomirski \u003cluto@amacapital.net\u003e\nCc: Joel Becker \u003cjlbec@evilplan.org\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nCc: Ron Minnich \u003crminnich@sandia.gov\u003e\nCc: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1269529bda27823ed42798762e896c059ea5e486",
      "tree": "dc5432af7aad76161fe4094ec32f8410fd06f7b3",
      "parents": [
        "ffecfd1a72fccfcee3dabb99b9ecba9735318f90"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Feb 21 16:42:57 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:20 2013 -0800"
      },
      "message": "ocfs2: wait for page writeback to provide stable pages\n\nWhen stable pages are required, we have to wait if the page is just\ngoing to disk and we want to modify it.  Add proper callback to\nocfs2_grab_pages_for_write().\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nAcked-by: Joel Becker \u003cjlbec@evilplan.org\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nCc: Andy Lutomirski \u003cluto@amacapital.net\u003e\nCc: Artem Bityutskiy \u003cdedekind1@gmail.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nCc: Ron Minnich \u003crminnich@sandia.gov\u003e\nCc: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ffecfd1a72fccfcee3dabb99b9ecba9735318f90",
      "tree": "a5c3caf67249ec811a2c2c95678d9349fd8e2412",
      "parents": [
        "13575ca14fcdacd1ad914d00bc63eb4d96280986"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Thu Feb 21 16:42:55 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:20 2013 -0800"
      },
      "message": "block: optionally snapshot page contents to provide stable pages during write\n\nThis provides a band-aid to provide stable page writes on jbd without\nneeding to backport the fixed locking and page writeback bit handling\nschemes of jbd2.  The band-aid works by using bounce buffers to snapshot\npage contents instead of waiting.\n\nFor those wondering about the ext3 bandage -- fixing the jbd locking\n(which was done as part of ext4dev years ago) is a lot of surgery, and\nsetting PG_writeback on data pages when we actually hold the page lock\ndropped ext3 performance by nearly an order of magnitude.  If we\u0027re\ngoing to migrate iscsi and raid to use stable page writes, the\ncomplaints about high latency will likely return.  We might as well\ncentralize their page snapshotting thing to one place.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nTested-by: Andy Lutomirski \u003cluto@amacapital.net\u003e\nCc: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nCc: Artem Bityutskiy \u003cdedekind1@gmail.com\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Joel Becker \u003cjlbec@evilplan.org\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nCc: Ron Minnich \u003crminnich@sandia.gov\u003e\nCc: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "13575ca14fcdacd1ad914d00bc63eb4d96280986",
      "tree": "c7abab7927520b156008db1986f1490d256960b3",
      "parents": [
        "1d1d1a767206fbe5d4c69493b7e6d2a8d08cc0a0"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Thu Feb 21 16:42:53 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:19 2013 -0800"
      },
      "message": "9pfs: fix filesystem to wait for stable page writeback\n\nFix up the -\u003epage_mkwrite handler to provide stable page writes if necessary.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nCc: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nCc: Andy Lutomirski \u003cluto@amacapital.net\u003e\nCc: Artem Bityutskiy \u003cdedekind1@gmail.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Joel Becker \u003cjlbec@evilplan.org\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nCc: Ron Minnich \u003crminnich@sandia.gov\u003e\nCc: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d1d1a767206fbe5d4c69493b7e6d2a8d08cc0a0",
      "tree": "6550294916016eac01deb596331aab1770223eab",
      "parents": [
        "7d311cdab663f4f7ab3a4c0d5d484234406f8268"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Thu Feb 21 16:42:51 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:19 2013 -0800"
      },
      "message": "mm: only enforce stable page writes if the backing device requires it\n\nCreate a helper function to check if a backing device requires stable\npage writes and, if so, performs the necessary wait.  Then, make it so\nthat all points in the memory manager that handle making pages writable\nuse the helper function.  This should provide stable page write support\nto most filesystems, while eliminating unnecessary waiting for devices\nthat don\u0027t require the feature.\n\nBefore this patchset, all filesystems would block, regardless of whether\nor not it was necessary.  ext3 would wait, but still generate occasional\nchecksum errors.  The network filesystems were left to do their own\nthing, so they\u0027d wait too.\n\nAfter this patchset, all the disk filesystems except ext3 and btrfs will\nwait only if the hardware requires it.  ext3 (if necessary) snapshots\npages instead of blocking, and btrfs provides its own bdi so the mm will\nnever wait.  Network filesystems haven\u0027t been touched, so either they\nprovide their own stable page guarantees or they don\u0027t block at all.\nThe blocking behavior is back to what it was before 3.0 if you don\u0027t\nhave a disk requiring stable page writes.\n\nHere\u0027s the result of using dbench to test latency on ext2:\n\n3.8.0-rc3:\n Operation      Count    AvgLat    MaxLat\n ----------------------------------------\n WriteX        109347     0.028    59.817\n ReadX         347180     0.004     3.391\n Flush          15514    29.828   287.283\n\nThroughput 57.429 MB/sec  4 clients  4 procs  max_latency\u003d287.290 ms\n\n3.8.0-rc3 + patches:\n WriteX        105556     0.029     4.273\n ReadX         335004     0.005     4.112\n Flush          14982    30.540   298.634\n\nThroughput 55.4496 MB/sec  4 clients  4 procs  max_latency\u003d298.650 ms\n\nAs you can see, the maximum write latency drops considerably with this\npatch enabled.  The other filesystems (ext3/ext4/xfs/btrfs) behave\nsimilarly, but see the cover letter for those results.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nAcked-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nCc: Andy Lutomirski \u003cluto@amacapital.net\u003e\nCc: Artem Bityutskiy \u003cdedekind1@gmail.com\u003e\nCc: Joel Becker \u003cjlbec@evilplan.org\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nCc: Ron Minnich \u003crminnich@sandia.gov\u003e\nCc: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d311cdab663f4f7ab3a4c0d5d484234406f8268",
      "tree": "c65c6d24b7c6ab12038adea622f9d5b3a66eeea4",
      "parents": [
        "b1ae345d971664f70cfdc293029c40ccfb093591"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Thu Feb 21 16:42:48 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:19 2013 -0800"
      },
      "message": "bdi: allow block devices to say that they require stable page writes\n\nThis patchset (\"stable page writes, part 2\") makes some key\nmodifications to the original \u0027stable page writes\u0027 patchset.  First, it\nprovides creators (devices and filesystems) of a backing_dev_info a flag\nthat declares whether or not it is necessary to ensure that page\ncontents cannot change during writeout.  It is no longer assumed that\nthis is true of all devices (which was never true anyway).  Second, the\nflag is used to relaxed the wait_on_page_writeback calls so that wait\nonly occurs if the device needs it.  Third, it fixes up the remaining\ndisk-backed filesystems to use this improved conditional-wait logic to\nprovide stable page writes on those filesystems.\n\nIt is hoped that (for people not using checksumming devices, anyway)\nthis patchset will give back unnecessary performance decreases since the\noriginal stable page write patchset went into 3.0.  Sorry about not\nfixing it sooner.\n\nComplaints were registered by several people about the long write\nlatencies introduced by the original stable page write patchset.\nGenerally speaking, the kernel ought to allocate as little extra memory\nas possible to facilitate writeout, but for people who simply cannot\nwait, a second page stability strategy is (re)introduced: snapshotting\npage contents.  The waiting behavior is still the default strategy; to\nenable page snapshotting, a superblock flag (MS_SNAP_STABLE) must be\nset.  This flag is used to bandaid^Henable stable page writeback on\next3[1], and is not used anywhere else.\n\nGiven that there are already a few storage devices and network FSes that\nhave rolled their own page stability wait/page snapshot code, it would\nbe nice to move towards consolidating all of these.  It seems possible\nthat iscsi and raid5 may wish to use the new stable page write support\nto enable zero-copy writeout.\n\nThank you to Jan Kara for helping fix a couple more filesystems.\n\nPer Andrew Morton\u0027s request, here are the result of using dbench to measure\nlatencies on ext2:\n\n3.8.0-rc3:\n   Operation      Count    AvgLat    MaxLat\n   ----------------------------------------\n   WriteX        109347     0.028    59.817\n   ReadX         347180     0.004     3.391\n   Flush          15514    29.828   287.283\n\n  Throughput 57.429 MB/sec  4 clients  4 procs  max_latency\u003d287.290 ms\n\n3.8.0-rc3 + patches:\n   WriteX        105556     0.029     4.273\n   ReadX         335004     0.005     4.112\n   Flush          14982    30.540   298.634\n\n  Throughput 55.4496 MB/sec  4 clients  4 procs  max_latency\u003d298.650 ms\n\nAs you can see, for ext2 the maximum write latency decreases from ~60ms\non a laptop hard disk to ~4ms.  I\u0027m not sure why the flush latencies\nincrease, though I suspect that being able to dirty pages faster gives\nthe flusher more work to do.\n\nOn ext4, the average write latency decreases as well as all the maximum\nlatencies:\n\n3.8.0-rc3:\n   WriteX         85624     0.152    33.078\n   ReadX         272090     0.010    61.210\n   Flush          12129    36.219   168.260\n\n  Throughput 44.8618 MB/sec  4 clients  4 procs  max_latency\u003d168.276 ms\n\n3.8.0-rc3 + patches:\n   WriteX         86082     0.141    30.928\n   ReadX         273358     0.010    36.124\n   Flush          12214    34.800   165.689\n\n  Throughput 44.9941 MB/sec  4 clients  4 procs  max_latency\u003d165.722 ms\n\nXFS seems to exhibit similar latency improvements as ext2:\n\n3.8.0-rc3:\n   WriteX        125739     0.028   104.343\n   ReadX         399070     0.005     4.115\n   Flush          17851    25.004   131.390\n\n  Throughput 66.0024 MB/sec  4 clients  4 procs  max_latency\u003d131.406 ms\n\n3.8.0-rc3 + patches:\n   WriteX        123529     0.028     6.299\n   ReadX         392434     0.005     4.287\n   Flush          17549    25.120   188.687\n\n  Throughput 64.9113 MB/sec  4 clients  4 procs  max_latency\u003d188.704 ms\n\n...and btrfs, just to round things out, also shows some latency\ndecreases:\n\n3.8.0-rc3:\n   WriteX         67122     0.083    82.355\n   ReadX         212719     0.005     2.828\n   Flush           9547    47.561   147.418\n\n  Throughput 35.3391 MB/sec  4 clients  4 procs  max_latency\u003d147.433 ms\n\n3.8.0-rc3 + patches:\n   WriteX         64898     0.101    71.631\n   ReadX         206673     0.005     7.123\n   Flush           9190    47.963   219.034\n\n  Throughput 34.0795 MB/sec  4 clients  4 procs  max_latency\u003d219.044 ms\n\nBefore this patchset, all filesystems would block, regardless of whether\nor not it was necessary.  ext3 would wait, but still generate occasional\nchecksum errors.  The network filesystems were left to do their own\nthing, so they\u0027d wait too.\n\nAfter this patchset, all the disk filesystems except ext3 and btrfs will\nwait only if the hardware requires it.  ext3 (if necessary) snapshots\npages instead of blocking, and btrfs provides its own bdi so the mm will\nnever wait.  Network filesystems haven\u0027t been touched, so either they\nprovide their own wait code, or they don\u0027t block at all.  The blocking\nbehavior is back to what it was before 3.0 if you don\u0027t have a disk\nrequiring stable page writes.\n\nThis patchset has been tested on 3.8.0-rc3 on x64 with ext3, ext4, and\nxfs.  I\u0027ve spot-checked 3.8.0-rc4 and seem to be getting the same\nresults as -rc3.\n\n[1] The alternative fixes to ext3 include fixing the locking order and\npage bit handling like we did for ext4 (but then why not just use\next4?), or setting PG_writeback so early that ext3 becomes extremely\nslow.  I tried that, but the number of write()s I could initiate dropped\nby nearly an order of magnitude.  That was a bit much even for the\nauthor of the stable page series! :)\n\nThis patch:\n\nCreates a per-backing-device flag that tracks whether or not pages must\nbe held immutable during writeout.  Eventually it will be used to waive\nwait_for_page_writeback() if nothing requires stable pages.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nCc: Andy Lutomirski \u003cluto@amacapital.net\u003e\nCc: Artem Bityutskiy \u003cdedekind1@gmail.com\u003e\nCc: Joel Becker \u003cjlbec@evilplan.org\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nCc: Ron Minnich \u003crminnich@sandia.gov\u003e\nCc: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b1ae345d971664f70cfdc293029c40ccfb093591",
      "tree": "dcc1e4e8aed9da51a87eca71a8b133a001487381",
      "parents": [
        "3278bb748d2437eb1464765f36429e5d6aa91c38"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Feb 21 16:42:47 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:19 2013 -0800"
      },
      "message": "lockdep: make lockdep_assert_held() not have a return value\n\nI recently made the mistake of writing:\n\n  foo \u003d lockdep_dereference_protected(..., lockdep_assert_held(...));\n\nwhich is clearly bogus.  If lockdep is disabled in the config this would\ncause a compile failure, if it is enabled then it compiles and causes a\npuzzling warning about dereferencing without the correct protection.\n\nWrap the macro in \"do { ...  } while (0)\" to also fail compile for this\nwhen lockdep is enabled.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3278bb748d2437eb1464765f36429e5d6aa91c38",
      "tree": "04e73a862c6fa6835b2e19a933e7e915297df4b3",
      "parents": [
        "d787ab0977c58e2c421b8d0ab49e363893ddb814"
      ],
      "author": {
        "name": "Junxiao Bi",
        "email": "junxiao.bi@oracle.com",
        "time": "Thu Feb 21 16:42:45 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:19 2013 -0800"
      },
      "message": "ocfs2: unlock super lock if lockres refresh failed\n\nIf lockres refresh failed, the super lock will never be released which\nwill cause some processes on other cluster nodes hung forever.\n\nSigned-off-by: Junxiao Bi \u003cjunxiao.bi@oracle.com\u003e\nCc: Joel Becker \u003cjlbec@evilplan.org\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d787ab0977c58e2c421b8d0ab49e363893ddb814",
      "tree": "d55c305e7e011fcb271f8b8be4a7bc94274712a1",
      "parents": [
        "49deb4bc227cb9db5b8ebf9434367f8bed057c7a"
      ],
      "author": {
        "name": "Tim Gardner",
        "email": "tim.gardner@canonical.com",
        "time": "Thu Feb 21 16:42:44 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:19 2013 -0800"
      },
      "message": "ocfs2: remove kfree() redundant null checks\n\nsmatch analysis indicates a number of redundant NULL checks before\ncalling kfree(), eg:\n\n  fs/ocfs2/alloc.c:6138 ocfs2_begin_truncate_log_recovery() info:\n   redundant null check on *tl_copy calling kfree()\n\n  fs/ocfs2/alloc.c:6755 ocfs2_zero_range_for_truncate() info:\n   redundant null check on pages calling kfree()\n\netc....\n\n[akpm@linux-foundation.org: revert dubious change in ocfs2_begin_truncate_log_recovery()]\nSigned-off-by: Tim Gardner \u003ctim.gardner@canonical.com\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nAcked-by: Joel Becker \u003cjlbec@evilplan.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "49deb4bc227cb9db5b8ebf9434367f8bed057c7a",
      "tree": "cda54ac20921d7b5145efcc0ca7021d62ef9dc66",
      "parents": [
        "1b2643f0d09381ad504123809ff587bf6ab0ec7d"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yongjun_wei@trendmicro.com.cn",
        "time": "Thu Feb 21 16:42:43 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:19 2013 -0800"
      },
      "message": "configfs: move the dereference below the NULL test\n\nThe dereference should be moved below the NULL test.\n\nspatch with a semantic match is used to found this.\n(http://coccinelle.lip6.fr/)\n\nSigned-off-by: Wei Yongjun \u003cyongjun_wei@trendmicro.com.cn\u003e\nCc: Joel Becker \u003cjlbec@evilplan.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b2643f0d09381ad504123809ff587bf6ab0ec7d",
      "tree": "9deef7631d190476ac985675448d8c697aa20a54",
      "parents": [
        "af3b56289be1f65d5c9f28bb1775e01056a5a2de"
      ],
      "author": {
        "name": "Kirill Tkhai",
        "email": "tkhai@yandex.ru",
        "time": "Thu Feb 21 16:42:42 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:19 2013 -0800"
      },
      "message": "scripts/tags.sh: add ctags magic for declarations of popular kernel type\n\n- Add magic for declarations of variables of popular kernel type like\n  spinlock_t, list_head, wait_queue_head_t and other.\n\n- Add a set of specially handled declaration extentions like\n  __attribute, __aligned and other.\n\n- Simplify pci_bus_* magic\n\nSigned-off-by: Kirill V Tkhai \u003ctkhai@yandex.ru\u003e\nCc: Michal Marek \u003cmmarek@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af3b56289be1f65d5c9f28bb1775e01056a5a2de",
      "tree": "3f3991255ab0c97e387657749a31a7f3b93a586b",
      "parents": [
        "f3d8496e9c841874faf4f2c850d2322453c89e94"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 21 16:42:40 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:19 2013 -0800"
      },
      "message": "time: don\u0027t inline EXPORT_SYMBOL functions\n\nHow is the compiler even handling exported functions that are marked\ninline? Anyway, these shouldn\u0027t be inline because of that, so remove\nthat marking.\n\nBased on a larger patch by Mark Charlebois to get LLVM to build the\nkernel.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Mark Charlebois \u003cmcharleb@qualcomm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: hank \u003cpyu@redhat.com\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f3d8496e9c841874faf4f2c850d2322453c89e94",
      "tree": "6d48415b0a322227a5f199723fd6474b6e071372",
      "parents": [
        "9ea8b9a5456e73a1793af1b96683db8a1f103fde"
      ],
      "author": {
        "name": "Fabio Estevam",
        "email": "fabio.estevam@freescale.com",
        "time": "Thu Feb 21 16:42:39 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:19 2013 -0800"
      },
      "message": "drivers/video/mx3fb.c: use NULL for pointer\n\nFix the following sparse error:\n\n  drivers/video/mx3fb.c:1309:28: warning: Using plain integer as NULL pointer\n\nSigned-off-by: Fabio Estevam \u003cfabio.estevam@freescale.com\u003e\nAcked-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9ea8b9a5456e73a1793af1b96683db8a1f103fde",
      "tree": "92e066d231b77b561cfd5907b0f26f5669ee8a57",
      "parents": [
        "d3ed97035b2ed8be0c67768ca7e050547d860ca5"
      ],
      "author": {
        "name": "Ajay Kumar",
        "email": "ajaykumar.rs@samsung.com",
        "time": "Thu Feb 21 16:42:38 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:18 2013 -0800"
      },
      "message": "video: exynos_dp: move disable_irq() to exynos_dp_suspend()\n\ndisable_irq() should be moved to exynos_dp_suspend(), because enable_irq()\nis called at exynos_dp_resume().\n\nSigned-off-by: Ajay Kumar \u003cajaykumar.rs@samsung.com\u003e\nSigned-off-by: Jingoo Han \u003cjg1.han@samsung.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d3ed97035b2ed8be0c67768ca7e050547d860ca5",
      "tree": "9dee10feb01abfcc5a9eea4d77667a876f5b8d4c",
      "parents": [
        "678268e534553546508ae5bf066c8a491047a6f6"
      ],
      "author": {
        "name": "Jingoo Han",
        "email": "jg1.han@samsung.com",
        "time": "Thu Feb 21 16:42:37 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:18 2013 -0800"
      },
      "message": "video: exynos_dp: add missing of_node_put()\n\nof_find_node_by_name() returns a node pointer with refcount incremented,\nuse of_node_put() on it when done.\n\nof_find_node_by_name() will call of_node_put() against the node pass to\nfrom parameter, thus we also need to call of_node_get(from) before calling\nof_find_node_by_name().\n\nSigned-off-by: Jingoo Han \u003cjg1.han@samsung.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nCc: Ajay Kumar \u003cajaykumar.rs@samsung.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "678268e534553546508ae5bf066c8a491047a6f6",
      "tree": "e1e2f945b4369f79055356b703b4eae72dab555f",
      "parents": [
        "90dd0b07257cee77878851434754cb4cb76149e8"
      ],
      "author": {
        "name": "Tomasz Figa",
        "email": "t.figa@samsung.com",
        "time": "Thu Feb 21 16:42:36 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:18 2013 -0800"
      },
      "message": "video: s3c-fb: fix typo in definition of VIDCON1_VSTATUS_FRONTPORCH value\n\nThe correct value for VIDCON1_VSTATUS_FRONTPORCH is 3, not 0.\n\nSigned-off-by: Tomasz Figa \u003ct.figa@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Jingoo Han \u003cjg1.han@samsung.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "90dd0b07257cee77878851434754cb4cb76149e8",
      "tree": "8ad7f09dbc2aa0d45d953884908f509c947bb01d",
      "parents": [
        "fe6863cc5b8e8b9b0e0b998e6de9be4e441f5b98"
      ],
      "author": {
        "name": "Jingoo Han",
        "email": "jg1.han@samsung.com",
        "time": "Thu Feb 21 16:42:34 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:18 2013 -0800"
      },
      "message": "video: s3c-fb: add the bit definitions for CSC EQ709 and EQ601\n\nAdd the bit definitions for CSC EQ709 and EQ601.  These definitons are\nused to control the CSC parameter such as equation 709 and equation 601.\n\nSigned-off-by: Jingoo Han \u003cjg1.han@samsung.com\u003e\nCc: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: Tomasz Figa \u003ct.figa@samsung.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe6863cc5b8e8b9b0e0b998e6de9be4e441f5b98",
      "tree": "f0aed18f86874e71fb7970fb7a3345624f7481e0",
      "parents": [
        "151b5c469905fe30efad3a3d0ddffdb6c6ac1851"
      ],
      "author": {
        "name": "Jingoo Han",
        "email": "jg1.han@samsung.com",
        "time": "Thu Feb 21 16:42:33 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:18 2013 -0800"
      },
      "message": "video: s3c-fb: remove unnecessary brackets\n\nRemove unnecessary brackets and the duplicated VIDTCON2 definition.\n\nAlso, header comment is modified, because EXYNOS series is supported and\n\u003cmach/regs-fb.h\u003e is not available.\n\nSigned-off-by: Jingoo Han \u003cjg1.han@samsung.com\u003e\nCc: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: Tomasz Figa \u003ct.figa@samsung.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "151b5c469905fe30efad3a3d0ddffdb6c6ac1851",
      "tree": "7b2b2155e5bcc5ce01defbc92b64f1d9bfa06749",
      "parents": [
        "4e45a765646244cdb90069c5fa6bbbc57321f576"
      ],
      "author": {
        "name": "Jingoo Han",
        "email": "jg1.han@samsung.com",
        "time": "Thu Feb 21 16:42:31 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:18 2013 -0800"
      },
      "message": "video: s3c-fb: remove duplicated S3C_FB_MAX_WIN\n\nS3C_FB_MAX_WIN is already defined in \u0027plat-samsung/include/plat/fb.h\u0027.\nSo, this definition in \u0027include/video/samsung_fimd.h\u0027 should be removed to\navoid the duplication.\n\nSigned-off-by: Jingoo Han \u003cjg1.han@samsung.com\u003e\nCc: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: Tomasz Figa \u003ct.figa@samsung.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e45a765646244cdb90069c5fa6bbbc57321f576",
      "tree": "0d85f2167eef7a1ba3a5faaa5fd7046249daa0e5",
      "parents": [
        "f18acdeacbcf038df3c9b03a96193cb01ca45cbb"
      ],
      "author": {
        "name": "Jingoo Han",
        "email": "jg1.han@samsung.com",
        "time": "Thu Feb 21 16:42:30 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:18 2013 -0800"
      },
      "message": "video: s3c-fb: use ARCH_ dependancy\n\nUse ARCH_ dependancy when using s3c-fb.  S3C_DEV_FB, S5P_DEV_FIMD0 cannot\nbe enabled on EXYNOS5.  So, ARCH_ should be used as dependancy for s3c-fb.\n\nSigned-off-by: Jingoo Han \u003cjg1.han@samsung.com\u003e\nCc: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: Tomasz Figa \u003ct.figa@samsung.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f18acdeacbcf038df3c9b03a96193cb01ca45cbb",
      "tree": "7a4e2703088116918e3bf999f6b42593e4a5b3b9",
      "parents": [
        "0c980826211611178b6d76b246d00a4c840f21e5"
      ],
      "author": {
        "name": "Sachin Kamat",
        "email": "sachin.kamat@linaro.org",
        "time": "Thu Feb 21 16:42:28 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:18 2013 -0800"
      },
      "message": "drivers/video/exynos/exynos_mipi_dsi.c: use devm_* APIs\n\ndevm_* APIs are device managed and make exit and cleanup code simpler.\nWhile at it also remove some unused labels and fix an error path.\n\nSigned-off-by: Sachin Kamat \u003csachin.kamat@linaro.org\u003e\nAcked-by: Donghwa Lee \u003cdh09.lee@samsung.com\u003e\nCc: Inki Dae \u003cinki.dae@samsung.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c980826211611178b6d76b246d00a4c840f21e5",
      "tree": "6a5e1b4514e9419fb2407fdb3134ae2c3e1ede41",
      "parents": [
        "a25fc871b002c51944c05b9a09f1526dfbe32d39"
      ],
      "author": {
        "name": "Sachin Kamat",
        "email": "sachin.kamat@linaro.org",
        "time": "Thu Feb 21 16:42:27 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:18 2013 -0800"
      },
      "message": "drivers/video/exynos/exynos_mipi_dsi.c: fix an error check condition\n\nChecking an unsigned variable for negative value returns false.  Hence use\nthe macro to fix it.\n\nFixes the following smatch warning:\n\n  drivers/video/exynos/exynos_mipi_dsi.c:417 exynos_mipi_dsi_probe() warn: unsigned \u0027dsim-\u003eirq\u0027 is never less than zero.\n\nSigned-off-by: Sachin Kamat \u003csachin.kamat@linaro.org\u003e\nAcked-by: Donghwa Lee \u003cdh09.lee@samsung.com\u003e\nCc: Inki Dae \u003cinki.dae@samsung.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a25fc871b002c51944c05b9a09f1526dfbe32d39",
      "tree": "00508d9395dfe67be7bd785c09061ce362957d2c",
      "parents": [
        "d04d2681dde1f843719ce6ae5f920933d708ab27"
      ],
      "author": {
        "name": "Sachin Kamat",
        "email": "sachin.kamat@linaro.org",
        "time": "Thu Feb 21 16:42:25 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:18 2013 -0800"
      },
      "message": "drivers/video/exynos/s6e8ax0.c: use devm_* APIs in s6e8ax0.c\n\ndevm_* APIs are device managed and make error handling and code cleanup\nsimpler.\n\nSigned-off-by: Sachin Kamat \u003csachin.kamat@linaro.org\u003e\nAcked-by: Donghwa Lee \u003cdh09.lee@samsung.com\u003e\nCc: Inki Dae \u003cinki.dae@samsung.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d04d2681dde1f843719ce6ae5f920933d708ab27",
      "tree": "0618a4c1bd296d2999a48812fcbed04667472e9a",
      "parents": [
        "72dc989c7d2e6f2d7a30d5cd001ae73f292cfaa0"
      ],
      "author": {
        "name": "Fabio Estevam",
        "email": "fabio.estevam@freescale.com",
        "time": "Thu Feb 21 16:42:24 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:18 2013 -0800"
      },
      "message": "drivers/video/Kconfig: specify the SoCs that make use of FB_IMX\n\nFB_IMX is the framebuffer driver used by MX1, MX21, MX25 and MX27 processors.\n\nPass this information to the Kconfig text to make it clear.\n\nSigned-off-by: Fabio Estevam \u003cfabio.estevam@freescale.com\u003e\nAcked-by: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72dc989c7d2e6f2d7a30d5cd001ae73f292cfaa0",
      "tree": "7bf71b120dbb4f37e43c684b0237a9da990060f0",
      "parents": [
        "74a014f4714264299af7f7c950603c7781e5a6db"
      ],
      "author": {
        "name": "Zhou Zhu",
        "email": "zzhu3@marvell.com",
        "time": "Thu Feb 21 16:42:23 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:17 2013 -0800"
      },
      "message": "ARM: mmp: add display and fb support in pxa910 defconfig\n\nAdd display and fb support in pxa910 defconfig.\nAdd tpohvga panel, spi support.\nAdd logo support.\n\nSigned-off-by: Zhou Zhu \u003czzhu3@marvell.com\u003e\nAcked-by: Haojian Zhuang \u003chaojian.zhuang@gmail.com\u003e\nCc: Lisa Du \u003ccldu@marvell.com\u003e\nCc: Guoqing Li \u003cligq@marvell.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74a014f4714264299af7f7c950603c7781e5a6db",
      "tree": "167641f869e99a779d39f6f59f95251669f15678",
      "parents": [
        "333893cd09a0b93a75f33ca50a3be174c65c1378"
      ],
      "author": {
        "name": "Zhou Zhu",
        "email": "zzhu3@marvell.com",
        "time": "Thu Feb 21 16:42:21 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:17 2013 -0800"
      },
      "message": "ARM: mmp: enable display in ttc_dkb\n\nEnable display in ttc_dkb.\n\nSigned-off-by: Zhou Zhu \u003czzhu3@marvell.com\u003e\nAcked-by: Haojian Zhuang \u003chaojian.zhuang@gmail.com\u003e\nCc: Lisa Du \u003ccldu@marvell.com\u003e\nCc: Guoqing Li \u003cligq@marvell.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "333893cd09a0b93a75f33ca50a3be174c65c1378",
      "tree": "7829933a121e9f35520db59d55885325dd700550",
      "parents": [
        "641b4b1b6a7cb4ab21cfd9dd7b93a1162eae4501"
      ],
      "author": {
        "name": "Zhou Zhu",
        "email": "zzhu3@marvell.com",
        "time": "Thu Feb 21 16:42:20 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:17 2013 -0800"
      },
      "message": "ARM: mmp: added device for display controller\n\nAdd device for display controller and fb support\n\nSigned-off-by: Zhou Zhu \u003czzhu3@marvell.com\u003e\nAcked-by: Haojian Zhuang \u003chaojian.zhuang@gmail.com\u003e\nCc: Lisa Du \u003ccldu@marvell.com\u003e\nCc: Guoqing Li \u003cligq@marvell.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "641b4b1b6a7cb4ab21cfd9dd7b93a1162eae4501",
      "tree": "a429ff233c1ce30034cf825e6b3b945c0368eee8",
      "parents": [
        "3c76f15fd5027474bf738e0a145337370d9c7a8c"
      ],
      "author": {
        "name": "Zhou Zhu",
        "email": "zzhu3@marvell.com",
        "time": "Thu Feb 21 16:42:18 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:17 2013 -0800"
      },
      "message": "video: mmpdisp: add spi port in display controller\n\nAdd spi port support in mmp display controller.  This port is from display\ncontroller and for panel usage.  This driver implemented and registered as\na spi master.\n\nSigned-off-by: Zhou Zhu \u003czzhu3@marvell.com\u003e\nAcked-by: Haojian Zhuang \u003chaojian.zhuang@gmail.com\u003e\nCc: Lisa Du \u003ccldu@marvell.com\u003e\nCc: Guoqing Li \u003cligq@marvell.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c76f15fd5027474bf738e0a145337370d9c7a8c",
      "tree": "1524b98a85b78d62510bf5372a6ba58c85db3f44",
      "parents": [
        "d63028c389058ab47455baf2e232c25ce0765a04"
      ],
      "author": {
        "name": "Lisa Du",
        "email": "cldu@marvell.com",
        "time": "Thu Feb 21 16:42:17 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:17 2013 -0800"
      },
      "message": "video: mmp: add tpo hvga panel supported\n\nAdd tpo hvga panel support in marvell display framework.  This panel\ndriver implements modes query and power on/off.\n\nThis panel driver gets panel config/ plat power on/off/ connected path\nname from machine-info and registered as a spi device.  This panel\ndriver uses mmp_disp supplied register_panel function to register panel\nto path as machine-info defined.\n\nSigned-off-by: Lisa Du \u003ccldu@marvell.com\u003e\nSigned-off-by: Zhou Zhu \u003czzhu3@marvell.com\u003e\nAcked-by: Haojian Zhuang \u003chaojian.zhuang@gmail.com\u003e\nCc: Guoqing Li \u003cligq@marvell.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d63028c389058ab47455baf2e232c25ce0765a04",
      "tree": "4f9d2078162f0432b6747f235a3dd0ede36cdb6d",
      "parents": [
        "24cb87a761284407007984416e44e7d819cb0efd"
      ],
      "author": {
        "name": "Guoqing Li",
        "email": "ligq@marvell.com",
        "time": "Thu Feb 21 16:42:15 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:17 2013 -0800"
      },
      "message": "video: mmp display controller support\n\nMarvell mmp series display controller support in mmpdisp subsystem.\n\nThis driver focus on implementation of hardware operations of\npath/overlay, which is defined in mmp display subsystem interface.  This\ndriver registers all pathes to mmp display framework.\n\nSigned-off-by: Guoqing Li \u003cligq@marvell.com\u003e\nSigned-off-by: Lisa Du \u003ccldu@marvell.com\u003e\nSigned-off-by: Zhou Zhu \u003czzhu3@marvell.com\u003e\nAcked-by: Haojian Zhuang \u003chaojian.zhuang@gmail.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "24cb87a761284407007984416e44e7d819cb0efd",
      "tree": "1e90e68d3ec094e9acd14dfbaee8a7cdebf41ad2",
      "parents": [
        "d2e8bae6d72fa139fe7da7739c30b81c4122866f"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Feb 21 16:42:14 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:17 2013 -0800"
      },
      "message": "fb: mmp: include linux/platform_device.h\n\nCommit 16559ae48c76 (\"kgdb: remove #include \u003clinux/serial_8250.h\u003e from\nkgdb.h\") changes the kgdb.h file so that drivers including it do not\nimplicitly include linux/platform_device.h.  The mmp framebuffer driver\nis new, so Greg did not have a chance to fix it up when introducing his\nchange.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Zhou Zhu \u003czzhu3@marvell.com\u003e\nCc: Lisa Du \u003ccldu@marvell.com\u003e\nCc: Guoqing Li \u003cligq@marvell.com\u003e\nAcked-by: Haojian Zhuang \u003chaojian.zhuang@gmail.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2e8bae6d72fa139fe7da7739c30b81c4122866f",
      "tree": "ae19e0df48fc55cfd4a80226104735172b55c775",
      "parents": [
        "59393bb94c103fca48c29348d2415cc67d772045"
      ],
      "author": {
        "name": "Zhou Zhu",
        "email": "zzhu3@marvell.com",
        "time": "Thu Feb 21 16:42:12 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:17 2013 -0800"
      },
      "message": "video: mmp fb support\n\nAdd fb support for Marvell mmp display subsystem.  This driver is\nconfigured using \"buffer driver mach info\".  With configured name of path,\nthis driver get path using using exported interface of mmp display driver.\nThen this driver get overlay using configured id and operates on this\noverlay to show buffers on display devices.\n\nSigned-off-by: Zhou Zhu \u003czzhu3@marvell.com\u003e\nSigned-off-by: Lisa Du \u003ccldu@marvell.com\u003e\nCc: Guoqing Li \u003cligq@marvell.com\u003e\nAcked-by: Haojian Zhuang \u003chaojian.zhuang@gmail.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59393bb94c103fca48c29348d2415cc67d772045",
      "tree": "a9baad541380644bee104d48e714e4aae3e8c959",
      "parents": [
        "c289ba2d26cf872570ba23fceee8d80ae64be351"
      ],
      "author": {
        "name": "Zhou Zhu",
        "email": "zzhu3@marvell.com",
        "time": "Thu Feb 21 16:42:11 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:17 2013 -0800"
      },
      "message": "video: mmp display subsystem\n\nAdd mmp display subsystem to support Marvell MMP display controllers.\n\nThis subsystem contains 4 parts:\n--fb folder\n--core.c\n--hw folder\n--panel folder\n\n1. fb folder contains implementation of fb.  fb get path and overlay\n   from common interface and operates on these structures.\n\n2. core.c provides common interface for a hardware abstraction.  Major\n   parts of this interface are:\n\n   a) Path: path is a output device connected to a panel or HDMI TV.  Main\n      operations of the path is set/get timing/output color.  fb operates\n      output device through path structure.\n\n   b) Ovly: Ovly is a buffer shown on the path.\n\n      Ovly describes frame buffer and its source/destination size, offset,\n      input color, buffer address, z-order, and so on.  Each fb device maps\n      to one overlay.\n\n3. hw folder contains implementation of hardware operations defined by\n   core.c.  It registers paths for fb use.\n\n4. panel folder contains implementation of panels.  It\u0027s connected to\n   path.  Panel drivers would also regiester panels and linked to path\n   when probe.\n\nSigned-off-by: Zhou Zhu \u003czzhu3@marvell.com\u003e\nSigned-off-by: Lisa Du \u003ccldu@marvell.com\u003e\nCc: Guoqing Li \u003cligq@marvell.com\u003e\nAcked-by: Haojian Zhuang \u003chaojian.zhuang@gmail.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c289ba2d26cf872570ba23fceee8d80ae64be351",
      "tree": "110cabcd79c50eeb9abe2ec5cbfccd6483986c66",
      "parents": [
        "256fc0e57dc0fce1e698d1be55bedd26f6d6bb5a"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Thu Feb 21 16:42:09 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:17 2013 -0800"
      },
      "message": "goldfish: framebuffer driver\n\nFramebuffer support for the Goldfish emulator.  This takes the Google\nemulator and applies the x86 cleanups as well as moving the blank\nmethods to the usual Linux place and dropping the Android early suspend\nlogic (for now at least, that can be looked at as Android and upstream\nconverge).  Dropped various oddities like setting MTRRs on a virtual\nframe buffer emulation...\n\nWith the drivers so far you can now boot a Linux initrd and have fun.\n\n[sheng@linux.intel.com: cleaned up to handle x86]\n[thomas.keel@intel.com: ported to 3.4]\n[alan@linux.intel.com: cleaned up for style and 3.7, moved blank methods]\n[akpm@linux-foundation.org: fix (silly) sparse warnings]\nSigned-off-by: Mike A. Chan \u003cmikechan@google.com\u003e\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: Yunhong Jiang \u003cyunhong.jiang@intel.com\u003e\nSigned-off-by: Xiaohui Xin \u003cxiaohui.xin@intel.com\u003e\nSigned-off-by: Jun Nakajima \u003cjun.nakajima@intel.com\u003e\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\nSigned-off-by: Tom Keel \u003cthomas.keel@intel.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nCc: Tomi Valkeinen \u003ctomi.valkeinen@ti.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "256fc0e57dc0fce1e698d1be55bedd26f6d6bb5a",
      "tree": "6a4344442e80f6176c54c8ee7fa16b5d1a1f0605",
      "parents": [
        "42b5dd51930c04dc6fb59c7c7a79354ff91bc9a4"
      ],
      "author": {
        "name": "Kamal Mostafa",
        "email": "kamal@whence.com",
        "time": "Thu Feb 21 16:42:07 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:16 2013 -0800"
      },
      "message": "fbcon: clear the logo bitmap from the margin area\n\nExplicitly clear_margins when clearing the logo, in case the font dimensions\nare non-integral to the framebuffer dimensions.\n\nSigned-off-by: Kamal Mostafa \u003ckamal@whence.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nCc: Tomi Valkeinen \u003ctomi.valkeinen@ti.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42b5dd51930c04dc6fb59c7c7a79354ff91bc9a4",
      "tree": "dcda22bae7d2b4550570ce87af1abfdb81069954",
      "parents": [
        "ddfe9b359f8a256e711430c29d7c553b1569faed"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@googlemail.com",
        "time": "Thu Feb 21 16:42:06 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:16 2013 -0800"
      },
      "message": "pcmcia: move unbind/rebind into dev_pm_ops.complete\n\nMove the device rebind procedures for cardbus devices from the pm.resume\ninto the pm.complete callback.\n\nThe reason for moving the code is: \"[...] The PM code needs to send\nsuspend and resume messages to every device in the right order, and it\ncan\u0027t do that if new devices are being added at the same time.  [...]\"\n\nHowever the situation really isn\u0027t quite that rigid.  In particular,\nadding new children during a resume callback shouldn\u0027t cause much of\nproblem because the children don\u0027t need to be resumed anyway (since they\nwere never suspended).  On the other hand, if you do it you will get a\ndev_warn() from the PM core, something like \u0027parent should not be\nsleeping\u0027.\n\nStill, it is considered bad form and should be avoided if possible.\"\n\n(Alan Stern\u0027s full comment about the topic can\nbe found here: \u003chttps://lkml.org/lkml/2012/7/10/254\u003e)\n\nSigned-off-by: Christian Lamparter \u003cchunkeey@googlemail.com\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nAcked-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ddfe9b359f8a256e711430c29d7c553b1569faed",
      "tree": "9e5da050247bda3f8a1bfb083d5b79d8771b19c4",
      "parents": [
        "3b6391834d0aa87a15e2d3997537933cafe185bd"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Feb 21 16:42:04 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:16 2013 -0800"
      },
      "message": "cris: use \"int\" for ssize_t to match size_t\n\nOn cris-linux-gcc, __SIZE_TYPE__ expands to \"unsigned int\", as\ngcc-4.6.3-nolibc/cris-linux/lib/gcc/cris-linux/4.6.3/plugin/include/config/cris/linux.h\nhas\n\n    #define SIZE_TYPE \"unsigned int\"\n\nHence __kernel_size_t is also \"unsigned int\".  But __kernel_ssize_t is\n\"long\", which has a different base type, causing compiler warnings like:\n\n    fs/quota/quota_tree.c:372:4: warning: format \u0027%zd\u0027 expects argument of type \u0027signed size_t\u0027, but argument 4 has type \u0027ssize_t\u0027 [-Wformat]\n\nTo fix this, __kernel_ssize_t should be changed to \"int\". Hence cris can\njust use the generic 32-bit versions from include/asm-generic/posix_types.h\nfor all size-related types.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nAcked-by: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: Hans-Peter Nilsson \u003chans-peter.nilsson@axis.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b6391834d0aa87a15e2d3997537933cafe185bd",
      "tree": "1b93af5b072bcaaed3d01ec4f954db3b47a80019",
      "parents": [
        "7630b661da330b35dd57b6f5d6d62b386f2dd751"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yongjun_wei@trendmicro.com.cn",
        "time": "Thu Feb 21 16:42:03 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:16 2013 -0800"
      },
      "message": "mn10300: use for_each_pci_dev to simplify the code\n\nSigned-off-by: Wei Yongjun \u003cyongjun_wei@trendmicro.com.cn\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7630b661da330b35dd57b6f5d6d62b386f2dd751",
      "tree": "fb96a30c8768c5c3a98b6cbd2aee9b13096f677d",
      "parents": [
        "676a0675cf9200ac047fb50825f80867b3bb733b"
      ],
      "author": {
        "name": "MITSUNARI Shigeo",
        "email": "herumi@nifty.com",
        "time": "Thu Feb 21 16:42:01 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:16 2013 -0800"
      },
      "message": "fs/block_dev.c: page cache wrongly left invalidated after revalidate_disk()\n\nWe found that bdev-\u003ebd_invalidated was left set once revalidate_disk()\nis called, which results in page cache flush every time that device is\nopen.\n\nSpecifically, we found this problem in MD block device.  Once we resize\na MD device, mdadm --monitor periodically flush all page cache for that\ndevice every 60 or 1000 seconds when it opens the device.\n\nThis bug lies since at least 3.2.0 till the latest kernel(3.6.2).  Patch\nis attached.\n\nThe following steps will reproduce the problem.\n\n1. prepair a block device (eg /dev/sdb).\n\n2. create two partitions:\n\n   sudo parted /dev/sdb\n   mklabel gpt\n   mkpart primary 0% 50%\n   mkpart primary 50% 100%\n\n3. create a md device.\n\n   sudo mdadm -C /dev/md/hoge -l 1 -n 2 -e 1.2 --assume-clean --auto\u003dmd --symlink\u003dno /dev/sdb1 /dev/sdb2\n\n4. create file system and mount it\n\n   sudo mkfs.ext3 /dev/md/hoge\n   sudo mkdir /mnt/test\n   sudo mount /dev/md/hoge /mnt/test\n\n5. try to resize the device\n\n   sudo mdadm -G /dev/md/hoge --size\u003dmax\n\n6. create a file to fill file cache.\n\n  sudo dd if\u003d/dev/urandom of\u003d/mnt/test/data bs\u003d1M count\u003d10\n\nand verify the current status of file by free command.\n\n7. mdadm monitor will open the md device every 1000 seconds and you\n   will find all file cache on the device are cleared.\n\nThe timing can be reduced by the following steps.\n\na) kill mdadm and restart it with --delay option\n\n   /sbin/mdadm --monitor --delay\u003d30 --pid-file /var/run/mdadm/monitor.pid --daemonise --scan --syslog\n\nor open the md device directly.\n\n   sudo dd if\u003d/dev/md/hoge of\u003d/dev/null bs\u003d4096 count\u003d1\n\nSigned-off-by: MITSUNARI Shigeo \u003cherumi@nifty.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "676a0675cf9200ac047fb50825f80867b3bb733b",
      "tree": "438a1746ac136b8403c0015e95f826cc9243a2fa",
      "parents": [
        "bffea77c08c361d174af7ad94887f6aecc3f340b"
      ],
      "author": {
        "name": "Jim Somerville",
        "email": "Jim.Somerville@windriver.com",
        "time": "Thu Feb 21 16:41:59 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:16 2013 -0800"
      },
      "message": "inotify: remove broken mask checks causing unmount to be EINVAL\n\nRunning the command:\n\n\tinotifywait -e unmount /mnt/disk\n\nimmediately aborts with a -EINVAL return code.  This is however a valid\nparameter.  This abort occurs only if unmount is the sole event\nparameter.  If other event parameters are supplied, then the unmount\nevent wait will work.\n\nThe problem was introduced by commit 44b350fc23e (\"inotify: Fix mask\nchecks\").  In that commit, it states:\n\n\tThe mask checks in inotify_update_existing_watch() and\n\tinotify_new_watch() are useless because inotify_arg_to_mask()\n\tsets FS_IN_IGNORED and FS_EVENT_ON_CHILD bits anyway.\n\nBut instead of removing the useless checks, it did this:\n\n\t        mask \u003d inotify_arg_to_mask(arg);\n\t-       if (unlikely(!mask))\n\t+       if (unlikely(!(mask \u0026 IN_ALL_EVENTS)))\n\t                return -EINVAL;\n\nThe problem is that IN_ALL_EVENTS doesn\u0027t include IN_UNMOUNT, and other\nparts of the code keep IN_UNMOUNT separate from IN_ALL_EVENTS.  So the\ncheck should be:\n\n\tif (unlikely(!(mask \u0026 (IN_ALL_EVENTS | IN_UNMOUNT))))\n\nBut inotify_arg_to_mask(arg) always sets the IN_UNMOUNT bit in the mask\nanyway, so the check is always going to pass and thus should simply be\nremoved.  Also note that inotify_arg_to_mask completely controls what\nmask bits get set from arg, there\u0027s no way for invalid bits to get\nenabled there.\n\nLets fix it by simply removing the useless broken checks.\n\nSigned-off-by: Jim Somerville \u003cJim.Somerville@windriver.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Jerome Marchand \u003cjmarchan@redhat.com\u003e\nCc: John McCutchan \u003cjohn@johnmccutchan.com\u003e\nCc: Robert Love \u003crlove@rlove.org\u003e\nCc: Eric Paris \u003ceparis@parisplace.org\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t\t[2.6.37+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bffea77c08c361d174af7ad94887f6aecc3f340b",
      "tree": "ffe22fc5274c4398be4bd8597292a84ca7b9295d",
      "parents": [
        "9a8ab1c39970a4938a72d94e6fd13be88a797590"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Thu Feb 21 16:41:57 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:16 2013 -0800"
      },
      "message": "compat: return -EFAULT on error in waitid()\n\nThe copy_to_user() call returns the number of bytes remaining but we\nwant to return -EFAULT on error.\n\nFixes \"x32: fix waitid()\"\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a8ab1c39970a4938a72d94e6fd13be88a797590",
      "tree": "e95f9f02d7000dc6a79f5374f9adf6c85f936ad7",
      "parents": [
        "c361d3e54364d19bb5e803d6e766e94674da7b0e"
      ],
      "author": {
        "name": "Daniel Santos",
        "email": "daniel.santos@pobox.com",
        "time": "Thu Feb 21 16:41:55 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:16 2013 -0800"
      },
      "message": "bug.h, compiler.h: introduce compiletime_assert \u0026 BUILD_BUG_ON_MSG\n\nIntroduce compiletime_assert to compiler.h, which moves the details of\nhow to break a build and emit an error message for a specific compiler\nto the headers where these details should be.  Following in the\ntradition of the POSIX assert macro, compiletime_assert creates a\nbuild-time error when the supplied condition is *false*.\n\nNext, we add BUILD_BUG_ON_MSG to bug.h which simply wraps\ncompiletime_assert, inverting the logic, so that it fails when the\ncondition is *true*, consistent with the language \"build bug on.\" This\nmacro allows you to specify the error message you want emitted when the\nsupplied condition is true.\n\nFinally, we remove all other code from bug.h that mucks with these\ndetails (BUILD_BUG \u0026 BUILD_BUG_ON), and have them all call\nBUILD_BUG_ON_MSG.  This not only reduces source code bloat, but also\nprevents the possibility of code being changed for one macro and not for\nthe other (which was previously the case for BUILD_BUG and\nBUILD_BUG_ON).\n\nSince __compiletime_error_fallback is now only used in compiler.h, I\u0027m\nconsidering it a private macro and removing the double negation that\u0027s\nnow extraneous.\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Daniel Santos \u003cdaniel.santos@pobox.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c361d3e54364d19bb5e803d6e766e94674da7b0e",
      "tree": "a0d5410b10b0733f1f3a73238f7d487fac479ad5",
      "parents": [
        "a3ccc497cd17147713363a4bf975f1a269fadb6d"
      ],
      "author": {
        "name": "Daniel Santos",
        "email": "daniel.santos@pobox.com",
        "time": "Thu Feb 21 16:41:54 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:16 2013 -0800"
      },
      "message": "compiler.h, bug.h: prevent double error messages with BUILD_BUG{,_ON}\n\nPrior to the introduction of __attribute__((error(\"msg\"))) in gcc 4.3,\ncreating compile-time errors required a little trickery.\nBUILD_BUG{,_ON} uses this attribute when available to generate\ncompile-time errors, but also uses the negative-sized array trick for\nolder compilers, resulting in two error messages in some cases.  The\nreason it\u0027s \"some\" cases is that as of gcc 4.4, the negative-sized array\nwill not create an error in some situations, like inline functions.\n\nThis patch replaces the negative-sized array code with the new\n__compiletime_error_fallback() macro which expands to the same thing\nunless the the error attribute is available, in which case it expands to\ndo{}while(0), resulting in exactly one compile-time error on all\nversions of gcc.\n\nNote that we are not changing the negative-sized array code for the\nunoptimized version of BUILD_BUG_ON, since it has the potential to catch\nproblems that would be disabled in later versions of gcc were\n__compiletime_error_fallback used.  The reason is that that an\nunoptimized build can\u0027t always remove calls to an error-attributed\nfunction call (like we are using) that should effectively become dead\ncode if it were optimized.  However, using a negative-sized array with a\nsimilar value will not result in an false-positive (error).  The only\ncaveat being that it will also fail to catch valid conditions, which we\nshould be expecting in an unoptimized build anyway.\n\nSigned-off-by: Daniel Santos \u003cdaniel.santos@pobox.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3ccc497cd17147713363a4bf975f1a269fadb6d",
      "tree": "6c5e14d9b9f8687edba0ee5a604277433d4db7d2",
      "parents": [
        "1d6a0d19c85587581a364850b77f30446810a560"
      ],
      "author": {
        "name": "Daniel Santos",
        "email": "daniel.santos@pobox.com",
        "time": "Thu Feb 21 16:41:52 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:16 2013 -0800"
      },
      "message": "bug.h: make BUILD_BUG_ON generate compile-time error\n\nNegative sized arrays wont create a compile-time error in some cases\nstarting with gcc 4.4 (e.g., inlined functions), but gcc 4.3 introduced\nthe error function attribute that will.\n\nThis patch modifies BUILD_BUG_ON to behave like BUILD_BUG already does,\nusing the error function attribute so that you don\u0027t have to build the\nentire kernel to discover that you have a problem, and then enjoy trying\nto track it down from a link-time error.\n\nAlso, we are only including asm/bug.h and then expecting that\nlinux/compiler.h will eventually be included to define __linktime_error\n(used in BUILD_BUG_ON).  This patch includes it directly for clarity and\nto avoid the possibility of changes in \u003carch\u003e/*/include/asm/bug.h being\nchanged or not including linux/compiler.h for some reason.\n\nSigned-off-by: Daniel Santos \u003cdaniel.santos@pobox.com\u003e\nAcked-by: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d6a0d19c85587581a364850b77f30446810a560",
      "tree": "f82e7ac260a7705459c77bd37bf2733047542921",
      "parents": [
        "ca623c914e82c3351cd657073fdb24a1df8c27b9"
      ],
      "author": {
        "name": "Daniel Santos",
        "email": "daniel.santos@pobox.com",
        "time": "Thu Feb 21 16:41:45 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:16 2013 -0800"
      },
      "message": "bug.h: prevent double evaulation of `condition\u0027 in BUILD_BUG_ON\n\nWhen calling BUILD_BUG_ON in an optimized build using gcc 4.3 and later,\nthe condition will be evaulated twice, possibily with side-effects.  This\npatch eliminates that error.\n\n[akpm@linux-foundation.org: tweak code layout]\nSigned-off-by: Daniel Santos \u003cdaniel.santos@pobox.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ca623c914e82c3351cd657073fdb24a1df8c27b9",
      "tree": "10cfcc12a6c3e5927ed67a73070870c83f2d704c",
      "parents": [
        "6ae8d04871f84d853673e9e9f3f713e77a2fe145"
      ],
      "author": {
        "name": "Daniel Santos",
        "email": "daniel.santos@pobox.com",
        "time": "Thu Feb 21 16:41:44 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:15 2013 -0800"
      },
      "message": "bug.h: fix BUILD_BUG_ON macro in __CHECKER__\n\nWhen __CHECKER__ is defined, we disable all of the BUILD_BUG.* macros.\nHowever, both BUILD_BUG_ON_NOT_POWER_OF_2 and BUILD_BUG_ON was evaluating\nto nothing in this case, and we want (0) since this is a function-like\nmacro that will be followed by a semicolon.\n\nSigned-off-by: Daniel Santos \u003cdaniel.santos@pobox.com\u003e\nAcked-by: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6ae8d04871f84d853673e9e9f3f713e77a2fe145",
      "tree": "53df264231784be05e925e6c1468f0119a6e477a",
      "parents": [
        "733ed6e43756b0aec25c9429b810ba74e24c980c"
      ],
      "author": {
        "name": "Daniel Santos",
        "email": "daniel.santos@pobox.com",
        "time": "Thu Feb 21 16:41:42 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:15 2013 -0800"
      },
      "message": "compiler{,-gcc4}.h, bug.h: Remove duplicate macros\n\n__linktime_error() does the same thing as __compiletime_error() and is\nonly used in bug.h.  Since the macro defines a function attribute that\nwill cause a failure at compile-time (not link-time), it makes more sense\nto keep __compiletime_error(), which is also neatly mated with\n__compiletime_warning().\n\nSigned-off-by: Daniel Santos \u003cdaniel.santos@pobox.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "733ed6e43756b0aec25c9429b810ba74e24c980c",
      "tree": "3d7a2704f4501729a0297803403b09d0b20508d3",
      "parents": [
        "3f3f8d2f48acfd8ed3b8e6b7377935da57b27b16"
      ],
      "author": {
        "name": "Daniel Santos",
        "email": "daniel.santos@pobox.com",
        "time": "Thu Feb 21 16:41:41 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:15 2013 -0800"
      },
      "message": "compiler-gcc{3,4}.h: Use GCC_VERSION macro\n\nUsing GCC_VERSION reduces complexity, is easier to read and is GCC\u0027s\nrecommended mechanism for doing version checks.  (Just don\u0027t ask me why\nthey didn\u0027t define it in the first place.) This also makes it easy to\nmerge compiler-gcc{,3,4}.h should somebody want to.\n\nSigned-off-by: Daniel Santos \u003cdaniel.santos@pobox.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3f3f8d2f48acfd8ed3b8e6b7377935da57b27b16",
      "tree": "c0d64cae2c1d27d001df57e93b9bef1613073eb2",
      "parents": [
        "6640dfdf6fff387c0a8f7fb8ac1d47c6b093484e"
      ],
      "author": {
        "name": "Daniel Santos",
        "email": "daniel.santos@pobox.com",
        "time": "Thu Feb 21 16:41:39 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:15 2013 -0800"
      },
      "message": "compiler-gcc.h: Add gcc-recommended GCC_VERSION macro\n\nThroughout compiler*.h, many version checks are made.  These can be\nsimplified by using the macro that gcc\u0027s documentation recommends.\nHowever, my primary reason for adding this is that I need bug-check\nmacros that are enabled at certain gcc versions and it\u0027s cleaner to use\nthis macro than the tradition method:\n\n  #if __GNUC__ \u003e 4 || (__GNUC__ \u003d\u003d 4 \u0026\u0026 __GNUC_MINOR__ \u003d\u003e 2)\n\nIf you add patch level, it gets this ugly:\n\n  #if __GNUC__ \u003e 4 || (__GNUC__ \u003d\u003d 4 \u0026\u0026 (__GNUC_MINOR__ \u003e 2 || \\\n      __GNUC_MINOR__ \u003d\u003d 2 __GNUC_PATCHLEVEL__ \u003e\u003d 1))\n\nAs opposed to:\n\n  #if GCC_VERSION \u003e\u003d 40201\n\nWhile having separate headers for gcc 3 \u0026 4 eliminates some of this\nverbosity, they can still be cleaned up by this.\n\nSee also:\n\n  http://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html\n\nSigned-off-by: Daniel Santos \u003cdaniel.santos@pobox.com\u003e\nAcked-by: Borislav Petkov \u003cbp@alien8.de\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6640dfdf6fff387c0a8f7fb8ac1d47c6b093484e",
      "tree": "dac52a5d940edef3728ed2609b965cee162bdbcb",
      "parents": [
        "53eb8c82d581fdd4b389a3e417261f3ae924e603"
      ],
      "author": {
        "name": "Daniel Santos",
        "email": "daniel.santos@pobox.com",
        "time": "Thu Feb 21 16:41:32 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:15 2013 -0800"
      },
      "message": "compiler-gcc4.h: Reorder macros based upon gcc ver\n\nThis helps to keep the file from getting confusing, removes one\nduplicate version check and should encourage future editors to put new\nmacros where they belong.\n\nSigned-off-by: Daniel Santos \u003cdaniel.santos@pobox.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "53eb8c82d581fdd4b389a3e417261f3ae924e603",
      "tree": "de3893156c17c9ab220e4460630f581c55a0f487",
      "parents": [
        "024e4ec1856d57bb78c06ec903d29dcf716f5f47"
      ],
      "author": {
        "name": "Jerry Snitselaar",
        "email": "jerry.snitselaar@oracle.com",
        "time": "Thu Feb 21 16:41:31 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 17:22:15 2013 -0800"
      },
      "message": "device_cgroup: don\u0027t grab mutex in rcu callback\n\nCommit 103a197c0c4e (\"security/device_cgroup: lock assert fails in\ndev_exception_clean()\") grabs devcgroup_mutex to fix assert failure, but\na mutex can\u0027t be grabbed in rcu callback.  Since there shouldn\u0027t be any\nother references when css_free is called, mutex isn\u0027t needed for list\ncleanup in devcgroup_css_free().\n\nSigned-off-by: Jerry Snitselaar \u003cjerry.snitselaar@oracle.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Aristeu Rozanski \u003caris@redhat.com\u003e\nCc: James Morris \u003cjames.l.morris@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "024e4ec1856d57bb78c06ec903d29dcf716f5f47",
      "tree": "72c89ea735f2aad2f63f64444ec056d7da8e06ff",
      "parents": [
        "850cb82b754c931c570c9cb7f10c9f2181bac617",
        "fb0af3f2b1b613e5ea75426d454c7e5b1d1eef49"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 09:38:18 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 09:38:18 2013 -0800"
      },
      "message": "Merge tag \u0027please-pull-pstore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux\n\nPull pstore patches from Tony Luck:\n \"A few fixes to reduce places where pstore might hang a system in the\n  crash path.  Plus a new mountpoint (/sys/fs/pstore ...  makes more\n  sense then /dev/pstore).\"\n\nFix up trivial conflict in drivers/firmware/efivars.c\n\n* tag \u0027please-pull-pstore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:\n  pstore: Create a convenient mount point for pstore\n  efi_pstore: Introducing workqueue updating sysfs\n  efivars: Disable external interrupt while holding efivars-\u003elock\n  efi_pstore: Avoid deadlock in non-blocking paths\n  pstore: Avoid deadlock in panic and emergency-restart path\n"
    },
    {
      "commit": "850cb82b754c931c570c9cb7f10c9f2181bac617",
      "tree": "54cc46d13277cb919637763c731ab8d5b667c139",
      "parents": [
        "2171ee8f43968e8d6a2b4712d495e352e881c446",
        "f11722834605a155022a8098ad7d8adacf44b22f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 09:25:23 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 09:25:23 2013 -0800"
      },
      "message": "Merge tag \u0027dlm-3.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm\n\nPull dlm update from David Teigland:\n \"This includes a single patch to avoid excessive and unnecessary\n  scanning of rsbs to free.\"\n\n* tag \u0027dlm-3.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:\n  dlm: avoid scanning unchanged toss lists\n"
    },
    {
      "commit": "2171ee8f43968e8d6a2b4712d495e352e881c446",
      "tree": "354078e804c9d721b246c99f1c272d85b92acfb1",
      "parents": [
        "9b9a72a8a370a1397fbb153d107e0d9fa8affb48",
        "666b3d803a511fbc9bc5e5ea8ce66010cf03ea13"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 09:23:01 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 09:23:01 2013 -0800"
      },
      "message": "Merge tag \u0027nfs-for-3.9-1\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\nPull NFS client bugfixes from Trond Myklebust:\n\n - Fix an Oops in the pNFS layoutget code\n\n - Fix a number of NFSv4 and v4.1 state recovery deadlocks and hangs due\n   to the interaction of the session drain lock and state management\n   locks.\n\n - Remove task-\u003etk_xprt, which was hiding a lot of RCU dereferencing\n   bugs\n\n - Fix a long standing NFSv3 posix lock recovery bug.\n\n - Revert commit 324d003b0cd8 (\"NFS: add nfs_sb_deactive_async to avoid\n   deadlock\").  It turned out that the root cause of the deadlock was\n   due to interactions with the workqueues that have now been resolved.\n\n* tag \u0027nfs-for-3.9-1\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (22 commits)\n  NLM: Ensure that we resend all pending blocking locks after a reclaim\n  umount oops when remove blocklayoutdriver first\n  sunrpc: silence build warning in gss_fill_context\n  nfs: remove kfree() redundant null checks\n  NFSv4.1: Don\u0027t decode skipped layoutgets\n  NFSv4.1: Fix bulk recall and destroy of layouts\n  NFSv4.1: Fix an ABBA locking issue with session and state serialisation\n  NFSv4: Fix a reboot recovery race when opening a file\n  NFSv4: Ensure delegation recall and byte range lock removal don\u0027t conflict\n  NFSv4: Fix up the return values of nfs4_open_delegation_recall\n  NFSv4.1: Don\u0027t lose locks when a server reboots during delegation return\n  NFSv4.1: Prevent deadlocks between state recovery and file locking\n  NFSv4: Allow the state manager to mark an open_owner as being recovered\n  SUNRPC: Add missing static declaration to _gss_mech_get_by_name\n  Revert \"NFS: add nfs_sb_deactive_async to avoid deadlock\"\n  SUNRPC: Nuke the tk_xprt macro\n  SUNRPC: Avoid RCU dereferences in the transport bind and connect code\n  SUNRPC: Fix an RCU dereference in xprt_reserve\n  SUNRPC: Pass pointers to struct rpc_xprt to the congestion window\n  SUNRPC: Fix an RCU dereference in xs_local_rpcbind\n  ...\n"
    },
    {
      "commit": "9b9a72a8a370a1397fbb153d107e0d9fa8affb48",
      "tree": "e0e05e1408b9d946a1af7616d7eb0e3d22fad3ae",
      "parents": [
        "736a4c117710dd9bef179967b92e59c424239433",
        "fd95e81cb1c74c9acd2356821faa9f24c2fec365"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 09:21:23 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 09:21:23 2013 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw\n\nPull GFS2 updates from Steven Whitehouse:\n \"This is one of the smallest collections of patches for the merge\n  window for some time.  There are some clean ups relating to the\n  transaction code and the shrinker, which are mostly in preparation for\n  further development, but also make the code much easier to follow in\n  these areas.\n\n  There is a patch which allows the use of -\u003ewritepages even in the\n  default ordered write mode for all writebacks.  This results in\n  sending larger i/os to the block layer, and a subsequent increase in\n  performance.  It also reduces the number of different i/o paths by\n  one.\n\n  There is also a bug fix reinstating the withdraw ack system which\n  somehow got lost when the lock modules were merged into GFS2.\"\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw:\n  GFS2: Reinstate withdraw ack system\n  GFS2: Get a block reservation before resizing a file\n  GFS2: Split glock lru processing into two parts\n  GFS2: Use -\u003ewritepages for ordered writes\n  GFS2: Clean up freeze code\n  GFS2: Merge gfs2_attach_bufdata() into trans.c\n  GFS2: Copy gfs2_trans_add_bh into new data/meta functions\n  GFS2: Split gfs2_trans_add_bh() into two\n  GFS2: Merge revoke adding functions\n  GFS2: Separate LRU scanning from shrinker\n"
    },
    {
      "commit": "736a4c117710dd9bef179967b92e59c424239433",
      "tree": "8d6b4d99a2c854fd34d79e1f4a476bdc68b6d5b1",
      "parents": [
        "c4bc705e45d91f900f7ec2e23a458280b084ae91",
        "1e82379b018ceed0f0912327c60d73107dacbcb3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 09:08:45 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 09:08:45 2013 -0800"
      },
      "message": "Merge tag \u0027for-linus-v3.9-rc1\u0027 of git://oss.sgi.com/xfs/xfs\n\nPull xfs update from Ben Myers:\n \"Primarily bugfixes and a few cleanups:\n\n   - fix(es) for compound buffers\n\n   - remove unused XFS_TRANS_DEBUG routines\n\n   - fix for dquot soft timer asserts due to overflow of d_blk_softlimit\n\n   - don\u0027t zero allocation args structure members after they are memset(0)\n\n   - fix for regression in dir v2 code introduced in commit 20f7e9f3\n\n   - remove obsolete simple_strto\u003cfoo\u003e\n\n   - fix return value when filesystem probe finds no XFS magic, a\n     regression introduced in 9802182.\n\n   - remove boolean_t typedef completely\n\n   - fix stack switch in __xfs_bmapi_allocate by moving the check for\n     stack switch up into xfs_bmapi_write.\n\n   - fix build error due to incomplete boolean_t removal\n\n   - fix oops in _xfs_buf_find by validating that the requested block is\n     within the filesystem bounds.\n\n   - limit speculative preallocation near ENOSPC.\n\n   - fix an unmount hang in xfs_wait_buftarg by freeing the\n     xfs_buf_log_item in xfs_buf_item_unlock.\n\n   - fix a possible use after free with AIO.\n\n   - fix xfs_swap_extents after removal of xfs_flushinval_pages, a\n     regression introduced in fb59581404a.\n\n   - replace hardcoded 128 with log header size\n\n   - add memory barrier before wake_up_bit in xfs_ifunlock\n\n   - limit speculative preallocation on sparse files\n\n   - fix xa_lock recursion bug introduced in 90810b9e82a3\n\n   - fix write verifier for symlinks\"\n\nFixed up conflicts in fs/xfs/xfs_buf_item.c (due to bli_format rename in\ncommit 0f22f9d0cd8a affecting the removed XFS_TRANS_DEBUG routines in\ncommit ec47eb6b0b45).\n\n* tag \u0027for-linus-v3.9-rc1\u0027 of git://oss.sgi.com/xfs/xfs: (36 commits)\n  xfs: xfs_bmap_add_attrfork_local is too generic\n  xfs: remove log force from xfs_buf_trylock()\n  xfs: recheck buffer pinned status after push trylock failure\n  xfs: limit speculative prealloc size on sparse files\n  xfs: memory barrier before wake_up_bit()\n  xfs: refactor space log reservation for XFS_TRANS_ATTR_SET\n  xfs: make use of XFS_SB_LOG_RES() at xfs_fs_log_dummy()\n  xfs: make use of XFS_SB_LOG_RES() at xfs_mount_log_sb()\n  xfs: make use of XFS_SB_LOG_RES() at xfs_log_sbcount()\n  xfs: introduce XFS_SB_LOG_RES() for transactions that modify sb on disk\n  xfs: calculate XFS_TRANS_QM_QUOTAOFF_END space log reservation at mount time\n  xfs: calculate XFS_TRANS_QM_QUOTAOFF space log reservation at mount time\n  xfs: calculate XFS_TRANS_QM_DQALLOC space log reservation at mount time\n  xfs: calcuate XFS_TRANS_QM_SETQLIM space log reservation at mount time\n  xfs: calculate xfs_qm_write_sb_changes() space log reservation at mount time\n  xfs: calculate XFS_TRANS_QM_SBCHANGE space log reservation at mount time\n  xfs: make use of xfs_calc_buf_res() in xfs_trans.c\n  xfs: add a helper to figure out the space log reservation per item\n  xfs: Fix xfs_swap_extents() after removal of xfs_flushinval_pages()\n  xfs: Fix possible use-after-free with AIO\n  ...\n"
    },
    {
      "commit": "c4bc705e45d91f900f7ec2e23a458280b084ae91",
      "tree": "54dc459057ddbcd33321d255b0a94f213dc43910",
      "parents": [
        "2608e3d0fa63b892f37a9f1921c2d2b37c7933c1",
        "634734b63ac39e137a1c623ba74f3e062b6577db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 09:03:54 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 09:03:54 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\nPull fuse updates from Miklos Szeredi:\n \"The biggest part of this pull request is a patch series from Maxim\n  Patlasov to optimize scatter-gather direct IO.  There\u0027s also the\n  addition of a \"readdirplus\" API, poll events and various fixes and\n  cleanups.\n\n  There\u0027s a one line change outside of fuse to mm/filemap.c which makes\n  the argument of iov_iter_single_seg_count() const, required by Maxim\u0027s\n  patches.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: (22 commits)\n  fuse: allow control of adaptive readdirplus use\n  Synchronize fuse header with one used in library\n  fuse: send poll events\n  fuse: don\u0027t WARN when nlink is zero\n  fuse: avoid out-of-scope stack access\n  fuse: bump version for READDIRPLUS\n  FUSE: Adapt readdirplus to application usage patterns\n  Do not use RCU for current process credentials\n  fuse: cleanup fuse_direct_io()\n  fuse: optimize __fuse_direct_io()\n  fuse: optimize fuse_get_user_pages()\n  fuse: pass iov[] to fuse_get_user_pages()\n  mm: minor cleanup of iov_iter_single_seg_count()\n  fuse: use req-\u003epage_descs[] for argpages cases\n  fuse: add per-page descriptor \u003coffset, length\u003e to fuse_req\n  fuse: rework fuse_do_ioctl()\n  fuse: rework fuse_perform_write()\n  fuse: rework fuse_readpages()\n  fuse: rework fuse_retrieve()\n  fuse: categorize fuse_get_req()\n  ...\n"
    },
    {
      "commit": "2608e3d0fa63b892f37a9f1921c2d2b37c7933c1",
      "tree": "aca8b61fd63390edf5ddfe17b8ae35dfd56ed74d",
      "parents": [
        "33673dcb372b5d8179c22127ca71deb5f3dc7016",
        "b6f4bee02f682d1c86ece297871b78ae01afaaf4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 09:02:13 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 09:02:13 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs\n\nPull v9fs updates from Eric Van Hensbergen:\n \"Just fixes and simplifications\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:\n  fs/9p: Fix atomic_open\n  fs/9p: Don\u0027t use O_TRUNC flag in TOPEN and TLOPEN request\n  locking in fs/9p -\u003ereaddir()\n"
    },
    {
      "commit": "33673dcb372b5d8179c22127ca71deb5f3dc7016",
      "tree": "d182e9dc6aa127375a92b5eb619d6cd2ddc23ce7",
      "parents": [
        "fe9453a1dcb5fb146f9653267e78f4a558066f6f",
        "5b2660326039a32b28766cb4c1a8b1bdcfadc375"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 08:18:12 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 08:18:12 2013 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security\n\nPull security subsystem updates from James Morris:\n \"This is basically a maintenance update for the TPM driver and EVM/IMA\"\n\nFix up conflicts in lib/digsig.c and security/integrity/ima/ima_main.c\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (45 commits)\n  tpm/ibmvtpm: build only when IBM pseries is configured\n  ima: digital signature verification using asymmetric keys\n  ima: rename hash calculation functions\n  ima: use new crypto_shash API instead of old crypto_hash\n  ima: add policy support for file system uuid\n  evm: add file system uuid to EVM hmac\n  tpm_tis: check pnp_acpi_device return code\n  char/tpm/tpm_i2c_stm_st33: drop temporary variable for return value\n  char/tpm/tpm_i2c_stm_st33: remove dead assignment in tpm_st33_i2c_probe\n  char/tpm/tpm_i2c_stm_st33: Remove __devexit attribute\n  char/tpm/tpm_i2c_stm_st33: Don\u0027t use memcpy for one byte assignment\n  tpm_i2c_stm_st33: removed unused variables/code\n  TPM: Wait for TPM_ACCESS tpmRegValidSts to go high at startup\n  tpm: Fix cancellation of TPM commands (interrupt mode)\n  tpm: Fix cancellation of TPM commands (polling mode)\n  tpm: Store TPM vendor ID\n  TPM: Work around buggy TPMs that block during continue self test\n  tpm_i2c_stm_st33: fix oops when i2c client is unavailable\n  char/tpm: Use struct dev_pm_ops for power management\n  TPM: STMicroelectronics ST33 I2C BUILD STUFF\n  ...\n"
    },
    {
      "commit": "fe9453a1dcb5fb146f9653267e78f4a558066f6f",
      "tree": "ba144f62734e9d89ed515466972c318de561ccb2",
      "parents": [
        "a0b1c42951dd06ec83cc1bc2c9788131d9fefcd8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 21 12:00:25 2013 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 07:56:25 2013 -0800"
      },
      "message": "KEYS: Revert one application of \"Fix unreachable code\" patch\n\nA patch to fix some unreachable code in search_my_process_keyrings() got\napplied twice by two different routes upstream as commits e67eab39bee2\nand b010520ab3d2 (both \"fix unreachable code\").\n\nUnfortunately, the second application removed something it shouldn\u0027t\nhave and this wasn\u0027t detected by GIT.  This is due to the patch not\nhaving sufficient lines of context to distinguish the two places of\napplication.\n\nThe effect of this is relatively minor: inside the kernel, the keyring\nsearch routines may search multiple keyrings and then prioritise the\nerrors if no keys or negative keys are found in any of them.  With the\nextra deletion, the presence of a negative key in the thread keyring\n(causing ENOKEY) is incorrectly overridden by an error searching the\nprocess keyring.\n\nSo revert the second application of the patch.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a0b1c42951dd06ec83cc1bc2c9788131d9fefcd8",
      "tree": "a572f1523cf904c93020c9cdb32f3bc84ec3ac16",
      "parents": [
        "8ec4942212a6d337982967778a3dc3b60aea782e",
        "ecd9883724b78cc72ed92c98bcb1a46c764fff21"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 18:58:50 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 18:58:50 2013 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\nPull networking update from David Miller:\n\n 1) Checkpoint/restarted TCP sockets now can properly propagate the TCP\n    timestamp offset.  From Andrey Vagin.\n\n 2) VMWARE VM VSOCK layer, from Andy King.\n\n 3) Much improved support for virtual functions and SR-IOV in bnx2x,\n    from Ariel ELior.\n\n 4) All protocols on ipv4 and ipv6 are now network namespace aware, and\n    all the compatability checks for initial-namespace-only protocols is\n    removed.  Thanks to Tom Parkin for helping deal with the last major\n    holdout, L2TP.\n\n 5) IPV6 support in netpoll and network namespace support in pktgen,\n    from Cong Wang.\n\n 6) Multiple Registration Protocol (MRP) and Multiple VLAN Registration\n    Protocol (MVRP) support, from David Ward.\n\n 7) Compute packet lengths more accurately in the packet scheduler, from\n    Eric Dumazet.\n\n 8) Use per-task page fragment allocator in skb_append_datato_frags(),\n    also from Eric Dumazet.\n\n 9) Add support for connection tracking labels in netfilter, from\n    Florian Westphal.\n\n10) Fix default multicast group joining on ipv6, and add anti-spoofing\n    checks to 6to4 and 6rd.  From Hannes Frederic Sowa.\n\n11) Make ipv4/ipv6 fragmentation memory limits more reasonable in modern\n    times, rearrange inet frag datastructures for better cacheline\n    locality, and move more operations outside of locking.  From Jesper\n    Dangaard Brouer.\n\n12) Instead of strict master \u003c--\u003e slave relationships, allow arbitrary\n    scenerios with \"upper device lists\".  From Jiri Pirko.\n\n13) Improve rate limiting accuracy in TBF and act_police, also from Jiri\n    Pirko.\n\n14) Add a BPF filter netfilter match target, from Willem de Bruijn.\n\n15) Orphan and delete a bunch of pre-historic networking drivers from\n    Paul Gortmaker.\n\n16) Add TSO support for GRE tunnels, from Pravin B SHelar.  Although\n    this still needs some minor bug fixing before it\u0027s %100 correct in\n    all cases.\n\n17) Handle unresolved IPSEC states like ARP, with a resolution packet\n    queue.  From Steffen Klassert.\n\n18) Remove TCP Appropriate Byte Count support (ABC), from Stephen\n    Hemminger.  This was long overdue.\n\n19) Support SO_REUSEPORT, from Tom Herbert.\n\n20) Allow locking a socket BPF filter, so that it cannot change after a\n    process drops capabilities.\n\n21) Add VLAN filtering to bridge, from Vlad Yasevich.\n\n22) Bring ipv6 on-par with ipv4 and do not cache neighbour entries in\n    the ipv6 routes, from YOSHIFUJI Hideaki.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1538 commits)\n  ipv6: fix race condition regarding dst-\u003eexpires and dst-\u003efrom.\n  net: fix a wrong assignment in skb_split()\n  ip_gre: remove an extra dst_release()\n  ppp: set qdisc_tx_busylock to avoid LOCKDEP splat\n  atl1c: restore buffer state\n  net: fix a build failure when !CONFIG_PROC_FS\n  net: ipv4: fix waring -Wunused-variable\n  net: proc: fix build failed when procfs is not configured\n  Revert \"xen: netback: remove redundant xenvif_put\"\n  net: move procfs code to net/core/net-procfs.c\n  qmi_wwan, cdc-ether: add ADU960S\n  bonding: set sysfs device_type to \u0027bond\u0027\n  bonding: fix bond_release_all inconsistencies\n  b44: use netdev_alloc_skb_ip_align()\n  xen: netback: remove redundant xenvif_put\n  net: fec: Do a sanity check on the gpio number\n  ip_gre: propogate target device GSO capability to the tunnel device\n  ip_gre: allow CSUM capable devices to handle packets\n  bonding: Fix initialize after use for 3ad machine state spinlock\n  bonding: Fix race condition between bond_enslave() and bond_3ad_update_lacp_rate()\n  ...\n"
    },
    {
      "commit": "8ec4942212a6d337982967778a3dc3b60aea782e",
      "tree": "35e58e18bb32969fbf6b7d229323fac144e1b265",
      "parents": [
        "79a69d342d71b2b4eafdf51e2451606cfe380a44",
        "f9fd3488f6a3c2c5cc8613e4fd7fbbaa57f6bf8f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 14:31:26 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 14:31:26 2013 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc\n\nPull sparc updates from David Miller:\n \"Mostly more sparc64 THP bug fixes, and a refactoring of SMP bootup on\n  sparc32 from Sam Ravnborg.\"\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:\n  sparc32: refactor smp boot\n  sparc64: Fix huge PMD to PTE translation for sun4u in TLB miss handler.\n  sparc64: Fix tsb_grow() in atomic context.\n  sparc64: Handle hugepage TSB being NULL.\n  sparc64: Fix gfp_flags setting in tsb_grow().\n"
    },
    {
      "commit": "79a69d342d71b2b4eafdf51e2451606cfe380a44",
      "tree": "7246dbcb872f416b3e27a8020106cf5098cb30f9",
      "parents": [
        "6db167dfc013b0e114c81077ac091ba26a69f4ed",
        "ec45d1cfd3cb65121fc52f39efc17d832f4f7b91"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 14:30:33 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 14:30:33 2013 -0800"
      },
      "message": "Merge tag \u0027arm64-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64\n\nPull arm64 patches from Catalin Marinas:\n\n - SMP support for the PSCI booting protocol (power state coordination\n   interface).\n\n - Simple earlyprintk support.\n\n - Platform devices populated by default from the DT (SoC-agnostic).\n\n - CONTEXTIDR support (used by external trace tools).\n\n* tag \u0027arm64-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64:\n  arm64: mm: update CONTEXTIDR register to contain PID of current process\n  arm64: atomics: fix grossly inconsistent asm constraints for exclusives\n  arm64: compat: use compat_uptr_t type for compat_ucontext.uc_link\n  arm64: Select ARCH_WANT_FRAME_POINTERS\n  arm64: Add kvm_para.h and xor.h generic headers\n  arm64: SMP: enable PSCI boot method\n  arm64: psci: add support for PSCI invocations from the kernel\n  arm64: SMP: rework the SMP code to be enabling method agnostic\n  arm64: perf: add guest vs host discrimination\n  arm64: add COMPAT_PSR_*_BIT flags\n  arm64: Add simple earlyprintk support\n  arm64: Populate the platform devices\n"
    },
    {
      "commit": "6db167dfc013b0e114c81077ac091ba26a69f4ed",
      "tree": "1978b8a2774e0fdb3690065625b0b5eb84475552",
      "parents": [
        "32f9aab8ebd886211a7b3e552753af014c3e5225",
        "9cb543124a2d31af42ce61a4c30765ecc8e5f1fa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 14:29:37 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 14:29:37 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus-2\u0027 of git://git.linaro.org/people/rmk/linux-arm\n\nPull ARM updates (part two) from Russell King:\n\n - breakpoint and perf updates from Will Deacon.\n\n - hypervisor boot mode updates from Will.\n\n - support for Power State Coordination Interface via the Hypervisor\n\n - core ARM support for KVM\n\n* \u0027for-linus-2\u0027 of git://git.linaro.org/people/rmk/linux-arm: (32 commits)\n  KVM: ARM: Add maintainer entry for KVM/ARM\n  KVM: ARM: Power State Coordination Interface implementation\n  KVM: ARM: Handle I/O aborts\n  KVM: ARM: Handle guest faults in KVM\n  KVM: ARM: VFP userspace interface\n  KVM: ARM: Demux CCSIDR in the userspace API\n  KVM: ARM: User space API for getting/setting co-proc registers\n  KVM: ARM: Emulation framework and CP15 emulation\n  KVM: ARM: World-switch implementation\n  KVM: ARM: Inject IRQs and FIQs from userspace\n  KVM: ARM: Memory virtualization setup\n  KVM: ARM: Hypervisor initialization\n  KVM: ARM: Initial skeleton to compile KVM support\n  ARM: Section based HYP idmap\n  ARM: Add page table and page defines needed by KVM\n  ARM: perf: simplify __hw_perf_event_init err handling\n  ARM: perf: remove unnecessary checks for idx \u003c 0\n  ARM: perf: handle armpmu_register failing\n  ARM: perf: don\u0027t pretend to support counting of L1I writes\n  ARM: perf: remove redundant NULL check on cpu_pmu\n  ...\n"
    },
    {
      "commit": "32f9aab8ebd886211a7b3e552753af014c3e5225",
      "tree": "f95ca8b49a73c6c4baa8cf9d47c65db67a1f5f58",
      "parents": [
        "e177bb587ea0fade3d9a86f6667da8d89bea3607",
        "1b1c7409b75a8b62906b78b84c8469002072b738"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 14:27:58 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 14:27:58 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.linaro.org/people/rmk/linux-arm\n\nPull ARM updates (part one) from Russell King:\n\n - MMC patches from Ulf Hansson and Pawel Moll.  These add support for\n   DDR mode and the latest variant found on ARM Versatile Express, as\n   well as a number of cleanups.\n\n - A fix for to improve the behaviour of ARMs sched_clock()\n\n - Changes to the ARM ioremap() code.  I\u0027m not convinced with the\n   primary arguments for this, but it\u0027s been around for a while, and\n   people seem happy with it - and the \"other\" justification for this is\n   at\n\n      http://lkml.org/lkml/2012/12/6/184\n\n - Add SCHED_HRTICK to ARMs Kconfig\n\n - Making the ARM SHA/AES code Thumb-2 compatible\n\n - A collection of other small updates.\n\n* \u0027for-linus\u0027 of git://git.linaro.org/people/rmk/linux-arm: (26 commits)\n  ARM: add SCHED_HRTICK config option\n  ARM: 7650/1: mm: replace direct access to mm-\u003econtext.id with new macro\n  ARM: 7649/1: mm: mm-\u003econtext.id fix for big-endian\n  ARM: 7648/1: pci: Allow passing per-controller private data\n  ARM: 7647/1: pci: Keep pci_common_init() around after init\n  ARM: fix warnings introduced by previous patch\n  ARM: 7646/1: mm: use static_vm for managing static mapped areas\n  ARM: 7645/1: ioremap: introduce an infrastructure for static mapped area\n  ARM: 7644/1: vmregion: remove vmregion code entirely\n  MAINTAINERS: Re-assert MMCI driver maintainer status\n  MAINTAINERS: add additional file for MMCI driver\n  MAINTAINERS: add maintainer entry for AMBA serial drivers\n  ARM: 7637/1: memory: use SZ_ constants for defining the virtual memory layout\n  ARM: 7643/1: sched: correct update_sched_clock()\n  ARM: 7635/1: versatile: fix the PCI IRQ regression\n  ARM: 7639/1: cache-l2x0: add missed dummy outer_resume entry\n  ARM: 7630/1: mmc: mmci: Fixup and cleanup code for DMA handling\n  ARM: 7632/1: spinlock: avoid exclusive accesses on unlock() path\n  ARM: 7631/1: mmc: mmci: Add new VE MMCI variant\n  ARM: 7623/1: mmc: mmci: Fixup clock gating when freq is 0 for ST-variants\n  ...\n"
    },
    {
      "commit": "e177bb587ea0fade3d9a86f6667da8d89bea3607",
      "tree": "daebf1786d014cc3182137c76e02381d0aceb245",
      "parents": [
        "55529fa5762462beb39f913c5277cb96c7be0858",
        "561839598e61f03c9175183ea066b2b7fa58ce85"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 14:27:00 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 14:27:00 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k\n\nPull m68k update from Geert Uytterhoeven.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:\n  m68k: Sort out !CONFIG_MMU_SUN3 vs. CONFIG_HAS_DMA\n  swim: Add missing spinlock init\n"
    },
    {
      "commit": "f9fd3488f6a3c2c5cc8613e4fd7fbbaa57f6bf8f",
      "tree": "dfc2f084424f34f257dcca83d495bf216dcdfd2b",
      "parents": [
        "76968ad2eac6456270353de168b21f04f4b3d1d3"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Fri Feb 15 15:52:06 2013 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 20 13:36:50 2013 -0800"
      },
      "message": "sparc32: refactor smp boot\n\nIntroduce a common smp_callin() function to call\nfrom trampoline_32.S.\nAdd platform specific functions to handle the\nplatform details.\n\nThis is in preparation for a patch that will\nunify the smp boot stuff for all architectures.\nsparc32 was significantly different to warrant\nthis patch in preparation.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: \"Srivatsa S. Bhat\" \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nAcked-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76968ad2eac6456270353de168b21f04f4b3d1d3",
      "tree": "b5181645596ff9cce2e250bdf5de10948868a01e",
      "parents": [
        "0fbebed682ff2788dee58e8d7f7dda46e33aa10b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 20 12:38:40 2013 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 20 13:34:41 2013 -0800"
      },
      "message": "sparc64: Fix huge PMD to PTE translation for sun4u in TLB miss handler.\n\nWhen we set the sun4u version of the PTE execute bit, it\u0027s:\n\n\tor\tREG, _PAGE_EXEC_4U, REG\n\n_PAGE_EXEC_4U is 0x1000, unfortunately the immedate field of the\n\u0027or\u0027 instruction is a signed 13-bit value.  So the above actually\nassembles into:\n\n\tor\tREG, -4096, REG\n\ncompletely corrupting the final PTE value.\n\nSet it with a:\n\n\tsethi\t%hi(_PAGE_EXEC_4U), TMP\n\tor\tREG, TMP, REG\n\nsequence instead.\n\nThis fixes \"git gc\" crashes on sun4u machines.\n\nReported-by: Meelis Roos \u003cmroos@linux.ee\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ecd9883724b78cc72ed92c98bcb1a46c764fff21",
      "tree": "c18d4c96f7e4dcf278c88e505be8225af7374800",
      "parents": [
        "68534c682e8f5c333f835818ca5a89d3e6288870"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki / 吉藤英明",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Feb 20 00:29:08 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 20 15:11:45 2013 -0500"
      },
      "message": "ipv6: fix race condition regarding dst-\u003eexpires and dst-\u003efrom.\n\nEric Dumazet wrote:\n| Some strange crashes happen in rt6_check_expired(), with access\n| to random addresses.\n|\n| At first glance, it looks like the RTF_EXPIRES and\n| stuff added in commit 1716a96101c49186b\n| (ipv6: fix problem with expired dst cache)\n| are racy : same dst could be manipulated at the same time\n| on different cpus.\n|\n| At some point, our stack believes rt-\u003edst.from contains a dst pointer,\n| while its really a jiffie value (as rt-\u003edst.expires shares the same area\n| of memory)\n|\n| rt6_update_expires() should be fixed, or am I missing something ?\n|\n| CC Neil because of https://bugzilla.redhat.com/show_bug.cgi?id\u003d892060\n\nBecause we do not have any locks for dst_entry, we cannot change\nessential structure in the entry; e.g., we cannot change reference\nto other entity.\n\nTo fix this issue, split \u0027from\u0027 and \u0027expires\u0027 field in dst_entry\nout of union.  Once it is \u0027from\u0027 is assigned in the constructor,\nkeep the reference until the very last stage of the life time of\nthe object.\n\nOf course, it is unsafe to change \u0027from\u0027, so make rt6_set_from simple\njust for fresh entries.\n\nReported-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReported-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCC: Gao Feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nReviewed-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReported-by: Steinar H. Gunderson \u003csesse@google.com\u003e\nReviewed-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68534c682e8f5c333f835818ca5a89d3e6288870",
      "tree": "5d5fd4ab1f3d0c33f3f4f654bf6328d3d7815e4b",
      "parents": [
        "c6b538079723efd21b5fd7e3091dc47dbd0436c4"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Tue Feb 19 22:51:30 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 20 15:11:44 2013 -0500"
      },
      "message": "net: fix a wrong assignment in skb_split()\n\ncommit c9af6db4c11ccc6c3e7f1 (net: Fix possible wrong checksum generation)\nhas a suspicous piece:\n\n\t-       skb_shinfo(skb1)-\u003egso_type \u003d skb_shinfo(skb)-\u003egso_type;\n\t-\n\t+       skb_shinfo(skb)-\u003etx_flags \u003d skb_shinfo(skb1)-\u003etx_flags \u0026 SKBTX_SHARED_FRAG;\n\nskb1 is the new skb, therefore should be on the left side of the assignment.\nThis patch fixes it.\n\nCc: Pravin B Shelar \u003cpshelar@nicira.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\nAcked-by: Pravin B Shelar \u003cpshelar@nicira.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55529fa5762462beb39f913c5277cb96c7be0858",
      "tree": "668c1fc750bba414fac65e955cf8e23fee75a0bf",
      "parents": [
        "8793422fd9ac5037f5047f80473007301df3689f",
        "e7d2c215e56dc9fa0a01e26f2acfc3d73c889ba3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 11:28:50 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 11:28:50 2013 -0800"
      },
      "message": "Merge tag \u0027edac_3.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp\n\nPull EDAC updates from Borislav Petkov:\n \"Mostly AMD\u0027s side of EDAC.  It is basically a new family enablement\n  stuff: AMD F16h MCE decoding enablement from Jacob Shin.  The rest is\n  trivial cleanups.\"\n\n* tag \u0027edac_3.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:\n  mpc85xx_edac: Fix typo\n  EDAC, MCE, AMD: Remove unneeded exports\n  EDAC, MCE, AMD: Add MCE decoding support for Family 16h\n  EDAC, MCE, AMD: Make MC2 decoding per-family\n  amd64_edac: Remove dead code\n"
    },
    {
      "commit": "8793422fd9ac5037f5047f80473007301df3689f",
      "tree": "f5aa3b3a564f053e1b5604c45db80193abc734a4",
      "parents": [
        "b3cdda2b4f541439ca4205793040aa2e1c852e3b",
        "10baf04e95fbf7eb6089410220a547211dd2ffa7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 11:26:56 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 11:26:56 2013 -0800"
      },
      "message": "Merge tag \u0027pm+acpi-3.9-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull ACPI and power management updates from Rafael Wysocki:\n\n - Rework of the ACPI namespace scanning code from Rafael J.  Wysocki\n   with contributions from Bjorn Helgaas, Jiang Liu, Mika Westerberg,\n   Toshi Kani, and Yinghai Lu.\n\n - ACPI power resources handling and ACPI device PM update from Rafael\n   J Wysocki.\n\n - ACPICA update to version 20130117 from Bob Moore and Lv Zheng with\n   contributions from Aaron Lu, Chao Guan, Jesper Juhl, and Tim Gardner.\n\n - Support for Intel Lynxpoint LPSS from Mika Westerberg.\n\n - cpuidle update from Len Brown including Intel Haswell support, C1\n   state for intel_idle, removal of global pm_idle.\n\n - cpuidle fixes and cleanups from Daniel Lezcano.\n\n - cpufreq fixes and cleanups from Viresh Kumar and Fabio Baltieri with\n   contributions from Stratos Karafotis and Rickard Andersson.\n\n - Intel P-states driver for Sandy Bridge processors from Dirk\n   Brandewie.\n\n - cpufreq driver for Marvell Kirkwood SoCs from Andrew Lunn.\n\n - cpufreq fixes related to ordering issues between acpi-cpufreq and\n   powernow-k8 from Borislav Petkov and Matthew Garrett.\n\n - cpufreq support for Calxeda Highbank processors from Mark Langsdorf\n   and Rob Herring.\n\n - cpufreq driver for the Freescale i.MX6Q SoC and cpufreq-cpu0 update\n   from Shawn Guo.\n\n - cpufreq Exynos fixes and cleanups from Jonghwan Choi, Sachin Kamat,\n   and Inderpal Singh.\n\n - Support for \"lightweight suspend\" from Zhang Rui.\n\n - Removal of the deprecated power trace API from Paul Gortmaker.\n\n - Assorted updates from Andreas Fleig, Colin Ian King, Davidlohr Bueso,\n   Joseph Salisbury, Kees Cook, Li Fei, Nishanth Menon, ShuoX Liu,\n   Srinivas Pandruvada, Tejun Heo, Thomas Renninger, and Yasuaki\n   Ishimatsu.\n\n* tag \u0027pm+acpi-3.9-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (267 commits)\n  PM idle: remove global declaration of pm_idle\n  unicore32 idle: delete stray pm_idle comment\n  openrisc idle: delete pm_idle\n  mn10300 idle: delete pm_idle\n  microblaze idle: delete pm_idle\n  m32r idle: delete pm_idle, and other dead idle code\n  ia64 idle: delete pm_idle\n  cris idle: delete idle and pm_idle\n  ARM64 idle: delete pm_idle\n  ARM idle: delete pm_idle\n  blackfin idle: delete pm_idle\n  sparc idle: rename pm_idle to sparc_idle\n  sh idle: rename global pm_idle to static sh_idle\n  x86 idle: rename global pm_idle to static x86_idle\n  APM idle: register apm_cpu_idle via cpuidle\n  cpufreq / intel_pstate: Add kernel command line option disable intel_pstate.\n  cpufreq / intel_pstate: Change to disallow module build\n  tools/power turbostat: display SMI count by default\n  intel_idle: export both C1 and C1E\n  ACPI / hotplug: Fix concurrency issues and memory leaks\n  ...\n"
    },
    {
      "commit": "b3cdda2b4f541439ca4205793040aa2e1c852e3b",
      "tree": "12f4249a75ba4348b6674c0d46581d959d1dc5c0",
      "parents": [
        "3aad3f03b2b6d2d977b985c49274cdb78a1593e5",
        "02bbde7849e68e193cefaa1885fe0df0f03c9fcd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 11:04:46 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 11:04:46 2013 -0800"
      },
      "message": "Merge tag \u0027dt-for-linus\u0027 of git://git.secretlab.ca/git/linux\n\nPull device tree changes from Grant Likely:\n \"All around device tree changes destined for v3.8.  Aside from the\n  documentation updates the highlights in this branch include:\n\n   - Kbuild changes for using CPP with .dts files\n   - locking fix from preempt_rt patchset\n   - include DT alias names in device uevent\n   - Selftest bugfixes and improvements\n   - New function for counting phandles stanzas in a property\n   - constify argument to of_node_full_name()\n   - Various bug fixes\n\n  This tree did also contain a commit to use platform_device_add instead\n  of open-coding the device add code, but it caused problems with amba\n  devices and needed to be reverted.\"\n\n* tag \u0027dt-for-linus\u0027 of git://git.secretlab.ca/git/linux: (23 commits)\n  Revert \"of: use platform_device_add\"\n  kbuild: limit dtc+cpp include path\n  gpio: Make of_count_named_gpios() use new of_count_phandle_with_args()\n  of: Create function for counting number of phandles in a property\n  of/base: Clean up exit paths for of_parse_phandle_with_args()\n  of/selftest: Use selftest() macro throughout\n  of/selftest: Fix GPIOs selftest to cover the 7th case\n  of: fix recursive locking in of_get_next_available_child()\n  documentation/devicetree: Fix a typo in exynos-dw-mshc.txt\n  OF: convert devtree lock from rw_lock to raw spinlock\n  of/exynos_g2d: Add Bindings for exynos G2D driver\n  kbuild: create a rule to run the pre-processor on *.dts files\n  input: Extend matrix-keypad device tree binding\n  devicetree: Move NS2 LEDs binding into LEDs directory\n  of: use platform_device_add\n  powerpc/5200: Fix size to request_mem_region() call\n  documentation/devicetree: Fix typos\n  of: add \u0027const\u0027 to of_node_full_name parameter\n  of: Output devicetree alias names in uevent\n  DT: add vendor prefixes for Renesas and Toshiba\n  ...\n"
    },
    {
      "commit": "3aad3f03b2b6d2d977b985c49274cdb78a1593e5",
      "tree": "e2955fe687fcd9c26f82d57a3c818e05406964ed",
      "parents": [
        "10b6339e93244156fac901560117e94bf9dca120",
        "095c3752e673c0ba039a2f67fd867297fde75ae7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 11:03:22 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 11:03:22 2013 -0800"
      },
      "message": "Merge tag \u0027spi-for-linus\u0027 of git://git.secretlab.ca/git/linux\n\nPull SPI changes from Grant Likely:\n \"Changes to both core spi code and spi device drivers.  The driver\n  changes are the usual set of bug fixes and platform enablement.\n\n  Core code changes include:\n\n   - More intelligent assignment of SPI bus numbers when using DT\n\n   - Common mechanism for using gpios as CS lines\n\n   - Pull checks for bits_per_word and transfer speed out of drivers and\n     into core code\n\n   - Ensure temporary DMA buffers are DMA safe\"\n\n* tag \u0027spi-for-linus\u0027 of git://git.secretlab.ca/git/linux: (50 commits)\n  spi: Document cs_gpios and cs_gpio in kernel-doc\n  spi/of: Fix initialization of cs_gpios array\n  spi/pxa2xx: add support for Lynxpoint SPI controllers\n  spi/pxa2xx: add support for Intel Low Power Subsystem SPI\n  spi/pxa2xx: add support for SPI_LOOP\n  spi/pxa2xx: add support for runtime PM\n  spi/pxa2xx: add support for DMA engine\n  spi/pxa2xx: break out the private DMA API usage into a separate file\n  spi/ath79: add shutdown handler\n  spi/mips-lantiq: set SPI_MASTER_HALF_DUPLEX flag\n  spi/mips-lantiq: make use of spi_finalize_current_message\n  spi/bcm63xx: work around inability to keep CS up\n  spi/davinci: use request_threaded_irq() to fix deadlock\n  spi/orion: Use module_platform_driver()\n  spi/bcm63xx: reject transfers unable to transfer\n  spi: Ensure memory used for spi_write_then_read() is DMA safe\n  spi/spi-mpc512x-psc: init mode bits supported by the driver\n  spi/mpc512x-psc: don\u0027t use obsolet cell-index property\n  spi: Remove erroneous __init, __exit and __exit_p() references in drivers\n  spi/s3c64xx: fix checkpatch warnings and error\n  ...\n"
    },
    {
      "commit": "10b6339e93244156fac901560117e94bf9dca120",
      "tree": "93a86c1328f0f3b0f37af493907b32d72027c9d1",
      "parents": [
        "c6699b58f4fe2f968f036a862c09ce44b6968376",
        "fde8bc59c03c0ad1fa4f655e0ed5cc1f76d11e8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 11:02:10 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 11:02:10 2013 -0800"
      },
      "message": "Merge tag \u0027clk-for-linus\u0027 of git://git.linaro.org/people/mturquette/linux\n\nPull clock framework update from Michael Turquette:\n \"The common clock framework changes for 3.9 are almost entirely fixes.\n\n  None are dire enough to be Cc\u0027d to stable which may be interpreted to\n  mean that users of the framework are reaching stability.  Lots of new\n  adoption of this framework is via DeviceTree data and that comes\n  through the respective architecture and platform trees instead of\n  through the clk framework tree.\n\n  Two new features are improved debugfs output and an improvement to how\n  DT clocks are initialized by reusing a common method.\"\n\n* tag \u0027clk-for-linus\u0027 of git://git.linaro.org/people/mturquette/linux: (25 commits)\n  clk: sunxi: remove stale Makefile entry\n  clk: vexpress: Use common of_clk_init() function\n  clk: zynq: Use common of_clk_init() function\n  clk: vt8500: Use common of_clk_init() function\n  clk: highbank: Use common of_clk_init() function\n  clk: sunxi: Use common of_clk_init() function\n  clk: add common of_clk_init() function\n  clk: Deduplicate exit code in clk_set_rate\n  clk: beautify Makefile\n  clk-divider: fix macros\n  clk: prima2: enable dt-binding clkdev mapping\n  clk: mxs: Index is always positive\n  clk: max77686: Avoid double free at remove time\n  clk: remove exported function from __init section\n  clk: vt8500: Add support for WM8750/WM8850 PLL clocks\n  clk: vt8500: Fix division-by-0 when requested rate\u003d0\n  clk: vt8500: Fix device clock divisor calculations\n  clk: vt8500: Fix error in PLL calculations on non-exact match.\n  clk: max77686: Remove unnecessary NULL checking for container_of()\n  clk: JSON debugfs clock tree summary\n  ...\n"
    },
    {
      "commit": "c6699b58f4fe2f968f036a862c09ce44b6968376",
      "tree": "d26743fa88966c2bdfd35ba723e3631f08a1f5fc",
      "parents": [
        "5a1203914a637b642442a861cf462d16401548e1",
        "2d9f0d964be94fd51c7303288c6f9c88bf2381fe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 11:00:43 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 11:00:43 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\nPull input updates from Dmitry Torokhov:\n \"Two new touchpad drivers - Cypress APA I2C Trackpad and Cypress PS/2\n  touchpad and a big update to ALPS driver from Kevin Cernekee that adds\n  support for \"Rushmore\" touchpads and paves way for adding support for\n  \"Dolphin\" touchpads.\n\n  There is also a new input driver for Goldfish emulator and also\n  Android keyreset driver was folded into SysRq code.\n\n  A few more drivers were updated with device tree bindings and others\n  got some small cleanups and fixes.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (55 commits)\n  Input: cyttsp-spi - remove duplicate MODULE_ALIAS()\n  Input: tsc2005 - add MODULE_ALIAS\n  Input: tegra-kbc - require CONFIG_OF, remove platform data\n  Input: synaptics - initialize pointer emulation usage\n  Input: MT - do not apply filtering on emulated events\n  Input: bma150 - make some defines public and fix some comments\n  Input: bma150 - fix checking pm_runtime_get_sync() return value\n  Input: ALPS - enable trackstick on Rushmore touchpads\n  Input: ALPS - add support for \"Rushmore\" touchpads\n  Input: ALPS - make the V3 packet field decoder \"pluggable\"\n  Input: ALPS - move pixel and bitmap info into alps_data struct\n  Input: ALPS - fix command mode check\n  Input: ALPS - rework detection of Pinnacle AGx touchpads\n  Input: ALPS - move {addr,nibble}_command settings into alps_set_defaults()\n  Input: ALPS - use function pointers for different protocol handlers\n  Input: ALPS - rework detection sequence\n  Input: ALPS - introduce helper function for repeated commands\n  Input: ALPS - move alps_get_model() down below hw_init code\n  Input: ALPS - copy \"model\" info into alps_data struct\n  Input: ALPS - document the alps.h data structures\n  ...\n"
    },
    {
      "commit": "5a1203914a637b642442a861cf462d16401548e1",
      "tree": "894ea523ad45686b9103410f7daeb3a8e670553a",
      "parents": [
        "c560dc8793ecf4c3bb4ba6e7b8cae8a64486d96b",
        "ac6324e7021dfa917ce4f9a836318c3e46fbb84e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 10:19:07 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 10:19:07 2013 -0800"
      },
      "message": "Merge tag \u0027for-v3.9\u0027 of git://git.infradead.org/battery-2.6\n\nPull battery updates from Anton Vorontsov:\n \"Four new drivers:\n\n   - goldfish_battery:\n\n     This is Android Emulator battery driver.  Originally from Google,\n     but Intel folks reshaped it for mainline\n\n   - pm2301_charger:\n\n     A new driver for ST-Ericsson 2301 Power Management chip, uses\n     AB8500 battery management core\n\n   - qnap-poweroff:\n\n     The driver adds poweroff functionality for QNAP NAS boxes\n\n   - restart-poweroff:\n\n     A generic driver that implements \u0027power off by restarting\u0027.  The\n     actual poweroff functionality is implemented through a bootloader,\n     so Linux\u0027 task is just to restart the box.  The driver is useful on\n     Buffalo Linkstation LS-XHL and LS-CHLv2 boards.  Andrew Lunn worked\n     on submitting the driver (as well as qnap-poweroff above).\n\n  Additionally:\n\n   - A lot of fixes for ab8500 drivers.  This is a part of efforts of\n     syncing internal ST-Ericsson development tree with the mainline.\n     Lee Jones @ Linaro worked on compilation and reshaping these\n     series.\n\n   - New health properties for the power supplies: \"Watchdog timer\n     expire\" and \"Safety timer expire\"\n\n   - As usual, a bunch of fixes/cleanups here and there\"\n\n* tag \u0027for-v3.9\u0027 of git://git.infradead.org/battery-2.6: (81 commits)\n  bq2415x_charger: Add support for offline and 100mA mode\n  generic-adc-battery: Fix forever loop in gab_remove()\n  goldfish_battery: Add missing GENERIC_HARDIRQS dependency\n  da9030_battery: Include notifier.h\n  bq27x00_battery: Fix reporting battery temperature\n  power/reset: Remove newly introduced __dev* annotations\n  lp8727_charger: Small cleanup in naming\n  ab8500_btemp: Demote initcall sequence\n  ds2782_battery: Add power_supply_changed() calls for proper uevent support\n  power: Add battery driver for goldfish emulator\n  u8500-charger: Delay for USB enumeration\n  ab8500-bm: Remove individual [charger|btemp|fg|chargalg] pdata structures\n  ab8500-charger: Do not touch VBUSOVV bits\n  ab8500-fg: Use correct battery charge full design\n  pm2301: LPN mode control support\n  pm2301: Enable vbat low monitoring\n  ab8500-bm: Flush all work queues before suspending\n  ab8500-fg: Go to INIT_RECOVERY when charger removed\n  ab8500-charger: Add support for autopower on AB8505 and AB9540\n  abx500-chargalg: Add new sysfs interface to get current charge status\n  ...\n\nFix up fairly straightforward conflicts in the ab8500 driver.  But since\nit seems to be ARM-specific, I can\u0027t even compile-test the result..\n"
    },
    {
      "commit": "0fbebed682ff2788dee58e8d7f7dda46e33aa10b",
      "tree": "62aecd278c28c2f5007ece44c5cf34429807e8ae",
      "parents": [
        "bcd896bae0166b4443503482a26ecf84d9ba60ab"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 19 22:34:10 2013 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 20 09:46:08 2013 -0800"
      },
      "message": "sparc64: Fix tsb_grow() in atomic context.\n\nIf our first THP installation for an MM is via the set_pmd_at() done\nduring khugepaged\u0027s collapsing we\u0027ll end up in tsb_grow() trying to do\na GFP_KERNEL allocation with several locks held.\n\nSimply using GFP_ATOMIC in this situation is not the best option\nbecause we really can\u0027t have this fail, so we\u0027d really like to keep\nthis an order 0 GFP_KERNEL allocation if possible.\n\nAlso, doing the TSB allocation from khugepaged is a really bad idea\nbecause we\u0027ll allocate it potentially from the wrong NUMA node in that\ncontext.\n\nSo what we do is defer the hugepage TSB allocation until the first TLB\nmiss we take on a hugepage.  This is slightly tricky because we have\nto handle two unusual cases:\n\n1) Taking the first hugepage TLB miss in the window trap handler.\n   We\u0027ll call the winfix_trampoline when that is detected.\n\n2) An initial TSB allocation via TLB miss races with a hugetlb\n   fault on another cpu running the same MM.  We handle this by\n   unconditionally loading the TSB we see into the current cpu\n   even if it\u0027s non-NULL at hugetlb_setup time.\n\nReported-by: Meelis Roos \u003cmroos@ut.ee\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bcd896bae0166b4443503482a26ecf84d9ba60ab",
      "tree": "9674d3bf3999833f9e9ee562bd6113509b94f684",
      "parents": [
        "a55ee1ff751f88252207160087d8197bb7538d4c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 19 13:20:08 2013 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 20 09:46:08 2013 -0800"
      },
      "message": "sparc64: Handle hugepage TSB being NULL.\n\nAccomodate the possibility that the TSB might be NULL at\nthe point that update_mmu_cache() is invoked.  This is\nnecessary because we will sometimes need to defer the TSB\nallocation to the first fault that happens in the \u0027mm\u0027.\n\nSeperate out the hugepage PTE test into a seperate function\nso that the logic is clearer.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a55ee1ff751f88252207160087d8197bb7538d4c",
      "tree": "ebfe9694c0b2f556daee19764f8a4bf1ba3bb330",
      "parents": [
        "f741656d646f7a5b56ba86765205b954237e7956"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 19 12:56:18 2013 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 20 09:45:53 2013 -0800"
      },
      "message": "sparc64: Fix gfp_flags setting in tsb_grow().\n\nWe should \"|\u003d more_flags\" rather than \"\u003d more_flags\".\n\nReported-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c560dc8793ecf4c3bb4ba6e7b8cae8a64486d96b",
      "tree": "21d516ad43a5e3207b81731239ef207795cf7e11",
      "parents": [
        "8a3a11f91def34424b1995cb54ccd658efde8568",
        "4626dcff78a70258f0064fbdd6d504249f918bcd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 09:26:08 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 09:26:08 2013 -0800"
      },
      "message": "Merge tag \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging\n\nPull hwmon updates from Guenter Roeck:\n\n - New drivers for MAX6697 and compatibles and for INA209.\n\n - Added support for IT8771E, IT8772E, MAX34460, MAX34461, MCP98244, and\n   ADT7420 to existing drivers.\n\n - Added support for additional attributes to various drivers.\n\n - Replaced SENSORS_LIMIT with clamp_val; retire SENSORS_LIMIT;\n\n - Clean up PMBus code to reduce its size; clean up adt7410 driver.\n\n - A couple of minor bug fixes as well as documentation cleanup.\n\n - Out-of-tree change: Replace SENSORS_LIMIT with clamp_val in\n   platform/x86/eeepc-laptop driver.\n\n* tag \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (32 commits)\n  hwmon: (ntc_thermistor): Fix sparse warnings\n  hwmon: (adt7410) Add device table entry for the adt7420\n  hwmon: (adt7410) Use I2C_ADDRS helper macro\n  hwmon: (adt7410) Use the SIMPLE_DEV_PM_OPS helper macro\n  hwmon: (adt7410) Let suspend/resume depend on CONFIG_PM_SLEEP\n  hwmon: (adt7410) Clear unwanted bits in the config register\n  hwmon: (jc42) Add support for MCP98244\n  hwmon: (pmbus) Clean up for code size reduction\n  hwmon: (pmbus/max34440) Add support for MAX34460 and MAX34461\n  hwmon: (pmbus) Add support for word status register\n  hwmon: (pmbus/zl6100) Add support for VMON/VDRV\n  hwmon: (pmbus) Add function to clear sensor cache\n  hwmon: (pmbus) Add support for additional voltage sensor\n  hwmon: (pmbus) Use krealloc to allocate attribute memory\n  hwmon: (pmbus) Simplify memory allocation for sensor attributes\n  hwmon: (pmbus) Improve boolean handling\n  hwmon: (pmbus) Simplify memory allocation for labels and booleans\n  hwmon: (pmbus) Use dev variable to represent client-\u003edev\n  hwmon: (pmbus) Fix \u0027Macros with multiple statements\u0027 checkpatch error\n  hwmon: (pmbus) Drop unnecessary error messages in probe error path\n  ...\n"
    },
    {
      "commit": "8a3a11f91def34424b1995cb54ccd658efde8568",
      "tree": "6b97487ffea8cb7d8c280bb88fd681335f91cf73",
      "parents": [
        "8909ff652ddfc83ecdf450f96629c25489d88f77",
        "ade158eb53eed40f6090e9f7ee6ee3513ec1eec4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 09:23:30 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 09:23:30 2013 -0800"
      },
      "message": "Merge tag \u0027pinctrl-for-v3.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl\n\nPull pinctrl changes from Linus Walleij:\n \"These are the main pinctrl changes for the v3.9 merge window.  The\n  most interesting change by far is how the device core grabs pinctrl\n  default handles avoiding the need to stick boilerplate into driver\n  consumers.\n\n   - Grabbing of default pinctrl handles from the device core.  These\n     are the hunks hitting drivers/base.  All is ACKed by Greg, after a\n     long discussion about different alternatives.\n\n   - Some stuff also touches the MFD and ARM SoC trees, this has been\n     coordinated and ACKed.\n\n   - New drivers for:\n     - The Tegra 114 sub-SoC\n     - Allwinner sunxi\n     - New ABx500 driver and sub-SoC drivers for AB8500, AB8505, AB9540\n       and AB8540.\n\n   - Make it possible for hogged pins to enter a sleep mode, and make it\n     possible for drivers to control that mode.\n\n   - Various clean-up, extensions and device tree support to various pin\n     controllers.\"\n\n* tag \u0027pinctrl-for-v3.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (68 commits)\n  pinctrl: tegra: add clfvs function to Tegra114 support\n  pinctrl: generic: rename input schmitt disable\n  pinctrl/pinconfig: add debug interface\n  pinctrl: samsung: remove duplicated line\n  ARM: ux500: use real AB8500 IRQ numbers instead of virtual ones\n  ARM: ux500: remove irq_base property from platform_data\n  pinctrl/abx500: use direct IRQ defines\n  pinctrl/abx500: replace IRQ offsets with table read-in values\n  pinctrl/abx500: move IRQ handling to ab8500-core\n  pinctrl: exynos5440: remove erroneous __init\n  pinctrl/abx500: adjust offset for get_mode()\n  pinctrl/abx500: add Device Tree support\n  pinctrl/abx500: align GPIO cluster boundaries\n  pinctrl/abx500: prevent error path from corrupting returning error\n  pinctrl: sunxi: add of_xlate function\n  pinctrl/lantiq: fix pin number in ltq_pmx_gpio_request_enable\n  pinctrl/lantiq: add functionality to falcon_pinconf_dbg_show\n  pinctrl/lantiq: fix pinconfig parameters\n  pinctrl/lantiq: one of the boot leds was defined incorrectly\n  pinctrl/lantiq: only probe available pad controllers\n  ...\n"
    },
    {
      "commit": "8909ff652ddfc83ecdf450f96629c25489d88f77",
      "tree": "01023e82481e027b7454e97ac2500d214b6cff08",
      "parents": [
        "88cff241596f29122e9125a41b20d21dfed873cd",
        "2730fd82cbb922e6be8df08ba32c21be41757d3d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 09:22:19 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 09:22:19 2013 -0800"
      },
      "message": "Merge tag \u0027regulator-3.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator\n\nPull regulator updates from Mark Brown:\n \"A fairly quiet release for the regulator API, the bulk of the changes\n  being lots of small cleanups and API updates contributed by Axel Lin\n  with just a small set of larger changes:\n\n   - New driver for LP8755\n\n   - DT support for S5M8767, TPS51632, TPS6507x and TPS65090\n\n   - Support for writing a \"commit changes\" bit in the regmap helper\n     functions.\"\n\n* tag \u0027regulator-3.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (60 commits)\n  regulator: Fix memory garbage dev_err printout.\n  regulator: max77686: Reuse rdev_get_id() function.\n  regulator: tps51632: Use regulator_[get|set]_voltage_sel_regmap\n  regulator: as3711: Fix checking if no platform initialization data\n  regulator: s5m8767: Prevent possible NULL pointer dereference\n  regulator: s5m8767: Fix dev argument for devm_kzalloc and of_get_regulator_init_data\n  regulator: core: Optimize _regulator_do_set_voltage if voltage does not change\n  regulator: max8998: Let regulator core handle the case selector \u003d\u003d old_selector\n  regulator: s5m8767: Use of_get_child_count()\n  regulator: anatop: improve precision of delay time\n  regulator: show state for GPIO-controlled regulators\n  regulator: s5m8767: Fix build in non-DT case\n  regulator: add device tree support for s5m8767\n  regulator: palmas: Remove a redundant setting for warm_reset\n  regulator: mc13xxx: Use of_get_child_count()\n  regulator: max8997: Use of_get_child_count()\n  regulator: tps65090: Fix using wrong dev argument for calling of_regulator_match\n  regulators: anatop: add set_voltage_time_sel interface\n  regulator: Add missing of_node_put()\n  regulator: tps6507x: Fix using wrong dev argument for calling of_regulator_match\n  ...\n"
    },
    {
      "commit": "88cff241596f29122e9125a41b20d21dfed873cd",
      "tree": "8b9cd99d8e5e26a349a060b5856fa7c40fc06e64",
      "parents": [
        "9ae46e6702d98d22037368896298d05958ad5737",
        "a2b37efc4e2aa76a5be29bbde8a2cd1c9c9066bc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 09:20:55 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 09:20:55 2013 -0800"
      },
      "message": "Merge tag \u0027regmap-3.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap\n\nPull regmap updates from Mark Brown:\n \"Several nice new features and performance improvements here,\n  especially the first:\n\n   - Support for using the cache infrastructure without the physical\n     I/O, allowing devices which don\u0027t fit the physical model regmap has\n     to take advantage of the cache infrastructure, contributed by\n     Andrey Smirnov.\n\n   - Several small improvements to the support for wake capable IRQs.\n\n   - Support for asynchronous I/O, allowing us to come much closer to\n     saturating fast buses like SPI.\n\n   - Support for simple array caches, giving higher performance for use\n     with MMIO devices.\n\n   - Restoration of the use of bulk reads for handling interrupts,\n     giving a performance improvement.\n\n   - Support for 24 bit register addresses.\n\n   - More performance improvements for debugfs.\"\n\n* tag \u0027regmap-3.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: (24 commits)\n  regmap: mmio: add register clock support\n  regmap: debugfs: Factor out debugfs_tot_len calc into a function\n  regmap: debugfs: Optimize seeking within blocks of registers\n  regmap: debugfs: Add a `max_reg\u0027 member in struct regmap_debugfs_off_cache\n  regmap: debugfs: Fix reading in register field units\n  regmap: spi: Handle allocation failures gracefully\n  regmap: Export regmap_async_complete()\n  regmap: Export regmap_async_complete_cb\n  regmap: include linux/sched.h to fix build\n  regmap: spi: Support asynchronous I/O for SPI\n  regmap: Add asynchronous I/O support\n  regmap: Add \"no-bus\" option for regmap API\n  regmap: regmap: avoid spurious warning in regmap_read_debugfs\n  regmap: Add provisions to have user-defined write operation\n  regmap: Add provisions to have user-defined read operation\n  regmap: Add support for 24 bit wide register addresses\n  mfd: wm5110: Mark wakes as inverted\n  mfd: wm5102: Mark wakes as inverted\n  regmap: irq: Support wake IRQ mask inversion\n  regmap: irq: Fix sync of wake statuses to hardware\n  ...\n"
    },
    {
      "commit": "9ae46e6702d98d22037368896298d05958ad5737",
      "tree": "019ce8ccff0a88fc7f5ebaf5c052daac5bac3860",
      "parents": [
        "502b24c23b44fbaa01cc2cbd86d8035845b7811f",
        "d127027baf98dce3ca31bec18c2c0e048ceda7c4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 09:18:31 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 09:18:31 2013 -0800"
      },
      "message": "Merge branch \u0027for-3.9-cpuset\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cpuset changes from Tejun Heo:\n\n - Synchornization has seen a lot of changes with focus on decoupling\n   cpuset synchronization from cgroup internal locking.\n\n   After this change, there only remain a couple of mostly trivial\n   dependencies on cgroup_lock outside cgroup core proper.  cgroup_lock\n   is scheduled to be unexported in this devel cycle.\n\n   This will finally remove the fragile locking order around cgroup\n   (cgroup locking wants to / should be one of the outermost but yet has\n   been acquired from deep inside individual controllers).\n\n - At this point, Li is most knowlegeable with cpuset and taking over\n   the maintainership of cpuset.\n\n* \u0027for-3.9-cpuset\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cpuset: drop spurious retval assignment in proc_cpuset_show()\n  cpuset: fix RCU lockdep splat\n  cpuset: update MAINTAINERS\n  cpuset: remove cpuset-\u003eparent\n  cpuset: replace cpuset-\u003estack_list with cpuset_for_each_descendant_pre()\n  cpuset: replace cgroup_mutex locking with cpuset internal locking\n  cpuset: schedule hotplug propagation from cpuset_attach() if the cpuset is empty\n  cpuset: pin down cpus and mems while a task is being attached\n  cpuset: make CPU / memory hotplug propagation asynchronous\n  cpuset: drop async_rebuild_sched_domains()\n  cpuset: don\u0027t nest cgroup_mutex inside get_online_cpus()\n  cpuset: reorganize CPU / memory hotplug handling\n  cpuset: cleanup cpuset[_can]_attach()\n  cpuset: introduce cpuset_for_each_child()\n  cpuset: introduce CS_ONLINE\n  cpuset: introduce -\u003ecss_on/offline()\n  cpuset: remove fast exit path from remove_tasks_in_empty_cpuset()\n  cpuset: remove unused cpuset_unlock()\n"
    },
    {
      "commit": "502b24c23b44fbaa01cc2cbd86d8035845b7811f",
      "tree": "3096deeb99f6acc2d72ee33f145008ec5e2c68b3",
      "parents": [
        "ece8e0b2f9c980e5511fe8db2d68c6f1859b9d83",
        "f169007b2773f285e098cb84c74aac0154d65ff7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 09:16:21 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 09:16:21 2013 -0800"
      },
      "message": "Merge branch \u0027for-3.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cgroup changes from Tejun Heo:\n \"Nothing too drastic.\n\n   - Removal of synchronize_rcu() from userland visible paths.\n\n   - Various fixes and cleanups from Li.\n\n   - cgroup_rightmost_descendant() added which will be used by cpuset\n     changes (it will be a separate pull request).\"\n\n* \u0027for-3.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cgroup: fail if monitored file and event_control are in different cgroup\n  cgroup: fix cgroup_rmdir() vs close(eventfd) race\n  cpuset: fix cpuset_print_task_mems_allowed() vs rename() race\n  cgroup: fix exit() vs rmdir() race\n  cgroup: remove bogus comments in cgroup_diput()\n  cgroup: remove synchronize_rcu() from cgroup_diput()\n  cgroup: remove duplicate RCU free on struct cgroup\n  sched: remove redundant NULL cgroup check in task_group_path()\n  sched: split out css_online/css_offline from tg creation/destruction\n  cgroup: initialize cgrp-\u003edentry before css_alloc()\n  cgroup: remove a NULL check in cgroup_exit()\n  cgroup: fix bogus kernel warnings when cgroup_create() failed\n  cgroup: remove synchronize_rcu() from rebind_subsystems()\n  cgroup: remove synchronize_rcu() from cgroup_attach_{task|proc}()\n  cgroup: use new hashtable implementation\n  cgroups: fix cgroup_event_listener error handling\n  cgroups: move cgroup_event_listener.c to tools/cgroup\n  cgroup: implement cgroup_rightmost_descendant()\n  cgroup: remove unused dummy cgroup_fork_callbacks()\n"
    },
    {
      "commit": "1b1c7409b75a8b62906b78b84c8469002072b738",
      "tree": "91ceea4d8fae61b29e9a716c5e6ad56c3b5f588b",
      "parents": [
        "573f8c8d13377ec03c2d23269f8eea50c11a7432",
        "b28748fb5d21d5d64c9ce31579ffbbd41f317042"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Feb 20 14:35:58 2013 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Feb 20 14:35:58 2013 +0000"
      },
      "message": "Merge branch \u0027misc\u0027 into for-linus\n\nConflicts:\n\tarch/arm/include/asm/memory.h\n"
    },
    {
      "commit": "573f8c8d13377ec03c2d23269f8eea50c11a7432",
      "tree": "e043cbf6cfa7d3d11dc02fe9b3ed36ccbaf5343d",
      "parents": [
        "7c4e9ced424be4d36df6a3e3825763e97ee97607",
        "653a761e4ba70bf12174dedcd5fbbf54f431abb3"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Feb 20 14:35:45 2013 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Feb 20 14:35:45 2013 +0000"
      },
      "message": "Merge branches \u0027fixes\u0027 and \u0027mmci\u0027 into for-linus\n"
    },
    {
      "commit": "ece8e0b2f9c980e5511fe8db2d68c6f1859b9d83",
      "tree": "70f1e3363080884965686576d079d24da8863a58",
      "parents": [
        "67cb104b4c30bd52292b6a7f526349aab2dd5cbd",
        "a0327ff0eda915be623658babacef706099c11a8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 22:10:26 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 22:10:26 2013 -0800"
      },
      "message": "Merge branch \u0027for-3.9-async\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull async changes from Tejun Heo:\n \"These are followups for the earlier deadlock issue involving async\n  ending up waiting for itself through block requesting module[1].  The\n  following changes are made by these commits.\n\n   - Instead of requesting default elevator on each request_queue init,\n     block now requests it once early during boot.\n\n   - Kmod triggers warning if invoked from an async worker.\n\n   - Async synchronization implementation has been reimplemented.  It\u0027s\n     a lot simpler now.\"\n\n* \u0027for-3.9-async\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  async: initialise list heads to fix crash\n  async: replace list of active domains with global list of pending items\n  async: keep pending tasks on async_domain and remove async_pending\n  async: use ULLONG_MAX for infinity cookie value\n  async: bring sanity to the use of words domain and running\n  async, kmod: warn on synchronous request_module() from async workers\n  block: don\u0027t request module during elevator init\n  init, block: try to load default elevator module early during boot\n"
    },
    {
      "commit": "2d9f0d964be94fd51c7303288c6f9c88bf2381fe",
      "tree": "2631c3e82abc145a6e9c8e2c18687833c71de012",
      "parents": [
        "9937c026820baabd1e908a9c1e6bdc846293000a",
        "005a69d632cd8694061c2dd27492fe874780b5ee"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Feb 19 22:05:39 2013 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Feb 19 22:05:39 2013 -0800"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n\nPrepare first set of updates for 3.9 merge window.\n"
    },
    {
      "commit": "67cb104b4c30bd52292b6a7f526349aab2dd5cbd",
      "tree": "b7d2659f9c7bfe676016680339c0ffe47ef29afd",
      "parents": [
        "1eaec8212e35aef6606a4e8b40aa9ad9ba87672a",
        "1438ade5670b56d5386c220e1ad4b5a824a1e585"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 22:01:33 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 22:01:33 2013 -0800"
      },
      "message": "Merge branch \u0027for-3.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull workqueue changes from Tejun Heo:\n \"A lot of reorganization is going on mostly to prepare for worker pools\n  with custom attributes so that workqueue can replace custom pool\n  implementations in places including writeback and btrfs and make CPU\n  assignment in crypto more flexible.\n\n  workqueue evolved from purely per-cpu design and implementation, so\n  there are a lot of assumptions regarding being bound to CPUs and even\n  unbound workqueues are implemented as an extension of the model -\n  workqueues running on the special unbound CPU.  Bulk of changes this\n  round are about promoting worker_pools as the top level abstraction\n  replacing global_cwq (global cpu workqueue).  At this point, I\u0027m\n  fairly confident about getting custom worker pools working pretty soon\n  and ready for the next merge window.\n\n  Lai\u0027s patches are replacing the convoluted mb() dancing workqueue has\n  been doing with much simpler mechanism which only depends on\n  assignment atomicity of long.  For details, please read the commit\n  message of 0b3dae68ac (\"workqueue: simplify is-work-item-queued-here\n  test\").  While the change ends up adding one pointer to struct\n  delayed_work, the inflation in percentage is less than five percent\n  and it decouples delayed_work logic a lot more cleaner from usual work\n  handling, removes the unusual memory barrier dancing, and allows for\n  further simplification, so I think the trade-off is acceptable.\n\n  There will be two more workqueue related pull requests and there are\n  some shared commits among them.  I\u0027ll write further pull requests\n  assuming this pull request is pulled first.\"\n\n* \u0027for-3.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (37 commits)\n  workqueue: un-GPL function delayed_work_timer_fn()\n  workqueue: rename cpu_workqueue to pool_workqueue\n  workqueue: reimplement is_chained_work() using current_wq_worker()\n  workqueue: fix is_chained_work() regression\n  workqueue: pick cwq instead of pool in __queue_work()\n  workqueue: make get_work_pool_id() cheaper\n  workqueue: move nr_running into worker_pool\n  workqueue: cosmetic update in try_to_grab_pending()\n  workqueue: simplify is-work-item-queued-here test\n  workqueue: make work-\u003edata point to pool after try_to_grab_pending()\n  workqueue: add delayed_work-\u003ewq to simplify reentrancy handling\n  workqueue: make work_busy() test WORK_STRUCT_PENDING first\n  workqueue: replace WORK_CPU_NONE/LAST with WORK_CPU_END\n  workqueue: post global_cwq removal cleanups\n  workqueue: rename nr_running variables\n  workqueue: remove global_cwq\n  workqueue: remove worker_pool-\u003egcwq\n  workqueue: replace for_each_worker_pool() with for_each_std_worker_pool()\n  workqueue: make freezing/thawing per-pool\n  workqueue: make hotplug processing per-pool\n  ...\n"
    },
    {
      "commit": "1eaec8212e35aef6606a4e8b40aa9ad9ba87672a",
      "tree": "aa0ae10e129d3642b5470bc430f0b174dc08a381",
      "parents": [
        "1a13c0b181f218bf56a1a6b8edbaf2876b22314b",
        "23663c873154f01220ef679558e1ca110c4c4ca4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 21:58:52 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 21:58:52 2013 -0800"
      },
      "message": "Merge branch \u0027for-3.9-cleanups\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull workqueue [delayed_]work_pending() cleanups from Tejun Heo:\n \"This is part of on-going cleanups to remove / minimize usages of\n  workqueue interfaces which are deprecated and/or misleading.\n\n  This round drops a number of usages of [delayed_]work_pending(), which\n  are dangerous as they lack any form of synchronization and thus often\n  lead to buggy / unnecessary code.  There are a couple legitimate use\n  cases in kernel.  Hopefully, they can be converted and\n  [delayed_]work_pending() can be removed completely.  Even if not,\n  removing most of misuses should make it more difficult to find\n  examples of misuses and thus slow down growth of them.\n\n  These changes are independent from other workqueue changes.\"\n\n* \u0027for-3.9-cleanups\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  wimax/i2400m: fix i2400m-\u003ewake_tx_skb handling\n  kprobes: fix wait_for_kprobe_optimizer()\n  ipw2x00: simplify scan_event handling\n  video/exynos: don\u0027t use [delayed_]work_pending()\n  tty/max3100: don\u0027t use [delayed_]work_pending()\n  x86/mce: don\u0027t use [delayed_]work_pending()\n  rfkill: don\u0027t use [delayed_]work_pending()\n  wl1251: don\u0027t use [delayed_]work_pending()\n  thinkpad_acpi: don\u0027t use [delayed_]work_pending()\n  mwifiex: don\u0027t use [delayed_]work_pending()\n  sja1000: don\u0027t use [delayed_]work_pending()\n"
    },
    {
      "commit": "1a13c0b181f218bf56a1a6b8edbaf2876b22314b",
      "tree": "a7e2442b591cef28730dc6a4e54a6976e7719d3d",
      "parents": [
        "f98982ce80f9ce6db0fe841c1844cbae0a2700fb",
        "d924f947a44684796eee6fa488a9fe7876923c3b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 20:12:57 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 20:12:57 2013 -0800"
      },
      "message": "Merge branch \u0027x86-uv-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 UV3 support update from Ingo Molnar:\n \"Support for the SGI Ultraviolet System 3 (UV3) platform - the upcoming\n  third major iteration and upscaling of the SGI UV supercomputing\n  platform.\"\n\n* \u0027x86-uv-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, uv, uv3: Trim MMR register definitions after code changes for SGI UV3\n  x86, uv, uv3: Check current gru hub support for SGI UV3\n  x86, uv, uv3: Update Time Support for SGI UV3\n  x86, uv, uv3: Update x2apic Support for SGI UV3\n  x86, uv, uv3: Update Hub Info for SGI UV3\n  x86, uv, uv3: Update ACPI Check to include SGI UV3\n  x86, uv, uv3: Update MMR register definitions for SGI Ultraviolet System 3 (UV3)\n"
    },
    {
      "commit": "f98982ce80f9ce6db0fe841c1844cbae0a2700fb",
      "tree": "9a6edd811b9b67a80b8a58b57c38dd69e68f6e03",
      "parents": [
        "29d50523298eb80742cedd9ec4d42d6d6dbfb5ee",
        "7d0291256ca99cbb6124f63228003329e7a64b21"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 20:11:07 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 20:11:07 2013 -0800"
      },
      "message": "Merge branch \u0027x86-platform-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 platform changes from Ingo Molnar:\n\n - Support for the Technologic Systems TS-5500 platform, by Vivien\n   Didelot\n\n - Improved NUMA support on AMD systems:\n\n   Add support for federated systems where multiple memory controllers\n   can exist and see each other over multiple PCI domains.  This\n   basically means that AMD node ids can be more than 8 now and the code\n   handling this is taught to incorporate PCI domain into those IDs.\n\n - Support for the Goldfish virtual Android emulator, by Jun Nakajima,\n   Intel, Google, et al.\n\n - Misc fixlets.\n\n* \u0027x86-platform-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86: Add TS-5500 platform support\n  x86/srat: Simplify memory affinity init error handling\n  x86/apb/timer: Remove unnecessary \"if\"\n  goldfish: platform device for x86\n  amd64_edac: Fix type usage in NB IDs and memory ranges\n  amd64_edac: Fix PCI function lookup\n  x86, AMD, NB: Use u16 for northbridge IDs in amd_get_nb_id\n  x86, AMD, NB: Add multi-domain support\n"
    }
  ],
  "next": "29d50523298eb80742cedd9ec4d42d6d6dbfb5ee"
}
