)]}'
{
  "log": [
    {
      "commit": "4b0d1a0b1fd7248d0fc341d00ed908c7373c7788",
      "tree": "7ba1dad63482c9a3d4461ec324aef9f909e73f49",
      "parents": [
        "8de65c2aaa1faf8e57e1b29b4265b6a57fae4136",
        "a9802d43f205faa2fff422502a1336a50b9615c3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 21 17:47:33 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 21 17:47:33 2012 -0500"
      },
      "message": "Merge branch \u0027for-davem\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next\n"
    },
    {
      "commit": "a9802d43f205faa2fff422502a1336a50b9615c3",
      "tree": "57152d6c84556320570802d01bbe04cefd8a2a7d",
      "parents": [
        "0b0a635f79f91f3755b6518627ea06dd0dbfd523",
        "ca994a36f585432458ead9133fcfe05440edbb7b"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Feb 21 15:06:35 2012 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Feb 21 15:06:35 2012 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem\n"
    },
    {
      "commit": "ef64a54f6e558155b4f149bb10666b9e914b6c54",
      "tree": "bd7adba8d802aff2aaec0f5f2a9e2ba5431cafcc",
      "parents": [
        "da5ef6e51b327b41180b5d1000c06e8d3595a936"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Tue Feb 21 07:31:34 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 21 15:03:48 2012 -0500"
      },
      "message": "sock: Introduce the SO_PEEK_OFF sock option\n\nThis one specifies where to start MSG_PEEK-ing queue data from. When\nset to negative value means that MSG_PEEK works as ususally -- peeks\nfrom the head of the queue always.\n\nWhen some bytes are peeked from queue and the peeking offset is non\nnegative it is moved forward so that the next peek will return next\nportion of data.\n\nWhen non-peeking recvmsg occurs and the peeking offset is non negative\nis is moved backward so that the next peek will still peek the proper\ndata (i.e. the one that would have been picked if there were no non\npeeking recv in between).\n\nThe offset is set using per-proto opteration to let the protocol handle\nthe locking issues and to check whether the peeking offset feature is\nsupported by the protocol the socket belongs to.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fa63c6da22b4a6ea6e7d04e3dc9178dd72304903",
      "tree": "6b3ece0cb2f9648c04089ed610e823cd96af258d",
      "parents": [
        "772301b6187a88359b9514bdd023becf31e7f013"
      ],
      "author": {
        "name": "Danny Kukawka",
        "email": "danny.kukawka@bisect.de",
        "time": "Thu Feb 16 07:09:30 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 19 19:02:42 2012 -0500"
      },
      "message": "arch/blackfin: don\u0027t generate random mac in bfin_get_ether_addr()\n\nChanged bfin_get_ether_addr() to return a state and to\nset no random mac address if the board don\u0027t provide one.\n\nLet the caller of bfin_get_ether_addr() set a random mac\naddress if the return value is not 0.\n\nv2: don\u0027t set random mac in bfin_get_ether_addr()\n\nSigned-off-by: Danny Kukawka \u003cdanny.kukawka@bisect.de\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32efe08d77f5902ce7315fc9003c010ffffb8268",
      "tree": "40a88e6bae4e797cafce33f16a25e350c038f9bb",
      "parents": [
        "da1943164677ae2cdd630196b79089d476726348",
        "b01543dfe67bb1d191998e90d20534dc354de059"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 19 16:03:15 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 19 16:03:15 2012 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c\n\nSmall minor conflict in bnx2x, wherein one commit changed how\nstatistics were stored in software, and another commit\nfixed endianness bugs wrt. reading the values provided by\nthe chip in memory.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be2874cb4e625716fa9758ad122084da7764cad0",
      "tree": "68966366c698bac9e4fd5dc5d12aa4bc3aad98fc",
      "parents": [
        "584216b79ca684431ac6f961ae5cf0bb1d31024f",
        "a5368e770c9ec58b9d18378844c149df8513e7b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:40:00 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:40:00 2012 -0800"
      },
      "message": "Merge tag \u0027fixes-3.3-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nThese are the bug fixes that have accumulated since 3.3-rc3 in arm-soc.\nThe majority of them are regression fixes for stuff that broke during\nthe merge 3.3 window.\n\nThe notable ones are:\n\n* The at91 ata drivers both broke because of an earlier cleanup patch that\n  some other patches were based on. Jean-Christophe decided to remove\n  the legacy at91_ide driver and fix the new-style at91-pata driver while\n  keeping the cleanup patch. I almost rejected the patches for being too\n  late and too big but in the end decided to accept them because they\n  fix a regression.\n\n* A patch fixing build breakage from the sysdev-to-device conversion\n  colliding with other changes touches a number of mach-s3c files.\n\n* b0654037 \"ARM: orion: Fix Orion5x GPIO regression from MPP cleanup\"\n  is a mechanical change that unfortunately touches a lot of lines\n  that should up in the diffstat.\n\n* tag \u0027fixes-3.3-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (28 commits)\n  ARM: at91: drop ide driver in favor of the pata one\n  pata/at91: use newly introduced SMC accessors\n  ARM: at91: add accessor to manage SMC\n  ARM: at91:rtc/rtc-at91sam9: ioremap register bank\n  ARM: at91: USB AT91 gadget registration for module\n  ep93xx: fix build of vision_ep93xx.c\n  ARM: OMAP2xxx: PM: fix OMAP2xxx-specific UART idle bug in v3.3\n  ARM: orion: Fix USB phy for orion5x.\n  ARM: orion: Fix Orion5x GPIO regression from MPP cleanup\n  ARM: EXYNOS: Add cpu-offset property in gic device tree node\n  ARM: EXYNOS: Bring exynos4-dt up to date\n  ARM: OMAP3: cm-t35: fix section mismatch warning\n  ARM: OMAP2: Fix the OMAP2 only build break seen with 2011+ ARM tool-chains\n  ARM: tegra: paz00: fix wrong UART port on mini-pcie plug\n  ARM: tegra: paz00: fix wrong SD1 power gpio\n  i2c: tegra: Add devexit_p() for remove\n  ARM: EXYNOS: Correct M-5MOLS sensor clock frequency on Universal C210 board\n  ARM: EXYNOS: Correct framebuffer window size on Nuri board\n  ARM: SAMSUNG: Fix missing api-change from subsys_interface change\n  ARM: EXYNOS: Fix \"warning: initialization from incompatible pointer type\"\n  ...\n"
    },
    {
      "commit": "06ca7c4376b779e6cb11527abc4f609ddca35b58",
      "tree": "3762945d93d82c1489d1ef254941d2af0c5fdc57",
      "parents": [
        "7bcd5b4671c3aa9185a7e6f76ee12e392070ddea",
        "9a45a9407c69d068500923480884661e2b9cc421"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:26:37 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:26:37 2012 -0800"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\nHere are a few more fixes for powerpc.  Some are regressions, the rest\nis simple/obvious/nasty enough that I deemed it good to go now.\n\nHere\u0027s also step one of deprecating legacy iSeries support: we are\nremoving it from the main defconfig.\n\nNobody seems to be using it anymore and the code is nasty to maintain,\n(involves horrible hacks in various low level areas of the kernel) so we\nplan to actually rip it out at some point.  For now let\u0027s just avoid\nbuilding it by default.  Stephen will proceed to do the actual removal\nlater (probably 3.4 or 3.5).\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:\n  powerpc/perf: power_pmu_start restores incorrect values, breaking frequency events\n  powerpc/adb: Use set_current_state()\n  powerpc: Disable interrupts early in Program Check\n  powerpc: Remove legacy iSeries from ppc64_defconfig\n  powerpc/fsl/pci: Fix PCIe fixup regression\n  powerpc: Fix kernel log of oops/panic instruction dump\n"
    },
    {
      "commit": "34ddc81a230b15c0e345b6b253049db731499f7e",
      "tree": "0c3afd68071ec1a8a1d8724ef9a42ef845ecf402",
      "parents": [
        "f94edacf998516ac9d849f7bc6949a703977a7f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 12:56:35 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 14:03:48 2012 -0800"
      },
      "message": "i387: re-introduce FPU state preloading at context switch time\n\nAfter all the FPU state cleanups and finally finding the problem that\ncaused all our FPU save/restore problems, this re-introduces the\npreloading of FPU state that was removed in commit b3b0870ef3ff (\"i387:\ndo not preload FPU state at task switch time\").\n\nHowever, instead of simply reverting the removal, this reimplements\npreloading with several fixes, most notably\n\n - properly abstracted as a true FPU state switch, rather than as\n   open-coded save and restore with various hacks.\n\n   In particular, implementing it as a proper FPU state switch allows us\n   to optimize the CR0.TS flag accesses: there is no reason to set the\n   TS bit only to then almost immediately clear it again.  CR0 accesses\n   are quite slow and expensive, don\u0027t flip the bit back and forth for\n   no good reason.\n\n - Make sure that the same model works for both x86-32 and x86-64, so\n   that there are no gratuitous differences between the two due to the\n   way they save and restore segment state differently due to\n   architectural differences that really don\u0027t matter to the FPU state.\n\n - Avoid exposing the \"preload\" state to the context switch routines,\n   and in particular allow the concept of lazy state restore: if nothing\n   else has used the FPU in the meantime, and the process is still on\n   the same CPU, we can avoid restoring state from memory entirely, just\n   re-expose the state that is still in the FPU unit.\n\n   That optimized lazy restore isn\u0027t actually implemented here, but the\n   infrastructure is set up for it.  Of course, older CPU\u0027s that use\n   \u0027fnsave\u0027 to save the state cannot take advantage of this, since the\n   state saving also trashes the state.\n\nIn other words, there is now an actual _design_ to the FPU state saving,\nrather than just random historical baggage.  Hopefully it\u0027s easier to\nfollow as a result.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f94edacf998516ac9d849f7bc6949a703977a7f3",
      "tree": "4a5c5487d86f3b3873b8ca1ba1c0b00b832870ad",
      "parents": [
        "4903062b5485f0e2c286a23b44c9b59d9b017d53"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 17 21:48:54 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 10:19:41 2012 -0800"
      },
      "message": "i387: move TS_USEDFPU flag from thread_info to task_struct\n\nThis moves the bit that indicates whether a thread has ownership of the\nFPU from the TS_USEDFPU bit in thread_info-\u003estatus to a word of its own\n(called \u0027has_fpu\u0027) in task_struct-\u003ethread.has_fpu.\n\nThis fixes two independent bugs at the same time:\n\n - changing \u0027thread_info-\u003estatus\u0027 from the scheduler causes nasty\n   problems for the other users of that variable, since it is defined to\n   be thread-synchronous (that\u0027s what the \"TS_\" part of the naming was\n   supposed to indicate).\n\n   So perfectly valid code could (and did) do\n\n\tti-\u003estatus |\u003d TS_RESTORE_SIGMASK;\n\n   and the compiler was free to do that as separate load, or and store\n   instructions.  Which can cause problems with preemption, since a task\n   switch could happen in between, and change the TS_USEDFPU bit. The\n   change to TS_USEDFPU would be overwritten by the final store.\n\n   In practice, this seldom happened, though, because the \u0027status\u0027 field\n   was seldom used more than once, so gcc would generally tend to\n   generate code that used a read-modify-write instruction and thus\n   happened to avoid this problem - RMW instructions are naturally low\n   fat and preemption-safe.\n\n - On x86-32, the current_thread_info() pointer would, during interrupts\n   and softirqs, point to a *copy* of the real thread_info, because\n   x86-32 uses %esp to calculate the thread_info address, and thus the\n   separate irq (and softirq) stacks would cause these kinds of odd\n   thread_info copy aliases.\n\n   This is normally not a problem, since interrupts aren\u0027t supposed to\n   look at thread information anyway (what thread is running at\n   interrupt time really isn\u0027t very well-defined), but it confused the\n   heck out of irq_fpu_usable() and the code that tried to squirrel\n   away the FPU state.\n\n   (It also caused untold confusion for us poor kernel developers).\n\nIt also turns out that using \u0027task_struct\u0027 is actually much more natural\nfor most of the call sites that care about the FPU state, since they\ntend to work with the task struct for other reasons anyway (ie\nscheduling).  And the FPU data that we are going to save/restore is\nfound there too.\n\nThanks to Arjan Van De Ven \u003carjan@linux.intel.com\u003e for pointing us to\nthe %esp issue.\n\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nReported-and-tested-by: Raphael Prevost \u003craphael@buro.asia\u003e\nAcked-and-tested-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nTested-by: Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "95f2054f167f7da72b0771984dbb2bec612740d0",
      "tree": "20480035754898da3f36f4a5cd0c74dd3c5fc609",
      "parents": [
        "6a214fd4142d585ef2226e8ef6bc29a15403506f"
      ],
      "author": {
        "name": "Danny Kukawka",
        "email": "danny.kukawka@bisect.de",
        "time": "Fri Feb 17 16:05:03 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 17 16:05:03 2012 -0500"
      },
      "message": "UML net: set addr_assign_type if random_ether_addr() used\n\nSet addr_assign_type correctly to NET_ADDR_RANDOM in case\na random MAC address was generated and assigned to the netdevice.\n\nReturn state from setup_etheraddr() about returning a random\nMAC address or not and check this state in eth_configure().\n\nSigned-off-by: Danny Kukawka \u003cdanny.kukawka@bisect.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4903062b5485f0e2c286a23b44c9b59d9b017d53",
      "tree": "c521dd28c5aa409dcd76ca8a522886fa3c272a31",
      "parents": [
        "b3b0870ef3ffed72b92415423da864f440f57ad6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 16 19:11:15 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 16 19:11:15 2012 -0800"
      },
      "message": "i387: move AMD K7/K8 fpu fxsave/fxrstor workaround from save to restore\n\nThe AMD K7/K8 CPUs don\u0027t save/restore FDP/FIP/FOP unless an exception is\npending.  In order to not leak FIP state from one process to another, we\nneed to do a floating point load after the fxsave of the old process,\nand before the fxrstor of the new FPU state.  That resets the state to\nthe (uninteresting) kernel load, rather than some potentially sensitive\nuser information.\n\nWe used to do this directly after the FPU state save, but that is\nactually very inconvenient, since it\n\n (a) corrupts what is potentially perfectly good FPU state that we might\n     want to lazy avoid restoring later and\n\n (b) on x86-64 it resulted in a very annoying ordering constraint, where\n     \"__unlazy_fpu()\" in the task switch needs to be delayed until after\n     the DS segment has been reloaded just to get the new DS value.\n\nCoupling it to the fxrstor instead of the fxsave automatically avoids\nboth of these issues, and also ensures that we only do it when actually\nnecessary (the FP state after a save may never actually get used).  It\u0027s\nsimply a much more natural place for the leaked state cleanup.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3b0870ef3ffed72b92415423da864f440f57ad6",
      "tree": "b3e128019581669d44e6634d3b1bfb169c73598d",
      "parents": [
        "6d59d7a9f5b723a7ac1925c136e93ec83c0c3043"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 16 15:45:23 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 16 15:45:23 2012 -0800"
      },
      "message": "i387: do not preload FPU state at task switch time\n\nYes, taking the trap to re-load the FPU/MMX state is expensive, but so\nis spending several days looking for a bug in the state save/restore\ncode.  And the preload code has some rather subtle interactions with\nboth paravirtualization support and segment state restore, so it\u0027s not\nnearly as simple as it should be.\n\nAlso, now that we no longer necessarily depend on a single bit (ie\nTS_USEDFPU) for keeping track of the state of the FPU, we migth be able\nto do better.  If we are really switching between two processes that\nkeep touching the FP state, save/restore is inevitable, but in the case\nof having one process that does most of the FPU usage, we may actually\nbe able to do much better than the preloading.\n\nIn particular, we may be able to keep track of which CPU the process ran\non last, and also per CPU keep track of which process\u0027 FP state that CPU\nhas.  For modern CPU\u0027s that don\u0027t destroy the FPU contents on save time,\nthat would allow us to do a lazy restore by just re-enabling the\nexisting FPU state - with no restore cost at all!\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d59d7a9f5b723a7ac1925c136e93ec83c0c3043",
      "tree": "9478d5c1cc3a3f85cc937d8d6ddaad926af7e830",
      "parents": [
        "b6c66418dcad0fcf83cd1d0a39482db37bf4fc41"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 16 13:33:12 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 16 13:33:12 2012 -0800"
      },
      "message": "i387: don\u0027t ever touch TS_USEDFPU directly, use helper functions\n\nThis creates three helper functions that do the TS_USEDFPU accesses, and\nmakes everybody that used to do it by hand use those helpers instead.\n\nIn addition, there\u0027s a couple of helper functions for the \"change both\nCR0.TS and TS_USEDFPU at the same time\" case, and the places that do\nthat together have been changed to use those.  That means that we have\nfewer random places that open-code this situation.\n\nThe intent is partly to clarify the code without actually changing any\nsemantics yet (since we clearly still have some hard to reproduce bug in\nthis area), but also to make it much easier to use another approach\nentirely to caching the CR0.TS bit for software accesses.\n\nRight now we use a bit in the thread-info \u0027status\u0027 variable (this patch\ndoes not change that), but we might want to make it a full field of its\nown or even make it a per-cpu variable.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6c66418dcad0fcf83cd1d0a39482db37bf4fc41",
      "tree": "0a23207a2ab766341fbf60d76b2c10984ec6e5ca",
      "parents": [
        "15d8791cae75dca27bfda8ecfe87dca9379d6bb0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 16 12:22:48 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 16 12:22:48 2012 -0800"
      },
      "message": "i387: move TS_USEDFPU clearing out of __save_init_fpu and into callers\n\nTouching TS_USEDFPU without touching CR0.TS is confusing, so don\u0027t do\nit.  By moving it into the callers, we always do the TS_USEDFPU next to\nthe CR0.TS accesses in the source code, and it\u0027s much easier to see how\nthe two go hand in hand.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "15d8791cae75dca27bfda8ecfe87dca9379d6bb0",
      "tree": "e8e2cd53544eda0644ee141b6b0414e34d96f6be",
      "parents": [
        "c38e23456278e967f094b08247ffc3711b1029b2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 16 09:15:04 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 16 09:15:04 2012 -0800"
      },
      "message": "i387: fix x86-64 preemption-unsafe user stack save/restore\n\nCommit 5b1cbac37798 (\"i387: make irq_fpu_usable() tests more robust\")\nadded a sanity check to the #NM handler to verify that we never cause\nthe \"Device Not Available\" exception in kernel mode.\n\nHowever, that check actually pinpointed a (fundamental) race where we do\ncause that exception as part of the signal stack FPU state save/restore\ncode.\n\nBecause we use the floating point instructions themselves to save and\nrestore state directly from user mode, we cannot do that atomically with\ntesting the TS_USEDFPU bit: the user mode access itself may cause a page\nfault, which causes a task switch, which saves and restores the FP/MMX\nstate from the kernel buffers.\n\nThis kind of \"recursive\" FP state save is fine per se, but it means that\nwhen the signal stack save/restore gets restarted, it will now take the\n\u0027#NM\u0027 exception we originally tried to avoid.  With preemption this can\nhappen even without the page fault - but because of the user access, we\ncannot just disable preemption around the save/restore instruction.\n\nThere are various ways to solve this, including using the\n\"enable/disable_page_fault()\" helpers to not allow page faults at all\nduring the sequence, and fall back to copying things by hand without the\nuse of the native FP state save/restore instructions.\n\nHowever, the simplest thing to do is to just allow the #NM from kernel\nspace, but fix the race in setting and clearing CR0.TS that this all\nexposed: the TS bit changes and the TS_USEDFPU bit absolutely have to be\natomic wrt scheduling, so while the actual state save/restore can be\ninterrupted and restarted, the act of actually clearing/setting CR0.TS\nand the TS_USEDFPU bit together must not.\n\nInstead of just adding random \"preempt_disable/enable()\" calls to what\nis already excessively ugly code, this introduces some helper functions\nthat mostly mirror the \"kernel_fpu_begin/end()\" functionality, just for\nthe user state instead.\n\nThose helper functions should probably eventually replace the other\nad-hoc CR0.TS and TS_USEDFPU tests too, but I\u0027ll need to think about it\nsome more: the task switching functionality in particular needs to\nexpose the difference between the \u0027prev\u0027 and \u0027next\u0027 threads, while the\nnew helper functions intentionally were written to only work with\n\u0027current\u0027.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a45a9407c69d068500923480884661e2b9cc421",
      "tree": "8ff43b5fd98ab68352dc4dd0823401a5736afab2",
      "parents": [
        "64f8c13561fbd2f1a8b4a8975b2aee73b561093e"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Feb 15 18:48:22 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Feb 16 16:24:35 2012 +1100"
      },
      "message": "powerpc/perf: power_pmu_start restores incorrect values, breaking frequency events\n\nperf on POWER stopped working after commit e050e3f0a71b (perf: Fix\nbroken interrupt rate throttling). That patch exposed a bug in\nthe POWER perf_events code.\n\nSince the PMCs count upwards and take an exception when the top bit\nis set, we want to write 0x80000000 - left in power_pmu_start. We were\ninstead programming in left which effectively disables the counter\nuntil we eventually hit 0x80000000. This could take seconds or longer.\n\nWith the patch applied I get the expected number of samples:\n\n          SAMPLE events:       9948\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "54321242afe6fcf8b7e589bc21ecf832bc5a206a",
      "tree": "dfc1d3bd73cd1c28421e27bbbbcad60368a69907",
      "parents": [
        "a1a1d1bfc9be2a5ea8cce78ebd0f17c79489f053"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Feb 13 20:42:18 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Feb 16 16:15:10 2012 +1100"
      },
      "message": "powerpc: Disable interrupts early in Program Check\n\nProgram Check exceptions are the result of WARNs, BUGs, some\ntype of breakpoints, kprobe, and other illegal instructions.\n\nWe want interrupts (and thus preemption) to remain disabled\nwhile doing the initial stage of testing the reason and\nbranching off to a debugger or kprobe, so we are still on\nthe original CPU which makes debugging easier in various cases.\n\nThis is how the code was intended, hence the local_irq_enable()\nright in the middle of program_check_exception().\n\nHowever, the assembly exception prologue for that exception was\nincorrectly marked as enabling interrupts, which defeats that\n(and records a redundant enable with lockdep).\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "a1a1d1bfc9be2a5ea8cce78ebd0f17c79489f053",
      "tree": "78a3d679a281096d34c8437e38547d3fcb0e3b2c",
      "parents": [
        "13635dfdc6aa8d2890e02dc441decfcb4ae63e14"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Feb 14 16:31:09 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Feb 16 16:15:08 2012 +1100"
      },
      "message": "powerpc: Remove legacy iSeries from ppc64_defconfig\n\nSince we are heading towards removing the Legacy iSeries platform, start\nby no longer building it for ppc64_defconfig.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "13635dfdc6aa8d2890e02dc441decfcb4ae63e14",
      "tree": "817d08d8b06183bccb28e0c829213f1fceab3b3a",
      "parents": [
        "40c8cefaaf12734327db7199a56e60058d98e7b6"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Feb 14 18:22:20 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Feb 16 16:15:03 2012 +1100"
      },
      "message": "powerpc/fsl/pci: Fix PCIe fixup regression\n\nUpstream changes to the way PHB resources are registered\nbroke the resource fixup for FSL boards.\n\nWe can no longer rely on the resource pointer array for the PHB\u0027s\npci_bus structure, so let\u0027s leave it alone and go straight for\nthe PHB resources instead. This also makes the code generally\nmore readable.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "40c8cefaaf12734327db7199a56e60058d98e7b6",
      "tree": "639b20e1e2229f3bcc03c5ef92dcfa7ca784cd65",
      "parents": [
        "778a785f02ad846446e91dab49331bd7d853c514"
      ],
      "author": {
        "name": "Ira Snyder",
        "email": "iws@ovro.caltech.edu",
        "time": "Fri Jan 06 12:34:07 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Feb 16 16:11:23 2012 +1100"
      },
      "message": "powerpc: Fix kernel log of oops/panic instruction dump\n\nA kernel oops/panic prints an instruction dump showing several\ninstructions before and after the instruction which caused the\noops/panic.\n\nThe code intended that the faulting instruction be enclosed in angle\nbrackets, however a bug caused the faulting instruction to be\ninterpreted by printk() as the message log level.\n\nTo fix this, the KERN_CONT log level is added before the actual text of\nthe printed message.\n\n\u003d\u003d\u003d Before the patch \u003d\u003d\u003d\n\n[ 1081.587266] Instruction dump:\n[ 1081.590236] 7c000110 7c0000f8 5400077c 552907f6 7d290378 992b0003 4e800020 38000001\n[ 1081.598034] 3d20c03a 9009a114 7c0004ac 39200000\n[ 1081.602500]  4e800020 3803ffd0 2b800009\n\n\u003c4\u003e[ 1081.587266] Instruction dump:\n\u003c4\u003e[ 1081.590236] 7c000110 7c0000f8 5400077c 552907f6 7d290378 992b0003 4e800020 38000001\n\u003c4\u003e[ 1081.598034] 3d20c03a 9009a114 7c0004ac 39200000\n\u003c98090000\u003e[ 1081.602500]  4e800020 3803ffd0 2b800009\n\n\u003d\u003d\u003d After the patch \u003d\u003d\u003d\n\n[   51.385216] Instruction dump:\n[   51.388186] 7c000110 7c0000f8 5400077c 552907f6 7d290378 992b0003 4e800020 38000001\n[   51.395986] 3d20c03a 9009a114 7c0004ac 39200000 \u003c98090000\u003e 4e800020 3803ffd0 2b800009\n\n\u003c4\u003e[   51.385216] Instruction dump:\n\u003c4\u003e[   51.388186] 7c000110 7c0000f8 5400077c 552907f6 7d290378 992b0003 4e800020 38000001\n\u003c4\u003e[   51.395986] 3d20c03a 9009a114 7c0004ac 39200000 \u003c98090000\u003e 4e800020 3803ffd0 2b800009\n\nSigned-off-by: Ira W. Snyder \u003ciws@ovro.caltech.edu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: linuxppc-dev@lists.ozlabs.org\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "ca994a36f585432458ead9133fcfe05440edbb7b",
      "tree": "be05512153a9cd5cbe1f1234bc09fd9cd388ec58",
      "parents": [
        "12325280dfeba18164f9c47e226a40ab34e23ee7",
        "2504a6423b9ab4c36df78227055995644de19edb"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Feb 15 16:24:37 2012 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Feb 15 16:24:37 2012 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless\n\nConflicts:\n\tnet/mac80211/debugfs_sta.c\n\tnet/mac80211/sta_info.h\n"
    },
    {
      "commit": "c38e23456278e967f094b08247ffc3711b1029b2",
      "tree": "ecd87e1fcd9c4e397d531081e45718cae132f7c1",
      "parents": [
        "7ada1dd62804ca9ce1cb8666c6e563cd92fa50c1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 15 08:05:18 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 15 08:05:18 2012 -0800"
      },
      "message": "i387: fix sense of sanity check\n\nThe check for save_init_fpu() (introduced in commit 5b1cbac37798: \"i387:\nmake irq_fpu_usable() tests more robust\") was the wrong way around, but\nI hadn\u0027t noticed, because my \"tests\" were bogus: the FPU exceptions are\ndisabled by default, so even doing a divide by zero never actually\ntriggers this code at all unless you do extra work to enable them.\n\nSo if anybody did enable them, they\u0027d get one spurious warning.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ebf4bcbd5f249afc8f48a7aa32255f8ebbff5876",
      "tree": "47fdb196fc109411d4524bf2c25d88a6d5470477",
      "parents": [
        "8b36ac50da8e12d0469a7268ddbd6cab29307deb",
        "778a785f02ad846446e91dab49331bd7d853c514"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 14 15:21:25 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 14 15:21:25 2012 -0800"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\nQuoth BenH:\n \"Here are a few powerpc fixes for 3.3, all pretty trivial.  I also\n  added the patch to define GET_IP/SET_IP so we can use some more\n  asm-generic goodness.\"\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:\n  powerpc/pseries/eeh: Fix crash when error happens during device probe\n  powerpc/pseries: Fix partition migration hang in stop_topology_update\n  powerpc/powernv: Disable interrupts while taking phb-\u003elock\n  powerpc: Fix WARN_ON in decrementer_check_overflow\n  powerpc/wsp: Fix IRQ affinity setting\n  powerpc: Implement GET_IP/SET_IP\n  powerpc/wsp: Permanently enable PCI class code workaround\n"
    },
    {
      "commit": "694ce18ec3485f5b0a4f3820073f5e2b0b4e0870",
      "tree": "e979926df34b41e17024107ee4731739608d8b51",
      "parents": [
        "13d261932bbfff7f45f288c5c8cce43177cccd3b",
        "a43a5ccdfa5bd5b2f00aa9b2321df268c2e5d6e2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 14 15:20:11 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 14 15:20:11 2012 -0800"
      },
      "message": "Merge tag \u0027stable/for-linus-fixes-3.3-rc3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\nTwo fixes for VCPU offlining; One to fix the string format exposed\nby the xen-pci[front|back] to conform to the one used in majority of\nPCI drivers; Two fixes to make the code more resilient to invalid\nconfigurations.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n\n* tag \u0027stable/for-linus-fixes-3.3-rc3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xenbus_dev: add missing error check to watch handling\n  xen/pci[front|back]: Use %d instead of %1x for displaying PCI devfn.\n  xen pvhvm: do not remap pirqs onto evtchns if !xen_have_vector_callback\n  xen/smp: Fix CPU online/offline bug triggering a BUG: scheduling while atomic.\n  xen/bootup: During bootup suppress XENBUS: Unable to read cpu state\n"
    },
    {
      "commit": "778a785f02ad846446e91dab49331bd7d853c514",
      "tree": "4f8969fe08df41ced83f44ec9dd459ab10e72d69",
      "parents": [
        "444080d13d05dc38d07dd3bf751d38bce7ab7c72"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@linux.vnet.ibm.com",
        "time": "Wed Jan 11 09:09:58 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Feb 14 15:01:39 2012 +1100"
      },
      "message": "powerpc/pseries/eeh: Fix crash when error happens during device probe\n\nEEH may happen during a PCI driver probe. If the driver is trying to\naccess some register in a loop, the EEH code will try to print the\ndriver name. But the driver pointer in struct pci_dev is not set until\nprobe returns successfully.\n\nUse a function to test if the device and the driver pointer is NULL\nbefore accessing the driver\u0027s name.\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "444080d13d05dc38d07dd3bf751d38bce7ab7c72",
      "tree": "4a727f8de69b872a1ddf73bdf474ff61c8da9900",
      "parents": [
        "f1c853b53cf2b49eb32791072c8a8ee04f122f58"
      ],
      "author": {
        "name": "Brian King",
        "email": "brking@linux.vnet.ibm.com",
        "time": "Wed Jan 11 06:56:04 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Feb 14 15:01:39 2012 +1100"
      },
      "message": "powerpc/pseries: Fix partition migration hang in stop_topology_update\n\nThis fixes a hang that was observed during live partition migration.\nSince stop_topology_update must not be called from an interrupt\ncontext, call it earlier in the migration process. The hang observed\ncan be seen below:\n\nWARNING: at kernel/timer.c:1011\nModules linked in: ip6t_LOG xt_tcpudp xt_pkttype ipt_LOG xt_limit ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_raw xt_NOTRACK ipt_REJECT xt_state iptable_raw iptable_filter ip6table_mangle nf_conntrack_netbios_ns nf_conntrack_broadcast nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 ip_tables ip6table_filter ip6_tables x_tables ipv6 fuse loop ibmveth sg ext3 jbd mbcache raid456 async_raid6_recov async_pq raid6_pq async_xor xor async_memcpy async_tx raid10 raid1 raid0 scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw scsi_dh_emc dm_round_robin dm_multipath scsi_dh sd_mod crc_t10dif ibmvfc scsi_transport_fc scsi_tgt scsi_mod dm_snapshot dm_mod\nNIP: c0000000000c52d8 LR: c00000000004be28 CTR: 0000000000000000\nREGS: c00000005ffd77d0 TRAP: 0700   Not tainted  (3.2.0-git-00001-g07d106d)\nMSR: 8000000000021032 \u003cME,CE,IR,DR\u003e  CR: 48000084  XER: 00000001\nCFAR: c00000000004be20\nTASK \u003d c00000005ec78860[0] \u0027swapper/3\u0027 THREAD: c00000005ec98000 CPU: 3\nGPR00: 0000000000000001 c00000005ffd7a50 c000000000fbbc98 c000000000ec8340\nGPR04: 00000000282a0020 0000000000000000 0000000000004000 0000000000000101\nGPR08: 0000000000000012 c00000005ffd4000 0000000000000020 c000000000f3ba88\nGPR12: 0000000000000000 c000000007f40900 0000000000000001 0000000000000004\nGPR16: 0000000000000001 0000000000000000 0000000000000000 c000000001022310\nGPR20: 0000000000000001 0000000000000000 0000000000200200 c000000001029e14\nGPR24: 0000000000000000 0000000000000001 0000000000000040 c00000003f74bc80\nGPR28: c00000003f74bc84 c000000000f38038 c000000000f16b58 c000000000ec8340\nNIP [c0000000000c52d8] .del_timer_sync+0x28/0x60\nLR [c00000000004be28] .stop_topology_update+0x20/0x38\nCall Trace:\n[c00000005ffd7a50] [c00000005ec78860] 0xc00000005ec78860 (unreliable)\n[c00000005ffd7ad0] [c00000000004be28] .stop_topology_update+0x20/0x38\n[c00000005ffd7b40] [c000000000028378] .__rtas_suspend_last_cpu+0x58/0x260\n[c00000005ffd7bf0] [c0000000000fa230] .generic_smp_call_function_interrupt+0x160/0x358\n[c00000005ffd7cf0] [c000000000036ec8] .smp_ipi_demux+0x88/0x100\n[c00000005ffd7d80] [c00000000005c154] .icp_hv_ipi_action+0x5c/0x80\n[c00000005ffd7e00] [c00000000012a088] .handle_irq_event_percpu+0x100/0x318\n[c00000005ffd7f00] [c00000000012e774] .handle_percpu_irq+0x84/0xd0\n[c00000005ffd7f90] [c000000000022ba8] .call_handle_irq+0x1c/0x2c\n[c00000005ec9ba20] [c00000000001157c] .do_IRQ+0x22c/0x2a8\n[c00000005ec9bae0] [c0000000000054bc] hardware_interrupt_entry+0x18/0x1c\nException: 501 at .cpu_idle+0x194/0x2f8\n    LR \u003d .cpu_idle+0x194/0x2f8\n[c00000005ec9bdd0] [c000000000017e58] .cpu_idle+0x188/0x2f8 (unreliable)\n[c00000005ec9be90] [c00000000067ec18] .start_secondary+0x3e4/0x524\n[c00000005ec9bf90] [c0000000000093e8] .start_secondary_prolog+0x10/0x14\nInstruction dump:\nebe1fff8 4e800020 fbe1fff8 7c0802a6 f8010010 7c7f1b78 f821ff81 78290464\n80090014 5400019e 7c0000d0 78000fe0 \u003c0b000000\u003e 4800000c 7c210b78 7c421378\n\nSigned-off-by: Brian King \u003cbrking@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "f1c853b53cf2b49eb32791072c8a8ee04f122f58",
      "tree": "203de9ee9f2ff6157c0f602f9cad0d3e254dff50",
      "parents": [
        "6fe5f5f3ffade25aa94526010f219df3be521bf7"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Sun Feb 12 14:28:20 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Feb 14 15:01:39 2012 +1100"
      },
      "message": "powerpc/powernv: Disable interrupts while taking phb-\u003elock\n\nWe need to disable interrupts when taking the phb-\u003elock. Otherwise\nwe could deadlock with pci_lock taken from an interrupt.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "6fe5f5f3ffade25aa94526010f219df3be521bf7",
      "tree": "08b4148aad720793b37564c8ef8cdef0aea10241",
      "parents": [
        "7a768d30caa30e66ba89659f1845cc35b1bfc715"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Feb 08 19:34:13 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Feb 14 15:01:38 2012 +1100"
      },
      "message": "powerpc: Fix WARN_ON in decrementer_check_overflow\n\nWe use __get_cpu_var() which triggers a false positive warning\nin smp_processor_id() thinking interrupts are enabled (at this\npoint, they are soft-enabled but hard-disabled).\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "7a768d30caa30e66ba89659f1845cc35b1bfc715",
      "tree": "6a25b21e3dbe60e74513ac60b0f0071498edf7f8",
      "parents": [
        "e62894273c7572cb1bec39096df605f42a66e964"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Feb 08 18:11:01 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Feb 14 15:01:38 2012 +1100"
      },
      "message": "powerpc/wsp: Fix IRQ affinity setting\n\nWe call the cache_hwirq_map() function with a linux IRQ number\nbut it expects a HW irq number. This triggers a BUG on multic-chip\nsetups in addition to not doing the right thing.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "e62894273c7572cb1bec39096df605f42a66e964",
      "tree": "8f63f7c32b136f8eb89c3b9abfe290687f9a842b",
      "parents": [
        "454c0bfd0c6469276dec766e5b41efcf0ccf2619"
      ],
      "author": {
        "name": "Srikar Dronamraju",
        "email": "srikar@linux.vnet.ibm.com",
        "time": "Wed Feb 08 04:53:13 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Feb 14 15:01:38 2012 +1100"
      },
      "message": "powerpc: Implement GET_IP/SET_IP\n\nWith this change, helpers such as instruction_pointer() et al, get defined\nin the generic header in terms of GET_IP\n\nRemoved the unnecessary definition of profile_pc in !CONFIG_SMP case as\nsuggested by Mike Frysinger.\n\nSigned-off-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "454c0bfd0c6469276dec766e5b41efcf0ccf2619",
      "tree": "99b362fb2add3a0e5c9da2b1ed3e2624214bf8ef",
      "parents": [
        "3ec1e88b33a3bdd852ce8e014052acec7a9da8b5"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sun Feb 05 13:50:04 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Feb 14 15:01:38 2012 +1100"
      },
      "message": "powerpc/wsp: Permanently enable PCI class code workaround\n\nIt appears that on the Chroma card, the class code of the root\ncomplex is still wrong even on DD2 or later chips. This could\nbe a firmware issue, but that breaks resource allocation so let\u0027s\nunconditionally fix it up.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "a5368e770c9ec58b9d18378844c149df8513e7b8",
      "tree": "2dc0953afd7f54f3269486fc0edbb41cd9cf804e",
      "parents": [
        "88fa269bedc3ae0f67426ea7fe9d306103b7fb1c",
        "cf844751fb25e095d8fa30332cb173a73e5a736c"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Feb 13 23:25:44 2012 +0000"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Feb 13 23:25:44 2012 +0000"
      },
      "message": "Merge branch \u0027at91-fixes\u0027 of git://github.com/at91linux/linux-at91 into fixes\n\n* \u0027at91-fixes\u0027 of git://github.com/at91linux/linux-at91:\n  ARM: at91: drop ide driver in favor of the pata one\n  pata/at91: use newly introduced SMC accessors\n  ARM: at91: add accessor to manage SMC\n  ARM: at91:rtc/rtc-at91sam9: ioremap register bank\n  ARM: at91: USB AT91 gadget registration for module\n"
    },
    {
      "commit": "88fa269bedc3ae0f67426ea7fe9d306103b7fb1c",
      "tree": "6f42d4d462f52ce8fe6eac3bf6c5922f2649f7e4",
      "parents": [
        "e9c6c5dfd1dba03802b98aea518c08ab48cbbcc4",
        "1e056dddabc1b7a909d1f992fefb1d5d5bc8ff0d"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Feb 13 22:41:04 2012 +0000"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Feb 13 22:41:04 2012 +0000"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:\n  ARM: OMAP2xxx: PM: fix OMAP2xxx-specific UART idle bug in v3.3\n  ARM: OMAP3: cm-t35: fix section mismatch warning\n  ARM: OMAP2: Fix the OMAP2 only build break seen with 2011+ ARM tool-chains\n  ARM: OMAP2+: board-generic: Add missing handle_irq callbacks\n"
    },
    {
      "commit": "b14a29982ad90853cd71370af41adfd0009d7aa0",
      "tree": "639eca23b582459570667c21f4a9147ec06b1027",
      "parents": [
        "a269c2f5a5ad2b24a19fdd723363daf18394ec85",
        "70d669de7356f6476db454dd8d053cd9c674a0d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 13 14:16:07 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 13 14:16:07 2012 -0800"
      },
      "message": "Merge branch \u0027omap-fixes-warnings\u0027 of git://git.linaro.org/people/rmk/linux-arm\n\nThis set of changes are fixing various section mismatch warnings which\nlook to be completely valid.  Primerily, those which are fixed are those\nwhich can cause oopses by manipulation of driver binding via sysfs.  For\nexample: calling code marked __init from driver probe __devinit\nfunctions.\n\nSome of these changes will be reworked at the next merge window when the\nunderlying reasons are sorted out.  In the mean time, I think it\u0027s\nimportant to have this fixed for correctness.\n\nAlso included in this set are fixes to various error messages in OMAP -\nincluding making them gramatically correct, fixing a few spelling\nerrors, and more importantly, making them greppable by unwrapping them.\n\nTony Lindgren has acked all these patches, put them out for testing a\nweek ago, and I\u0027ve tested them on the platforms I have.\n\n* \u0027omap-fixes-warnings\u0027 of git://git.linaro.org/people/rmk/linux-arm:\n  ARM: omap: resolve nebulous \u0027Error setting wl12xx data\u0027\n  ARM: omap: fix wrapped error messages in omap_hwmod.c\n  ARM: omap: fix section mismatch warnings in mux.c caused by hsmmc.c\n  ARM: omap: fix section mismatch warning for sdp3430_twl_gpio_setup()\n  ARM: omap: fix section mismatch error for omap_4430sdp_display_init()\n  ARM: omap: fix section mismatch warning for omap_secondary_startup()\n  ARM: omap: preemptively fix section mismatch in omap4_sdp4430_wifi_mux_init()\n  ARM: omap: fix section mismatch warning in mux.c\n  ARM: omap: fix section mismatch errors in TWL PMIC driver\n  ARM: omap: fix uninformative vc/i2c configuration error message\n  ARM: omap: fix vc.c PMIC error message\n  ARM: omap: fix prm44xx.c OMAP44XX_IRQ_PRCM build error\n"
    },
    {
      "commit": "a269c2f5a5ad2b24a19fdd723363daf18394ec85",
      "tree": "5d5e2871bc83a4def56beb86400c68e6ce1dc27f",
      "parents": [
        "ed5016d772b84348cb86ab3cdbc533bd4812f2bb",
        "6252547b8a7acced581b649af4ebf6d65f63a34b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 13 14:15:22 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 13 14:15:22 2012 -0800"
      },
      "message": "Merge branch \u0027omap-fixes-urgent\u0027 of git://git.linaro.org/people/rmk/linux-arm\n\nThis pull request covers the major oopsing issues with OMAP, caused by\nthe lack of the TWL driver.  Even when the TWL driver is not built in,\nwe shouldn\u0027t oops.\n\n* \u0027omap-fixes-urgent\u0027 of git://git.linaro.org/people/rmk/linux-arm:\n  ARM: omap: fix broken twl-core dependencies and ifdefs\n  ARM: omap: fix oops in drivers/video/omap2/dss/dpi.c\n  ARM: omap: fix oops in arch/arm/mach-omap2/vp.c when pmic is not found\n"
    },
    {
      "commit": "ed5016d772b84348cb86ab3cdbc533bd4812f2bb",
      "tree": "b96d5fc7809b1374b76a588741d605c75820810b",
      "parents": [
        "5b1cbac37798805c1fee18c8cebe5c0a13975b17",
        "bdf800c4fceb6d8dbe65471d214eb44a61f5bfc9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 13 14:14:19 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 13 14:14:19 2012 -0800"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.linaro.org/people/rmk/linux-arm\n\n* \u0027fixes\u0027 of git://git.linaro.org/people/rmk/linux-arm:\n  ARM: 7322/1: Print BUG instead of undefined instruction on BUG_ON()\n  ARM: 7321/1: cache-v7: Disable preemption when reading CCSIDR\n  ARM: 7320/1: Fix proc_info table alignment\n"
    },
    {
      "commit": "5b1cbac37798805c1fee18c8cebe5c0a13975b17",
      "tree": "e56487f2338b236d21913f74f66a779fd71a5d7c",
      "parents": [
        "be98c2cdb15ba26148cd2bd58a857d4f7759ed38"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 13 13:56:14 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 13 13:56:14 2012 -0800"
      },
      "message": "i387: make irq_fpu_usable() tests more robust\n\nSome code - especially the crypto layer - wants to use the x86\nFP/MMX/AVX register set in what may be interrupt (typically softirq)\ncontext.\n\nThat *can* be ok, but the tests for when it was ok were somewhat\nsuspect.  We cannot touch the thread-specific status bits either, so\nwe\u0027d better check that we\u0027re not going to try to save FP state or\nanything like that.\n\nNow, it may be that the TS bit is always cleared *before* we set the\nUSEDFPU bit (and only set when we had already cleared the USEDFP\nbefore), so the TS bit test may actually have been sufficient, but it\ncertainly was not obviously so.\n\nSo this explicitly verifies that we will not touch the TS_USEDFPU bit,\nand adds a few related sanity-checks.  Because it seems that somehow\nAES-NI is corrupting user FP state.  The cause is not clear, and this\npatch doesn\u0027t fix it, but while debugging it I really wanted the code to\nbe more obviously correct and robust.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "be98c2cdb15ba26148cd2bd58a857d4f7759ed38",
      "tree": "5eb1bdb4e443680c12901add5dc23a9cd3468872",
      "parents": [
        "3ec1e88b33a3bdd852ce8e014052acec7a9da8b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 13 13:47:25 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 13 13:47:25 2012 -0800"
      },
      "message": "i387: math_state_restore() isn\u0027t called from asm\n\nIt was marked asmlinkage for some really old and stale legacy reasons.\nFix that and the equally stale comment.\n\nNoticed when debugging the irq_fpu_usable() bugs.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf844751fb25e095d8fa30332cb173a73e5a736c",
      "tree": "0538ae065097c88a6fa681d653266aad702cac6b",
      "parents": [
        "88dcde98ad113411f45ea7e8261839f7a1ba3c33"
      ],
      "author": {
        "name": "Jean-Christophe PLAGNIOL-VILLARD",
        "email": "plagnioj@jcrosoft.com",
        "time": "Thu Dec 15 21:24:03 2011 +0800"
      },
      "committer": {
        "name": "Nicolas Ferre",
        "email": "nicolas.ferre@atmel.com",
        "time": "Mon Feb 13 18:31:37 2012 +0100"
      },
      "message": "ARM: at91: drop ide driver in favor of the pata one\n\nDriver at91_ide is broken and should not be fixed: remove it.\nModification of device files that where making use of it. The\nPATA driver (pata_at91) is able to replace at91_ide.\n\nSigned-off-by: Jean-Christophe PLAGNIOL-VILLARD \u003cplagnioj@jcrosoft.com\u003e\nAcked-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\n"
    },
    {
      "commit": "59594e13e4d83239332746395fe03ba49b8efa12",
      "tree": "a60e58e60039d413b5ac73ffa64d699913f17d33",
      "parents": [
        "2dcc90e6ac06d78433aec682961d9b587a07d4b5"
      ],
      "author": {
        "name": "Jean-Christophe PLAGNIOL-VILLARD",
        "email": "plagnioj@jcrosoft.com",
        "time": "Sun Nov 27 19:29:57 2011 +0800"
      },
      "committer": {
        "name": "Nicolas Ferre",
        "email": "nicolas.ferre@atmel.com",
        "time": "Mon Feb 13 18:31:36 2012 +0100"
      },
      "message": "ARM: at91: add accessor to manage SMC\n\nSMC, Static Memory Controller will need more accessors to fine\nconfigure its parameters.\n\nSigned-off-by: Jean-Christophe PLAGNIOL-VILLARD \u003cplagnioj@jcrosoft.com\u003e\nAcked-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\n"
    },
    {
      "commit": "e8c9dc93e27d891636defbc269f182a83e6abba8",
      "tree": "3e18ca43b79c53ca9e216e9ade9445e35bfd50f1",
      "parents": [
        "d65b4e98d7ea3038b767b70fe8be959b2913f16d"
      ],
      "author": {
        "name": "Nicolas Ferre",
        "email": "nicolas.ferre@atmel.com",
        "time": "Fri Jan 27 11:14:44 2012 +0100"
      },
      "committer": {
        "name": "Nicolas Ferre",
        "email": "nicolas.ferre@atmel.com",
        "time": "Mon Feb 13 16:46:41 2012 +0100"
      },
      "message": "ARM: at91: USB AT91 gadget registration for module\n\nRegistration of at91_udc as a module will enable SoC\nrelated code.\n\nFix following an idea from Karel Znamenacek.\n\nSigned-off-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nAcked-by: Karel Znamenacek \u003ckarel@ryston.cz\u003e\nAcked-by: Jean-Christophe PLAGNIOL-VILLARD \u003cplagnioj@jcrosoft.com\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e\n"
    },
    {
      "commit": "70d669de7356f6476db454dd8d053cd9c674a0d5",
      "tree": "d71e3018964cb80fb8a00dabdb8aa74b6814e69c",
      "parents": [
        "4f8a428dac431e7bd09673b404769d87df948eef"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Feb 07 11:03:23 2012 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Feb 13 10:00:39 2012 +0000"
      },
      "message": "ARM: omap: resolve nebulous \u0027Error setting wl12xx data\u0027\n\nIt\u0027s useful to print the error code when a called function fails so a\ndiagnosis of why it failed is possible.  In this case, it fails because\nwe try to register some data for the wl12xx driver, but as the driver\nis not configured, a stub function is used which simply returns -ENOSYS.\n\nLet\u0027s do the simple thing for -rc and print the error code.\n\nAlso, the return code from platform_register_device() at each of these\nsites was not being checked.  Add some checking, and again print the\nerror code.\n\nThis should be fixed properly for the next merge window so we don\u0027t\nissue error messages merely because a driver is not configured.\n\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "4f8a428dac431e7bd09673b404769d87df948eef",
      "tree": "c531b8a7888ccfb4bc7cf3898e50621909f1e053",
      "parents": [
        "8930b4e3c31cf67140e6281879b28feac8381e29"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Feb 07 10:59:37 2012 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Feb 13 10:00:39 2012 +0000"
      },
      "message": "ARM: omap: fix wrapped error messages in omap_hwmod.c\n\nWhile trying to debug my OMAP platforms, they emitted this message:\n\nomap_hwmod: %s: enabled state can only be entered from initialized, idle, or disabled state\n\nThe following backtrace said it was from a function called \u0027_enable\u0027,\nwhich didn\u0027t provide much clue.  Grepping didn\u0027t find it either.\n\nThe message is wrapped, so unwrap the message so grep can find it.  Do\nthe same for three other messages in this file.\n\nAcked-by: Paul Walmsley \u003cpaul@pwsan.com\u003e\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "8930b4e3c31cf67140e6281879b28feac8381e29",
      "tree": "b44585aa6671cd6b019ced9af7d59a3ad1d2bd0c",
      "parents": [
        "a98f77bb0a86914a39e3d0d001716965add5063e"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Feb 07 10:51:39 2012 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Feb 13 10:00:38 2012 +0000"
      },
      "message": "ARM: omap: fix section mismatch warnings in mux.c caused by hsmmc.c\n\nThe previous commit causes new section mismatch warnings:\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xdb30): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_gpio()\nThe function omap_init_hsmmc() references\nthe function __init omap_mux_init_gpio().\nThis is often because omap_init_hsmmc lacks a __init\nannotation or the annotation of omap_mux_init_gpio is wrong.\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xdb4c): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_gpio()\nThe function omap_init_hsmmc() references\nthe function __init omap_mux_init_gpio().\nThis is often because omap_init_hsmmc lacks a __init\nannotation or the annotation of omap_mux_init_gpio is wrong.\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xdb60): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()\nThe function omap_init_hsmmc() references\nthe function __init omap_mux_init_signal().\nThis is often because omap_init_hsmmc lacks a __init\nannotation or the annotation of omap_mux_init_signal is wrong.\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xdb6c): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()\nThe function omap_init_hsmmc() references\nthe function __init omap_mux_init_signal().\nThis is often because omap_init_hsmmc lacks a __init\nannotation or the annotation of omap_mux_init_signal is wrong.\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xdb78): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()\nThe function omap_init_hsmmc() references\nthe function __init omap_mux_init_signal().\nThis is often because omap_init_hsmmc lacks a __init\nannotation or the annotation of omap_mux_init_signal is wrong.\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xdb90): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()\nThe function omap_init_hsmmc() references\nthe function __init omap_mux_init_signal().\nThis is often because omap_init_hsmmc lacks a __init\nannotation or the annotation of omap_mux_init_signal is wrong.\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xdb9c): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()\nThe function omap_init_hsmmc() references\nthe function __init omap_mux_init_signal().\nThis is often because omap_init_hsmmc lacks a __init\nannotation or the annotation of omap_mux_init_signal is wrong.\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xdba8): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()\nThe function omap_init_hsmmc() references\nthe function __init omap_mux_init_signal().\nThis is often because omap_init_hsmmc lacks a __init\nannotation or the annotation of omap_mux_init_signal is wrong.\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xdbc0): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()\nThe function omap_init_hsmmc() references\nthe function __init omap_mux_init_signal().\nThis is often because omap_init_hsmmc lacks a __init\nannotation or the annotation of omap_mux_init_signal is wrong.\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xdbcc): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()\nThe function omap_init_hsmmc() references\nthe function __init omap_mux_init_signal().\nThis is often because omap_init_hsmmc lacks a __init\nannotation or the annotation of omap_mux_init_signal is wrong.\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xdbd8): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()\nThe function omap_init_hsmmc() references\nthe function __init omap_mux_init_signal().\nThis is often because omap_init_hsmmc lacks a __init\nannotation or the annotation of omap_mux_init_signal is wrong.\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xdbf8): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()\nThe function omap_init_hsmmc() references\nthe function __init omap_mux_init_signal().\nThis is often because omap_init_hsmmc lacks a __init\nannotation or the annotation of omap_mux_init_signal is wrong.\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc04): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()\nThe function omap_init_hsmmc() references\nthe function __init omap_mux_init_signal().\nThis is often because omap_init_hsmmc lacks a __init\nannotation or the annotation of omap_mux_init_signal is wrong.\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc10): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()\nThe function omap_init_hsmmc() references\nthe function __init omap_mux_init_signal().\nThis is often because omap_init_hsmmc lacks a __init\nannotation or the annotation of omap_mux_init_signal is wrong.\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc28): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()\nThe function omap_init_hsmmc() references\nthe function __init omap_mux_init_signal().\nThis is often because omap_init_hsmmc lacks a __init\nannotation or the annotation of omap_mux_init_signal is wrong.\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc34): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()\nThe function omap_init_hsmmc() references\nthe function __init omap_mux_init_signal().\nThis is often because omap_init_hsmmc lacks a __init\nannotation or the annotation of omap_mux_init_signal is wrong.\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc40): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()\nThe function omap_init_hsmmc() references\nthe function __init omap_mux_init_signal().\nThis is often because omap_init_hsmmc lacks a __init\nannotation or the annotation of omap_mux_init_signal is wrong.\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc58): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()\nThe function omap_init_hsmmc() references\nthe function __init omap_mux_init_signal().\nThis is often because omap_init_hsmmc lacks a __init\nannotation or the annotation of omap_mux_init_signal is wrong.\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc64): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()\nThe function omap_init_hsmmc() references\nthe function __init omap_mux_init_signal().\nThis is often because omap_init_hsmmc lacks a __init\nannotation or the annotation of omap_mux_init_signal is wrong.\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc70): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()\nThe function omap_init_hsmmc() references\nthe function __init omap_mux_init_signal().\nThis is often because omap_init_hsmmc lacks a __init\nannotation or the annotation of omap_mux_init_signal is wrong.\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc7c): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()\nThe function omap_init_hsmmc() references\nthe function __init omap_mux_init_signal().\nThis is often because omap_init_hsmmc lacks a __init\nannotation or the annotation of omap_mux_init_signal is wrong.\n\nAgain, as for omap2_hsmmc_init(), these functions are callable at\nruntime via the gpio-twl4030.c driver, and so these can\u0027t be marked\n__init.\n\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "a98f77bb0a86914a39e3d0d001716965add5063e",
      "tree": "581f59b50a97f78285a37df9a9102a14aeef2c81",
      "parents": [
        "e3958fe05d78643ec6c0e651747b59361553a840"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Feb 07 10:45:50 2012 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Feb 13 10:00:38 2012 +0000"
      },
      "message": "ARM: omap: fix section mismatch warning for sdp3430_twl_gpio_setup()\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xd0f0): Section mismatch in reference from the function sdp3430_twl_gpio_setup() to the function .init.text:omap2_hsmmc_init()\nThe function sdp3430_twl_gpio_setup() references\nthe function __init omap2_hsmmc_init().\nThis is often because sdp3430_twl_gpio_setup lacks a __init\nannotation or the annotation of omap2_hsmmc_init is wrong.\n\nsdp3430_twl_gpio_setup() is called via platform data from the\ngpio-twl4030 module, which can be inserted and removed at runtime.\nThis makes sdp3430_twl_gpio_setup() callable at runtime, and prevents\nit being marked with an __init annotation.\n\nAs it calls omap2_hsmmc_init() unconditionally, the only resolution to\nthis warning is to remove the __init markings from omap2_hsmmc_init()\nand its called functions.  This addresses the functions in hsmmc.c.\n\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "e3958fe05d78643ec6c0e651747b59361553a840",
      "tree": "33a6a0bd4dd92a91d1cb761ca61283ac90259dff",
      "parents": [
        "45176f4cf7aa84da97c2c1e66569cb2e44cb97ce"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Feb 07 10:41:34 2012 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Feb 13 10:00:38 2012 +0000"
      },
      "message": "ARM: omap: fix section mismatch error for omap_4430sdp_display_init()\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xb798): Section mismatch in reference from the function omap_4430sdp_display_init() to the function .init.text:omap_display_init()\nThe function omap_4430sdp_display_init() references\nthe function __init omap_display_init().\nThis is often because omap_4430sdp_display_init lacks a __init\nannotation or the annotation of omap_display_init is wrong.\n\nFix this by adding __init to omap_4430sdp_display_init().\n\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "45176f4cf7aa84da97c2c1e66569cb2e44cb97ce",
      "tree": "15dab80f36b14ff0574e24a639ebabaaa2bbc51c",
      "parents": [
        "d5de63f5f84d7def5e25a90e44234c58003876c1"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Feb 07 10:34:01 2012 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Feb 13 10:00:37 2012 +0000"
      },
      "message": "ARM: omap: fix section mismatch warning for omap_secondary_startup()\n\nWARNING: vmlinux.o(.text+0x1c664): Section mismatch in reference from the function omap_secondary_startup() to the function .cpuinit.text:secondary_startup()\nThe function omap_secondary_startup() references\nthe function __cpuinit secondary_startup().\nThis is often because omap_secondary_startup lacks a __cpuinit\nannotation or the annotation of secondary_startup is wrong.\n\nUnfortunately, fixing this causes a new warning which is harder to\nsolve:\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0x5328): Section mismatch in reference from the function omap4_hotplug_cpu() to the function .cpuinit.text:omap_secondary_startup()\nThe function omap4_hotplug_cpu() references\nthe function __cpuinit omap_secondary_startup().\nThis is often because omap4_hotplug_cpu lacks a __cpuinit\nannotation or the annotation of omap_secondary_startup is wrong.\n\nbecause omap4_hotplug_cpu() is used by power management code as well,\nwhich may not end up using omap_secondary_startup().\n\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "d5de63f5f84d7def5e25a90e44234c58003876c1",
      "tree": "0ca68720b7ec89b3aa146dcee3a4791d438abc10",
      "parents": [
        "27d8d3bf06c574b8bc88d1cf50ed3e3b2c40935b"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Feb 07 11:07:24 2012 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Feb 13 10:00:37 2012 +0000"
      },
      "message": "ARM: omap: preemptively fix section mismatch in omap4_sdp4430_wifi_mux_init()\n\nFound by review.\n\nomap4_sdp4430_wifi_mux_init() is called by an __init marked function,\nand only calls omap_mux_init_gpio() and omap_mux_init_signal() which\nare both also an __init marked functions.\n\nThe only reason this doesn\u0027t issue a warning is because the compiler\ninlines omap4_sdp4430_wifi_mux_init() into omap4_sdp4430_wifi_init().\n\nSo, lets add the __init annotation to ensure this remains safe should\nthe compiler choose not to inline.\n\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "27d8d3bf06c574b8bc88d1cf50ed3e3b2c40935b",
      "tree": "51ec9fe9816b80727ae3425ebe9b5c31e060d2b3",
      "parents": [
        "a0bb10e86642064f6cec9e23f523127e5cfbe609"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Feb 07 10:18:34 2012 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Feb 13 10:00:36 2012 +0000"
      },
      "message": "ARM: omap: fix section mismatch warning in mux.c\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0x15a4): Section mismatch in reference from the function omap_mux_init_signals() to the function .init.text:omap_mux_init_signal()\nThe function omap_mux_init_signals() references\nthe function __init omap_mux_init_signal().\nThis is often because omap_mux_init_signals lacks a __init\nannotation or the annotation of omap_mux_init_signal is wrong.\n\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "0bf68f53f164e169c2bc77f707338fc595b6ccfc",
      "tree": "2d9d4c6c3e9dd4873f7ecb6243171cc1029ddeec",
      "parents": [
        "2d5b4790b1e7cffb8987e535d4969d10b62f3163"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Feb 07 10:23:43 2012 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Feb 13 10:00:35 2012 +0000"
      },
      "message": "ARM: omap: fix uninformative vc/i2c configuration error message\n\nOn my OMAP4 platform, I\u0027m getting this error message repeated several\ntimes at boot:\n\nomap_vc_i2c_init: I2C config for all channels must match.\nomap_vc_i2c_init: I2C config for all channels must match.\n\nThis doesn\u0027t help identify what the problem is.  Fix this message to\nbe more informative:\n\nomap_vc_i2c_init: I2C config for vdd_iva does not match other channels (0).\nomap_vc_i2c_init: I2C config for vdd_mpu does not match other channels (0).\n\nThis allows us to identify which voltage domains have a problem, and\nwhat the I2C configuration state (a boolean, i2c_high_speed) setting\nbeing used actually is.\n\nFrom this we find that omap4_core_pmic has i2c_high_speed false, but\nomap4_iva_pmic and omap4_mpu_pmic both have it set true.\n\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nAcked-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "2d5b4790b1e7cffb8987e535d4969d10b62f3163",
      "tree": "23972c4d0471640bc98290f8c4b17f8cb6c78d38",
      "parents": [
        "e6fa35aa9c4e4a32e616d307986283c4070cff78"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Feb 07 10:13:02 2012 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Feb 13 10:00:34 2012 +0000"
      },
      "message": "ARM: omap: fix vc.c PMIC error message\n\nWhile testing on my OMAP3430 platform, this error message was emitted:\n\nomap_vc_init_channel: PMIC info requried to configure vc forvdd_core not populated.Hence cannot initialize vc\n\nTrying to find this message was difficult because it was wrapped across\nseveral lines.  It also mis-spells \"required\", doesn\u0027t read very well,\nand has spaces lacking.  Let\u0027s replace it with a more concise:\n\nomap_vc_init_channel: No PMIC info for vdd_core\n\nWhile we\u0027re here, fix a simple spelling error in a comment.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "e6fa35aa9c4e4a32e616d307986283c4070cff78",
      "tree": "b653c577c0f92b8126dda51f32e43d4ccd2e657c",
      "parents": [
        "d65b4e98d7ea3038b767b70fe8be959b2913f16d"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Feb 07 09:58:57 2012 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Feb 13 10:00:34 2012 +0000"
      },
      "message": "ARM: omap: fix prm44xx.c OMAP44XX_IRQ_PRCM build error\n\nWhen CONFIG_OF is disabled, the compile fails with:\n\narch/arm/mach-omap2/prm44xx.c:41: error: \u0027OMAP44XX_IRQ_PRCM\u0027 undeclared here (not in a function)\n\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "e9c6c5dfd1dba03802b98aea518c08ab48cbbcc4",
      "tree": "a7219d12d3b7333cf7e85c9c163904c0aeb7c9e6",
      "parents": [
        "ffafe770a4160862476405a442d28ee48d2249ef"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Wed Feb 08 09:53:44 2012 -0700"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Feb 13 06:56:39 2012 +0000"
      },
      "message": "ep93xx: fix build of vision_ep93xx.c\n\nFix build breakage due to the following commits:\n\nCommit bd5f12a24766c1f299def0a78b008d4746f528f2\n  ARM: 7042/3: mach-ep93xx: break out GPIO driver specifics\n\nCommit 257af9f9725aa8a863b306659208a031135d59e7\n  ARM: 7041/1: gpio-ep93xx: hookup the to_irq callback in the driver\n\nThe vision_ep9307 machine uses the ep93xx build-in gpios and needs to\ninclude \u003cmach/gpio-ep93xx.h\u003e to pickup the defines.\n\nThe gpio_to_irq() call is now a callback to the gpio-ep93xx.c driver\nand cannot be used as a constant initializer for the .irq member of\nstruct i2c_board_info.\n\nSigned-off-by: Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nAcked-by: Ryan Mallon \u003crmallon@gmail.com\u003e\nAcked-by: Mika Westerberg \u003cmika.westerberg@iki.fi\u003e\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "ffafe770a4160862476405a442d28ee48d2249ef",
      "tree": "5bb7d5913427c245c61dd5eb384321dff386f841",
      "parents": [
        "0dcd627896fb87b2e78a1ed78e469591208cffcd",
        "da911782be4c82dc1222aa0cb5bef28605d1e117"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Feb 13 05:50:07 2012 +0000"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Feb 13 05:50:26 2012 +0000"
      },
      "message": "Merge branch \u0027v3.3-samsung-fixes-3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes\n\n* \u0027v3.3-samsung-fixes-3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: (2 commits)\n  ARM: EXYNOS: Add cpu-offset property in gic device tree node\n  ARM: EXYNOS: Bring exynos4-dt up to date\n  Linux 3.3-rc3\n\nThis includes an update to the v3.3-rc3 release from v3.3-rc2\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "0dcd627896fb87b2e78a1ed78e469591208cffcd",
      "tree": "e7cf361144599ac2e80c00268466e4308edf652b",
      "parents": [
        "72053353583230952c4b187e110e9da00dfc3afb",
        "0783a9bf4a5207e9d57b8c110022957f8dc88e2a"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Feb 13 05:40:38 2012 +0000"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Feb 13 05:40:38 2012 +0000"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/olof/tegra into fixes\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/olof/tegra:\n  ARM: tegra: paz00: fix wrong UART port on mini-pcie plug\n  ARM: tegra: paz00: fix wrong SD1 power gpio\n  i2c: tegra: Add devexit_p() for remove\n  ARM: tegra: dma: fix buildbreak for !CONFIG_TEGRA_SYSTEM_DMA\n"
    },
    {
      "commit": "d5ef8a4d87ab21d575ac86366599c9152a28028d",
      "tree": "8b1be85ad1af7ee6a0e3e36c77ae738c966c1f21",
      "parents": [
        "d9dd966d7fc088a6bed991c2b1e2fba4485e0a31",
        "8df54d622a120058ee8bec38743c9b8f091c8e58"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 10 23:32:28 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 10 23:32:28 2012 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/infiniband/hw/nes/nes_cm.c\n\nSimple whitespace conflict.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ce2814f227d3adae8456f7cbd0bd5f922fd284f0",
      "tree": "351a35a80fb62307ea48bc1b74f687d309dbb31a",
      "parents": [
        "1282ab3f8f7bca1d3a7fb701fbe4f0f772e72ea0",
        "f39d47ff819ed52a2afbdbecbe35f23f7755f58d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 10 09:05:07 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 10 09:05:07 2012 -0800"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf: Fix double start/stop in x86_pmu_start()\n  perf evsel: Fix an issue where perf report fails to show the proper percentage\n  perf tools: Fix prefix matching for kernel maps\n  perf tools: Fix perf stack to non executable on x86_64\n  perf: Remove deprecated WARN_ON_ONCE()\n"
    },
    {
      "commit": "1e056dddabc1b7a909d1f992fefb1d5d5bc8ff0d",
      "tree": "364fc419b5f8340ab23605f8cbb6607ba6db8513",
      "parents": [
        "3686396410e41d97356924b246aced7c86e29ca0"
      ],
      "author": {
        "name": "Paul Walmsley",
        "email": "paul@pwsan.com",
        "time": "Thu Feb 09 18:24:03 2012 -0700"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Thu Feb 09 17:46:15 2012 -0800"
      },
      "message": "ARM: OMAP2xxx: PM: fix OMAP2xxx-specific UART idle bug in v3.3\n\nOn OMAP2420-based systems, the PM code ignores the state of the UART\nfunctional clocks when determining what idle state to enter.  This\nbreaks the serial port now that the UART driver\u0027s clock behavior can\nbe controlled via the PM autosuspend timeout.\n\nTo fix, remove the special-case idle handling for the UARTs in the\nOMAP2420/2430 PM idle code added by commit\n4af4016c53f52b26461b8030211f8427a58fa5ed (\"OMAP3: PM: UART: disable\nclocks when idle and off-mode support\").\n\nTested on Nokia N800.  This patch is a collaboration between Tony\nLindgren \u003ctony@atomide.com\u003e and Paul Walmsley \u003cpaul@pwsan.com\u003e.\n\nSigned-off-by: Paul Walmsley \u003cpaul@pwsan.com\u003e\nAcked-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\n"
    },
    {
      "commit": "72053353583230952c4b187e110e9da00dfc3afb",
      "tree": "d5f3aba16b83475a9ffe68cece46167dfa239c0e",
      "parents": [
        "b06540371063f0f07aafc1d1ac5e974da85c973c"
      ],
      "author": {
        "name": "Andrew Lunn",
        "email": "andrew@lunn.ch",
        "time": "Wed Feb 08 15:52:47 2012 +0100"
      },
      "committer": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Thu Feb 09 16:16:35 2012 -0800"
      },
      "message": "ARM: orion: Fix USB phy for orion5x.\n\nThe patch \"ARM: orion: Consolidate USB platform setup code.\", commit\n4fcd3f374a928081d391cd9a570afe3b2c692fdc broke USB on TS-7800 and\nother orion5x boards, because the wrong type of PHY was being passed\nto the EHCI driver in the platform data. Orion5x needs EHCI_PHY_ORION\nand all the others want EHCI_PHY_NA.\n\nAllow the mach- code to tell the generic plat-orion code which USB PHY\nenum to place into the platform data.\n\nVersion 2: Rebase to v3.3-rc2.\n\nReported-by: Ambroz Bizjak \u003cambrop7@gmail.com\u003e\nSigned-off-by: Andrew Lunn \u003candrew@lunn.ch\u003e\nTested-by: Ambroz Bizjak \u003cambrop7@gmail.com\u003e\nAcked-by: Nicolas Pitre \u003cnico@linaro.org\u003e\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "b06540371063f0f07aafc1d1ac5e974da85c973c",
      "tree": "85de3bb66899780d7bbe1a2b298e95eefa5d45a9",
      "parents": [
        "ab74a91429ed3e10b27632e22ff681be90d9cd0d"
      ],
      "author": {
        "name": "Andrew Lunn",
        "email": "andrew@lunn.ch",
        "time": "Wed Feb 08 15:52:07 2012 +0100"
      },
      "committer": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Thu Feb 09 16:16:31 2012 -0800"
      },
      "message": "ARM: orion: Fix Orion5x GPIO regression from MPP cleanup\n\nPatchset \"ARM: orion: Refactor the MPP code common in the orion\nplatform\" broke at least Orion5x based platforms. These platforms have\npins configured as GPIO when the selector is not 0x0. However the\ncommon code assumes the selector is always 0x0 for a GPIO lines. It\nthen ignores the GPIO bits in the MPP definitions, resulting in that\nOrion5x machines cannot correctly configure there GPIO lines.\n\nThe Fix removes the assumption that the selector is always 0x0.\nIn order that none GPIO configurations are correctly blocked,\nKirkwood and mv78xx0 MPP definitions are corrected to only set the\nGPIO bits for GPIO configurations.\n\nThis third version, which does not contain any whitespace changes,\nand is rebased on v3.3-rc2.\n\nSigned-off-by: Andrew Lunn \u003candrew@lunn.ch\u003e\nAcked-by: Nicolas Pitre \u003cnico@linaro.org\u003e\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "19e00f2f1d5273dbc52eab0ebc315cae3aa44b2a",
      "tree": "50a7aecb4b3b94db2dd8061b3692fe216bc371cc",
      "parents": [
        "b05ee6bf9e6c7acc38dca1466b63bb24ae5df6f3",
        "197234520bd83aba2199add57a9d2678ee7f9781"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 09 13:52:57 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 09 13:52:57 2012 -0800"
      },
      "message": "Merge tag \u0027tty-3.3-rc3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty\n\nSerial/TTY fixes for the 3.3-rc3 tree\n\nJust a few new device ids, omap serial driver regression fixes, and a\nbuild fix for the 8250 driver movement.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n* tag \u0027tty-3.3-rc3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:\n  tty: serial: omap-serial: wakeup latency constraint is in microseconds, not milliseconds\n  tty: serial: OMAP: block idle while the UART is transferring data in PIO mode\n  tty: serial: OMAP: use a 1-byte RX FIFO threshold in PIO mode\n  m32r: relocate drivers back out of 8250 dir\n  tty: fix a build failure on sparc\n  serial: samsung: Add support for EXYNOS5250\n  serial: samsung: Add support for EXYNOS4212 and EXYNOS4412\n  drivers/tty/vt/vt_ioctl.c: fix KDFONTOP 32bit compatibility layer\n"
    },
    {
      "commit": "be4b0281956c5cae4f63f31f11d07625a6988766",
      "tree": "c75f6d88a142889eec90c5ae2e023b31fb3445df",
      "parents": [
        "0ba5f66836c9253c67c469fb4016f94ea30ff2ce"
      ],
      "author": {
        "name": "Paul Walmsley",
        "email": "paul@pwsan.com",
        "time": "Wed Jan 25 19:50:52 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 09 10:48:34 2012 -0800"
      },
      "message": "tty: serial: OMAP: block idle while the UART is transferring data in PIO mode\n\nPrevent OMAP UARTs from going idle while they are still transferring\ndata in PIO mode.  This works around an oversight in the OMAP UART\nhardware present in OMAP34xx and earlier: an idle UART won\u0027t send a\nwakeup when the TX FIFO threshold is reached.  This causes long delays\nduring data transmission when the MPU powerdomain enters a low-power\nmode.  The MPU interrupt controller is not able to respond to\ninterrupts when it\u0027s in a low-power state, so the TX buffer is not\nrefilled until another wakeup event occurs.\n\nThis fix changes the erratum i291 DMA idle workaround.  Rather than\ntoggling between force-idle and no-idle, it will toggle between\nsmart-idle and no-idle.  The important part of the workaround is the\nno-idle part, so this shouldn\u0027t result in any change in behavior.\n\nThis fix should work on all OMAP UARTs.  Future patches intended for\nthe 3.4 merge window will make this workaround conditional on a\n\"feature\" flag, and will use the OMAP36xx+ TX event wakeup support.\n\nThanks to Kevin Hilman \u003ckhilman@ti.com\u003e for mentioning the erratum i291\nworkaround, which led to the development of this approach.\n\nSigned-off-by: Paul Walmsley \u003cpaul@pwsan.com\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Tomi Valkeinen \u003ctomi.valkeinen@ti.com\u003e\nAcked-by: Govindraj.R \u003cgovindraj.raja@ti.com\u003e\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nTested-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "d980e0f8d858c6963d676013e976ff00ab7acb2b",
      "tree": "aa21ac38e3f41b3e39e099523738b9f0b627e3f7",
      "parents": [
        "d65b4e98d7ea3038b767b70fe8be959b2913f16d"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Feb 07 09:42:11 2012 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Feb 09 17:56:53 2012 +0000"
      },
      "message": "ARM: omap: fix oops in arch/arm/mach-omap2/vp.c when pmic is not found\n\nWhen the PMIC is not found, voltdm-\u003epmic will be NULL.  vp.c\u0027s\ninitialization function tries to dereferences this, which causes an\noops:\n\nUnable to handle kernel NULL pointer dereference at virtual address 00000000\npgd \u003d c0004000\n[00000000] *pgd\u003d00000000\nInternal error: Oops: 5 [#1] PREEMPT\nModules linked in:\nCPU: 0    Not tainted  (3.3.0-rc2+ #204)\nPC is at omap_vp_init+0x5c/0x15c\nLR is at omap_vp_init+0x58/0x15c\npc : [\u003cc03db880\u003e]    lr : [\u003cc03db87c\u003e]    psr: 60000013\nsp : c181ff30  ip : c181ff68  fp : c181ff64\nr10: c0407808  r9 : c040786c  r8 : c0407814\nr7 : c0026868  r6 : c00264fc  r5 : c040ad6c  r4 : 00000000\nr3 : 00000040  r2 : 000032c8  r1 : 0000fa00  r0 : 000032c8\nFlags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel\nControl: 10c5387d  Table: 80004019  DAC: 00000015\nProcess swapper (pid: 1, stack limit \u003d 0xc181e2e8)\nStack: (0xc181ff30 to 0xc1820000)\nff20:                                     c0381d00 c02e9c6d c0383582 c040786c\nff40: c040ad6c c00264fc c0026868 c0407814 00000000 c03d9de4 c181ff8c c181ff68\nff60: c03db448 c03db830 c02e982c c03fdfb8 c03fe004 c0039988 00000013 00000000\nff80: c181ff9c c181ff90 c03d9df8 c03db390 c181ffdc c181ffa0 c0008798 c03d9df0\nffa0: c181ffc4 c181ffb0 c0055a44 c0187050 c0039988 c03fdfb8 c03fe004 c0039988\nffc0: 00000013 00000000 00000000 00000000 c181fff4 c181ffe0 c03d1284 c0008708\nffe0: 00000000 c03d1208 00000000 c181fff8 c0039988 c03d1214 1077ce40 01f7ee08\nBacktrace:\n[\u003cc03db824\u003e] (omap_vp_init+0x0/0x15c) from [\u003cc03db448\u003e] (omap_voltage_late_init+0xc4/0xfc)\n[\u003cc03db384\u003e] (omap_voltage_late_init+0x0/0xfc) from [\u003cc03d9df8\u003e] (omap2_common_pm_late_init+0x14/0x54)\n r8:00000000 r7:00000013 r6:c0039988 r5:c03fe004 r4:c03fdfb8\n[\u003cc03d9de4\u003e] (omap2_common_pm_late_init+0x0/0x54) from [\u003cc0008798\u003e] (do_one_initcall+0x9c/0x164)\n[\u003cc00086fc\u003e] (do_one_initcall+0x0/0x164) from [\u003cc03d1284\u003e] (kernel_init+0x7c/0x120)\n[\u003cc03d1208\u003e] (kernel_init+0x0/0x120) from [\u003cc0039988\u003e] (do_exit+0x0/0x2cc)\n r5:c03d1208 r4:00000000\nCode: e5ca300b e5900034 ebf69027 e5994024 (e5941000)\n---[ end trace aed617dddaf32c3d ]---\nKernel panic - not syncing: Attempted to kill init!\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "bdf800c4fceb6d8dbe65471d214eb44a61f5bfc9",
      "tree": "8ab19a3fe66c67f20174ecf8732e9c09607b46f1",
      "parents": [
        "b46c0f74657d1fe1c1b0c1452631cc38a9e6987f"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Tue Feb 07 19:42:33 2012 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Feb 09 16:25:37 2012 +0000"
      },
      "message": "ARM: 7322/1: Print BUG instead of undefined instruction on BUG_ON()\n\nThe ARM kernel uses undefined instructions to implement\nBUG/BUG_ON(). This leads to problems where people don\u0027t read one\nline above the Oops message and see the \"kernel BUG at ...\"\nmessage and so they wrongly assume the kernel has hit an\nundefined instruction.\n\nInstead of printing:\n\n Internal error: Oops - undefined instruction: 0 [#1] PREEMPT SMP\n\nprint\n\n Internal error: Oops - BUG: 0 [#1] PREEMPT SMP\n\nThis should prevent people from thinking the BUG_ON was an\nundefined instruction when it was actually intentional.\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nAcked-by: Simon Glass \u003csjg@chromium.org\u003e\nTested-by: Simon Glass \u003csjg@chromium.org\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "b46c0f74657d1fe1c1b0c1452631cc38a9e6987f",
      "tree": "b6004a9408492488526c7c5cfdbb43b28c3d814a",
      "parents": [
        "b8b9987ffdc2ab9c5e2c1edad556b23ccb38249b"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Tue Feb 07 19:42:07 2012 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Feb 09 16:25:37 2012 +0000"
      },
      "message": "ARM: 7321/1: cache-v7: Disable preemption when reading CCSIDR\n\narmv7\u0027s flush_cache_all() flushes caches via set/way. To\ndetermine the cache attributes (line size, number of sets,\netc.) the assembly first writes the CSSELR register to select a\ncache level and then reads the CCSIDR register. The CSSELR register\nis banked per-cpu and is used to determine which cache level CCSIDR\nreads. If the task is migrated between when the CSSELR is written and\nthe CCSIDR is read the CCSIDR value may be for an unexpected cache\nlevel (for example L1 instead of L2) and incorrect cache flushing\ncould occur.\n\nDisable interrupts across the write and read so that the correct\ncache attributes are read and used for the cache flushing\nroutine. We disable interrupts instead of disabling preemption\nbecause the critical section is only 3 instructions and we want\nto call v7_dcache_flush_all from __v7_setup which doesn\u0027t have a\nfull kernel stack with a struct thread_info.\n\nThis fixes a problem we see in scm_call() when flush_cache_all()\nis called from preemptible context and sometimes the L2 cache is\nnot properly flushed out.\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nAcked-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nReviewed-by: Nicolas Pitre \u003cnico@linaro.org\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "b8b9987ffdc2ab9c5e2c1edad556b23ccb38249b",
      "tree": "2a09d6c72facf9288d173bd71b4fcca71ba689c6",
      "parents": [
        "d65b4e98d7ea3038b767b70fe8be959b2913f16d"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "Marc.Zyngier@arm.com",
        "time": "Tue Feb 07 02:46:38 2012 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Feb 09 16:25:37 2012 +0000"
      },
      "message": "ARM: 7320/1: Fix proc_info table alignment\n\nWith an admittedly exotic choice of configuration options\n(CC_OPTIMIZE_FOR_SIZE, THUMB2, some other size-minimizing ones)\nand compiler, the proc_info table can end up being misaligned,\nand the kernel being unbootable (Error: unrecognized/unsupported\nprocessor variant).\n\nForcing the alignement to 4 bytes in the linker script fixes the\nissue.\n\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "da911782be4c82dc1222aa0cb5bef28605d1e117",
      "tree": "9614f74f2c46d6dc89ff45464edbf250f23c8fc0",
      "parents": [
        "35bded8f91e887bf2d692071bb720b03c6ccd3fe"
      ],
      "author": {
        "name": "Thomas Abraham",
        "email": "thomas.abraham@linaro.org",
        "time": "Wed Feb 08 11:42:43 2012 +0900"
      },
      "committer": {
        "name": "Kukjin Kim",
        "email": "kgene.kim@samsung.com",
        "time": "Thu Feb 09 18:40:22 2012 +0900"
      },
      "message": "ARM: EXYNOS: Add cpu-offset property in gic device tree node\n\nCommit db0d4db22a78 (\u0027ARM: gic: allow GIC to support non-banked setups)\nrequires a cpu-offset property to be specified for non-banked gic\ncontrollers, which is the case for Exynos4.\n\nReported-and-Tested-by: Karol Lewandowski \u003ck.lewandowsk@samsung.com\u003e\nSigned-off-by: Thomas Abraham \u003cthomas.abraham@linaro.org\u003e\nSigned-off-by: Kukjin Kim \u003ckgene.kim@samsung.com\u003e\n"
    },
    {
      "commit": "35bded8f91e887bf2d692071bb720b03c6ccd3fe",
      "tree": "127d22605468cbc332c57e16780c39b95726ab99",
      "parents": [
        "d65b4e98d7ea3038b767b70fe8be959b2913f16d"
      ],
      "author": {
        "name": "Karol Lewandowski",
        "email": "k.lewandowsk@samsung.com",
        "time": "Wed Feb 08 11:42:39 2012 +0900"
      },
      "committer": {
        "name": "Kukjin Kim",
        "email": "kgene.kim@samsung.com",
        "time": "Thu Feb 09 18:40:22 2012 +0900"
      },
      "message": "ARM: EXYNOS: Bring exynos4-dt up to date\n\nThis commit brings exynos4-dt in line with recent changes to\nmach-exynos tree, specifically:\n\n - Fixes build break related to replacing plat/exynos4.h with\n   common.h in commit cc511b8d84d8 (\"ARM: 7257/1: EXYNOS:\n   introduce arch/arm/mach-exynos/common.[ch]\")\n\n - Converts machine to use CONFIG_MULTI_IRQ_HANDLER as done for\n   other machines in commit 4e44d2cb95bd (\"ARM: exynos4: convert\n   to CONFIG_MULTI_IRQ_HANDLER\")\n\n - Adds restart specifier as done for other machines in commit\n   9eb4859564d6 (\"ARM: 7262/1: restart: EXYNOS: use new restart hook\")\n\nSigned-off-by: Karol Lewandowski \u003ck.lewandowsk@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: Thomas Abraham \u003cthomas.abraham@linaro.org\u003e\nSigned-off-by: Kukjin Kim \u003ckgene.kim@samsung.com\u003e\n"
    },
    {
      "commit": "c3ab96f36aa308fa5bf432d5a4dafc80b7373805",
      "tree": "8ab0bb57340bf267fd6921b8f8db008b1b352cbd",
      "parents": [
        "51363b8751a673a00ad48eea895266396d53fa52"
      ],
      "author": {
        "name": "Frank Blaschka",
        "email": "frank.blaschka@de.ibm.com",
        "time": "Wed Feb 08 00:19:49 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 08 18:50:20 2012 -0500"
      },
      "message": "qeth: add query OSA address table support\n\nAdd qeth device private ioctl to query the OSA address table.\nThis helps debugging hw related problems.\n\nSigned-off-by: Frank Blaschka \u003cfrank.blaschka@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3686396410e41d97356924b246aced7c86e29ca0",
      "tree": "7a7a4a56f48d78c5d0672ec67214ab53b71c889a",
      "parents": [
        "fef67c518349a4cd0eba6b38bde4afdc76538147"
      ],
      "author": {
        "name": "Igor Grinberg",
        "email": "grinberg@compulab.co.il",
        "time": "Sun Feb 05 13:39:40 2012 +0200"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Tue Feb 07 21:36:32 2012 -0800"
      },
      "message": "ARM: OMAP3: cm-t35: fix section mismatch warning\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0xeae8):\nSection mismatch in reference from the function cm_t35_init_usbh()\nto the (unknown reference) .init.data:(unknown)\nThe function cm_t35_init_usbh() references\nthe (unknown reference) __initdata (unknown).\nThis is often because cm_t35_init_usbh lacks a __initdata\nannotation or the annotation of (unknown) is wrong.\n\nSigned-off-by: Igor Grinberg \u003cgrinberg@compulab.co.il\u003e\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\n"
    },
    {
      "commit": "fef67c518349a4cd0eba6b38bde4afdc76538147",
      "tree": "2d94c645c8f73a8089167b903d2aa66e81a79c52",
      "parents": [
        "2416dc85107bf862acde82ffb8b0c86193487fd5"
      ],
      "author": {
        "name": "Santosh Shilimkar",
        "email": "santosh.shilimkar@ti.com",
        "time": "Mon Feb 06 15:49:47 2012 +0530"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Tue Feb 07 21:33:16 2012 -0800"
      },
      "message": "ARM: OMAP2: Fix the OMAP2 only build break seen with 2011+ ARM tool-chains\n\nWith the latest Sourcery G++ Lite 2011.03-41 and latest linaro\ntool-chains OMAP2 only build breaks with below error.\n\narch/arm/mach-omap2/omap-smc.S: Assembler messages:\narch/arm/mach-omap2/omap-smc.S:30: Error: selected processor does not support ARM mode `smc #0\u0027\narch/arm/mach-omap2/omap-smc.S:53: Error: selected processor does not support ARM mode `smc #0\u0027\narch/arm/mach-omap2/omap-smc.S:61: Error: selected processor does not support ARM mode `smc #0\u0027\narch/arm/mach-omap2/omap-smc.S:69: Error: selected processor does not support ARM mode `smc #0\u0027\narch/arm/mach-omap2/omap-smc.S:77: Error: selected processor does not support ARM mode `smc #0\u0027\nmake[1]: *** [arch/arm/mach-omap2/omap-smc.o] Error 1\n\nOMAP2 devices doesn\u0027t have the security support but the security support\nwas getting built because of OMAP2PLUS. Don\u0027t build security code for\nOMAP2 devices.\n\nWhile at it, fix the secure-common line in the Makefile to use tabs\ninstead of spaces.\n\nReported-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nSigned-off-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\n"
    },
    {
      "commit": "2416dc85107bf862acde82ffb8b0c86193487fd5",
      "tree": "465c0cd18c9d7ca06eca8cc543966ed3c1b50454",
      "parents": [
        "62aa2b537c6f5957afd98e29f96897419ed5ebab",
        "b755706cd726e5d465c28c2cd64c618419034981"
      ],
      "author": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Tue Feb 07 20:57:41 2012 -0800"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Tue Feb 07 20:57:41 2012 -0800"
      },
      "message": "Merge branch \u0027fixes-dt\u0027 into fixes\n"
    },
    {
      "commit": "98e96852480566333f6dacd3223f0be15df34d60",
      "tree": "dab2122717f7e371d9e20c0bc3561c501d61c658",
      "parents": [
        "8eef05dd3e70233f3e391774d612dab44c3f023b",
        "9f1065032ceb7e86c7c9f16bb86518857e88a172"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 07 15:54:02 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 07 15:54:02 2012 -0800"
      },
      "message": "Merge tag \u0027fbdev-fixes-for-3.3-1\u0027 of git://github.com/schandinat/linux-2.6\n\nfbdev fixes for 3.3\n\nIt includes:\n - compile fix for fsl-diu-fb\n - fix for a suspend/resume issue in atmel_lcdfb\n - fix for a suspend/resume issue in OMAP\n - workaround for a hardware bug to avoid physical damage in OMAP\n - really trivial dead code removal in intelfb\n\n* tag \u0027fbdev-fixes-for-3.3-1\u0027 of git://github.com/schandinat/linux-2.6:\n  atmel_lcdfb: fix usage of CONTRAST_CTR in suspend/resume\n  intelfb: remove some dead code\n  drivers/video: compile fixes for fsl-diu-fb.c\n  OMAPDSS: HDMI: PHY burnout fix\n  OMAP: 4430SDP/Panda: add HDMI HPD gpio\n  OMAP: 4430SDP/Panda: setup HDMI GPIO muxes\n  OMAPDSS: remove wrong HDMI HPD muxing\n  OMAP: 4430SDP/Panda: rename HPD GPIO to CT_CP_HPD\n  OMAP: 4430SDP/Panda: use gpio_free_array to free HDMI gpios\n  OMAPDSS: use sync versions of pm_runtime_put\n"
    },
    {
      "commit": "95025d6b27721ae8bbce592403fdc06e982204c8",
      "tree": "04cdc095c1d1b41406ebaf6c5d3639f4d27b3f38",
      "parents": [
        "59c1204d464075fcb5d02e7daa6b23782dd4a088",
        "1e05b62ae4bd4c1209229de367b0989b39644f88"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 07 14:32:24 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 07 14:32:24 2012 -0800"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost\n\narch: fix ioport mapping on mips,sh\n\nKevin Cernekee reported that recent cleanup that replaced pci_iomap with\na generic function failed to take into account the differences in io\nport handling on mips and sh architectures.\n\nRather than revert the changes reintroducing the code duplication, this\npatchset fixes this by adding ability for architectures to override\nioport mapping for pci devices.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n\n* tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:\n  sh: use the the PCI channels\u0027s io_map_base\n  mips: use the the PCI controller\u0027s io_map_base\n  lib: add NO_GENERIC_PCI_IOPORT_MAP\n"
    },
    {
      "commit": "f39d47ff819ed52a2afbdbecbe35f23f7755f58d",
      "tree": "6fcd6c2b9f6e7416da43065d866bd40d68bb9bc4",
      "parents": [
        "136e0b8eabb2913b589fc7fbd418f4d6805dbb56"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Tue Feb 07 14:39:57 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 07 16:58:56 2012 +0100"
      },
      "message": "perf: Fix double start/stop in x86_pmu_start()\n\nThe following patch fixes a bug introduced by the following\ncommit:\n\n        e050e3f0a71b (\"perf: Fix broken interrupt rate throttling\")\n\nThe patch caused the following warning to pop up depending on\nthe sampling frequency adjustments:\n\n  ------------[ cut here ]------------\n  WARNING: at arch/x86/kernel/cpu/perf_event.c:995 x86_pmu_start+0x79/0xd4()\n\nIt was caused by the following call sequence:\n\nperf_adjust_freq_unthr_context.part() {\n     stop()\n     if (delta \u003e 0) {\n          perf_adjust_period() {\n              if (period \u003e 8*...) {\n                  stop()\n                  ...\n                  start()\n              }\n          }\n      }\n      start()\n}\n\nWhich caused a double start and a double stop, thus triggering\nthe assert in x86_pmu_start().\n\nThe patch fixes the problem by avoiding the double calls. We\npass a new argument to perf_adjust_period() to indicate whether\nor not the event is already stopped. We can\u0027t just remove the\nstart/stop from that function because it\u0027s called from\n__perf_event_overflow where the event needs to be reloaded via a\nstop/start back-toback call.\n\nThe patch reintroduces the assertion in x86_pmu_start() which\nwas removed by commit:\n\n\t84f2b9b (\"perf: Remove deprecated WARN_ON_ONCE()\")\n\nIn this second version, we\u0027ve added calls to disable/enable PMU\nduring unthrottling or frequency adjustment based on bug report\nof spurious NMI interrupts from Eric Dumazet.\n\nReported-and-tested-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: markus@trippelsdorf.de\nCc: paulus@samba.org\nLink: http://lkml.kernel.org/r/20120207133956.GA4932@quad\n[ Minor edits to the changelog and to the code ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0783a9bf4a5207e9d57b8c110022957f8dc88e2a",
      "tree": "8f042c3a6f365419f72592f568788185c653633b",
      "parents": [
        "5f21f1240c5d1dad82edb21d38566da85085f530"
      ],
      "author": {
        "name": "Marc Dietrich",
        "email": "marvin24@gmx.de",
        "time": "Sat Jan 28 20:03:05 2012 +0100"
      },
      "committer": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Mon Feb 06 18:32:51 2012 -0800"
      },
      "message": "ARM: tegra: paz00: fix wrong UART port on mini-pcie plug\n\nUARTC is connected to the mini-pcie port.\n\nSigned-off-by: Marc Dietrich \u003cmarvin24@gmx.de\u003e\nAcked-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "5f21f1240c5d1dad82edb21d38566da85085f530",
      "tree": "328f058b1513f2e987c33433aabb972783b99f8e",
      "parents": [
        "218d06d79468ca2e6abf3679eea12d7d93d251ef"
      ],
      "author": {
        "name": "Marc Dietrich",
        "email": "marvin24@gmx.de",
        "time": "Sat Jan 28 20:03:04 2012 +0100"
      },
      "committer": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Mon Feb 06 18:32:50 2012 -0800"
      },
      "message": "ARM: tegra: paz00: fix wrong SD1 power gpio\n\nThe power gpio for the external memory card was specified wrongly.\nReplace it with the correct value (tested with warmboot with fastboot).\n\nSigned-off-by: Marc Dietrich \u003cmarvin24@gmx.de\u003e\nAcked-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "14fdbf7eb4fb3fc4ab01f88470549783c4c8d3d5",
      "tree": "a585e747011bab0f413591b0bcf75b1c60f66983",
      "parents": [
        "8597559a78e1cde158b999212bc9543682638eb1",
        "5753785fa97742d2723ed8ebb29ae59cac912705"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 06 16:26:58 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 06 16:26:58 2012 -0800"
      },
      "message": "Merge branch \u0027kvm-updates/3.3\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nFixing a regression with the PMU MSRs when PMU virtualization is\ndisabled, a guest-internal DoS with the SYSCALL instruction, and a dirty\nmemory logging race that may cause live migration to fail.\n\n* \u0027kvm-updates/3.3\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm:\n  KVM: do not #GP on perf MSR writes when vPMU is disabled\n  KVM: x86: fix missing checks in syscall emulation\n  KVM: x86: extend \"struct x86_emulate_ops\" with \"get_cpuid\"\n  KVM: Fix __set_bit() race in mark_page_dirty() during dirty logging\n"
    },
    {
      "commit": "49dc9577155576b10ff79f0c1486c816b01f58bf",
      "tree": "c193e6110c54234ab5ed3d816cc2dc15df165f37",
      "parents": [
        "d1a7a8e1d367e34e5adce91f48cae07dc08d9e6c"
      ],
      "author": {
        "name": "Hauke Mehrtens",
        "email": "hauke@hauke-m.de",
        "time": "Tue Jan 31 00:03:35 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 14:53:04 2012 -0500"
      },
      "message": "bcma: add PCIe host controller\n\nSome SoCs have a PCIe host controller to make it possible to attach\nsome other devices to it, like an other Wifi card.\nThis code was tested with an Netgear WNDR3400 (bcm4716 based), but\nshould work with all bcma based SoCs.\n\nSigned-off-by: Hauke Mehrtens \u003chauke@hauke-m.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ab74a91429ed3e10b27632e22ff681be90d9cd0d",
      "tree": "269f647823dc06d70054bfe0fc51418c318c4802",
      "parents": [
        "ca43784daa7a400407d851799ac69d3de2b2ab4e",
        "3e8ad5610c07f88bdecf94468929c86631be476f"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Mon Feb 06 08:31:33 2012 -0800"
      },
      "committer": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Mon Feb 06 08:31:33 2012 -0800"
      },
      "message": "Merge branch \u0027v3.3-samsung-fixes-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes\n\n* \u0027v3.3-samsung-fixes-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:\n  ARM: EXYNOS: Correct M-5MOLS sensor clock frequency on Universal C210 board\n  ARM: EXYNOS: Correct framebuffer window size on Nuri board\n  ARM: SAMSUNG: Fix missing api-change from subsys_interface change\n  ARM: EXYNOS: Fix \"warning: initialization from incompatible pointer type\"\n  ARM: S5PV210: Fix the name of exynos4_clk_hdmiphy_ctrl() for S5PV210\n  ARM: EXYNOS: Remove build warning without enabling PM\n  ARM: SAMSUNG: Fix platform data setup for I2C adapter 0\n  ARM: EXYNOS: fix non-SMP builds for EXYNOS4\n  ARM: S3C6410: Use device names for both I2C clocks\n  ARM: S3C64XX: Make s3c64xx_init_uarts() static\n"
    },
    {
      "commit": "d9142025f55973149a854c97e860fff61ed05b37",
      "tree": "01e1b887513792550b0bdd5b73708c657af876ab",
      "parents": [
        "31c150a11c867da233a7b5e13b45bcbd3a796bde",
        "ca43784daa7a400407d851799ac69d3de2b2ab4e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 04 12:11:40 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 04 12:11:40 2012 -0800"
      },
      "message": "Merge tag \u0027fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\narm-soc fixes for 3.3-rc\n\n* A series of OMAP regression fixes for merge window fallout\n* Two patches for Davinci, one removes some misdefined clocks, the other\n  is a regression fix for merge window fallout\n* Two patches that makes Broadcom bcmring build again (and removes a\n  bunch of unused code in the process)\n\n* tag \u0027fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:\n  ARM: bcmring: fix build failure in mach-bcmring/arch.c\n  ARM: bcmring: remove unused DMA map code\n  ARM: davinci: update mdio bus name\n  ARM: OMAP2+: arch/arm/mach-omap2/smartreflex.c: add missing iounmap\n  ARM: OMAP2+: arch/arm/mach-omap2/devices.c: introduce missing kfree\n  ARM: OMAP: fix MMC2 loopback clock handling\n  ARM: OMAP: fix erroneous mmc2 clock change on mmc3 setup\n  ARM: OMAP2+: GPMC: fix device size setup\n  ARM: OMAP2+: timer: Fix crash due to wrong arg to __omap_dm_timer_read_counter\n  ARM: OMAP3: hwmod data: register dss hwmods after dss_core\n  ARM: OMAP2/3: PRM: fix missing plat/irqs.h build breakage\n  ARM: OMAP2+: io: fix compilation breakage on 2420-only configs\n  ARM: OMAP4: hwmod data: Add names for DMIC memory address space\n  ARM: OMAP3: hwmod data: add SYSC_HAS_ENAWAKEUP for dispc\n  ARM: OMAP2+: hwmod data: split omap2/3 dispc hwmod class\n  ARM: davinci: DA850: remove non-existing pll1_sysclk4-7 clocks\n  ARM: OMAP2: fix regulator warnings\n  ARM: OMAP2: fix omap3 touchbook kconfig warning\n  i2c: OMAP: Fix OMAP1 build error\n"
    },
    {
      "commit": "ca43784daa7a400407d851799ac69d3de2b2ab4e",
      "tree": "81e4e084faf46a0f0d289cc264dd88ffcb296083",
      "parents": [
        "864e5e360ebb5acc7a41c6d6ac738a62aa1aa609"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sat Feb 04 11:29:02 2012 -0800"
      },
      "committer": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Sat Feb 04 11:38:20 2012 -0800"
      },
      "message": "ARM: bcmring: fix build failure in mach-bcmring/arch.c\n\nUpstream commit d1fce9c115eeb93e01c01732dfe9a86cf76009cf\n\n   \"ARM: restart: bcmring: use new restart hook\"\n\nbreaks building of this platform, since what used to be the\nlast field of the MACHINE_START/END block didn\u0027t have a\ntrailing comma.  Once another field was added below, we get:\n\narch/arm/mach-bcmring/arch.c:198: error: request for member \u0027restart\u0027 in something not a structure or union\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nAcked-by: Jiandong Zheng \u003cjdzheng@broadcom.com\u003e\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "864e5e360ebb5acc7a41c6d6ac738a62aa1aa609",
      "tree": "8b08ed7fe72af76cc62b0f50e01dab01f694c238",
      "parents": [
        "4a81220a61d0cb67880078298485b68da87d8a34"
      ],
      "author": {
        "name": "JD Zheng",
        "email": "jdzheng@broadcom.com",
        "time": "Mon Jan 30 10:59:01 2012 -0800"
      },
      "committer": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Sat Feb 04 11:27:13 2012 -0800"
      },
      "message": "ARM: bcmring: remove unused DMA map code\n\nRemove BCMRING DMA map code which is no longer used.\n\nThis also fixes a build error with dma.c introduced by\nbfcd2ea6a40b33270564d706396f1b514a988d3c.\n\nSigned-off-by: Jiandong Zheng \u003cjdzheng@broadcom.com\u003e\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "4554c135a0a017f4cd96f7c0612cb7ca78c68d08",
      "tree": "7233d0c493223fb3769c4dd0668bd8da4fd02241",
      "parents": [
        "82bdc843c2be0ce199e8e247dfb2a17248cbd6c4",
        "94ac27a54be6a14948f0a9b3f542b4ff1faac232"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 04 10:54:26 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 04 10:54:26 2012 -0800"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.infradead.org/users/vkoul/slave-dma\n\n* \u0027fixes\u0027 of git://git.infradead.org/users/vkoul/slave-dma:\n  i.MX SDMA: Fix burstsize settings\n  ARM: mach-shmobile: both USB DMAC instances on sh7372 are slave-only\n  dma: sh_dma: not all SH DMAC implementations support MEMCPY\n  at_hdmac: bugfix for enabling channel irq\n  dmaengine: fix missing \u0027cnt\u0027 in ?: in dmatest\n"
    },
    {
      "commit": "82bdc843c2be0ce199e8e247dfb2a17248cbd6c4",
      "tree": "f04e4c0935dd9e3f05741bf812229b36b18683cd",
      "parents": [
        "71b1b20b8aea6ba4a1a15736409f1261d8dfe1da",
        "0bf380bc70ecba68cb4d74dc656cc2fa8c4d801a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 04 10:51:54 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 04 10:51:54 2012 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027\n\n* akpm:\n  mm: compaction: check pfn_valid when entering a new MAX_ORDER_NR_PAGES block during isolation for migration\n  readahead: fix pipeline break caused by block plug\n  kprobes: fix a memory leak in function pre_handler_kretprobe()\n  drivers/tty/vt/vt_ioctl.c: fix KDFONTOP 32bit compatibility layer\n  lkdtm: avoid calling lkdtm_do_action() with spinlock held\n  mm/filemap_xip.c: fix race condition in xip_file_fault()\n  mm/memcontrol.c: fix warning with CONFIG_NUMA\u003dn\n  avr32: select generic atomic64_t support\n  mm: postpone migrated page mapping reset\n  xtensa: fix memscan()\n  MAINTAINERS: update lguest F: patterns\n  MAINTAINERS: remove staging sections\n  MAINTAINERS: remove iMX5 section\n  MAINTAINERS: update partitions block F: patterns\n"
    },
    {
      "commit": "d12566674c2d8d1275e197c01b44b481de42eda9",
      "tree": "c1597da9080aa6ef26c646f4c781a0f7b68da603",
      "parents": [
        "7c7ed8ec337bf5f62cc5287a6eb6b2f1b7504c2f",
        "5a97d0ae5b5d78727b87965cba84194a9f1e06ce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 03 16:57:40 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 03 16:57:40 2012 -0800"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.linaro.org/people/rmk/linux-arm\n\n* \u0027fixes\u0027 of git://git.linaro.org/people/rmk/linux-arm:\n  ARM: 7314/1: kuser: consistently use usr_ret for returning from helpers\n  ARM: 7302/1: Add TLB flushing for both entries in a PMD\n  ARM: 7303/1: perf: add empty NODE event definitions for Cortex-A5 and Cortex-A15\n  ARM: 7308/1: vfp: flush thread hwstate before copying ptrace registers\n  ARM: 7307/1: vfp: fix ptrace regset modification race\n  ARM: 7306/1: vfp: flush thread hwstate before restoring context from sigframe\n  Revert \"ARM: 7304/1: ioremap: fix boundary check when reusing static mapping\"\n"
    },
    {
      "commit": "31e0017e6f6fb5cfdfaf932c1f98c9bef8d57688",
      "tree": "95c057390ec5466082ad295a991f585174d0e3d3",
      "parents": [
        "35512ecaef03250fe50ad81430dd467f01d9a96b"
      ],
      "author": {
        "name": "Fabio Baltieri",
        "email": "fabio.baltieri@gmail.com",
        "time": "Fri Feb 03 15:37:14 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 03 16:16:40 2012 -0800"
      },
      "message": "avr32: select generic atomic64_t support\n\nEnable use of the generic atomic64 implementation on AVR32 platforms.\nWithout this the kernel fails to build as the architecture does not\nprovide its version.\n\nSigned-off-by: Fabio Baltieri \u003cfabio.baltieri@gmail.com\u003e\nAcked-by: Hans-Christian Egtvedt \u003cegtvedt@samfundet.no\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@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": "a1b58c237b73f10221b31e05b47a6565558207ef",
      "tree": "ad0651849cc19bb894a3f7d312df4e0c54e6bbd8",
      "parents": [
        "070f420b35a2c078ca2bd2a0d31dd7b5001d411c"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Feb 03 15:37:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 03 16:16:40 2012 -0800"
      },
      "message": "xtensa: fix memscan()\n\nDefining memscan() as memchr() is wrong, because the return values of\nmemscan() and memchr() are different when the character is not found.  So\nuse the generic memscan() implementation to fix this.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "207d543f472c1ac9552df79838dc807cbcaa9740",
      "tree": "f10a7f69cc25e6327607fca9884ba7ed5c2e8aac",
      "parents": [
        "41bd956de3dfdc3a43708fe2e0c8096c69064a1e"
      ],
      "author": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Mon Jan 30 14:31:46 2012 +0000"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Fri Feb 03 16:06:27 2012 -0500"
      },
      "message": "xen pvhvm: do not remap pirqs onto evtchns if !xen_have_vector_callback\n\nCC: stable@kernel.org #2.6.37 and onwards\nSigned-off-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "41bd956de3dfdc3a43708fe2e0c8096c69064a1e",
      "tree": "1a2a31181c6c89dd754c46376fd82b3e0ba77e5e",
      "parents": [
        "5b02aa1e6e7cf7d3bbf8027dc7e05e0eb2f1e828"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed Feb 01 15:56:54 2012 -0500"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Fri Feb 03 16:05:42 2012 -0500"
      },
      "message": "xen/smp: Fix CPU online/offline bug triggering a BUG: scheduling while atomic.\n\nWhen a user offlines a VCPU and then onlines it, we get:\n\nNMI watchdog disabled (cpu2): hardware events not enabled\nBUG: scheduling while atomic: swapper/2/0/0x00000002\nModules linked in: dm_multipath dm_mod xen_evtchn iscsi_boot_sysfs iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi scsi_mod libcrc32c crc32c radeon fbco\n ttm bitblit softcursor drm_kms_helper xen_blkfront xen_netfront xen_fbfront fb_sys_fops sysimgblt sysfillrect syscopyarea xen_kbdfront xenfs [last unloaded:\n\nPid: 0, comm: swapper/2 Tainted: G           O 3.2.0phase15.1-00003-gd6f7f5b-dirty #4\nCall Trace:\n [\u003cffffffff81070571\u003e] __schedule_bug+0x61/0x70\n [\u003cffffffff8158eb78\u003e] __schedule+0x798/0x850\n [\u003cffffffff8158ed6a\u003e] schedule+0x3a/0x50\n [\u003cffffffff810349be\u003e] cpu_idle+0xbe/0xe0\n [\u003cffffffff81583599\u003e] cpu_bringup_and_idle+0xe/0x10\n\nThe reason for this should be obvious from this call-chain:\ncpu_bringup_and_idle:\n \\- cpu_bringup\n  |   \\-[preempt_disable]\n  |\n  |- cpu_idle\n       \\- play_dead [assuming the user offlined the VCPU]\n       |     \\\n       |     +- (xen_play_dead)\n       |          \\- HYPERVISOR_VCPU_off [so VCPU is dead, once user\n       |          |                       onlines it starts from here]\n       |          \\- cpu_bringup [preempt_disable]\n       |\n       +- preempt_enable_no_reschedule()\n       +- schedule()\n       \\- preempt_enable()\n\nSo we have two preempt_disble() and one preempt_enable(). Calling\npreempt_enable() after the cpu_bringup() in the xen_play_dead\nfixes the imbalance.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "5a97d0ae5b5d78727b87965cba84194a9f1e06ce",
      "tree": "db73153f836278d74882999ca2252bdc11a2a24d",
      "parents": [
        "6d3ec1ae6cdcda185bd9452b2daed5145e2493a5"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Fri Feb 03 11:08:05 2012 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Feb 03 15:58:46 2012 +0000"
      },
      "message": "ARM: 7314/1: kuser: consistently use usr_ret for returning from helpers\n\n__kuser_cmpxchg64 has a return path using bx lr to get back to the caller.\nThis is actually ok since the code in question is predicated on\nCONFIG_CPU_32v6K, but for the sake of consistency using the usr_ret\nmacro is probably better.\n\nAcked-by: Dave Martin \u003cdave.martin@linaro.org\u003e\nAcked-by: Nicolas Pitre \u003cnico@linaro.org\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "84f2b9b2edc09595569c7397cc3c888764ffd78b",
      "tree": "f959f7f5746b3dc8409b2aae9584101c9b2f71a1",
      "parents": [
        "6c073a7ee250118b8be3a2379c96fd7f78382b06"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Thu Feb 02 12:04:01 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 03 08:24:40 2012 +0100"
      },
      "message": "perf: Remove deprecated WARN_ON_ONCE()\n\nWith the new throttling/unthrottling code introduced with\ncommit:\n\n  e050e3f0a71b (\"perf: Fix broken interrupt rate throttling\")\n\nwe occasionally hit two WARN_ON_ONCE() checks in:\n\n  - intel_pmu_pebs_enable()\n  - intel_pmu_lbr_enable()\n  - x86_pmu_start()\n\nThe assertions are no longer problematic. There is a valid\npath where they can trigger but it is harmless.\n\nThe assertion can be triggered with:\n\n  $ perf record -e instructions:pp ....\n\nLeading to paths:\n\n  intel_pmu_pebs_enable\n  intel_pmu_enable_event\n  x86_perf_event_set_period\n  x86_pmu_start\n  perf_adjust_freq_unthr_context\n  perf_event_task_tick\n  scheduler_tick\n\nAnd:\n\n  intel_pmu_lbr_enable\n  intel_pmu_enable_event\n  x86_perf_event_set_period\n  x86_pmu_start\n  perf_adjust_freq_unthr_context.\n  perf_event_task_tick\n  scheduler_tick\n\ncpuc-\u003eenabled is always on because when we get to\nperf_adjust_freq_unthr_context() the PMU is not totally\ndisabled. Furthermore when we need to adjust a period,\nwe only stop the event we need to change and not the\nentire PMU. Thus, when we re-enable, cpuc-\u003eenabled is\nalready set. Note that when we stop the event, both\npebs and lbr are stopped if necessary (and possible).\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nCc: peterz@infradead.org\nLink: http://lkml.kernel.org/r/20120202110401.GA30911@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c84e295b304f7359ee89645d099d79d3a4648c0b",
      "tree": "f446c55611dd906c012db8ba5fb9e8b2e031316d",
      "parents": [
        "2f2fde927243bde5fd106da692efef34be12f81c",
        "9afc416517f36b3b0b109e6590d0b74468fd80f9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 02 11:18:18 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 02 11:18:18 2012 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.monstr.eu/linux-2.6-microblaze\n\n* \u0027next\u0027 of git://git.monstr.eu/linux-2.6-microblaze:\n  Revert \"microblaze: Add topology init\"\n"
    },
    {
      "commit": "2f2fde927243bde5fd106da692efef34be12f81c",
      "tree": "28e69ca8fa227b1ba53e3bf4ddd42340499e7fe7",
      "parents": [
        "bd3ce7d57c380af110c86d19e256115d0e7053ca",
        "b0f4c4b32c8e3aa0d44fc4dd6c40a9a9a8d66b63",
        "45179fec946dd554f74e950d2278dabd5ad23fd3",
        "cb297a3e433dbdcf7ad81e0564e7b804c941ff0d",
        "e6d36a653becc7bbc643c399a77882e02bf552cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 02 11:11:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 02 11:11:13 2012 -0800"
      },
      "message": "Merge branches \u0027core-urgent-for-linus\u0027, \u0027perf-urgent-for-linus\u0027, \u0027sched-urgent-for-linus\u0027 and \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  bugs, x86: Fix printk levels for panic, softlockups and stack dumps\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf top: Fix number of samples displayed\n  perf tools: Fix strlen() bug in perf_event__synthesize_event_type()\n  perf tools: Fix broken build by defining _GNU_SOURCE in Makefile\n  x86/dumpstack: Remove unneeded check in dump_trace()\n  perf: Fix broken interrupt rate throttling\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched/rt: Fix task stack corruption under __ARCH_WANT_INTERRUPTS_ON_CTXSW\n  sched: Fix ancient race in do_exit()\n  sched/nohz: Fix nohz cpu idle load balancing state with cpu hotplug\n  sched/s390: Fix compile error in sched/core.c\n  sched: Fix rq-\u003enr_uninterruptible update race\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/reboot: Remove VersaLogic Menlow reboot quirk\n  x86/reboot: Skip DMI checks if reboot set by user\n  x86: Properly parenthesize cmpxchg() macro arguments\n"
    },
    {
      "commit": "6d3ec1ae6cdcda185bd9452b2daed5145e2493a5",
      "tree": "dabf4577ba47d2f7b70741c94353c94f1770b9f8",
      "parents": [
        "91756acb58b17aee68d055fc15b1e2550ff00801"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Jan 25 11:54:22 2012 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Feb 02 17:37:42 2012 +0000"
      },
      "message": "ARM: 7302/1: Add TLB flushing for both entries in a PMD\n\nLinux uses two PMD entries for a PTE with the classic page table format,\ncovering 2MB range. However, the __pte_free_tlb() function only adds a\nsingle TLB flush corresponding to 1MB range covering \u0027addr\u0027. On\nCortex-A15, level 1 entries can be cached by the TLB independently of\nthe level 2 entries and without additional flushing a PMD entry would be\nleft pointing at the wrong PTE. The patch limits the TLB flushing range\nto two 4KB pages around the 1MB boundary within PMD.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "91756acb58b17aee68d055fc15b1e2550ff00801",
      "tree": "6f81b4a5071441c876957a7afdff6a39a87a3a44",
      "parents": [
        "8130b9d7b9d858aa04ce67805e8951e3cb6e9b2f"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Wed Jan 25 19:36:28 2012 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Feb 02 17:37:42 2012 +0000"
      },
      "message": "ARM: 7303/1: perf: add empty NODE event definitions for Cortex-A5 and Cortex-A15\n\nCommit 89d6c0b5 (\"perf, arch: Add generic NODE cache events\") added\nempty NODE event definitions for the ARM PMU implementations. This was\nmerged along with Cortex-A5 and Cortex-A15 PMU support, so they missed\nout on the original patch.\n\nThis patch adds the empty definitions to Cortex-A5 and Cortex-A15.\n\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "8130b9d7b9d858aa04ce67805e8951e3cb6e9b2f",
      "tree": "0b66f2eb287b5412ef7c3d8034a64d9182fb7999",
      "parents": [
        "247f4993a5974e6759606c4d380748eecfd273ff"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jan 30 20:23:29 2012 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Feb 02 17:37:42 2012 +0000"
      },
      "message": "ARM: 7308/1: vfp: flush thread hwstate before copying ptrace registers\n\nIf we are context switched whilst copying into a thread\u0027s\nvfp_hard_struct then the partial copy may be corrupted by the VFP\ncontext switching code (see \"ARM: vfp: flush thread hwstate before\nrestoring context from sigframe\").\n\nThis patch updates the ptrace VFP set code so that the thread state is\nflushed before the copy, therefore disabling VFP and preventing\ncorruption from occurring.\n\nCc: stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "247f4993a5974e6759606c4d380748eecfd273ff",
      "tree": "79cf9e348c8274154e64d69d4373bec416cf4dee",
      "parents": [
        "2af276dfb1722e97b190bd2e646b079a2aa674db"
      ],
      "author": {
        "name": "Dave Martin",
        "email": "dave.martin@linaro.org",
        "time": "Mon Jan 30 20:22:28 2012 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Feb 02 17:37:42 2012 +0000"
      },
      "message": "ARM: 7307/1: vfp: fix ptrace regset modification race\n\nIn a preemptible kernel, vfp_set() can be preempted, causing the\nhardware VFP context to be switched while the thread vfp state is\nbeing read and modified.  This leads to a race condition which can\ncause the thread vfp state to become corrupted if lazy VFP context\nsave occurs due to preemption in between the time thread-\u003evfpstate\nis read and the time the modified state is written back.\n\nThis may occur if preemption occurs during the execution of a\nptrace() call which modifies the VFP register state of a thread.\nSuch instances should be very rare in most realistic scenarios --\nnone has been reported, so far as I am aware.  Only uniprocessor\nsystems should be affected, since VFP context save is not currently\nlazy in SMP kernels.\n\nThe problem was introduced by my earlier patch migrating to use\nregsets to implement ptrace.\n\nThis patch does a vfp_sync_hwstate() before reading\nthread-\u003evfpstate, to make sure that the thread\u0027s VFP state is not\nlive in the hardware registers while the registers are modified.\n\nThanks to Will Deacon for spotting this.\n\nCc: stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Dave Martin \u003cdave.martin@linaro.org\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "2af276dfb1722e97b190bd2e646b079a2aa674db",
      "tree": "8fee4bc70d769d2d6bea25c627ff63716c3d0b20",
      "parents": [
        "97f1040982d7935716e9a45a26ccd5cc8fe92f8c"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jan 30 20:21:42 2012 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Feb 02 17:37:41 2012 +0000"
      },
      "message": "ARM: 7306/1: vfp: flush thread hwstate before restoring context from sigframe\n\nFollowing execution of a signal handler, we currently restore the VFP\ncontext from the ucontext in the signal frame. This involves copying\nfrom the user stack into the current thread\u0027s vfp_hard_struct and then\nflushing the new data out to the hardware registers.\n\nThis is problematic when using a preemptible kernel because we could be\ncontext switched whilst updating the vfp_hard_struct. If the current\nthread has made use of VFP since the last context switch, the VFP\nnotifier will copy from the hardware registers into the vfp_hard_struct,\noverwriting any data that had been partially copied by the signal code.\n\nDisabling preemption across copy_from_user calls is a terrible idea, so\ninstead we move the VFP thread flush *before* we update the\nvfp_hard_struct. Since the flushing is performed lazily, this has the\neffect of disabling VFP and clearing the CPU\u0027s VFP state pointer,\ntherefore preventing the thread from being updated with stale data on\nthe next context switch.\n\nCc: stable \u003cstable@vger.kernel.org\u003e\nTested-by: Peter Maydell \u003cpeter.maydell@linaro.org\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "97f1040982d7935716e9a45a26ccd5cc8fe92f8c",
      "tree": "158cd337307a4a4e09a3fb5110f29ab0136bef6c",
      "parents": [
        "3c424f359898aff48c3d5bed608ac706f8a528c3"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun Jan 29 14:55:21 2012 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Feb 02 17:37:41 2012 +0000"
      },
      "message": "Revert \"ARM: 7304/1: ioremap: fix boundary check when reusing static mapping\"\n\nThis reverts commit 3c424f359898aff48c3d5bed608ac706f8a528c3.\n\nJoachim Eastwood reports:\n| \"ARM: 7304/1: ioremap: fix boundary check when reusing static mapping\"\n| Commit: 3c424f359898aff48c3d5bed608ac706f8a528c3 in Linus master\n|\n| Breaks booting on my custom AT91RM9200 board.\n| There isn\u0027t any error messages or anything that indicates what goes\n| wrong it just stops after; Uncompressing Linux... done, booting the\n| kernel.\n|\n| Reverting it makes my board boot again.\n\nand further debugging reveals:\n\nioremap: pfn\u003dfffff phys\u003dfffff000 offset\u003d400 size\u003d1000\nioremap: area c3ffdfc0: phys_addr\u003d200000 pfn\u003d200 size\u003d4000\nioremap: found: addr fef74000 \u003d\u003e fed73000 \u003d\u003e fed73400\n\nClearly, an area for pfn 0x200, 16K can\u0027t ever satisfy a request for pfn\n0xfffff.  This happens because the changed if statement becomes:\n\n                if (0x00200 \u003e 0xfffff ||\n                    0xfffff000 + 0x400 + 0x1000-1 \u003e 0x00200000 + 0x4000-1)\nand therefore:\n                if (0x00200 \u003e 0xfffff ||\n                    0x000003ff \u003e 0x00203fff)\n\nThe if condition fails, and so we _believe_ that the SRAM mapping fits\nour request.  Clearly that\u0027s totally bogus.\n\nMoreover, the original premise of the \u0027fix\u0027 patch was wrong:\n|    The condition checking boundaries of the requested and existing\n|    mappings didn\u0027t take in-page offset into consideration though,\n|    which lead to obscure and hard to debug problems when requested\n|    mapping crossed end of the static one.\n\nas the code immediately above this loop does:\n\n        size \u003d PAGE_ALIGN(offset + size);\n\nso \u0027size\u0027 already contains the requested offset into the page.\n\nSo, revert the broken \u0027fix\u0027.\n\nAcked-by: Nicolas Pitre \u003cnico@linaro.org\u003e\n"
    }
  ],
  "next": "c6df4b17c8539f737a6a2d7b797eac41e8e34cdc"
}
