)]}'
{
  "log": [
    {
      "commit": "b4e655a4aaa327810110457cef92681447dd13e4",
      "tree": "86f32571acdf688874967c5e597319a4c05ee888",
      "parents": [
        "d0f209f68f80f9a152799760c230019e7f270b2a"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Dec 14 17:59:35 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:20 2009 -0800"
      },
      "message": "mm: memory_hotplug: make offline_pages() static\n\nIt has no references outside memory_hotplug.c.\n\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62b61f611eb5e20f7e9f8619bfd03bdfe8af6348",
      "tree": "9f06fff7eb6530fbe90b4d998b91071133f6af25",
      "parents": [
        "e9995ef978a7d5296fe04a9a2c5ca6e66d8bb4e5"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:59:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:20 2009 -0800"
      },
      "message": "ksm: memory hotremove migration only\n\nThe previous patch enables page migration of ksm pages, but that soon gets\ninto trouble: not surprising, since we\u0027re using the ksm page lock to lock\noperations on its stable_node, but page migration switches the page whose\nlock is to be used for that.  Another layer of locking would fix it, but\ndo we need that yet?\n\nDo we actually need page migration of ksm pages?  Yes, memory hotremove\nneeds to offline sections of memory: and since we stopped allocating ksm\npages with GFP_HIGHUSER, they will tend to be GFP_HIGHUSER_MOVABLE\ncandidates for migration.\n\nBut KSM is currently unconscious of NUMA issues, happily merging pages\nfrom different NUMA nodes: at present the rule must be, not to use\nMADV_MERGEABLE where you care about NUMA.  So no, NUMA page migration of\nksm pages does not make sense yet.\n\nSo, to complete support for ksm swapping we need to make hotremove safe.\nksm_memory_callback() take ksm_thread_mutex when MEM_GOING_OFFLINE and\nrelease it when MEM_OFFLINE or MEM_CANCEL_OFFLINE.  But if mapped pages\nare freed before migration reaches them, stable_nodes may be left still\npointing to struct pages which have been removed from the system: the\nstable_node needs to identify a page by pfn rather than page pointer, then\nit can safely prune them when MEM_OFFLINE.\n\nAnd make NUMA migration skip PageKsm pages where it skips PageReserved.\nBut it\u0027s only when we reach unmap_and_move() that the page lock is taken\nand we can be sure that raised pagecount has prevented a PageAnon from\nbeing upgraded: so add offlining arg to migrate_pages(), to migrate ksm\npage when offlining (has sufficient locking) but reject it otherwise.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Chris Wright \u003cchrisw@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": "e9995ef978a7d5296fe04a9a2c5ca6e66d8bb4e5",
      "tree": "df4324273856e06b8277b7e4a0fa9289eb8e6385",
      "parents": [
        "407f9c8b0889ced1dbe2f9157e4e60c61329d5c9"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:59:31 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:20 2009 -0800"
      },
      "message": "ksm: rmap_walk to remove_migation_ptes\n\nA side-effect of making ksm pages swappable is that they have to be placed\non the LRUs: which then exposes them to isolate_lru_page() and hence to\npage migration.\n\nAdd rmap_walk() for remove_migration_ptes() to use: rmap_walk_anon() and\nrmap_walk_file() in rmap.c, but rmap_walk_ksm() in ksm.c.  Perhaps some\nconsolidation with existing code is possible, but don\u0027t attempt that yet\n(try_to_unmap needs to handle nonlinears, but migration pte removal does\nnot).\n\nrmap_walk() is sadly less general than it appears: rmap_walk_anon(), like\nremove_anon_migration_ptes() which it replaces, avoids calling\npage_lock_anon_vma(), because that includes a page_mapped() test which\nfails when all migration ptes are in place.  That was valid when NUMA page\nmigration was introduced (holding mmap_sem provided the missing guarantee\nthat anon_vma\u0027s slab had not already been destroyed), but I believe not\nvalid in the memory hotremove case added since.\n\nFor now do the same as before, and consider the best way to fix that\nunlikely race later on.  When fixed, we can probably use rmap_walk() on\nhwpoisoned ksm pages too: for now, they remain among hwpoison\u0027s various\nexceptions (its PageKsm test comes before the page is locked, but its\npage_lock_anon_vma fails safely if an anon gets upgraded).\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Chris Wright \u003cchrisw@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": "db114b83ab6064d9b1d6ec5650e096c89bd95e25",
      "tree": "15e289b25fec011238f6838c6aafa1ff5e293224",
      "parents": [
        "5ad6468801d28c4d4ac9f48ec19297817c915f6a"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:59:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:19 2009 -0800"
      },
      "message": "ksm: hold anon_vma in rmap_item\n\nFor full functionality, page_referenced_one() and try_to_unmap_one() need\nto know the vma: to pass vma down to arch-dependent flushes, or to observe\nVM_LOCKED or VM_EXEC.  But KSM keeps no record of vma: nor can it, since\nvmas get split and merged without its knowledge.\n\nInstead, note page\u0027s anon_vma in its rmap_item when adding to stable tree:\nall the vmas which might map that page are listed by its anon_vma.\n\npage_referenced_ksm() and try_to_unmap_ksm() then traverse the anon_vma,\nfirst to find the probable vma, that which matches rmap_item\u0027s mm; but if\nthat is not enough to locate all instances, traverse again to try the\nothers.  This catches those occasions when fork has duplicated a pte of a\nksm page, but ksmd has not yet come around to assign it an rmap_item.\n\nBut each rmap_item in the stable tree which refers to an anon_vma needs to\ntake a reference to it.  Andrea\u0027s anon_vma design cleverly avoided a\nreference count (an anon_vma was free when its list of vmas was empty),\nbut KSM now needs to add that.  Is a 32-bit count sufficient?  I believe\nso - the anon_vma is only free when both count is 0 and list is empty.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Chris Wright \u003cchrisw@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": "5ad6468801d28c4d4ac9f48ec19297817c915f6a",
      "tree": "edd8dc48693f43278d6fe1614aca2bf660d4dc10",
      "parents": [
        "73848b4684e84a84cfd1555af78d41158f31e16b"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:59:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:19 2009 -0800"
      },
      "message": "ksm: let shared pages be swappable\n\nInitial implementation for swapping out KSM\u0027s shared pages: add\npage_referenced_ksm() and try_to_unmap_ksm(), which rmap.c calls when\nfaced with a PageKsm page.\n\nMost of what\u0027s needed can be got from the rmap_items listed from the\nstable_node of the ksm page, without discovering the actual vma: so in\nthis patch just fake up a struct vma for page_referenced_one() or\ntry_to_unmap_one(), then refine that in the next patch.\n\nAdd VM_NONLINEAR to ksm_madvise()\u0027s list of exclusions: it has always been\nimplicit there (being only set with VM_SHARED, already excluded), but\nlet\u0027s make it explicit, to help justify the lack of nonlinear unmap.\n\nRely on the page lock to protect against concurrent modifications to that\npage\u0027s node of the stable tree.\n\nThe awkward part is not swapout but swapin: do_swap_page() and\npage_add_anon_rmap() now have to allow for new possibilities - perhaps a\nksm page still in swapcache, perhaps a swapcache page associated with one\nlocation in one anon_vma now needed for another location or anon_vma.\n(And the vma might even be no longer VM_MERGEABLE when that happens.)\n\nksm_might_need_to_copy() checks for that case, and supplies a duplicate\npage when necessary, simply leaving it to a subsequent pass of ksmd to\nrediscover the identity and merge them back into one ksm page.\nDisappointingly primitive: but the alternative would have to accumulate\nunswappable info about the swapped out ksm pages, limiting swappability.\n\nRemove page_add_ksm_rmap(): page_add_anon_rmap() now has to allow for the\nparticular case it was handling, so just use it instead.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Chris Wright \u003cchrisw@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": "08beca44dfb0ab008e365163df70dbd302ae1508",
      "tree": "33f3ddf5460e139bd7fd37e8c08026a7d852c3da",
      "parents": [
        "7b6ba2c7d3baf8cd9f888e05563dcc32e368baab"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:59:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:19 2009 -0800"
      },
      "message": "ksm: stable_node point to page and back\n\nAdd a pointer to the ksm page into struct stable_node, holding a reference\nto the page while the node exists.  Put a pointer to the stable_node into\nthe ksm page\u0027s -\u003emapping.\n\nThen we don\u0027t need get_ksm_page() while traversing the stable tree: the\npage to compare against is sure to be present and correct, even if it\u0027s no\nlonger visible through any of its existing rmap_items.\n\nAnd we can handle the forked ksm page case more efficiently: no need to\nmemcmp our way through the tree to find its match.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@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": "af8e3354b4bbd1ee5a3a55d11a5e1fe37e77f0ba",
      "tree": "8dc0ece80878d00409d4662c5fd1e28cd7fbbdd8",
      "parents": [
        "53f79acb6ecb648afd63e0f13deba167f1a934df"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:58:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:17 2009 -0800"
      },
      "message": "mm: CONFIG_MMU for PG_mlocked\n\nRemove three degrees of obfuscation, left over from when we had\nCONFIG_UNEVICTABLE_LRU.  MLOCK_PAGES is CONFIG_HAVE_MLOCKED_PAGE_BIT is\nCONFIG_HAVE_MLOCK is CONFIG_MMU.  rmap.o (and memory-failure.o) are only\nbuilt when CONFIG_MMU, so don\u0027t need such conditions at all.\n\nSomehow, I feel no compulsion to remove the CONFIG_HAVE_MLOCK* lines from\n169 defconfigs: leave those to evolve in due course.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Minchan Kim \u003cminchan.kim@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": "3ca7b3c5b64d35fe02c35b5d44c2c58b49499fee",
      "tree": "bb6af24d3683788ef658282f8794af19d2232663",
      "parents": [
        "bb3ab596832b920c703d1aea1ce76d69c0f71fb7"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:58:57 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:17 2009 -0800"
      },
      "message": "mm: define PAGE_MAPPING_FLAGS\n\nAt present we define PageAnon(page) by the low PAGE_MAPPING_ANON bit set\nin page-\u003emapping, with the higher bits a pointer to the anon_vma; and have\ndefined PageKsm(page) as that with NULL anon_vma.\n\nBut KSM swapping will need to store a pointer there: so in preparation for\nthat, now define PAGE_MAPPING_FLAGS as the low two bits, including\nPAGE_MAPPING_KSM (always set along with PAGE_MAPPING_ANON, until some\nother use for the bit emerges).\n\nDeclare page_rmapping(page) to return the pointer part of page-\u003emapping,\nand page_anon_vma(page) to return the anon_vma pointer when that\u0027s what it\nis.  Use these in a few appropriate places: notably, unuse_vma() has been\ntesting page-\u003emapping, but is better to be testing page_anon_vma() (cases\nmay be added in which flag bits are set without any pointer).\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Minchan Kim \u003cminchan.kim@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": "bb3ab596832b920c703d1aea1ce76d69c0f71fb7",
      "tree": "048162bf5081e7bd9802eba012e8b680a4444da8",
      "parents": [
        "f50de2d3811081957156b5d736778799379c29de"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Dec 14 17:58:55 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:16 2009 -0800"
      },
      "message": "vmscan: stop kswapd waiting on congestion when the min watermark is not being met\n\nIf reclaim fails to make sufficient progress, the priority is raised.\nOnce the priority is higher, kswapd starts waiting on congestion.\nHowever, if the zone is below the min watermark then kswapd needs to\ncontinue working without delay as there is a danger of an increased rate\nof GFP_ATOMIC allocation failure.\n\nThis patch changes the conditions under which kswapd waits on congestion\nby only going to sleep if the min watermarks are being met.\n\n[mel@csn.ul.ie: add stats to track how relevant the logic is]\n[mel@csn.ul.ie: make kswapd only check its own zones and rename the relevant counters]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Rik van Riel \u003criel@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": "f50de2d3811081957156b5d736778799379c29de",
      "tree": "ddc3676bcaa26e2e55e18e57928b5c8331a0f0fa",
      "parents": [
        "273f047e36d83179573dc7e3a8af6aceaa8c599e"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Dec 14 17:58:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:16 2009 -0800"
      },
      "message": "vmscan: have kswapd sleep for a short interval and double check it should be asleep\n\nAfter kswapd balances all zones in a pgdat, it goes to sleep.  In the\nevent of no IO congestion, kswapd can go to sleep very shortly after the\nhigh watermark was reached.  If there are a constant stream of allocations\nfrom parallel processes, it can mean that kswapd went to sleep too quickly\nand the high watermark is not being maintained for sufficient length time.\n\nThis patch makes kswapd go to sleep as a two-stage process.  It first\ntries to sleep for HZ/10.  If it is woken up by another process or the\nhigh watermark is no longer met, it\u0027s considered a premature sleep and\nkswapd continues work.  Otherwise it goes fully to sleep.\n\nThis adds more counters to distinguish between fast and slow breaches of\nwatermarks.  A \"fast\" premature sleep is one where the low watermark was\nhit in a very short time after kswapd going to sleep.  A \"slow\" premature\nsleep indicates that the high watermark was breached after a very short\ninterval.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Frans Pop \u003celendil@planet.nl\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Christoph Lameter \u003ccl@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": "d4906e1aa516cc965292b43b5a26122dd4344e7e",
      "tree": "78c19149282e93200d90f380a40f1e1192354936",
      "parents": [
        "7509765a29cfb1a4c506c09b304aaf3b4111c653"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Mon Dec 14 17:58:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:16 2009 -0800"
      },
      "message": "swap: rework map_swap_page() again\n\nSeems that page_io.c doesn\u0027t really need to know that page_private(page)\nis the swp_entry \u0027val\u0027.  Rework map_swap_page() to do what its name says\nand map a page to a page offset in the swap space.\n\nThe only other caller of map_swap_page() is internal to mm/swapfile.c and\nit does want to map a swap entry to the \u0027sector\u0027.  So rename\nmap_swap_page() to map_swap_entry(), make it \u0027static\u0027 and and implement\nmap_swap_page() as a wrapper around that.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7509765a29cfb1a4c506c09b304aaf3b4111c653",
      "tree": "1f2de5381e044b452653a3af0f32e403ffe51931",
      "parents": [
        "aaa468653b4a0d11c603c48d716f765177a5a9e4"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:58:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:16 2009 -0800"
      },
      "message": "swap_info: reorder its fields\n\nReorder (and comment) the fields of swap_info_struct, to make better\nuse of its cachelines: it\u0027s good for swap_duplicate() in particular\nif unsigned int max and swap_map are near the start.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@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": "aaa468653b4a0d11c603c48d716f765177a5a9e4",
      "tree": "3cb8c9232dd405001fa38d5519937c5e6c6f32ab",
      "parents": [
        "570a335b8e22579e2a51a68136d2b1f907a20eec"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:58:47 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:16 2009 -0800"
      },
      "message": "swap_info: note SWAP_MAP_SHMEM\n\nWhile we\u0027re fiddling with the swap_map values, let\u0027s assign a particular\nvalue to shmem/tmpfs swap pages: their swap counts are never incremented,\nand it helps swapoff\u0027s try_to_unuse() a little if it can immediately\ndistinguish those pages from process pages.\n\nSince we\u0027ve no use for SWAP_MAP_BAD | COUNT_CONTINUED,\nwe might as well use that 0xbf value for SWAP_MAP_SHMEM.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@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": "570a335b8e22579e2a51a68136d2b1f907a20eec",
      "tree": "c5312383e948d2e7ac60c2fa410fee98e8b38a70",
      "parents": [
        "8d69aaee80c123b460918816cbfa2e83224c3646"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:58:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:15 2009 -0800"
      },
      "message": "swap_info: swap count continuations\n\nSwap is duplicated (reference count incremented by one) whenever the same\nswap page is inserted into another mm (when forking finds a swap entry in\nplace of a pte, or when reclaim unmaps a pte to insert the swap entry).\n\nswap_info_struct\u0027s vmalloc\u0027ed swap_map is the array of these reference\ncounts: but what happens when the unsigned short (or unsigned char since\nthe preceding patch) is full? (and its high bit is kept for a cache flag)\n\nWe then lose track of it, never freeing, leaving it in use until swapoff:\nat which point we _hope_ that a single pass will have found all instances,\nassume there are no more, and will lose user data if we\u0027re wrong.\n\nSwapping of KSM pages has not yet been enabled; but it is implemented,\nand makes it very easy for a user to overflow the maximum swap count:\npossible with ordinary process pages, but unlikely, even when pid_max\nhas been raised from PID_MAX_DEFAULT.\n\nThis patch implements swap count continuations: when the count overflows,\na continuation page is allocated and linked to the original vmalloc\u0027ed\nmap page, and this used to hold the continuation counts for that entry\nand its neighbours.  These continuation pages are seldom referenced:\nthe common paths all work on the original swap_map, only referring to\na continuation page when the low \"digit\" of a count is incremented or\ndecremented through SWAP_MAP_MAX.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@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": "8d69aaee80c123b460918816cbfa2e83224c3646",
      "tree": "899a69417dbd81f9b53926d7076629cc9b394ae5",
      "parents": [
        "253d553ba75ab26b3e9e2f70cbf6fbf0813f7e86"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:58:45 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:15 2009 -0800"
      },
      "message": "swap_info: swap_map of chars not shorts\n\nHalve the vmalloc\u0027ed swap_map array from unsigned shorts to unsigned\nchars: it\u0027s still very unusual to reach a swap count of 126, and the\nnext patch allows it to be extended indefinitely.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@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": "253d553ba75ab26b3e9e2f70cbf6fbf0813f7e86",
      "tree": "57c448fad45820c0eb984297fbef120b689381a0",
      "parents": [
        "73c34b6accc8427584f5d7db4d5acb230ed8c912"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:58:44 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:15 2009 -0800"
      },
      "message": "swap_info: SWAP_HAS_CACHE cleanups\n\nThough swap_count() is useful, I\u0027m finding that swap_has_cache() and\nencode_swapmap() obscure what happens in the swap_map entry, just at\nthose points where I need to understand it.  Remove them, and pass\nmore usable \"usage\" values to scan_swap_map(), swap_entry_free() and\n__swap_duplicate(), instead of the SWAP_MAP and SWAP_CACHE enum.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@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": "9625a5f289f7c3c100b59c317e2bcc3c7e2e51fb",
      "tree": "88fecfbed0eaf627e8e08a9e196d1d2849737f0a",
      "parents": [
        "efa90a981bbc891efad96db2a75b5487e00852ca"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:58:42 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:15 2009 -0800"
      },
      "message": "swap_info: include first_swap_extent\n\nMake better use of the space by folding first swap_extent into its\nswap_info_struct, instead of just the list_head: swap partitions need\nonly that one, and for others it\u0027s used as a circular list anyway.\n\n[jirislaby@gmail.com: fix crash on double swapon]\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Jiri Slaby \u003cjirislaby@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": "efa90a981bbc891efad96db2a75b5487e00852ca",
      "tree": "fc64a5d5b71e84eb1eec2810fb0568a79a361827",
      "parents": [
        "f29ad6a99b596b8169744d107bf088e8be9e8d0d"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:58:41 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:15 2009 -0800"
      },
      "message": "swap_info: change to array of pointers\n\nThe swap_info_struct is only 76 or 104 bytes, but it does seem wrong\nto reserve an array of about 30 of them in bss, when most people will\nwant only one.  Change swap_info[] to an array of pointers.\n\nThat does need a \"type\" field in the structure: pack it as a char with\nnext type and short prio (aha, char is unsigned by default on PowerPC).\nUse the (admittedly peculiar) name \"type\" throughout for this index.\n\n/proc/swaps does not take swap_lock: I wouldn\u0027t want it to, but do take\ncare with barriers when adding a new item to the array (never removed).\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Rik van Riel \u003criel@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": "f29ad6a99b596b8169744d107bf088e8be9e8d0d",
      "tree": "e138bf9eeb751defd358eb5aca8113e2645ded3d",
      "parents": [
        "976d6dfbb0175d136fc098854bbce0c028a3924b"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:58:40 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:13 2009 -0800"
      },
      "message": "swap_info: private to swapfile.c\n\nThe swap_info_struct is mostly private to mm/swapfile.c, with only\none other in-tree user: get_swap_bio().  Adjust its interface to\nmap_swap_page(), so that we can then remove get_swap_info_struct().\n\nBut there is a popular user out-of-tree, TuxOnIce: so leave the\ndeclaration of swap_info_struct in linux/swap.h.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Nigel Cunningham \u003cncunningham@crca.org.au\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Rik van Riel \u003criel@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": "bad44b5be84cf3bb1ff900bec02ee61e1993328c",
      "tree": "edd9a9cc2f482ca8684c9e64abe4b977a5525615",
      "parents": [
        "39da08cb074cf19cb249832a2a955dfb28837e65"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Dec 14 17:58:38 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:13 2009 -0800"
      },
      "message": "mm: add gfp flags for NODEMASK_ALLOC slab allocations\n\nObjects passed to NODEMASK_ALLOC() are relatively small in size and are\nbacked by slab caches that are not of large order, traditionally never\ngreater than PAGE_ALLOC_COSTLY_ORDER.\n\nThus, using GFP_KERNEL for these allocations on large machines when\nCONFIG_NODES_SHIFT \u003e 8 will cause the page allocator to loop endlessly in\nthe allocation attempt, each time invoking both direct reclaim or the oom\nkiller.\n\nThis is of particular interest when using NODEMASK_ALLOC() from a\nmempolicy context (either directly in mm/mempolicy.c or the mempolicy\nconstrained hugetlb allocations) since the oom killer always kills current\nwhen allocations are constrained by mempolicies.  So for all present use\ncases in the kernel, current would end up being oom killed when direct\nreclaim fails.  That would allow the NODEMASK_ALLOC() to succeed but\ncurrent would have sacrificed itself upon returning.\n\nThis patch adds gfp flags to NODEMASK_ALLOC() to pass to kmalloc() on\nCONFIG_NODES_SHIFT \u003e 8; this parameter is a nop on other configurations.\nAll current use cases either directly from hugetlb code or indirectly via\nNODEMASK_SCRATCH() union __GFP_NORETRY to avoid direct reclaim and the oom\nkiller when the slab allocator needs to allocate additional pages.\n\nThe side-effect of this change is that all current use cases of either\nNODEMASK_ALLOC() or NODEMASK_SCRATCH() need appropriate -ENOMEM handling\nwhen the allocation fails (never for CONFIG_NODES_SHIFT \u003c\u003d 8).  All\ncurrent use cases were audited and do have appropriate error handling at\nthis time.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nCc: Christoph Lameter \u003ccl@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": "39da08cb074cf19cb249832a2a955dfb28837e65",
      "tree": "fded7c1757adb29aa682f86251addc66549b6907",
      "parents": [
        "4faf8d950ec438c49ae4526b897c30f8a2cad741"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Dec 14 17:58:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:13 2009 -0800"
      },
      "message": "hugetlb: offload per node attribute registrations\n\nOffload the registration and unregistration of per node hstate sysfs\nattributes to a worker thread rather than attempt the\nallocation/attachment or detachment/freeing of the attributes in the\ncontext of the memory hotplug handler.\n\nI don\u0027t know that this is absolutely required, but the registration can\nsleep in allocations and other mem hot plug handlers do it this way.  If\nit turns out this is NOT required, we can drop this patch.\n\nN.B.,  Only tested build, boot, libhugetlbfs regression.\n       i.e., no memory hotplug testing.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nReviewed-by: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nCc: Christoph Lameter \u003ccl@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": "8fe23e057172223fe2048768a4d87ab7de7477bc",
      "tree": "d176d8e588fca088adfcb110e7c1bc53a839dc84",
      "parents": [
        "9b5e5d0fdc91b73bba8cf5e0fbe3521a953e4e4d"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Dec 14 17:58:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:13 2009 -0800"
      },
      "message": "mm: clear node in N_HIGH_MEMORY and stop kswapd when all memory is offlined\n\nWhen memory is hot-removed, its node must be cleared in N_HIGH_MEMORY if\nthere are no present pages left.\n\nIn such a situation, kswapd must also be stopped since it has nothing left\nto do.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nCc: Christoph Lameter \u003ccl@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": "9a30523066cde73c1442b76224bb540de9f9b0b0",
      "tree": "57165f74e16def0b74bb6e6e05ec9a6b7bd42403",
      "parents": [
        "4e25b2576efda24c02e2d6b9bcb5965a3f865f33"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Dec 14 17:58:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:12 2009 -0800"
      },
      "message": "hugetlb: add per node hstate attributes\n\nAdd the per huge page size control/query attributes to the per node\nsysdevs:\n\n/sys/devices/system/node/node\u003cID\u003e/hugepages/hugepages-\u003csize\u003e/\n\tnr_hugepages       - r/w\n\tfree_huge_pages    - r/o\n\tsurplus_huge_pages - r/o\n\nThe patch attempts to re-use/share as much of the existing global hstate\nattribute initialization and handling, and the \"nodes_allowed\" constraint\nprocessing as possible.\n\nCalling set_max_huge_pages() with no node indicates a change to global\nhstate parameters.  In this case, any non-default task mempolicy will be\nused to generate the nodes_allowed mask.  A valid node id indicates an\nupdate to that node\u0027s hstate parameters, and the count argument specifies\nthe target count for the specified node.  From this info, we compute the\ntarget global count for the hstate and construct a nodes_allowed node mask\ncontain only the specified node.\n\nSetting the node specific nr_hugepages via the per node attribute\neffectively ignores any task mempolicy or cpuset constraints.\n\nWith this patch:\n\n(me):ls /sys/devices/system/node/node0/hugepages/hugepages-2048kB\n./  ../  free_hugepages  nr_hugepages  surplus_hugepages\n\nStarting from:\nNode 0 HugePages_Total:     0\nNode 0 HugePages_Free:      0\nNode 0 HugePages_Surp:      0\nNode 1 HugePages_Total:     0\nNode 1 HugePages_Free:      0\nNode 1 HugePages_Surp:      0\nNode 2 HugePages_Total:     0\nNode 2 HugePages_Free:      0\nNode 2 HugePages_Surp:      0\nNode 3 HugePages_Total:     0\nNode 3 HugePages_Free:      0\nNode 3 HugePages_Surp:      0\nvm.nr_hugepages \u003d 0\n\nAllocate 16 persistent huge pages on node 2:\n(me):echo 16 \u003e/sys/devices/system/node/node2/hugepages/hugepages-2048kB/nr_hugepages\n\n[Note that this is equivalent to:\n\tnumactl -m 2 hugeadmin --pool-pages-min 2M:+16\n]\n\nYields:\nNode 0 HugePages_Total:     0\nNode 0 HugePages_Free:      0\nNode 0 HugePages_Surp:      0\nNode 1 HugePages_Total:     0\nNode 1 HugePages_Free:      0\nNode 1 HugePages_Surp:      0\nNode 2 HugePages_Total:    16\nNode 2 HugePages_Free:     16\nNode 2 HugePages_Surp:      0\nNode 3 HugePages_Total:     0\nNode 3 HugePages_Free:      0\nNode 3 HugePages_Surp:      0\nvm.nr_hugepages \u003d 16\n\nGlobal controls work as expected--reduce pool to 8 persistent huge pages:\n(me):echo 8 \u003e/sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages\n\nNode 0 HugePages_Total:     0\nNode 0 HugePages_Free:      0\nNode 0 HugePages_Surp:      0\nNode 1 HugePages_Total:     0\nNode 1 HugePages_Free:      0\nNode 1 HugePages_Surp:      0\nNode 2 HugePages_Total:     8\nNode 2 HugePages_Free:      8\nNode 2 HugePages_Surp:      0\nNode 3 HugePages_Total:     0\nNode 3 HugePages_Free:      0\nNode 3 HugePages_Surp:      0\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nCc: Christoph Lameter \u003ccl@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": "4e25b2576efda24c02e2d6b9bcb5965a3f865f33",
      "tree": "0eba160959ca396d8722fd835d72ae127396c82c",
      "parents": [
        "06808b0827e1cd14eedc96bac2655d5b37ac246c"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Dec 14 17:58:23 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:12 2009 -0800"
      },
      "message": "hugetlb: add generic definition of NUMA_NO_NODE\n\nMove definition of NUMA_NO_NODE from ia64 and x86_64 arch specific headers\nto generic header \u0027linux/numa.h\u0027 for use in generic code.  NUMA_NO_NODE\nreplaces bare \u0027-1\u0027 where it\u0027s used in this series to indicate \"no node id\nspecified\".  Ultimately, it can be used to replace the -1 elsewhere where\nit is used similarly.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nCc: Christoph Lameter \u003ccl@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": "06808b0827e1cd14eedc96bac2655d5b37ac246c",
      "tree": "8f7b52a4af1532ed414631f68b99a059e299d83f",
      "parents": [
        "c1e6c8d074ea3621106548654cc244d2edc12ead"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Dec 14 17:58:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:12 2009 -0800"
      },
      "message": "hugetlb: derive huge pages nodes allowed from task mempolicy\n\nThis patch derives a \"nodes_allowed\" node mask from the numa mempolicy of\nthe task modifying the number of persistent huge pages to control the\nallocation, freeing and adjusting of surplus huge pages when the pool page\ncount is modified via the new sysctl or sysfs attribute\n\"nr_hugepages_mempolicy\".  The nodes_allowed mask is derived as follows:\n\n* For \"default\" [NULL] task mempolicy, a NULL nodemask_t pointer\n  is produced.  This will cause the hugetlb subsystem to use\n  node_online_map as the \"nodes_allowed\".  This preserves the\n  behavior before this patch.\n* For \"preferred\" mempolicy, including explicit local allocation,\n  a nodemask with the single preferred node will be produced.\n  \"local\" policy will NOT track any internode migrations of the\n  task adjusting nr_hugepages.\n* For \"bind\" and \"interleave\" policy, the mempolicy\u0027s nodemask\n  will be used.\n* Other than to inform the construction of the nodes_allowed node\n  mask, the actual mempolicy mode is ignored.  That is, all modes\n  behave like interleave over the resulting nodes_allowed mask\n  with no \"fallback\".\n\nSee the updated documentation [next patch] for more information\nabout the implications of this patch.\n\nExamples:\n\nStarting with:\n\n\tNode 0 HugePages_Total:     0\n\tNode 1 HugePages_Total:     0\n\tNode 2 HugePages_Total:     0\n\tNode 3 HugePages_Total:     0\n\nDefault behavior [with or without this patch] balances persistent\nhugepage allocation across nodes [with sufficient contiguous memory]:\n\n\tsysctl vm.nr_hugepages[_mempolicy]\u003d32\n\nyields:\n\n\tNode 0 HugePages_Total:     8\n\tNode 1 HugePages_Total:     8\n\tNode 2 HugePages_Total:     8\n\tNode 3 HugePages_Total:     8\n\nOf course, we only have nr_hugepages_mempolicy with the patch,\nbut with default mempolicy, nr_hugepages_mempolicy behaves the\nsame as nr_hugepages.\n\nApplying mempolicy--e.g., with numactl [using \u0027-m\u0027 a.k.a.\n\u0027--membind\u0027 because it allows multiple nodes to be specified\nand it\u0027s easy to type]--we can allocate huge pages on\nindividual nodes or sets of nodes.  So, starting from the\ncondition above, with 8 huge pages per node, add 8 more to\nnode 2 using:\n\n\tnumactl -m 2 sysctl vm.nr_hugepages_mempolicy\u003d40\n\nThis yields:\n\n\tNode 0 HugePages_Total:     8\n\tNode 1 HugePages_Total:     8\n\tNode 2 HugePages_Total:    16\n\tNode 3 HugePages_Total:     8\n\nThe incremental 8 huge pages were restricted to node 2 by the\nspecified mempolicy.\n\nSimilarly, we can use mempolicy to free persistent huge pages\nfrom specified nodes:\n\n\tnumactl -m 0,1 sysctl vm.nr_hugepages_mempolicy\u003d32\n\nyields:\n\n\tNode 0 HugePages_Total:     4\n\tNode 1 HugePages_Total:     4\n\tNode 2 HugePages_Total:    16\n\tNode 3 HugePages_Total:     8\n\nThe 8 huge pages freed were balanced over nodes 0 and 1.\n\n[rientjes@google.com: accomodate reworked NODEMASK_ALLOC]\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nCc: Christoph Lameter \u003ccl@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": "c1e6c8d074ea3621106548654cc244d2edc12ead",
      "tree": "0b16357dc7d15ba8f1c4d9d295873b9528b5d397",
      "parents": [
        "6ae11b278bca1cd41651bae49a8c69de2f6a6262"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Dec 14 17:58:17 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:12 2009 -0800"
      },
      "message": "hugetlb: factor init_nodemask_of_node()\n\nFactor init_nodemask_of_node() out of the nodemask_of_node() macro.\n\nThis will be used to populate the huge pages \"nodes_allowed\" nodemask for\na single node when basing nodes_allowed on a preferred/local mempolicy or\nwhen a persistent huge page pool page count is modified via a per node\nsysfs attribute.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nCc: Christoph Lameter \u003ccl@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": "4e7b8a6cef64a4c1f1194f9926f794c2b75ebdd7",
      "tree": "c95a6e4e34e09f8d622451c85b88fe2961fbb6ac",
      "parents": [
        "6d9c285a632b39ab83c6ae14cbff0e606d4042ee"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Dec 14 17:58:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:12 2009 -0800"
      },
      "message": "nodemask: make NODEMASK_ALLOC more general\n\nThis is a series of patches to provide control over the location of the\nallocation and freeing of persistent huge pages on a NUMA platform.\nPlease consider for merging into mmotm.\n\nThis series uses two mechanisms to constrain the nodes from which\npersistent huge pages are allocated: 1) the task NUMA mempolicy of the\ntask modifying a new sysctl \"nr_hugepages_mempolicy\", based on a\nsuggestion by Mel Gorman; and 2) a subset of the hugepages hstate sysfs\nattributes have been added [in V4] to each node system device under:\n\n\t/sys/devices/node/node[0-9]*/hugepages\n\nThe per node attibutes allow direct assignment of a huge page count on a\nspecific node, regardless of the task\u0027s mempolicy or cpuset constraints.\n\nThis patch:\n\nNODEMASK_ALLOC(x, m) assumes x is a type of struct, which is unnecessary.\nIt\u0027s perfectly reasonable to use this macro to allocate a nodemask_t,\nwhich is anonymous, either dynamically or on the stack depending on\nNODES_SHIFT.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nCc: Christoph Lameter \u003ccl@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": "5443040754207f9777f71c892c66e45ba56b0fc1",
      "tree": "b85a0272b5d5cc8c90d49d9e4856b3d694071d96",
      "parents": [
        "3ea6b3d0e6d0ffd91c0f8cadeb69b7133c038b32",
        "54067ee20645a4ee12a9546aeb3b048b4c44cf60"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 14:11:56 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 14:11:56 2009 -0800"
      },
      "message": "Merge branch \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging\n\n* \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:\n  i2c-core: i2c bus should support PM entries in struct dev_pm_ops\n  i2c: Get rid of I2C_CLIENT_MODULE_PARM\n  i2c: Drop I2C_CLIENT_INSMOD_2 to 8\n  i2c: Drop I2C_CLIENT_INSMOD_1\n  i2c: Get rid of struct i2c_client_address_data\n  i2c: Drop the kind parameter from detect callbacks\n"
    },
    {
      "commit": "7f508118b1c1f9856a1c899a2bd4867a962b0225",
      "tree": "0282eb52ee69bf50ee90720904674b27dac4dfd0",
      "parents": [
        "e5e9f44c246fbafe723e579e9fe887677beb40e4"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Dec 14 21:17:29 2009 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Dec 14 21:17:29 2009 +0100"
      },
      "message": "i2c: Get rid of I2C_CLIENT_MODULE_PARM\n\nThere is no user left of I2C_CLIENT_MODULE_PARM, so we can finally\nget rid of this ugly macro.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nTested-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\n"
    },
    {
      "commit": "e5e9f44c246fbafe723e579e9fe887677beb40e4",
      "tree": "53d65b38b6db7aa250400056091a760cced42cd7",
      "parents": [
        "1f86df49ddfd0067cce941187d57b2fd2f749a9e"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Dec 14 21:17:27 2009 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Dec 14 21:17:27 2009 +0100"
      },
      "message": "i2c: Drop I2C_CLIENT_INSMOD_2 to 8\n\nThese macros simply declare an enum, so drivers might as well declare\nit themselves. This puts an end to the arbitrary limit of 8 chip types\nper i2c driver.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nTested-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\n"
    },
    {
      "commit": "1f86df49ddfd0067cce941187d57b2fd2f749a9e",
      "tree": "a8357108c8be9e39d040e71d473df4a8f46550da",
      "parents": [
        "c3813d6af177fab19e322f3114b1f64fbcf08d71"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Dec 14 21:17:26 2009 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Dec 14 21:17:26 2009 +0100"
      },
      "message": "i2c: Drop I2C_CLIENT_INSMOD_1\n\nThis macro simply declares an enum, so drivers might as well declare\nit themselves.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nTested-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\n"
    },
    {
      "commit": "c3813d6af177fab19e322f3114b1f64fbcf08d71",
      "tree": "5189e18f95c954461040bc4becbca6acf739c13b",
      "parents": [
        "310ec79210d754afe51e2e4a983e846b60179abd"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Dec 14 21:17:25 2009 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Dec 14 21:17:25 2009 +0100"
      },
      "message": "i2c: Get rid of struct i2c_client_address_data\n\nStruct i2c_client_address_data only contains one field at this point,\nwhich makes its usefulness questionable. Get rid of it and pass simple\naddress lists around instead.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nTested-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\n"
    },
    {
      "commit": "310ec79210d754afe51e2e4a983e846b60179abd",
      "tree": "98e592b60162cd55e367dc19ba3553617a45b0be",
      "parents": [
        "f40542532e96dda5506eb76badea322f2ae4731c"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Dec 14 21:17:23 2009 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Dec 14 21:17:23 2009 +0100"
      },
      "message": "i2c: Drop the kind parameter from detect callbacks\n\nThe \"kind\" parameter always has value -1, and nobody is using it any\nlonger, so we can remove it.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nTested-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\n"
    },
    {
      "commit": "478e4e9d7a618379676b17e64583ff3622f2fec5",
      "tree": "1f25c96499abbb0d0b47f75aa92134209fcc4ee8",
      "parents": [
        "2205afa7d13ec716935dfd4b8ff71059ee7aeb0c",
        "965346e3b99e2c5f51bd1325ddd0257227000355"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 10:22:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 10:22:11 2009 -0800"
      },
      "message": "Merge branch \u0027next-spi\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027next-spi\u0027 of git://git.secretlab.ca/git/linux-2.6: (23 commits)\n  spi: fix probe/remove section markings\n  Add OMAP spi100k driver\n  spi-imx: don\u0027t access struct device directly but use dev_get_platdata\n  spi-imx: Add mx25 support\n  spi-imx: use positive logic to distinguish cpu variants\n  spi-imx: correct check for platform_get_irq failing\n  ARM: NUC900: Add spi driver support for nuc900\n  spi: SuperH MSIOF SPI Master driver V2\n  spi: fix spidev compilation failure when VERBOSE is defined\n  spi/au1550_spi: fix setupxfer not to override cfg with zeros\n  spi/mpc8xxx: don\u0027t use __exit_p to wrap plat_mpc8xxx_spi_remove\n  spi/i.MX: fix broken error handling for gpio_request\n  spi/i.mx: drain MXC SPI transfer buffer when probing device\n  MAINTAINERS: add SPI co-maintainer.\n  spi/xilinx_spi: fix incorrect casting\n  spi/mpc52xx-spi: minor cleanups\n  xilinx_spi: add a platform driver using the xilinx_spi common module.\n  xilinx_spi: add support for the DS570 IP.\n  xilinx_spi: Switch to iomem functions and support little endian.\n  xilinx_spi: Split into of driver and generic part.\n  ...\n"
    },
    {
      "commit": "2205afa7d13ec716935dfd4b8ff71059ee7aeb0c",
      "tree": "19e63ed8040e8a82c3cdd331458d246247466a28",
      "parents": [
        "491424c0f46c282a854b88830212bdb0763e93dc",
        "2cd9046cc53dd2625e2cf5854d6cbb1ba61de914"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 10:13:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 10:13:22 2009 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf sched: Fix build failure on sparc\n  perf bench: Add \"all\" pseudo subsystem and \"all\" pseudo suite\n  perf tools: Introduce perf_session class\n  perf symbols: Ditch dso-\u003efind_symbol\n  perf symbols: Allow lookups by symbol name too\n  perf symbols: Add missing \"Variables\" entry to map_type__name\n  perf symbols: Add support for \u0027variable\u0027 symtabs\n  perf symbols: Introduce ELF counterparts to symbol_type__is_a\n  perf symbols: Introduce symbol_type__is_a\n  perf symbols: Rename kthreads to kmaps, using another abstraction for it\n  perf tools: Allow building for ARM\n  hw-breakpoints: Handle bad modify_user_hw_breakpoint off-case return value\n  perf tools: Allow cross compiling\n  tracing, slab: Fix no callsite ifndef CONFIG_KMEMTRACE\n  tracing, slab: Define kmem_cache_alloc_notrace ifdef CONFIG_TRACING\n\nTrivial conflict due to different fixes to modify_user_hw_breakpoint()\nin include/linux/hw_breakpoint.h\n"
    },
    {
      "commit": "491424c0f46c282a854b88830212bdb0763e93dc",
      "tree": "54e3272da9bdc638c6efcb43fa94f96454106d0a",
      "parents": [
        "5185fb069972b653dd7177292e7510ff99d9e8aa"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Dec 14 14:13:44 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 10:11:34 2009 -0800"
      },
      "message": "PCI: Global variable decls must match the defs in section attributes\n\nGlobal variable declarations must match the definitions in section attributes\nas the compiler is at liberty to vary the method it uses to access a variable,\ndepending on the section it is in.\n\nWhen building the FRV arch, I now see:\n\n  drivers/built-in.o: In function `pci_apply_final_quirks\u0027:\n  drivers/pci/quirks.c:2606: relocation truncated to fit: R_FRV_GPREL12 against symbol `pci_dfl_cache_line_size\u0027 defined in .devinit.data section in drivers/built-in.o\n  drivers/pci/quirks.c:2623: relocation truncated to fit: R_FRV_GPREL12 against symbol `pci_dfl_cache_line_size\u0027 defined in .devinit.data section in drivers/built-in.o\n  drivers/pci/quirks.c:2630: relocation truncated to fit: R_FRV_GPREL12 against symbol `pci_dfl_cache_line_size\u0027 defined in .devinit.data section in drivers/built-in.o\n\nbecause the declaration of pci_dfl_cache_line_size in linux/pci.h does not\nmatch the definition in drivers/pci/pci.c.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5185fb069972b653dd7177292e7510ff99d9e8aa",
      "tree": "f5380f93c457ab1fffa27a5a03ffee48106fbe60",
      "parents": [
        "464480f72e496067573e4f71bfbe3f5073d6fe33"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Dec 14 14:03:27 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 10:10:55 2009 -0800"
      },
      "message": "FRV: Fix no-hardware-breakpoint case\n\nIf there is no hardware breakpoint support, modify_user_hw_breakpoint()\ntries to return a NULL pointer through as an \u0027int\u0027 return value:\n\n  In file included from kernel/exit.c:53:\n  include/linux/hw_breakpoint.h: In function \u0027modify_user_hw_breakpoint\u0027:\n  include/linux/hw_breakpoint.h:96: warning: return makes integer from pointer without a cast\n\nReturn 0 instead.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "37222e1c9ee3ce587f5b41fed868bd8a592a992f",
      "tree": "b65f22a1e20286185463ca1a2889e593d963a393",
      "parents": [
        "76b8f82cde2d9c13ef0c9a9aa2581b9b30b68e8c",
        "06e3c817b750c131a20e82eed57a17841ea88ed2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 10:03:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 10:03:36 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://neil.brown.name/md\n\n* \u0027for-linus\u0027 of git://neil.brown.name/md: (27 commits)\n  md: add \u0027recovery_start\u0027 per-device sysfs attribute\n  md: rcu_read_lock() walk of mddev-\u003edisks in md_do_sync()\n  md: integrate spares into array at earliest opportunity.\n  md: move compat_ioctl handling into md.c\n  md: revise Kconfig help for MD_MULTIPATH\n  md: add MODULE_DESCRIPTION for all md related modules.\n  raid: improve MD/raid10 handling of correctable read errors.\n  md/raid10: print more useful messages on device failure.\n  md/bitmap: update dirty flag when bitmap bits are explicitly set.\n  md: Support write-intent bitmaps with externally managed metadata.\n  md/bitmap: move setting of daemon_lastrun out of bitmap_read_sb\n  md: support updating bitmap parameters via sysfs.\n  md: factor out parsing of fixed-point numbers\n  md: support bitmap offset appropriate for external-metadata arrays.\n  md: remove needless setting of thread-\u003etimeout in raid10_quiesce\n  md: change daemon_sleep to be in \u0027jiffies\u0027 rather than \u0027seconds\u0027.\n  md: move offset, daemon_sleep and chunksize out of bitmap structure\n  md: collect bitmap-specific fields into one structure.\n  md/raid1: add takeover support for raid5-\u003eraid1\n  md: add honouring of suspend_{lo,hi} to raid1.\n  ...\n"
    },
    {
      "commit": "76b8f82cde2d9c13ef0c9a9aa2581b9b30b68e8c",
      "tree": "f94b370b95051b4a7b3c272b4b2ee20091e1b746",
      "parents": [
        "af853e631db12a97363c8c3b727d153bd2cb346b",
        "9da66539281b5e15afc4a4739014c8923059d894"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 10:02:35 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 10:02:35 2009 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (58 commits)\n  mfd: Add twl6030 regulator subdevices\n  regulator: Add support for twl6030 regulators\n  rtc: Add twl6030 RTC support\n  mfd: Add support for twl6030 irq framework\n  mfd: Rename twl4030_ routines in twl-regulator.c\n  mfd: Rename twl4030_ routines in rtc-twl.c\n  mfd: Rename all twl4030_i2c*\n  mfd: Rename twl4030* driver files to enable re-use\n  mfd: Clarify twl4030 return value for read and write\n  mfd: Add all twl4030 regulators to the twl4030 mfd driver\n  mfd: Don\u0027t set mc13783 ADREFMODE for touch conversions\n  mfd: Remove ezx-pcap defines for custom led gpio encoding\n  mfd: Near complete mc13783 rewrite\n  mfd: Remove build time warning for WM835x register default tables\n  mfd: Force I2C to be built in when building WM831x\n  mfd: Don\u0027t allow wm831x to be built as a module\n  mfd: Fix incorrect error check for wm8350-core\n  mfd: Fix twl4030 warning\n  gpiolib: Implement gpio_to_irq() for wm831x\n  mfd: Remove default selection of AB4500\n  ...\n"
    },
    {
      "commit": "3f86ce72cffbea488a3b58453bbaf49c93ac90d9",
      "tree": "e7c612d297b41fb03326dcf38cecd27e89474538",
      "parents": [
        "d0316554d3586cbea60592a41391b5def2553d6f",
        "52c9948b1fd80381ba5a9a87dcc4fbe3cf4979b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 10:00:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 10:00:24 2009 -0800"
      },
      "message": "Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (75 commits)\n  NFS: Fix nfs_migrate_page()\n  rpc: remove unneeded function parameter in gss_add_msg()\n  nfs41: Invoke RECLAIM_COMPLETE on all new client ids\n  SUNRPC: IS_ERR/PTR_ERR confusion\n  NFSv41: Fix a potential state leakage when restarting nfs4_close_prepare\n  nfs41: Handle NFSv4.1 session errors in the delegation recall code\n  nfs41: Retry delegation return if it failed with session error\n  nfs41: Handle session errors during delegation return\n  nfs41: Mark stateids in need of reclaim if state manager gets stale clientid\n  NFS: Fix up the declaration of nfs4_restart_rpc when NFSv4 not configured\n  nfs41: Don\u0027t clear DRAINING flag on NFS4ERR_STALE_CLIENTID\n  nfs41: nfs41_setup_state_renewal\n  NFSv41: More cleanups\n  NFSv41: Fix up some bugs in the NFS4CLNT_SESSION_DRAINING code\n  NFSv41: Clean up slot table management\n  NFSv41: Fix nfs4_proc_create_session\n  nfs41: Invoke RECLAIM_COMPLETE\n  nfs41: RECLAIM_COMPLETE functionality\n  nfs41: RECLAIM_COMPLETE XDR functionality\n  Cleanup some NFSv4 XDR decode comments\n  ...\n"
    },
    {
      "commit": "d0316554d3586cbea60592a41391b5def2553d6f",
      "tree": "5e7418f0bacbc68cec5dfd1541e03eb56870aa02",
      "parents": [
        "fb0bbb92d42d5bd0ab224605444efdfed06d6934",
        "51e99be00ce2713cbb841cedc997cafa6e26c7f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (34 commits)\n  m68k: rename global variable vmalloc_end to m68k_vmalloc_end\n  percpu: add missing per_cpu_ptr_to_phys() definition for UP\n  percpu: Fix kdump failure if booted with percpu_alloc\u003dpage\n  percpu: make misc percpu symbols unique\n  percpu: make percpu symbols in ia64 unique\n  percpu: make percpu symbols in powerpc unique\n  percpu: make percpu symbols in x86 unique\n  percpu: make percpu symbols in xen unique\n  percpu: make percpu symbols in cpufreq unique\n  percpu: make percpu symbols in oprofile unique\n  percpu: make percpu symbols in tracer unique\n  percpu: make percpu symbols under kernel/ and mm/ unique\n  percpu: remove some sparse warnings\n  percpu: make alloc_percpu() handle array types\n  vmalloc: fix use of non-existent percpu variable in put_cpu_var()\n  this_cpu: Use this_cpu_xx in trace_functions_graph.c\n  this_cpu: Use this_cpu_xx for ftrace\n  this_cpu: Use this_cpu_xx in nmi handling\n  this_cpu: Use this_cpu operations in RCU\n  this_cpu: Use this_cpu ops for VM statistics\n  ...\n\nFix up trivial (famous last words) global per-cpu naming conflicts in\n\tarch/x86/kvm/svm.c\n\tmm/slab.c\n"
    },
    {
      "commit": "7820f9e1dddcfebae2698fb2a245d04ce3aa6e74",
      "tree": "fd8853ea31528663d0f81167c92431e7a13f0781",
      "parents": [
        "8553fe7ec731e4f997245e14319572cb15118018"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Dec 14 12:49:47 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Dec 14 12:49:47 2009 +1100"
      },
      "message": "md: remove sparse warning:symbol XXX was not declared.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "9da66539281b5e15afc4a4739014c8923059d894",
      "tree": "797a8347d94dde143f36c22dca76df59cb764fdd",
      "parents": [
        "441a450554dada1c59fc06fdf068cb0eeba53c6d"
      ],
      "author": {
        "name": "Rajendra Nayak",
        "email": "rnayak@ti.com",
        "time": "Sun Dec 13 22:29:47 2009 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Mon Dec 14 00:26:26 2009 +0100"
      },
      "message": "mfd: Add twl6030 regulator subdevices\n\nThis patch adds initial support for creating twl6030 PMIC\nspecific voltage regulators in the twl mfd driver.\n\nBoard specific regulator configurations will have to be passed from\nrespective board files.\n\nSigned-off-by: Rajendra Nayak \u003crnayak@ti.com\u003e\nSigned-off-by: Balaji T K \u003cbalajitk@ti.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nReviewed-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "441a450554dada1c59fc06fdf068cb0eeba53c6d",
      "tree": "95243a824de1ead21b95bbd36bb85a82be09eeca",
      "parents": [
        "a6b49ffd2d4bba53ad172b1e78ee51fe15ab195e"
      ],
      "author": {
        "name": "Rajendra Nayak",
        "email": "rnayak@ti.com",
        "time": "Sun Dec 13 22:19:23 2009 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Mon Dec 14 00:26:20 2009 +0100"
      },
      "message": "regulator: Add support for twl6030 regulators\n\nThis patch updates the regulator driver to add support\nfor TWL6030 PMIC specific LDO regulators.\nSMPS resources are not yet supported for TWL6030 and\nalso .set_mode and .get_status for LDO\u0027s are yet to\nbe implemented for TWL6030.\n\nSigned-off-by: Rajendra Nayak \u003crnayak@ti.com\u003e\nSigned-off-by: Balaji T K \u003cbalajitk@ti.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nReviewed-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "e8deb28ca8e221de0239eafb3c3d431d8854278e",
      "tree": "2dffdb207366aa0a8f229775515fc207c16f8574",
      "parents": [
        "c4aa6f314328142974c78377cd9476f8ec6f0eba"
      ],
      "author": {
        "name": "Balaji T K",
        "email": "balajitk@ti.com",
        "time": "Mon Dec 14 00:25:31 2009 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Mon Dec 14 00:25:31 2009 +0100"
      },
      "message": "mfd: Add support for twl6030 irq framework\n\nThis patch adds support for phoenix interrupt framework. New iInterrupt\nstatus register A, B, C are introduced in Phoenix and are cleared on write.\nDue to the differences in interrupt handling with respect to TWL4030,\ntwl6030-irq.c is created for TWL6030 PMIC\n\nSigned-off-by: Rajendra Nayak \u003crnayak@ti.com\u003e\nSigned-off-by: Balaji T K \u003cbalajitk@ti.com\u003e\nSigned-off-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nReviewed-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "fc7b92fca4e546184557f1c53f84ad57c66b7695",
      "tree": "f15b37df7d34f525d877d33186b840947aa65b4d",
      "parents": [
        "b07682b6056eb6701f8cb86aa5800e6f2ea7919b"
      ],
      "author": {
        "name": "Balaji T K",
        "email": "balajitk@ti.com",
        "time": "Sun Dec 13 21:23:33 2009 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 21:23:33 2009 +0100"
      },
      "message": "mfd: Rename all twl4030_i2c*\n\nThis patch renames function names like twl4030_i2c_write_u8,\ntwl4030_i2c_read_u8 to twl_i2c_write_u8, twl_i2c_read_u8\nand also common variable in twl-core.c\n\nSigned-off-by: Rajendra Nayak \u003crnayak@ti.com\u003e\nSigned-off-by: Balaji T K \u003cbalajitk@ti.com\u003e\nSigned-off-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nAcked-by: Kevin Hilman \u003ckhilman@deeprootsystems.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "b07682b6056eb6701f8cb86aa5800e6f2ea7919b",
      "tree": "178461d70dd9996c9d5340221e8389dc67448da8",
      "parents": [
        "147e084792f22b52df65a3d9d0e8b2a9233e0aa8"
      ],
      "author": {
        "name": "Santosh Shilimkar",
        "email": "santosh.shilimkar@ti.com",
        "time": "Sun Dec 13 20:05:51 2009 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 20:05:51 2009 +0100"
      },
      "message": "mfd: Rename twl4030* driver files to enable re-use\n\nThe upcoming TWL6030 is companion chip for OMAP4 like the current TWL4030\nfor OMAP3. The common modules like RTC, Regulator creates opportunity\nto re-use the most of the code from twl4030.\n\nThis patch renames few common drivers twl4030* files to twl* to enable\nthe code re-use.\n\nSigned-off-by: Rajendra Nayak \u003crnayak@ti.com\u003e\nSigned-off-by: Balaji T K \u003cbalajitk@ti.com\u003e\nSigned-off-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nAcked-by: Kevin Hilman \u003ckhilman@deeprootsystems.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "52c9948b1fd80381ba5a9a87dcc4fbe3cf4979b8",
      "tree": "7bca6a20560f428442f18450df0948774f982df0",
      "parents": [
        "f40542532e96dda5506eb76badea322f2ae4731c",
        "190f38e5cedc910940b1da9015f00458c18f97b4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Dec 13 13:56:27 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Dec 13 13:56:27 2009 -0500"
      },
      "message": "Merge branch \u0027nfs-for-2.6.33\u0027\n"
    },
    {
      "commit": "ab4abe056d8828341d2a7d6463b13eafaf210181",
      "tree": "a38e751827567122136b5e978bb0b15a90b3bf47",
      "parents": [
        "be26d664de1a6333156bd586a2f795271cfcf170"
      ],
      "author": {
        "name": "Juha Keski-Saari",
        "email": "ext-juha.1.keski-saari@nokia.com",
        "time": "Fri Dec 11 11:12:15 2009 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 19:21:59 2009 +0100"
      },
      "message": "mfd: Add all twl4030 regulators to the twl4030 mfd driver\n\nAdd all twl4030 regulators to the twl4030 mfd driver and\ntwl4030_platform_data\n\nSigned-off-by: Juha Keski-Saari \u003cext-juha.1.keski-saari@nokia.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "ed89a7551c65e1db44f1a6b7be6efce178fc87d0",
      "tree": "e07674fccae713413a94fafc8ffebc7a8a83c238",
      "parents": [
        "9e2726776d45b1e383625b3ce4f8b511456e09ad"
      ],
      "author": {
        "name": "Antonio Ospite",
        "email": "ospite@studenti.unina.it",
        "time": "Sun Nov 29 13:36:10 2009 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 19:21:56 2009 +0100"
      },
      "message": "mfd: Remove ezx-pcap defines for custom led gpio encoding\n\nWe used these, in a first version of leds-pcap driver, in order to encode gpio\nenabling and gpio inversion for a led inside the variable used for the gpio\nnumber. In the new leds-pcap driver we rely on gpio_is_valid() to derive if a\nled is gpio enabled and we have a dedicated flag to tell if the gpio value has\nto be inverted.\n\nSigned-off-by: Antonio Ospite \u003cospite@studenti.unina.it\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "9e2726776d45b1e383625b3ce4f8b511456e09ad",
      "tree": "732a12aaa78af36fa5cb345a0210ac7e415082b5",
      "parents": [
        "d7f81c4416a2246c8f03441d52a219af7c109850"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Mon Nov 30 00:53:17 2009 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 19:21:54 2009 +0100"
      },
      "message": "mfd: Near complete mc13783 rewrite\n\nThis fixes several things while still providing the old API:\n\n - simplify and fix locking\n - better error handling\n - don\u0027t ack all irqs making it impossible to detect a reset of the\n   rtc\n - use a timeout variant to wait for completion of ADC conversion\n - provide platform-data to regulator subdevice (This allows making\n   struct mc13783 opaque for other drivers after the regulator driver is\n   updated to use its platform_data.)\n - expose all interrupts\n - use threaded irq\n\nAfter all users in mainline are converted to the new API, some things\n(e.g. mc13783-private.h) can go away.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nCc: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\nCc: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "5fb4d38b19d95a5f980f0a10adba798f5b92128c",
      "tree": "12ec848e5cff9fc12b3c72ace69691427954f437",
      "parents": [
        "1920a61e208fac73d1a30a7cf4005701802fe69f"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Nov 11 16:10:22 2009 +0000"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 19:21:41 2009 +0100"
      },
      "message": "mfd: Move WM831x to generic IRQ\n\nReplace the wm831x-local IRQ infrastructure with genirq, allowing access\nto the diagnostic infrastructure of genirq and allowing us to implement\ninterrupt support for the GPIOs.  The switchover is done within the\nwm831x specific IRQ API, further patches will convert the individual\ndrivers to use genirq directly.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "1920a61e208fac73d1a30a7cf4005701802fe69f",
      "tree": "2282d5b842d46f5b48144d9950a89a7b78fb930a",
      "parents": [
        "6a6127462eb9096419fd4b3115ec5971d83a600f"
      ],
      "author": {
        "name": "Ilkka Koskinen",
        "email": "ilkka.koskinen@nokia.com",
        "time": "Tue Nov 10 17:26:15 2009 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 19:21:41 2009 +0100"
      },
      "message": "mfd: Initial support for twl5031\n\nTWL5031 introduces two new interrupts in PIH. Moreover, BCI\nhas changed remarkably and, thus, it\u0027s disabled when TWL5031\nis in use.\n\nSigned-off-by: Ilkka Koskinen \u003cilkka.koskinen@nokia.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "5a65edbc12b6b34ef912114f1fc8215786f85b25",
      "tree": "ffe43bd1234b52ad1c3774b096a51594aabe49ad",
      "parents": [
        "b9f96b5dcb1e2a75d142e481b77805ffdc6ccea6"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Nov 04 16:10:51 2009 +0000"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 19:21:39 2009 +0100"
      },
      "message": "mfd: Convert wm8350 IRQ handlers to irq_handler_t\n\nThis is done as simple code transformation, the semantics of the\nIRQ API provided by the core are are still very different to those\nof genirq (mainly with regard to masking).\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "b45440c33a0bdd824b98e4a4c56767c50d3275eb",
      "tree": "d4e32150e6de2dd614cd688d22d1371bcc653431",
      "parents": [
        "848369926693778cd0f31bfca7fb951164715b4f"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben@simtec.co.uk",
        "time": "Mon Nov 02 16:52:30 2009 +0000"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 19:21:36 2009 +0100"
      },
      "message": "mfd: Allow configuration of VDCDC2 for tps65010\n\nAdd function to allow the configuation fo the VDCDC2 register by\nexternal users, to allow changing of the standard and low-power\nrunning modes.\n\nThis is needed, for example, for the Simtec IM2440D20 where we need\nto use the low-power mode to shutdown the LDO/DCDC that are not needed\nduring suspend (saving substantial power) and the runtime use of the\nlow-power mode to change VCore.\n\nSigned-off-by: Ben Dooks \u003cben@simtec.co.uk\u003e\nSigned-off-by: Simtec Linux Team \u003clinux@simtec.co.uk\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "38a684963f619eb9117cb898b92bde92cdd09127",
      "tree": "11165f43948f3406110e5135c0479b244cc662fd",
      "parents": [
        "75b75722b4eb1032b3fe2e56b7015f23c6080529"
      ],
      "author": {
        "name": "Ilkka Koskinen",
        "email": "ilkka.koskinen@nokia.com",
        "time": "Thu Oct 22 14:14:09 2009 +0300"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 19:21:33 2009 +0100"
      },
      "message": "mfd: Enable twl4030 32kHz oscillator low-power mode\n\nAllows TWL\u0027s 32kHz oscillator to go in low-power mode when\nmain battery voltage is running low.\n\nSigned-off-by: Ilkka Koskinen \u003cilkka.koskinen@nokia.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "75b75722b4eb1032b3fe2e56b7015f23c6080529",
      "tree": "692c74cdb69aad40a04d9a16068581afcf8143c2",
      "parents": [
        "53cf9a605d75877550c1b9793d7e994401d08eb7"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Oct 21 19:11:34 2009 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 19:21:31 2009 +0100"
      },
      "message": "mfd: Allow platforms to specify an IRQ base for WM8350\n\nThis is currently unused by the wm8350 drivers but getting it merged\nnow will reduce merge issues in the future when implementing wm8350\ngenirq support.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "56baa667973e53d6d38af2ad3731d558566d818b",
      "tree": "cacc84313e48bb592adb76fe6f28e790e5ab942c",
      "parents": [
        "b4ead61e570d7b7bcf20a5a1733dd0bc37236c99"
      ],
      "author": {
        "name": "Aaro Koskinen",
        "email": "aaro.koskinen@nokia.com",
        "time": "Mon Oct 19 21:24:02 2009 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 19:21:25 2009 +0100"
      },
      "message": "mfd: fix undefined twl4030-power resconfig value checks\n\nThe code tries to skip values initialized with -1, but since the values\nare unsigned the comparison is always true.\n\nThe patch eliminates the following compiler warnings:\n\ndrivers/mfd/twl4030-power.c: In function \u0027twl4030_configure_resource\u0027:\ndrivers/mfd/twl4030-power.c:338: warning: comparison is always true due to\nlimited range of data type\ndrivers/mfd/twl4030-power.c:358: warning: comparison is always true due to\nlimited range of data type\ndrivers/mfd/twl4030-power.c:363: warning: comparison is always true due to\nlimited range of data type\n\nSigned-off-by: Aaro Koskinen \u003caaro.koskinen@nokia.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "b4ead61e570d7b7bcf20a5a1733dd0bc37236c99",
      "tree": "bbac1d65426eadb7d2b2208a55ead373cdd91790",
      "parents": [
        "890463f0ff2bc5c62470dba181a5362bf7a5b22e"
      ],
      "author": {
        "name": "Amit Kucheria",
        "email": "amit.kucheria@verdurent.com",
        "time": "Mon Oct 19 15:11:00 2009 +0300"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 19:21:24 2009 +0100"
      },
      "message": "mfd: Add support for remapping twl4030-power power states\n\nThe \u003cRESOURCE\u003e_REMAP register allows configuration of the \u003cRESOURCE\u003e in case\nof a sleep or off transition.\n\nAllow this property of resources to be configured (through twl4030_resconfig)\nand add code to parse these values to program the registers accordingly.\n\nSigned-off-by: Amit Kucheria \u003camit.kucheria@verdurent.com\u003e\nCc: linux-omap@vger.kernel.org\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "68d641efd86d901d000b888eeab5481257d49f12",
      "tree": "a916769e71d50c0d20725cad60fb0402da198692",
      "parents": [
        "b18fdc4b3e5e418e5582f5403c8a05b2c67eea16"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Wed Oct 14 02:12:33 2009 +0400"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 19:21:17 2009 +0100"
      },
      "message": "mfd: Fix memleak in pcf50633_client_dev_register\n\nSince platform_device_add_data copies the passed data, the allocated\nsubdev_pdata is never freed. A simple fix would be to either free subdev_pdata\nor put it onto the stack. But since the pcf50633 child devices can rely on\nbeeing children of the pcf50633 core device it\u0027s much more elegant to get access\nto pcf50633 core structure through that link. This allows to get completly rid\nof pcf5033_subdev_pdata.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Paul Fertser \u003cfercerpav@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "0c7229f93a529145d52e1bd7b29e6c98a3a3294d",
      "tree": "a3a05efd1983810207f5283ee78a033f719e52a0",
      "parents": [
        "e0a3389ab9cb08813bf325616249abb29c4d2302"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Oct 12 16:15:10 2009 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 19:21:02 2009 +0100"
      },
      "message": "mfd: Convert WM835x IRQ handling to use a data table\n\nRather than open coding individual IRQs in each function which\nmanipulates them store data for IRQs in a table which is then\nreferenced in the users.\n\nThis is a substantial code shrink and should be a performance win in\ncases where only a single IRQ goes off at once since instead of\nreading four of the second level IRQ registers for each interrupt\nwe read only the sub-registers which have had an interrupt flagged.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "e0a3389ab9cb08813bf325616249abb29c4d2302",
      "tree": "e7f1bd9d90a98cd23cb677d8aea6877985fed5cc",
      "parents": [
        "fba65fe0ededc538771e47f6d099d7c853f4776e"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Oct 12 16:15:09 2009 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 19:20:55 2009 +0100"
      },
      "message": "mfd: Split wm8350 IRQ code into a separate file\n\nIn preparation for refactoring - it\u0027s over 700 lines of well-isolated\ncode and having it in a file by itself makes things more managable.\n\nWhile we\u0027re at it make sure that we clean up the IRQ if we fail after\nacquiring it on init.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "a5736e0b62fcb7c1b20892c62e1c5fe5e9387c86",
      "tree": "7b7565145289029964bc8467ada3bcbe86a8a990",
      "parents": [
        "7c29a47668a922bd99f3e69a833dc1000b603134"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Mon Oct 12 17:22:38 2009 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 19:20:53 2009 +0100"
      },
      "message": "mfd: Add ADP5520/ADP5501 driver\n\nBase driver for Analog Devices ADP5520/ADP5501 MFD PMICs\n\nSubdevs:\nLCD Backlight   : drivers/video/backlight/adp5520_bl.c\nLEDs            : drivers/led/leds-adp5520.c\nGPIO            : drivers/gpio/adp5520-gpio.c (ADP5520 only)\nKeys            : drivers/input/keyboard/adp5520-keys.c (ADP5520 only)\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "d4e0a89e3d170affa896efcdb4320e38a2f3a546",
      "tree": "496c6514976b379597f96c1412a628dcb71d8a14",
      "parents": [
        "6f2ecaae72910211034c4f1955da97b2ff994265"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Oct 01 15:41:07 2009 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 19:20:44 2009 +0100"
      },
      "message": "mfd: Add support for WM8320 PMICs\n\nThe WM8320 is an integrated power management subsystem providing\nvoltage regulators, RTC, watchdog and other functionality. The\nWM8320 is derived from the WM831x and therefore shares most of\nthe driver code with the WM831x.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "6f2ecaae72910211034c4f1955da97b2ff994265",
      "tree": "68d7217dd24f72deeb40e733e0f9f29aecdfde49",
      "parents": [
        "894362f53164f93d609559e196378b4d0710c2dd"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Oct 01 15:41:05 2009 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 19:20:43 2009 +0100"
      },
      "message": "gpiolib: Make WM831x GPIO count dynamic\n\nThis supports future devices with fewer GPIOs.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "0c41839e98272a317d4af4dfcb54b599b2c3dcba",
      "tree": "7317c67b92ba9ff5930d78074c93e148c321af6d",
      "parents": [
        "4107da2a2853c070fb3effa58a83f94dc067fc44"
      ],
      "author": {
        "name": "Srinidhi Kasagar",
        "email": "srinidhi.kasagar@stericsson.com",
        "time": "Mon Oct 12 17:11:52 2009 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 19:20:38 2009 +0100"
      },
      "message": "mfd: add AB4500 driver\n\nThis adds core driver support for AB4500 mixed signal\nmultimedia \u0026 power management chip. This connects to U8500\non the SSP (pl022) and exports read/write functions for\nthe device to get access to this chip. This also registers\nthe client devices and sets the parent.\n\nSigned-off-by: srinidhi kasagar \u003csrinidhi.kasagar@stericsson.com\u003e\nAcked-by: Andrea Gallo \u003candrea.gallo@stericsson.com\u003e\nReviewed-by: Mark Brown \u003cbroonie@sirena.org.uk\u003e\nReviewed-by: Jean-Christophe \u003cplagnioj@jcrosoft.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "4107da2a2853c070fb3effa58a83f94dc067fc44",
      "tree": "581a762a8428ba3dc29fe4dbb02092ddeb760814",
      "parents": [
        "f40542532e96dda5506eb76badea322f2ae4731c"
      ],
      "author": {
        "name": "Haojian Zhuang",
        "email": "haojian.zhuang@marvell.com",
        "time": "Thu Sep 17 08:54:03 2009 -0400"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sun Dec 13 19:20:37 2009 +0100"
      },
      "message": "mfd: Add 88PM8607 driver\n\nThis adds a core driver for 88PM8607 found in Marvell DKB development\nplatform. This driver is a proxy for all accesses to 88PM8607\nsub-drivers which will be merged on top of this one, RTC, regulators,\nbattery and so on.\n\nThis chip is manufactured by Marvell.\n\nSigned-off-by: Haojian Zhuang \u003chaojian.zhuang@marvell.com\u003e\nReviewed-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "8051effcbced8478119167b93b0e9554cb82d28e",
      "tree": "03ce88851ca697c8ed5f1d8eadcb32972342dbac",
      "parents": [
        "41df70d9ac2d0d36b23a0ec4866f67e540f366ff"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@opensource.se",
        "time": "Thu Nov 26 11:10:05 2009 +0000"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sun Dec 13 00:48:27 2009 -0700"
      },
      "message": "spi: SuperH MSIOF SPI Master driver V2\n\nThis patch is V2 of SPI Master support for the SuperH MSIOF.\nFull duplex, spi mode 0-3, active high cs, 3-wire and lsb\nfirst should all be supported, but the driver has so far\nonly been tested with \"mmc_spi\".\n\nThe MSIOF hardware comes with 32-bit FIFOs for receive and\ntransmit, and this driver simply breaks the SPI messages\ninto FIFO-sized chunks. The MSIOF hardware manages the pins\nfor clock, receive and transmit (sck/miso/mosi), but the chip\nselect pin is managed by software and must be configured as\na regular GPIO pin by the board code.\n\nPerformance wise there is still room for improvement, but\non a Ecovec board with the built-in sh7724 MSIOF0 this driver\ngets Mini-sd read speeds of about half a megabyte per second.\n\nFuture work include better clock setup and merging of 8-bit\ntransfers into 32-bit words to reduce interrupt load and\nimprove throughput.\n\nSigned-off-by: Magnus Damm \u003cdamm@opensource.se\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "09cea96caa59fabab3030c53bd698b9b568d959a",
      "tree": "a991cdc0c887fdcda37f4b751ee98d3db9559f4e",
      "parents": [
        "6eb7365db6f3a4a9d8d9922bb0b800f9cbaad641",
        "e090aa80321b64c3b793f3b047e31ecf1af9538d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 12 14:27:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 12 14:27:24 2009 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (151 commits)\n  powerpc: Fix usage of 64-bit instruction in 32-bit altivec code\n  MAINTAINERS: Add PowerPC patterns\n  powerpc/pseries: Track previous CPPR values to correctly EOI interrupts\n  powerpc/pseries: Correct pseries/dlpar.c build break without CONFIG_SMP\n  powerpc: Make \"intspec\" pointers in irq_host-\u003exlate() const\n  powerpc/8xx: DTLB Miss cleanup\n  powerpc/8xx: Remove DIRTY pte handling in DTLB Error.\n  powerpc/8xx: Start using dcbX instructions in various copy routines\n  powerpc/8xx: Restore _PAGE_WRITETHRU\n  powerpc/8xx: Add missing Guarded setting in DTLB Error.\n  powerpc/8xx: Fixup DAR from buggy dcbX instructions.\n  powerpc/8xx: Tag DAR with 0x00f0 to catch buggy instructions.\n  powerpc/8xx: Update TLB asm so it behaves as linux mm expects.\n  powerpc/8xx: Invalidate non present TLBs\n  powerpc/pseries: Serialize cpu hotplug operations during deactivate Vs deallocate\n  pseries/pseries: Add code to online/offline CPUs of a DLPAR node\n  powerpc: stop_this_cpu: remove the cpu from the online map.\n  powerpc/pseries: Add kernel based CPU DLPAR handling\n  sysfs/cpu: Add probe/release files\n  powerpc/pseries: Kernel DLPAR Infrastructure\n  ...\n"
    },
    {
      "commit": "702a7c7609bec3a940b6a46b0d6ab9ce45274580",
      "tree": "6c169691449259410b9b51a146acb0e837dae96a",
      "parents": [
        "053fe57ac249a9531c396175778160d9e9509399",
        "b9889ed1ddeca5a3f3569c8de7354e9e97d803ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 12 11:34:10 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 12 11:34:10 2009 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (21 commits)\n  sched: Remove forced2_migrations stats\n  sched: Fix memory leak in two error corner cases\n  sched: Fix build warning in get_update_sysctl_factor()\n  sched: Update normalized values on user updates via proc\n  sched: Make tunable scaling style configurable\n  sched: Fix missing sched tunable recalculation on cpu add/remove\n  sched: Fix task priority bug\n  sched: cgroup: Implement different treatment for idle shares\n  sched: Remove unnecessary RCU exclusion\n  sched: Discard some old bits\n  sched: Clean up check_preempt_wakeup()\n  sched: Move update_curr() in check_preempt_wakeup() to avoid redundant call\n  sched: Sanitize fork() handling\n  sched: Clean up ttwu() rq locking\n  sched: Remove rq-\u003eclock coupling from set_task_cpu()\n  sched: Consolidate select_task_rq() callers\n  sched: Remove sysctl.sched_features\n  sched: Protect sched_rr_get_param() access to task-\u003esched_class\n  sched: Protect task-\u003ecpus_allowed access in sched_getaffinity()\n  sched: Fix balance vs hotplug race\n  ...\n\nFixed up conflicts in kernel/sysctl.c (due to sysctl cleanup)\n"
    },
    {
      "commit": "053fe57ac249a9531c396175778160d9e9509399",
      "tree": "4e4e8acbf0bd01bedef3c733fdd9d7433f0748a0",
      "parents": [
        "92340ee3198a2afd7664ed2f5472fa072b15fa32",
        "501706565b2d4d2d40d0d301d5411ede099b8a6f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 20:58:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 20:58:20 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (75 commits)\n  net: Handle NETREG_UNINITIALIZED devices correctly\n  can: add the driver for Analog Devices Blackfin on-chip CAN controllers\n  xfrm: Fix truncation length of authentication algorithms installed via PF_KEY\n  net: use compat helper functions in compat_sys_recvmmsg\n  net: fix compat_sys_recvmmsg parameter type\n  cxgb3: Fixing EEH handlers\n  cnic: Zero out status block and Event Queue indices.\n  cnic: Send delete command when shutting down iSCSI ring.\n  net: smc91x: Fix up type mismatch in smc_drv_resume().\n  smc91x: fix unused flags warnings on UP systems\n  MAINTAINERS: Transfering maintainership of cdc-ether\n  net: Add missing TST_CFG_WRITE bits around sky2_pci_write\n  net: Fix Yukon-2 Optima TCP offload setup\n  net: niu uses crc32, so select CRC32\n  wireless: update old static regulatory domain rules\n  mac80211: Revert \u0027Use correct sign for mesh active path refresh\u0027\n  mac80211: Fixed bug in mesh portal paths\n  net/mac80211: Correct size given to memset\n  b43: Remove reset after fatal DMA error\n  rtl8187: add radio led and fix warnings on suspend\n  ...\n"
    },
    {
      "commit": "92340ee3198a2afd7664ed2f5472fa072b15fa32",
      "tree": "b77411ace423d8702da51938c953914d341fba80",
      "parents": [
        "a1c36e52068a59374e127d60e4d8f4377072fc98",
        "637e8a60a7aaf4ef7d46cfdf83bcfac9cf6f0fbd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 20:57:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 20:57:46 2009 -0800"
      },
      "message": "Merge branch \u0027compat-ioctl-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground\n\n* \u0027compat-ioctl-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground:\n  usbdevfs: move compat_ioctl handling to devio.c\n  lp: move compat_ioctl handling into lp.c\n  compat_ioctl: pass compat pointer directly to handlers\n  compat_ioctl: simplify lookup table\n  compat_ioctl: simplify calling of handlers\n  compat_ioctl: inline all conversion handlers\n  compat_ioctl: Remove BKL\n  compat_ioctl: remove all VT ioctl handling\n"
    },
    {
      "commit": "3070f27d6ecb69364e7cffe16c8b15e1b8ef41dd",
      "tree": "6a624eb764265b67b2765b978c749fbe08871886",
      "parents": [
        "1e57c2186fc204ecd5e47f279d00eba3c3db245c",
        "e9c0748b687aa70179a9e6d8ffc24b2874fe350b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 20:49:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 20:49:09 2009 -0800"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  itimer: Fix the itimer trace print format\n  hrtimer: move timer stats helper functions to hrtimer.c\n  hrtimer: Tune hrtimer_interrupt hang logic\n"
    },
    {
      "commit": "df7147b3c37cb203f968119f3b6a1cd648c535a1",
      "tree": "f5e0026cc8b1f711beef03338b087ff66cae92c4",
      "parents": [
        "6f696eb17be741668810fe1f798135c7cf6733e2",
        "788d70dce0184eccc249ac6f05aa38b385b7497c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 20:47:44 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 20:47:44 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Remove comparing of NULL to va_list in trace_array_vprintk()\n  tracing: Fix function graph trace_pipe to properly display failed entries\n  tracing: Add full state to trace_seq\n  tracing: Buffer the output of seq_file in case of filled buffer\n  tracing: Only call pipe_close if pipe_close is defined\n  tracing: Add pipe_close interface\n"
    },
    {
      "commit": "6f696eb17be741668810fe1f798135c7cf6733e2",
      "tree": "f9bcfe5831dfcaaad50ca68d7f04d80d8236fa56",
      "parents": [
        "c4e194e3b71ff4fed01d727c32ee1071921d28a3",
        "125580380f418000b1a06d9a54700f1191b6e561"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 20:47:30 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 20:47:30 2009 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (57 commits)\n  x86, perf events: Check if we have APIC enabled\n  perf_event: Fix variable initialization in other codepaths\n  perf kmem: Fix unused argument build warning\n  perf symbols: perf_header__read_build_ids() offset\u0027n\u0027size should be u64\n  perf symbols: dsos__read_build_ids() should read both user and kernel buildids\n  perf tools: Align long options which have no short forms\n  perf kmem: Show usage if no option is specified\n  sched: Mark sched_clock() as notrace\n  perf sched: Add max delay time snapshot\n  perf tools: Correct size given to memset\n  perf_event: Fix perf_swevent_hrtimer() variable initialization\n  perf sched: Fix for getting task\u0027s execution time\n  tracing/kprobes: Fix field creation\u0027s bad error handling\n  perf_event: Cleanup for cpu_clock_perf_event_update()\n  perf_event: Allocate children\u0027s perf_event_ctxp at the right time\n  perf_event: Clean up __perf_event_init_context()\n  hw-breakpoints: Modify breakpoints without unregistering them\n  perf probe: Update perf-probe document\n  perf probe: Support --del option\n  trace-kprobe: Support delete probe syntax\n  ...\n"
    },
    {
      "commit": "501706565b2d4d2d40d0d301d5411ede099b8a6f",
      "tree": "142a18bf1f1e74a09dbfa27540b893ade0fd797d",
      "parents": [
        "e93737b0f0159a61772894943199fd3b6f315641",
        "2fe77b81c77eed92c4c0439f74c8148a295b4a86"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 11 17:12:17 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 11 17:12:17 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tinclude/net/tcp.h\n"
    },
    {
      "commit": "2fe77b81c77eed92c4c0439f74c8148a295b4a86",
      "tree": "8a5e33fc3804f29bbf5c95c2cd28ccbdaa4cf206",
      "parents": [
        "cb5228a6949f525dba37d4eb3ee114426fef22c9",
        "e2f74f355e9e2914483db10c05d70e69e0b7ae04"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:59:23 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:59:23 2009 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:\n  [ACPI/CPUFREQ] Introduce bios_limit per cpu cpufreq sysfs interface\n  [CPUFREQ] make internal cpufreq_add_dev_* static\n  [CPUFREQ] use an enum for speedstep processor identification\n  [CPUFREQ] Document units for transition latency\n  [CPUFREQ] Use global sysfs cpufreq structure for conservative governor tunings\n  [CPUFREQ] Documentation: ABI: /sys/devices/system/cpu/cpu#/cpufreq/\n  [CPUFREQ] powernow-k6: set transition latency value so ondemand governor can be used\n  [CPUFREQ] cpumask: don\u0027t put a cpumask on the stack in x86...cpufreq/powernow-k8.c\n"
    },
    {
      "commit": "0f4974c439dd7826c85bae4e6a8088ce2db0f498",
      "tree": "fdabc7d9bb7d7bc49aad547c0aac3a633ce01f09",
      "parents": [
        "3126c136bc30225d7a43af741778aa50e95e467a",
        "36ba782e9674cdc29ec7003757df0b375e99fa96"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:34:40 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:34:40 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (58 commits)\n  tty: split the lock up a bit further\n  tty: Move the leader test in disassociate\n  tty: Push the bkl down a bit in the hangup code\n  tty: Push the lock down further into the ldisc code\n  tty: push the BKL down into the handlers a bit\n  tty: moxa: split open lock\n  tty: moxa: Kill the use of lock_kernel\n  tty: moxa: Fix modem op locking\n  tty: moxa: Kill off the throttle method\n  tty: moxa: Locking clean up\n  tty: moxa: rework the locking a bit\n  tty: moxa: Use more tty_port ops\n  tty: isicom: fix deadlock on shutdown\n  tty: mxser: Use the new locking rules to fix setserial properly\n  tty: mxser: use the tty_port_open method\n  tty: isicom: sort out the board init logic\n  tty: isicom: switch to the new tty_port_open helper\n  tty: tty_port: Add a kref object to the tty port\n  tty: istallion: tty port open/close methods\n  tty: stallion: Convert to the tty_port_open/close methods\n  ...\n"
    },
    {
      "commit": "3126c136bc30225d7a43af741778aa50e95e467a",
      "tree": "71e6f0de6e1f4cde200dd632da4d2f61180289bf",
      "parents": [
        "f4d544ee5720d336a8c64f9fd33efb888c302309",
        "8e0eb4011bd73d5f91b215b532f74eef478ef795"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:31:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:31:13 2009 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: (21 commits)\n  ext3: PTR_ERR return of wrong pointer in setup_new_group_blocks()\n  ext3: Fix data / filesystem corruption when write fails to copy data\n  ext4: Support for 64-bit quota format\n  ext3: Support for vfsv1 quota format\n  quota: Implement quota format with 64-bit space and inode limits\n  quota: Move definition of QFMT_OCFS2 to linux/quota.h\n  ext2: fix comment in ext2_find_entry about return values\n  ext3: Unify log messages in ext3\n  ext2: clear uptodate flag on super block I/O error\n  ext2: Unify log messages in ext2\n  ext3: make \"norecovery\" an alias for \"noload\"\n  ext3: Don\u0027t update the superblock in ext3_statfs()\n  ext3: journal all modifications in ext3_xattr_set_handle\n  ext2: Explicitly assign values to on-disk enum of filetypes\n  quota: Fix WARN_ON in lookup_one_len\n  const: struct quota_format_ops\n  ubifs: remove manual O_SYNC handling\n  afs: remove manual O_SYNC handling\n  kill wait_on_page_writeback_range\n  vfs: Implement proper O_SYNC semantics\n  ...\n"
    },
    {
      "commit": "f58df54a54451c5feb2fdc4bc2f4fb12cf79be01",
      "tree": "930b5892717ce84de93508407ebc35757bbc5ea0",
      "parents": [
        "748e566b7e24541e05e3e70be311887a1262f2a1",
        "3589972e51fac1e02d0aaa576fa47f568cb94d40"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:24:56 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:24:56 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (27 commits)\n  Driver core: fix race in dev_driver_string\n  Driver Core: Early platform driver buffer\n  sysfs: sysfs_setattr remove unnecessary permission check.\n  sysfs: Factor out sysfs_rename from sysfs_rename_dir and sysfs_move_dir\n  sysfs: Propagate renames to the vfs on demand\n  sysfs: Gut sysfs_addrm_start and sysfs_addrm_finish\n  sysfs: In sysfs_chmod_file lazily propagate the mode change.\n  sysfs: Implement sysfs_getattr \u0026 sysfs_permission\n  sysfs: Nicely indent sysfs_symlink_inode_operations\n  sysfs: Update s_iattr on link and unlink.\n  sysfs: Fix locking and factor out sysfs_sd_setattr\n  sysfs: Simplify iattr time assignments\n  sysfs: Simplify sysfs_chmod_file semantics\n  sysfs: Use dentry_ops instead of directly playing with the dcache\n  sysfs: Rename sysfs_d_iput to sysfs_dentry_iput\n  sysfs: Update sysfs_setxattr so it updates secdata under the sysfs_mutex\n  debugfs: fix create mutex racy fops and private data\n  Driver core: Don\u0027t remove kobjects in device_shutdown.\n  firmware_class: make request_firmware_nowait more useful\n  Driver-Core: devtmpfs - set root directory mode to 0755\n  ...\n"
    },
    {
      "commit": "748e566b7e24541e05e3e70be311887a1262f2a1",
      "tree": "41cc3a9aa04918cc17efa575baf6dbf87f40ddba",
      "parents": [
        "5f1141eb352ea79d849920039503e40dd623fffa",
        "acf509ae28301d78b022c534c26b1e4765c18f2b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:22:55 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:22:55 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (122 commits)\n  USB: mos7840: add device IDs for B\u0026B electronics devices\n  USB: ftdi_sio: add USB device ID\u0027s for B\u0026B Electronics line\n  USB: musb: musb_host: fix sparse warning\n  USB: musb: musb_gadget: fix sparse warning\n  USB: musb: omap2430: fix sparse warning\n  USB: core: message: fix sparse warning\n  USB: core: hub: fix sparse warning\n  USB: core: fix sparse warning for static function\n  USB: Added USB_ETH_RNDIS to use instead of CONFIG_USB_ETH_RNDIS\n  USB: Check bandwidth when switching alt settings.\n  USB: Refactor code to find alternate interface settings.\n  USB: xhci: Fix command completion after a drop endpoint.\n  USB: xhci: Make reverting an alt setting \"unfailable\".\n  USB: usbtmc: Use usb_clear_halt() instead of custom code.\n  USB: xhci: Add correct email and files to MAINTAINERS entry.\n  USB: ehci-omap.c: introduce missing kfree\n  USB: xhci-mem.c: introduce missing kfree\n  USB: add remove_id sysfs attr for usb drivers\n  USB: g_multi kconfig: fix depends and help text\n  USB: option: add pid for ZTE\n  ...\n"
    },
    {
      "commit": "eeb89d918c2fa2b809e464136bbafdaec2aacb30",
      "tree": "d811f53e0182c40a793b948e72739040670f97c8",
      "parents": [
        "e8c62103fd5fecc8d2086bae244b32d089892175"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Nov 30 13:18:29 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 15:18:08 2009 -0800"
      },
      "message": "tty: push the BKL down into the handlers a bit\n\nStart trying to untangle the remaining BKL mess\n\nUpdated to fix missing unlock_kernel noted by Dan Carpenter\n\nSigned-off-by: Alan \"I must be out of my tree\" Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6ed847d8efd08658ece10c9129cd511c8d7452cd",
      "tree": "9c32476496a46fa6671ac212324a11b177578a67",
      "parents": [
        "baaa08acb0ca2df47830b58b5df8b9059cf9ddd2"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Nov 30 13:17:30 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 15:18:07 2009 -0800"
      },
      "message": "tty: isicom: sort out the board init logic\n\nSplit this into two flags - INIT meaning the board is set up and ACTIVE\nmeaning the board has ports open. Remove the broken HUPCL casing and push\nthe counts somewhere sensible.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "568aafc627e2978509e8a80c640ba534d1e843cc",
      "tree": "1a24c5c0fc3a56054fa054a0255c04e5b7848daa",
      "parents": [
        "338818fd802a6baacb7e5b6910d52c8996ca6d28"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Nov 30 13:17:14 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 15:18:07 2009 -0800"
      },
      "message": "tty: tty_port: Add a kref object to the tty port\n\nUsers of tty port need a way to refcount ports when hotplugging is\ninvolved.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "44e4909e453eaa09c7de409fc9ee4ebefd986c1c",
      "tree": "5bad1ed70f24c7cedd61a7664afe3706abab4e2f",
      "parents": [
        "1f100b323d19469b06a63ccd6130ed71760145cc"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Nov 30 13:16:41 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 15:18:06 2009 -0800"
      },
      "message": "tty: tty_port: Change the buffer allocator locking\n\nWe want to be able to do this without regard for the activate/own open\nmethod being used which causes a problem using port-\u003emutex. Add another\nmutex for now. Once everything uses port_open to do buffer allocs we can\nkill it back off\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "82fc5943430e3cbf15033ed4186a73f90906345d",
      "tree": "16e8168424072f02cba69c64bedf5d52915c9eda",
      "parents": [
        "e1108a63e10d344284011cccc06328b2cd3e5da3"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Tue Oct 06 16:06:46 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 15:18:04 2009 -0800"
      },
      "message": "usb_serial: Kill port mutex\n\nThe tty port has a port mutex used for all the port related locking so we\ndon\u0027t need the one in the USB serial layer any more.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "64bc397914265a9ead8d73b63bb31ab3bdd25f67",
      "tree": "dc96d1737d3d70bbdebaea7e0f0aedd1377e1000",
      "parents": [
        "894cb91770f7794f1a17db4df2d83999b197da24"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Tue Oct 06 16:06:11 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 15:18:04 2009 -0800"
      },
      "message": "tty_port: add \"tty_port_open\" helper\n\nFor the moment this just moves the USB logic over and fixes the \u0027what if\nwe open and hangup at the same time\u0027 race noticed by Oliver Neukum.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "f53a2ade0bb9f2a81f473e6469155172a96b7c38",
      "tree": "860c15fa2bcedb8ecb646bd64144770a8e2618ff",
      "parents": [
        "1cceefd3a28e54c0777fe544e1fd32253b2a1de5"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Fri Oct 09 12:56:41 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 15:18:03 2009 -0800"
      },
      "message": "tty: esp: remove broken driver\n\nThe ESP driver has been marked broken for years. It\u0027s an old ISA device\nthat clearly nobody cares about any more. Remove it\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "aad3bf04dca5a2147a8406f7aef5703ee5259a52",
      "tree": "558d5915ddceab6bb47ed844dea9386c6036d087",
      "parents": [
        "11bd04f6f35621193311c32e0721142b073a7794",
        "aa65607373a4daf2010e8c3867b6317619f3c1a3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 12:23:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 12:23:29 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/viro/mmap\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/viro/mmap:\n  Add missing alignment check in arch/score sys_mmap()\n  fix broken aliasing checks for MAP_FIXED on sparc32, mips, arm and sh\n  Get rid of open-coding in ia64_brk()\n  sparc_brk() is not needed anymore\n  switch do_brk() to get_unmapped_area()\n  Take arch_mmap_check() into get_unmapped_area()\n  fix a struct file leak in do_mmap_pgoff()\n  Unify sys_mmap*\n  Cut hugetlb case early for 32bit on ia64\n  arch_mmap_check() on mn10300\n  Kill ancient crap in s390 compat mmap\n  arm: add arch_mmap_check(), get rid of sys_arm_mremap()\n  file -\u003eget_unmapped_area() shouldn\u0027t duplicate work of get_unmapped_area()\n  kill useless checks in sparc mremap variants\n  fix pgoff in \"have to relocate\" case of mremap()\n  fix the arch checks in MREMAP_FIXED case\n  fix checks for expand-in-place mremap\n  do_mremap() untangling, part 3\n  do_mremap() untangling, part 2\n  untangling do_mremap(), part 1\n"
    },
    {
      "commit": "11bd04f6f35621193311c32e0721142b073a7794",
      "tree": "00979740582bb26e8d3756bf3526c85f19f66a46",
      "parents": [
        "4e2ccdb0409146f8cf64a11b6ef82a9c928ced2a",
        "9e0b5b2c447ad0caa075a5cfef86def62e1782ff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 12:18:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 12:18:16 2009 -0800"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (109 commits)\n  PCI: fix coding style issue in pci_save_state()\n  PCI: add pci_request_acs\n  PCI: fix BUG_ON triggered by logical PCIe root port removal\n  PCI: remove ifdefed pci_cleanup_aer_correct_error_status\n  PCI: unconditionally clear AER uncorr status register during cleanup\n  x86/PCI: claim SR-IOV BARs in pcibios_allocate_resource\n  PCI: portdrv: remove redundant definitions\n  PCI: portdrv: remove unnecessary struct pcie_port_data\n  PCI: portdrv: minor cleanup for pcie_port_device_register\n  PCI: portdrv: add missing irq cleanup\n  PCI: portdrv: enable device before irq initialization\n  PCI: portdrv: cleanup service irqs initialization\n  PCI: portdrv: check capabilities first\n  PCI: portdrv: move PME capability check\n  PCI: portdrv: remove redundant pcie type calculation\n  PCI: portdrv: cleanup pcie_device registration\n  PCI: portdrv: remove redundant pcie_port_device_probe\n  PCI: Always set prefetchable base/limit upper32 registers\n  PCI: read-modify-write the pcie device control register when initiating pcie flr\n  PCI: show dma_mask bits in /sys\n  ...\n\nFixed up conflicts in:\n\tarch/x86/kernel/amd_iommu_init.c\n\tdrivers/pci/dmar.c\n\tdrivers/pci/hotplug/acpiphp_glue.c\n"
    },
    {
      "commit": "91017f9cf5fcfb601b8d583c896ac7de7d200c57",
      "tree": "ca601c606ded366e14df0ac019ecd4c43c5b11d9",
      "parents": [
        "06df572909080786e128eabdb2e39a12bce239de"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Dec 03 09:44:34 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:55:27 2009 -0800"
      },
      "message": "USB: Refactor code to find alternate interface settings.\n\nRefactor out the code to find alternate interface settings into\nusb_find_alt_setting().  Print a debugging message and return null if the\nalt setting is not found.\n\nWhile we\u0027re at it, correct a bug in the refactored code.  The interfaces\nin the configuration\u0027s interface cache are not necessarily in numerical\norder, so we can\u0027t just use the interface number as an array index.  Loop\nthrough the interface caches, looking for the correct interface.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a0bb108112a872c0b0c4b3ef4974f95fb75b155d",
      "tree": "86f7327949289b70960f57b07b99054e240a91e4",
      "parents": [
        "8e4ceb38eb5bbaef22fc00abe9bc11e26bea2ab5"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Dec 07 16:39:16 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:55:26 2009 -0800"
      },
      "message": "USB: usb-storage: add BAD_SENSE flag\n\nThis patch (as1311) fixes a problem in usb-storage: Some devices are\npretty broken when it comes to reporting sense data.  The information\nthey send back indicates that they have more than 18 bytes of sense\ndata available, but when the system asks for more than 18 they fail or\nhang.  The symptom is that probing fails with multiple resets.\n\nThe patch adds a new BAD_SENSE flag to indicate that usb-storage\nshould never ask for more than 18 bytes of sense data.  The flag can\nbe set in an unusual_devs entry or via the \"quirks\u003d\" module parameter,\nand it is set automatically whenever a REQUEST SENSE command for more\nthan 18 bytes fails or times out.\n\nAn unusual_devs entry is added for the Agfa photo frame, which uses a\nProlific chip having this bug.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nTested-by: Daniel Kukula \u003cdaniel.kuku@gmail.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8e4ceb38eb5bbaef22fc00abe9bc11e26bea2ab5",
      "tree": "7cb5fee6c50add1094aed430d46afeb2c7689b51",
      "parents": [
        "9af23624ae2c7978313b46e58fdc4ca5d8b799f5"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Dec 07 13:01:37 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:55:25 2009 -0800"
      },
      "message": "USB: prepare for changover to Runtime PM framework\n\nThis patch (as1303) revises the USB Power Management infrastructure to\nmake it compatible with the new driver-model Runtime PM framework:\n\n\tDrivers are no longer allowed to access intf-\u003epm_usage_cnt\n\tdirectly; the PM framework manages its own usage counters.\n\n\tusb_autopm_set_interface() is eliminated, because it directly\n\tsets intf-\u003epm_usage_cnt.\n\n\tusb_autopm_enable() and usb_autopm_disable() are eliminated,\n\tbecause they call usb_autopm_set_interface().\n\n\tusb_autopm_get_interface_no_resume() and\n\tusb_autopm_put_interface_no_suspend() are added.  They\n\tcorrespond to pm_runtime_get_noresume() and\n\tpm_runtime_put_noidle() in the PM framework.\n\n\tThe power/level attribute no longer accepts \"suspend\", only\n\t\"on\" and \"auto\".  The PM framework doesn\u0027t allow devices to be\n\tforced into a suspended mode.\n\nThe hub driver contains the only code that violates the new\nguidelines.  It is updated to use the new interface routines instead.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fb34d53752d5bec5acc73422e462a9c68aeeaa2a",
      "tree": "6a395f2a0246cd3d721753c60af13e8f9b2e9c41",
      "parents": [
        "576a362ad2103da481e1f6e13de01f33d3d4c7b1"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Nov 13 11:53:59 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:55:21 2009 -0800"
      },
      "message": "USB: remove the auto_pm flag\n\nThis patch (as1302) removes the auto_pm flag from struct usb_device.\nThe flag\u0027s only purpose was to distinguish between autosuspends and\nexternal suspends, but that information is now available in the\npm_message_t argument passed to suspend methods.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2d57a95f09cf71c4c642e5be15f8b700d17ee90c",
      "tree": "d763a90863734367fa97fc3e9809696e349101a3",
      "parents": [
        "91c8a5a9985d5bf9c55f6f82f183f57b050b2a3a"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Thu Oct 15 17:09:35 2009 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:55:16 2009 -0800"
      },
      "message": "USB OTG: Add generic driver for ULPI OTG transceiver\n\nThis adds a minimal generic driver for ULPI connected transceivers,\nusing the OTG framework functions recently introduced.\n\nThe driver got a table to match the ULPI chips, which currently only has\none entry for NXP\u0027s ISP 1504 transceiver.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Heikki Krogerus \u003cext-heikki.krogerus@nokia.com\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "91c8a5a9985d5bf9c55f6f82f183f57b050b2a3a",
      "tree": "e7154eca2ca6356889b407c0334bffbc516155d7",
      "parents": [
        "c3f22d92a1249665d4cd87a68a4078a56002c3ab"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Thu Oct 15 17:09:34 2009 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:55:16 2009 -0800"
      },
      "message": "USB OTG: add support for ulpi connected external transceivers\n\nThis adds support for OTG transceivers directly connected to the ULPI\ninterface. In particular, the following details are added\n\n- a struct for low level io functions (read/write)\n- a priv field to be used as \u0027viewport\u0027 by low level access functions\n- an (*init) and (*shutdown) callbacks, along with static inline helpers\n- a (*set_vbus) callback to switch the port power on and off\n- a flags field for per-transceiver settings\n- some defines for the flags bitmask to configure platform specific\n  details\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Heikki Krogerus \u003cext-heikki.krogerus@nokia.com\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5242658d1b97771d658991cf29be32bcf81d5859",
      "tree": "a2f5b2afd848619915aa8e1f3cfeb3c94289b20b",
      "parents": [
        "4de84057598599bbf90bf1deae923bc33f571475"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Wed Oct 21 00:03:38 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:55:15 2009 -0800"
      },
      "message": "USB gadget: Handle endpoint requests at the function level\n\nControl requests targeted at an endpoint (that is sent to EP0 but\nspecifying the target endpoint address in wIndex) are dispatched to the\ncurrent configuration\u0027s setup callback, requiring all gadget drivers to\ndispatch the requests to the correct function driver.\n\nTo avoid this, record which endpoints are used by each function in the\ncomposite driver SET CONFIGURATION handler and dispatch requests\ntargeted at endpoints to the correct function.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4c1bd3d7a7d114dabd58f62f386ac4bfd268be1f",
      "tree": "1c8d7d6df693c71ac0b3dcc4124498d91c939f2d",
      "parents": [
        "09ce497e79a930ac4912d6bc295baab82b39f8ab"
      ],
      "author": {
        "name": "David Vrabel",
        "email": "david.vrabel@csr.com",
        "time": "Mon Aug 24 14:44:30 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:55:14 2009 -0800"
      },
      "message": "USB: make urb scatter-gather support more generic\n\nThe WHCI HCD will also support urbs with scatter-gather lists.  Add a\nusb_bus field to indicated how many sg list elements are supported by\nthe HCD.  Use this to decide whether to pass the scatter-list to the HCD\nor not.\n\nMake the usb-storage driver use this new field.\n\nSigned-off-by: David Vrabel \u003cdavid.vrabel@csr.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: Matthew Dharm \u003cmdharm-usb@one-eyed-alien.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4e2ccdb0409146f8cf64a11b6ef82a9c928ced2a",
      "tree": "986896cc558ae23017e79ab08eb55b25c3a54549",
      "parents": [
        "3ef884b4c04e857c283cc77ca70ad8f638d94b0e",
        "a694291a6211537189c6080f77f63cdabfc9b63e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 11:49:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 11:49:18 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: (49 commits)\n  nilfs2: separate wait function from nilfs_segctor_write\n  nilfs2: add iterator for segment buffers\n  nilfs2: hide nilfs_write_info struct in segment buffer code\n  nilfs2: relocate io status variables to segment buffer\n  nilfs2: do not return io error for bio allocation failure\n  nilfs2: use list_splice_tail or list_splice_tail_init\n  nilfs2: replace mark_inode_dirty as nilfs_mark_inode_dirty\n  nilfs2: delete mark_inode_dirty in nilfs_delete_entry\n  nilfs2: delete mark_inode_dirty in nilfs_commit_chunk\n  nilfs2: change return type of nilfs_commit_chunk\n  nilfs2: split nilfs_unlink as nilfs_do_unlink and nilfs_unlink\n  nilfs2: delete redundant mark_inode_dirty\n  nilfs2: expand inode_inc_link_count and inode_dec_link_count\n  nilfs2: delete mark_inode_dirty from nilfs_set_link\n  nilfs2: delete mark_inode_dirty in nilfs_new_inode\n  nilfs2: add norecovery mount option\n  nilfs2: add helper to get if volume is in a valid state\n  nilfs2: move recovery completion into load_nilfs function\n  nilfs2: apply readahead for recovery on mount\n  nilfs2: clean up get/put function of a segment usage\n  ...\n"
    },
    {
      "commit": "c60e0504c8e4fa14179d0687d80ef25148dd6dd4",
      "tree": "01e8ba58e367cb6bd2ae4ee334265e5bd2800769",
      "parents": [
        "e16acb503b42ef241a9396de7c5a1614c74d8ca6"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@opensource.se",
        "time": "Fri Nov 27 17:38:51 2009 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:55 2009 -0800"
      },
      "message": "Driver Core: Early platform driver buffer\n\nAdd early_platform_init_buffer() support and update the\nearly platform driver code to allow passing parameters\nto the driver on the kernel command line.\n\nearly_platform_init_buffer() simply allows early platform\ndrivers to provide a pointer and length to a memory area\nwhere the remaining part of the kernel command line option\nwill be stored.\n\nNeeded to pass baud rate and other serial port options\nto the reworked early serial console code on SuperH.\n\nSigned-off-by: Magnus Damm \u003cdamm@opensource.se\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    }
  ],
  "next": "832b6af198aefe6034310e124594cc8b833c0ef9"
}
