)]}'
{
  "log": [
    {
      "commit": "2f7fa1be66dce77608330c5eb918d6360b5525f2",
      "tree": "05dbfe86d2b192389da11686fa380e7ae45be225",
      "parents": [
        "1338631433d8de7cf85b7e8fcf1a389ad89e7a8f",
        "f182394033d639679264d61e6dca62761e659ff7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 23:17:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 23:17:44 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\nPull 2nd round of input updates from Dmitry Torokhov:\n - update to Wacom driver to support wireless devices\n - update to Sentelci touchpad driver to support newer hardware\n - update to gpio-keys driver to support \"interrupt-only\" keys\n - fixups to earlier commits\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: wacom - check for allocation failure in probe()\n  Input: tegra-kbc - allocate pdata before using it\n  Input: amijoy - add missing platform check\n  Input: wacom - wireless battery status\n  Input: wacom - create inputs when wireless connect\n  Input: wacom - wireless monitor framework\n  Input: wacom - isolate input registration\n  Input: sentelic - improve packet debugging information\n  Input: sentelic - minor code cleanup\n  Input: sentelic - enabling absolute coordinates output for newer hardware\n  Input: sentelic - refactor code for upcoming new hardware support\n  Input: gpio_keys - add support for interrupt only keys\n  Input: gpio_keys - consolidate key destructor code\n  Input: revert \"gpio_keys - switch to using threaded IRQs\"\n  Input: gpio_keys - constify platform data\n  Input: spear-keyboard - remove kbd_set_plat_data()\n"
    },
    {
      "commit": "a591afc01d9e48affbacb365558a31e53c85af45",
      "tree": "9bb91f4eb94ec69fc4706c4944788ec5f3586063",
      "parents": [
        "820d41cf0cd0e94a5661e093821e2e5c6b36a9d8",
        "31796ac4e8f0e88f5c10f1ad6dab8f19bebe44a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 18:12:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 18:12:23 2012 -0700"
      },
      "message": "Merge branch \u0027x86-x32-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x32 support for x86-64 from Ingo Molnar:\n \"This tree introduces the X32 binary format and execution mode for x86:\n  32-bit data space binaries using 64-bit instructions and 64-bit kernel\n  syscalls.\n\n  This allows applications whose working set fits into a 32 bits address\n  space to make use of 64-bit instructions while using a 32-bit address\n  space with shorter pointers, more compressed data structures, etc.\"\n\nFix up trivial context conflicts in arch/x86/{Kconfig,vdso/vma.c}\n\n* \u0027x86-x32-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (71 commits)\n  x32: Fix alignment fail in struct compat_siginfo\n  x32: Fix stupid ia32/x32 inversion in the siginfo format\n  x32: Add ptrace for x32\n  x32: Switch to a 64-bit clock_t\n  x32: Provide separate is_ia32_task() and is_x32_task() predicates\n  x86, mtrr: Use explicit sizing and padding for the 64-bit ioctls\n  x86/x32: Fix the binutils auto-detect\n  x32: Warn and disable rather than error if binutils too old\n  x32: Only clear TIF_X32 flag once\n  x32: Make sure TS_COMPAT is cleared for x32 tasks\n  fs: Remove missed -\u003efds_bits from cessation use of fd_set structs internally\n  fs: Fix close_on_exec pointer in alloc_fdtable\n  x32: Drop non-__vdso weak symbols from the x32 VDSO\n  x32: Fix coding style violations in the x32 VDSO code\n  x32: Add x32 VDSO support\n  x32: Allow x32 to be configured\n  x32: If configured, add x32 system calls to system call tables\n  x32: Handle process creation\n  x32: Signal-related system calls\n  x86: Add #ifdef CONFIG_COMPAT to \u003casm/sys_ia32.h\u003e\n  ...\n"
    },
    {
      "commit": "820d41cf0cd0e94a5661e093821e2e5c6b36a9d8",
      "tree": "4d03046048dc52a8fa539c7e7b846e02738d8ca5",
      "parents": [
        "6268b325c3066234e7bddb99d2b98bcedb0c0033",
        "88b48684fe2d4f6207223423227c80d5408bccaf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 18:02:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 18:02:10 2012 -0700"
      },
      "message": "Merge tag \u0027cleanup2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull \"ARM: cleanups of io includes\" from Olof Johansson:\n \"Rob Herring has done a sweeping change cleaning up all of the\n  mach/io.h includes, moving some of the oft-repeated macros to a common\n  location and removing a bunch of boiler plate.  This is another step\n  closer to a common zImage for multiple platforms.\"\n\nFix up various fairly trivial conflicts (\u003cmach/io.h\u003e removal vs changes\naround it, tegra localtimer.o is *still* gone, yadda-yadda).\n\n* tag \u0027cleanup2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (29 commits)\n  ARM: tegra: Include assembler.h in sleep.S to fix build break\n  ARM: pxa: use common IOMEM definition\n  ARM: dma-mapping: convert ARCH_HAS_DMA_SET_COHERENT_MASK to kconfig symbol\n  ARM: __io abuse cleanup\n  ARM: create a common IOMEM definition\n  ARM: iop13xx: fix missing declaration of iop13xx_init_early\n  ARM: fix ioremap/iounmap for !CONFIG_MMU\n  ARM: kill off __mem_pci\n  ARM: remove bunch of now unused mach/io.h files\n  ARM: make mach/io.h include optional\n  ARM: clps711x: remove unneeded include of mach/io.h\n  ARM: dove: add explicit include of dove.h to addr-map.c\n  ARM: at91: add explicit include of hardware.h to uncompressor\n  ARM: ep93xx: clean-up mach/io.h\n  ARM: tegra: clean-up mach/io.h\n  ARM: orion5x: clean-up mach/io.h\n  ARM: davinci: remove unneeded mach/io.h include\n  [media] davinci: remove includes of mach/io.h\n  ARM: OMAP: Remove remaining includes for mach/io.h\n  ARM: msm: clean-up mach/io.h\n  ...\n"
    },
    {
      "commit": "12679a2d7e3bfbdc7586e3e86d1ca90c46659363",
      "tree": "d9c00f2e599d1c3e04a349229a6a19906d01f99e",
      "parents": [
        "1c036588772d01655d851f75dffc27c971e072e2",
        "b0df89868006517417251e02cc4ce5d4b0165885"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 16:53:48 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 16:53:48 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.linaro.org/people/rmk/linux-arm\n\nPull more ARM updates from Russell King.\n\nThis got a fair number of conflicts with the \u003casm/system.h\u003e split, but\nalso with some other sparse-irq and header file include cleanups.  They\nall looked pretty trivial, though.\n\n* \u0027for-linus\u0027 of git://git.linaro.org/people/rmk/linux-arm: (59 commits)\n  ARM: fix Kconfig warning for HAVE_BPF_JIT\n  ARM: 7361/1: provide XIP_VIRT_ADDR for no-MMU builds\n  ARM: 7349/1: integrator: convert to sparse irqs\n  ARM: 7259/3: net: JIT compiler for packet filters\n  ARM: 7334/1: add jump label support\n  ARM: 7333/2: jump label: detect %c support for ARM\n  ARM: 7338/1: add support for early console output via semihosting\n  ARM: use set_current_blocked() and block_sigmask()\n  ARM: exec: remove redundant set_fs(USER_DS)\n  ARM: 7332/1: extract out code patch function from kprobes\n  ARM: 7331/1: extract out insn generation code from ftrace\n  ARM: 7330/1: ftrace: use canonical Thumb-2 wide instruction format\n  ARM: 7351/1: ftrace: remove useless memory checks\n  ARM: 7316/1: kexec: EOI active and mask all interrupts in kexec crash path\n  ARM: Versatile Express: add NO_IOPORT\n  ARM: get rid of asm/irq.h in asm/prom.h\n  ARM: 7319/1: Print debug info for SIGBUS in user faults\n  ARM: 7318/1: gic: refactor irq_start assignment\n  ARM: 7317/1: irq: avoid NULL check in for_each_irq_desc loop\n  ARM: 7315/1: perf: add support for the Cortex-A7 PMU\n  ...\n"
    },
    {
      "commit": "ef08e78268423fc4d7fbc3e54bd9a67fc8da7cc5",
      "tree": "d0561d3ef89c9cd277a38168e33850666cbd33c4",
      "parents": [
        "71db34fc4330f7c784397acb9f1e6ee7f7b32eb2",
        "5b2e02e401deb44e7f5befe19404d8b2688efea4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 15:34:57 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 15:34:57 2012 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.infradead.org/users/vkoul/slave-dma\n\nPull slave-dmaengine update from Vinod Koul:\n \"This includes the cookie cleanup by Russell, the addition of context\n  parameter for dmaengine APIs, more arm dmaengine driver cleanup by\n  moving code to dmaengine, this time for imx by Javier and pl330 by\n  Boojin along with the usual driver fixes.\"\n\nFix up some fairly trivial conflicts with various other cleanups.\n\n* \u0027next\u0027 of git://git.infradead.org/users/vkoul/slave-dma: (67 commits)\n  dmaengine: imx: fix the build failure on x86_64\n  dmaengine: i.MX: Fix merge of cookie branch.\n  dmaengine: i.MX: Add support for interleaved transfers.\n  dmaengine: imx-dma: use \u0027dev_dbg\u0027 and \u0027dev_warn\u0027 for messages.\n  dmaengine: imx-dma: remove \u0027imx_dmav1_baseaddr\u0027 and \u0027dma_clk\u0027.\n  dmaengine: imx-dma: remove unused arg of imxdma_sg_next.\n  dmaengine: imx-dma: remove internal structure.\n  dmaengine: imx-dma: remove \u0027resbytes\u0027 field of \u0027internal\u0027 structure.\n  dmaengine: imx-dma: remove \u0027in_use\u0027 field of \u0027internal\u0027 structure.\n  dmaengine: imx-dma: remove sg member from internal structure.\n  dmaengine: imx-dma: remove \u0027imxdma_setup_sg_hw\u0027 function.\n  dmaengine: imx-dma: remove \u0027imxdma_config_channel_hw\u0027 function.\n  dmaengine: imx-dma: remove \u0027imxdma_setup_mem2mem_hw\u0027 function.\n  dmaengine: imx-dma: remove dma_mode member of internal structure.\n  dmaengine: imx-dma: remove data member from internal structure.\n  dmaengine: imx-dma: merge old dma-v1.c with imx-dma.c\n  dmaengine: at_hdmac: add slave config operation\n  dmaengine: add context parameter to prep_slave_sg and prep_dma_cyclic\n  dmaengine/dma_slave: introduce inline wrappers\n  dma: imx-sdma: Treat firmware messages as warnings instead of erros\n  ...\n"
    },
    {
      "commit": "71db34fc4330f7c784397acb9f1e6ee7f7b32eb2",
      "tree": "77dd08f6f778a799dcd0c48eb72d0742349df235",
      "parents": [
        "50483c3268918ee51a56d1baa39b9149d2d0d521",
        "797a9d797f8483bb67f265c761b76dcd5a077a23"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:53:25 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:53:25 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.4\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd changes from Bruce Fields:\n\nHighlights:\n - Benny Halevy and Tigran Mkrtchyan implemented some more 4.1 features,\n   moving us closer to a complete 4.1 implementation.\n - Bernd Schubert fixed a long-standing problem with readdir cookies on\n   ext2/3/4.\n - Jeff Layton performed a long-overdue overhaul of the server reboot\n   recovery code which will allow us to deprecate the current code (a\n   rather unusual user of the vfs), and give us some needed flexibility\n   for further improvements.\n - Like the client, we now support numeric uid\u0027s and gid\u0027s in the\n   auth_sys case, allowing easier upgrades from NFSv2/v3 to v4.x.\n\nPlus miscellaneous bugfixes and cleanup.\n\nThanks to everyone!\n\nThere are also some delegation fixes waiting on vfs review that I\nsuppose will have to wait for 3.5.  With that done I think we\u0027ll finally\nturn off the \"EXPERIMENTAL\" dependency for v4 (though that\u0027s mostly\nsymbolic as it\u0027s been on by default in distro\u0027s for a while).\n\nAnd the list of 4.1 todo\u0027s should be achievable for 3.5 as well:\n\n   http://wiki.linux-nfs.org/wiki/index.php/Server_4.0_and_4.1_issues\n\nthough we may still want a bit more experience with it before turning it\non by default.\n\n* \u0027for-3.4\u0027 of git://linux-nfs.org/~bfields/linux: (55 commits)\n  nfsd: only register cld pipe notifier when CONFIG_NFSD_V4 is enabled\n  nfsd4: use auth_unix unconditionally on backchannel\n  nfsd: fix NULL pointer dereference in cld_pipe_downcall\n  nfsd4: memory corruption in numeric_name_to_id()\n  sunrpc: skip portmap calls on sessions backchannel\n  nfsd4: allow numeric idmapping\n  nfsd: don\u0027t allow legacy client tracker init for anything but init_net\n  nfsd: add notifier to handle mount/unmount of rpc_pipefs sb\n  nfsd: add the infrastructure to handle the cld upcall\n  nfsd: add a header describing upcall to nfsdcld\n  nfsd: add a per-net-namespace struct for nfsd\n  sunrpc: create nfsd dir in rpc_pipefs\n  nfsd: add nfsd4_client_tracking_ops struct and a way to set it\n  nfsd: convert nfs4_client-\u003ecl_cb_flags to a generic flags field\n  NFSD: Fix nfs4_verifier memory alignment\n  NFSD: Fix warnings when NFSD_DEBUG is not defined\n  nfsd: vfs_llseek() with 32 or 64 bit offsets (hashes)\n  nfsd: rename \u0027int access\u0027 to \u0027int may_flags\u0027 in nfsd_open()\n  ext4: return 32/64-bit dir name hash according to usage type\n  fs: add new FMODE flags: FMODE_32bithash and FMODE_64bithash\n  ...\n"
    },
    {
      "commit": "50483c3268918ee51a56d1baa39b9149d2d0d521",
      "tree": "2fb9c927c319628ebddfd118c10df3e626bdd1c4",
      "parents": [
        "7fda0412c5f7afdd1a5ff518f98dee5157266d8a",
        "1631fcea8399da5e80a80084b3b8c5bfd99d21e7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:49:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:49:45 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile\n\nPull arch/tile (really asm-generic) update from Chris Metcalf:\n \"These are a couple of asm-generic changes that apply to tile.\"\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:\n  compat: use sys_sendfile64() implementation for sendfile syscall\n  [PATCH v3] ipc: provide generic compat versions of IPC syscalls\n"
    },
    {
      "commit": "7fda0412c5f7afdd1a5ff518f98dee5157266d8a",
      "tree": "d312af46758fa9b59431a479d258b54184a00591",
      "parents": [
        "6b8212a313dae341ef3a2e413dfec5c4dea59617",
        "160594e99dbbb0a5600ad922c630952c7c1c14bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:46:05 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:46:05 2012 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar.\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  cpusets: Remove an unused variable\n  sched/rt: Improve pick_next_highest_task_rt()\n  sched: Fix select_fallback_rq() vs cpu_active/cpu_online\n  sched/x86/smp: Do not enable IRQs over calibrate_delay()\n  sched: Fix compiler warning about declared inline after use\n  MAINTAINERS: Update email address for SCHEDULER and PERF EVENTS\n"
    },
    {
      "commit": "6b8212a313dae341ef3a2e413dfec5c4dea59617",
      "tree": "bbca09d88f61f999c7714fe82710bdfe6ee0e98b",
      "parents": [
        "bcd550745fc54f789c14e7526e0633222c505faa",
        "8abc3122aa02567bfe626cd13f4d34853c9b1225"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:28:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:28:26 2012 -0700"
      },
      "message": "Merge branch \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 updates from Ingo Molnar.\n\nThis touches some non-x86 files due to the sanitized INLINE_SPIN_UNLOCK\nconfig usage.\n\nFixed up trivial conflicts due to just header include changes (removing\nheaders due to cpu_idle() merge clashing with the \u003casm/system.h\u003e split).\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/apic/amd: Be more verbose about LVT offset assignments\n  x86, tls: Off by one limit check\n  x86/ioapic: Add io_apic_ops driver layer to allow interception\n  x86/olpc: Add debugfs interface for EC commands\n  x86: Merge the x86_32 and x86_64 cpu_idle() functions\n  x86/kconfig: Remove CONFIG_TR\u003dy from the defconfigs\n  x86: Stop recursive fault in print_context_stack after stack overflow\n  x86/io_apic: Move and reenable irq only when CONFIG_GENERIC_PENDING_IRQ\u003dy\n  x86/apic: Add separate apic_id_valid() functions for selected apic drivers\n  locking/kconfig: Simplify INLINE_SPIN_UNLOCK usage\n  x86/kconfig: Update defconfigs\n  x86: Fix excessive MSR print out when show_msr is not specified\n"
    },
    {
      "commit": "bcd550745fc54f789c14e7526e0633222c505faa",
      "tree": "c3fe11a6503b7ffdd4406a9fece5c40b3e2a3f6d",
      "parents": [
        "93f378883cecb9dcb2cf5b51d9d24175906659da",
        "646783a389828e76e813f50791f7999429c821bc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:16:48 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:16:48 2012 -0700"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer core updates from Thomas Gleixner.\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  ia64: vsyscall: Add missing paranthesis\n  alarmtimer: Don\u0027t call rtc_timer_init() when CONFIG_RTC_CLASS\u003dn\n  x86: vdso: Put declaration before code\n  x86-64: Inline vdso clock_gettime helpers\n  x86-64: Simplify and optimize vdso clock_gettime monotonic variants\n  kernel-time: fix s/then/than/ spelling errors\n  time: remove no_sync_cmos_clock\n  time: Avoid scary backtraces when warning of \u003e 11% adj\n  alarmtimer: Make sure we initialize the rtctimer\n  ntp: Fix leap-second hrtimer livelock\n  x86, tsc: Skip refined tsc calibration on systems with reliable TSC\n  rtc: Provide flag for rtc devices that don\u0027t support UIE\n  ia64: vsyscall: Use seqcount instead of seqlock\n  x86: vdso: Use seqcount instead of seqlock\n  x86: vdso: Remove bogus locking in update_vsyscall_tz()\n  time: Remove bogus comments\n  time: Fix change_clocksource locking\n  time: x86: Fix race switching from vsyscall to non-vsyscall clock\n"
    },
    {
      "commit": "b5174fa3a7f4f8f150bfa3b917c92608953dfa0f",
      "tree": "5efd32dd52fe55f760094e78f18acd3ff869751d",
      "parents": [
        "afb9bd704c7116076879352a2cc2c43aa12c1e14",
        "135111cc5595c6a24dd826d503e2d2bae92da1c4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 20:59:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 20:59:45 2012 -0700"
      },
      "message": "Merge tag \u0027mmc-merge-for-3.4-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc\n\nPull MMC updates from Chris Ball:\n\nCore:\n * Support for MMC 4.5 Data Tag feature -- we tag REQ_META, so devices\n   that support Data Tag will provide increased throughput for metadata.\n * Faster detection of card removal on I/O errors.\n\nDrivers:\n * dw_mmc now supports eMMC Power Off Notify, has PCI support, and\n   implements pre_req and post_req for asynchronous requests.\n * omap_hsmmc now supports device tree.\n * esdhc now has power management support.\n * sdhci-tegra now supports Tegra30 devices.\n * sdhci-spear now supports hibernation.\n * tmio_mmc now supports using a GPIO for card detection.\n * Intel PCH now supports 8-bit bus transfers.\n\n* tag \u0027mmc-merge-for-3.4-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (53 commits)\n  mmc: sh_mmcif: simplify bitmask macros\n  mmc: sh_mobile_sdhi: support modular mmc-core with non-standard hotplug\n  mmc: sh_mobile_sdhi: add a callback for board specific init code\n  mmc: tmio: cosmetic: prettify the tmio_mmc_set_ios() function\n  mmc: sh_mobile_sdhi: do not manage PM clocks manually\n  mmc: tmio_mmc: remove unused sdio_irq_enabled flag\n  mmc: tmio_mmc: power status flag doesn\u0027t have to be exposed in platform data\n  mmc: sh_mobile_sdhi: pass card hotplug GPIO number to TMIO MMC\n  mmc: tmio_mmc: support the generic MMC GPIO card hotplug helper\n  mmc: tmio: calculate the native hotplug condition only once\n  mmc: simplify mmc_cd_gpio_request() by removing two parameters\n  mmc: sdhci-pci: allow 8-bit bus width for Intel PCH\n  mmc: sdhci: check interrupt flags in ISR again\n  mmc: sdhci-pci: Add MSI support\n  mmc: core: warn when card doesn\u0027t support HPI\n  mmc: davinci: Poll status for small size transfers\n  mmc: davinci: Eliminate spurious interrupts\n  mmc: omap_hsmmc: Avoid a regulator voltage change with dt\n  mmc: omap_hsmmc: Convert hsmmc driver to use device tree\n  mmc: sdhci-pci: add SDHCI_QUIRK2_HOST_OFF_CARD_ON for Medfield SDIO\n  ...\n"
    },
    {
      "commit": "532bfc851a7475fb6a36c1e953aa395798a7cca7",
      "tree": "a7892e5a31330dd59f31959efbe9fda1803784fd",
      "parents": [
        "0195c00244dc2e9f522475868fa278c473ba7339",
        "8da00edc1069f01c34510fa405dc15d96c090a3f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:19:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:19:28 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge third batch of patches from Andrew Morton:\n - Some MM stragglers\n - core SMP library cleanups (on_each_cpu_mask)\n - Some IPI optimisations\n - kexec\n - kdump\n - IPMI\n - the radix-tree iterator work\n - various other misc bits.\n\n \"That\u0027ll do for -rc1.  I still have ~10 patches for 3.4, will send\n  those along when they\u0027ve baked a little more.\"\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (35 commits)\n  backlight: fix typo in tosa_lcd.c\n  crc32: add help text for the algorithm select option\n  mm: move hugepage test examples to tools/testing/selftests/vm\n  mm: move slabinfo.c to tools/vm\n  mm: move page-types.c from Documentation to tools/vm\n  selftests/Makefile: make `run_tests\u0027 depend on `all\u0027\n  selftests: launch individual selftests from the main Makefile\n  radix-tree: use iterators in find_get_pages* functions\n  radix-tree: rewrite gang lookup using iterator\n  radix-tree: introduce bit-optimized iterator\n  fs/proc/namespaces.c: prevent crash when ns_entries[] is empty\n  nbd: rename the nbd_device variable from lo to nbd\n  pidns: add reboot_pid_ns() to handle the reboot syscall\n  sysctl: use bitmap library functions\n  ipmi: use locks on watchdog timeout set on reboot\n  ipmi: simplify locking\n  ipmi: fix message handling during panics\n  ipmi: use a tasklet for handling received messages\n  ipmi: increase KCS timeouts\n  ipmi: decrease the IPMI message transaction time in interrupt mode\n  ...\n"
    },
    {
      "commit": "78c1d78488a3c45685d993130c9f17102dc79a54",
      "tree": "b9fd6e6b53b5b161836bea39811f16deb0ad88ff",
      "parents": [
        "4c619aa0ba171c092a0ae5d969364deb82dbe371"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Wed Mar 28 14:42:53 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:37 2012 -0700"
      },
      "message": "radix-tree: introduce bit-optimized iterator\n\nA series of radix tree cleanups, and usage of them in the core pagecache\ncode.\n\nMicro-benchmark:\n\nlookup 14 slots (typical page-vector size)\nin radix-tree there earch \u003cstep\u003e slot filled and tagged\nbefore/after - nsec per full scan through tree\n\n* Intel Sandy Bridge i7-2620M 4Mb L3\nNew code always faster\n\n* AMD Athlon 6000+ 2x1Mb L2, without L3\nNew code generally faster,\nMinor degradation (marked with \"*\") for huge sparse trees\n\n* i386 on Sandy Bridge\nNew code faster for common cases: tagged and dense trees.\nSome degradations for non-tagged lookup on sparse trees.\n\nIdeally, there might help __ffs() analog for searching first non-zero\nlong element in array, gcc sometimes cannot optimize this loop corretly.\n\nNumbers:\n\nCPU: Intel Sandy Bridge i7-2620M 4Mb L3\n\nradix-tree with 1024 slots:\n\ntagged lookup\n\nstep  1      before  7156        after  3613\nstep  2      before  5399        after  2696\nstep  3      before  4779        after  1928\nstep  4      before  4456        after  1429\nstep  5      before  4292        after  1213\nstep  6      before  4183        after  1052\nstep  7      before  4157        after  951\nstep  8      before  4016        after  812\nstep  9      before  3952        after  851\nstep  10     before  3937        after  732\nstep  11     before  4023        after  709\nstep  12     before  3872        after  657\nstep  13     before  3892        after  633\nstep  14     before  3720        after  591\nstep  15     before  3879        after  578\nstep  16     before  3561        after  513\n\nnormal lookup\n\nstep  1      before  4266       after  3301\nstep  2      before  2695       after  2129\nstep  3      before  2083       after  1712\nstep  4      before  1801       after  1534\nstep  5      before  1628       after  1313\nstep  6      before  1551       after  1263\nstep  7      before  1475       after  1185\nstep  8      before  1432       after  1167\nstep  9      before  1373       after  1092\nstep  10     before  1339       after  1134\nstep  11     before  1292       after  1056\nstep  12     before  1319       after  1030\nstep  13     before  1276       after  1004\nstep  14     before  1256       after  987\nstep  15     before  1228       after  992\nstep  16     before  1247       after  999\n\nradix-tree with 1024*1024*128 slots:\n\ntagged lookup\n\nstep  1      before  1086102841  after  674196409\nstep  2      before  816839155   after  498138306\nstep  7      before  599728907   after  240676762\nstep  15     before  555729253   after  185219677\nstep  63     before  606637748   after  128585664\nstep  64     before  608384432   after  102945089\nstep  65     before  596987114   after  123996019\nstep  128    before  304459225   after  56783056\nstep  256    before  158846855   after  31232481\nstep  512    before  86085652    after  18950595\nstep  12345  before  6517189     after  1674057\n\nnormal lookup\n\nstep  1      before  626064869  after  544418266\nstep  2      before  418809975  after  336321473\nstep  7      before  242303598  after  207755560\nstep  15     before  208380563  after  176496355\nstep  63     before  186854206  after  167283638\nstep  64     before  176188060  after  170143976\nstep  65     before  185139608  after  167487116\nstep  128    before  88181865   after  86913490\nstep  256    before  45733628   after  45143534\nstep  512    before  24506038   after  23859036\nstep  12345  before  2177425    after  2018662\n\n* AMD Athlon 6000+ 2x1Mb L2, without L3\n\nradix-tree with 1024 slots:\n\ntag-lookup\n\nstep  1      before  8164        after  5379\nstep  2      before  5818        after  5581\nstep  3      before  4959        after  4213\nstep  4      before  4371        after  3386\nstep  5      before  4204        after  2997\nstep  6      before  4950        after  2744\nstep  7      before  4598        after  2480\nstep  8      before  4251        after  2288\nstep  9      before  4262        after  2243\nstep  10     before  4175        after  2131\nstep  11     before  3999        after  2024\nstep  12     before  3979        after  1994\nstep  13     before  3842        after  1929\nstep  14     before  3750        after  1810\nstep  15     before  3735        after  1810\nstep  16     before  3532        after  1660\n\nnormal-lookup\n\nstep  1      before  7875        after  5847\nstep  2      before  4808        after  4071\nstep  3      before  4073        after  3462\nstep  4      before  3677        after  3074\nstep  5      before  4308        after  2978\nstep  6      before  3911        after  3807\nstep  7      before  3635        after  3522\nstep  8      before  3313        after  3202\nstep  9      before  3280        after  3257\nstep  10     before  3166        after  3083\nstep  11     before  3066        after  3026\nstep  12     before  2985        after  2982\nstep  13     before  2925        after  2924\nstep  14     before  2834        after  2808\nstep  15     before  2805        after  2803\nstep  16     before  2647        after  2622\n\nradix-tree with 1024*1024*128 slots:\n\ntag-lookup\n\nstep  1      before  1288059720  after  951736580\nstep  2      before  961292300   after  884212140\nstep  7      before  768905140   after  547267580\nstep  15     before  771319480   after  456550640\nstep  63     before  504847640   after  242704304\nstep  64     before  392484800   after  177920786\nstep  65     before  491162160   after  246895264\nstep  128    before  208084064   after  97348392\nstep  256    before  112401035   after  51408126\nstep  512    before  75825834    after  29145070\nstep  12345  before  5603166     after  2847330\n\nnormal-lookup\n\nstep  1      before  1025677120  after  861375100\nstep  2      before  647220080   after  572258540\nstep  7      before  505518960   after  484041813\nstep  15     before  430483053   after  444815320\t*\nstep  63     before  388113453   after  404250546\t*\nstep  64     before  374154666   after  396027440\t*\nstep  65     before  381423973   after  396704853\t*\nstep  128    before  190078700   after  202619384\t*\nstep  256    before  100886756   after  102829108\t*\nstep  512    before  64074505    after  56158720\nstep  12345  before  4237289     after  4422299\t\t*\n\n* i686 on Sandy bridge\n\nradix-tree with 1024 slots:\n\ntagged lookup\n\nstep  1      before  7990        after  4019\nstep  2      before  5698        after  2897\nstep  3      before  5013        after  2475\nstep  4      before  4630        after  1721\nstep  5      before  4346        after  1759\nstep  6      before  4299        after  1556\nstep  7      before  4098        after  1513\nstep  8      before  4115        after  1222\nstep  9      before  3983        after  1390\nstep  10     before  4077        after  1207\nstep  11     before  3921        after  1231\nstep  12     before  3894        after  1116\nstep  13     before  3840        after  1147\nstep  14     before  3799        after  1090\nstep  15     before  3797        after  1059\nstep  16     before  3783        after  745\n\nnormal lookup\n\nstep  1      before  5103       after  3499\nstep  2      before  3299       after  2550\nstep  3      before  2489       after  2370\nstep  4      before  2034       after  2302\t\t*\nstep  5      before  1846       after  2268\t\t*\nstep  6      before  1752       after  2249\t\t*\nstep  7      before  1679       after  2164\t\t*\nstep  8      before  1627       after  2153\t\t*\nstep  9      before  1542       after  2095\t\t*\nstep  10     before  1479       after  2109\t\t*\nstep  11     before  1469       after  2009\t\t*\nstep  12     before  1445       after  2039\t\t*\nstep  13     before  1411       after  2013\t\t*\nstep  14     before  1374       after  2046\t\t*\nstep  15     before  1340       after  1975\t\t*\nstep  16     before  1331       after  2000\t\t*\n\nradix-tree with 1024*1024*128 slots:\n\ntagged lookup\n\nstep  1      before  1225865377  after  667153553\nstep  2      before  842427423   after  471533007\nstep  7      before  609296153   after  276260116\nstep  15     before  544232060   after  226859105\nstep  63     before  519209199   after  141343043\nstep  64     before  588980279   after  141951339\nstep  65     before  521099710   after  138282060\nstep  128    before  298476778   after  83390628\nstep  256    before  149358342   after  43602609\nstep  512    before  76994713    after  22911077\nstep  12345  before  5328666     after  1472111\n\nnormal lookup\n\nstep  1      before  819284564  after  533635310\nstep  2      before  512421605  after  364956155\nstep  7      before  271443305  after  305721345\t*\nstep  15     before  223591630  after  273960216\t*\nstep  63     before  190320247  after  217770207\t*\nstep  64     before  178538168  after  267411372\t*\nstep  65     before  186400423  after  215347937\t*\nstep  128    before  88106045   after  140540612\t*\nstep  256    before  44812420   after  70660377\t\t*\nstep  512    before  24435438   after  36328275\t\t*\nstep  12345  before  2123924    after  2148062\t\t*\n\nbloat-o-meter delta for this patchset + patchset with related shmem cleanups\n\nbloat-o-meter: x86_64\n\nadd/remove: 4/3 grow/shrink: 5/6 up/down: 928/-939 (-11)\nfunction                                     old     new   delta\nradix_tree_next_chunk                          -     499    +499\nshmem_unuse                                  428     554    +126\nshmem_radix_tree_replace                     131     227     +96\nfind_get_pages_tag                           354     419     +65\nfind_get_pages_contig                        345     407     +62\nfind_get_pages                               362     396     +34\n__kstrtab_radix_tree_next_chunk                -      22     +22\n__ksymtab_radix_tree_next_chunk                -      16     +16\n__kcrctab_radix_tree_next_chunk                -       8      +8\nradix_tree_gang_lookup_slot                  204     203      -1\nstatic.shmem_xattr_set                       384     381      -3\nradix_tree_gang_lookup_tag_slot              208     191     -17\nradix_tree_gang_lookup                       231     187     -44\nradix_tree_gang_lookup_tag                   247     199     -48\nshmem_unlock_mapping                         278     190     -88\n__lookup                                     217       -    -217\n__lookup_tag                                 242       -    -242\nradix_tree_locate_item                       279       -    -279\n\nbloat-o-meter: i386\n\nadd/remove: 3/3 grow/shrink: 8/9 up/down: 1075/-1275 (-200)\nfunction                                     old     new   delta\nradix_tree_next_chunk                          -     757    +757\nshmem_unuse                                  352     449     +97\nfind_get_pages_contig                        269     322     +53\nshmem_radix_tree_replace                     113     154     +41\nfind_get_pages_tag                           277     318     +41\ndcache_dir_lseek                             426     458     +32\n__kstrtab_radix_tree_next_chunk                -      22     +22\nvc_do_resize                                 968     977      +9\nsnd_pcm_lib_read1                            725     733      +8\n__ksymtab_radix_tree_next_chunk                -       8      +8\nnetlbl_cipsov4_list                         1120    1127      +7\nfind_get_pages                               293     291      -2\nnew_slab                                     467     459      -8\nbitfill_unaligned_rev                        425     417      -8\nradix_tree_gang_lookup_tag_slot              177     146     -31\nblk_dump_cmd                                 267     229     -38\nradix_tree_gang_lookup_slot                  212     134     -78\nshmem_unlock_mapping                         221     128     -93\nradix_tree_gang_lookup_tag                   275     162    -113\nradix_tree_gang_lookup                       255     126    -129\n__lookup                                     227       -    -227\n__lookup_tag                                 271       -    -271\nradix_tree_locate_item                       277       -    -277\n\nThis patch:\n\nImplement a clean, simple and effective radix-tree iteration routine.\n\nIterating divided into two phases:\n* lookup next chunk in radix-tree leaf node\n* iterating through slots in this chunk\n\nMain iterator function radix_tree_next_chunk() returns pointer to first\nslot, and stores in the struct radix_tree_iter index of next-to-last slot.\n For tagged-iterating it also constuct bitmask of tags for retunted chunk.\n All additional logic implemented as static-inline functions and macroses.\n\nAlso adds radix_tree_find_next_bit() static-inline variant of\nfind_next_bit() optimized for small constant size arrays, because\nfind_next_bit() too heavy for searching in an array with one/two long\nelements.\n\n[akpm@linux-foundation.org: rework comments a bit]\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nTested-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf3f89214ef6a33fad60856bc5ffd7bb2fc4709b",
      "tree": "d6f5d7eb93bad10cd146a737a3a72e3459ec3e61",
      "parents": [
        "5a04cca6c39cdd0b8c75b0628da634248f381b62"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Wed Mar 28 14:42:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:36 2012 -0700"
      },
      "message": "pidns: add reboot_pid_ns() to handle the reboot syscall\n\nIn the case of a child pid namespace, rebooting the system does not really\nmakes sense.  When the pid namespace is used in conjunction with the other\nnamespaces in order to create a linux container, the reboot syscall leads\nto some problems.\n\nA container can reboot the host.  That can be fixed by dropping the\nsys_reboot capability but we are unable to correctly to poweroff/\nhalt/reboot a container and the container stays stuck at the shutdown time\nwith the container\u0027s init process waiting indefinitively.\n\nAfter several attempts, no solution from userspace was found to reliabily\nhandle the shutdown from a container.\n\nThis patch propose to make the init process of the child pid namespace to\nexit with a signal status set to : SIGINT if the child pid namespace\ncalled \"halt/poweroff\" and SIGHUP if the child pid namespace called\n\"reboot\".  When the reboot syscall is called and we are not in the initial\npid namespace, we kill the pid namespace for \"HALT\", \"POWEROFF\",\n\"RESTART\", and \"RESTART2\".  Otherwise we return EINVAL.\n\nReturning EINVAL is also an easy way to check if this feature is supported\nby the kernel when invoking another \u0027reboot\u0027 option like CAD.\n\nBy this way the parent process of the child pid namespace knows if it\nrebooted or not and can take the right decision.\n\nTest case:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n#include \u003calloca.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003csched.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csignal.h\u003e\n#include \u003csys/reboot.h\u003e\n#include \u003csys/types.h\u003e\n#include \u003csys/wait.h\u003e\n\n#include \u003clinux/reboot.h\u003e\n\nstatic int do_reboot(void *arg)\n{\n        int *cmd \u003d arg;\n\n        if (reboot(*cmd))\n                printf(\"failed to reboot(%d): %m\\n\", *cmd);\n}\n\nint test_reboot(int cmd, int sig)\n{\n        long stack_size \u003d 4096;\n        void *stack \u003d alloca(stack_size) + stack_size;\n        int status;\n        pid_t ret;\n\n        ret \u003d clone(do_reboot, stack, CLONE_NEWPID | SIGCHLD, \u0026cmd);\n        if (ret \u003c 0) {\n                printf(\"failed to clone: %m\\n\");\n                return -1;\n        }\n\n        if (wait(\u0026status) \u003c 0) {\n                printf(\"unexpected wait error: %m\\n\");\n                return -1;\n        }\n\n        if (!WIFSIGNALED(status)) {\n                printf(\"child process exited but was not signaled\\n\");\n                return -1;\n        }\n\n        if (WTERMSIG(status) !\u003d sig) {\n                printf(\"signal termination is not the one expected\\n\");\n                return -1;\n        }\n\n        return 0;\n}\n\nint main(int argc, char *argv[])\n{\n        int status;\n\n        status \u003d test_reboot(LINUX_REBOOT_CMD_RESTART, SIGHUP);\n        if (status \u003c 0)\n                return 1;\n        printf(\"reboot(LINUX_REBOOT_CMD_RESTART) succeed\\n\");\n\n        status \u003d test_reboot(LINUX_REBOOT_CMD_RESTART2, SIGHUP);\n        if (status \u003c 0)\n                return 1;\n        printf(\"reboot(LINUX_REBOOT_CMD_RESTART2) succeed\\n\");\n\n        status \u003d test_reboot(LINUX_REBOOT_CMD_HALT, SIGINT);\n        if (status \u003c 0)\n                return 1;\n        printf(\"reboot(LINUX_REBOOT_CMD_HALT) succeed\\n\");\n\n        status \u003d test_reboot(LINUX_REBOOT_CMD_POWER_OFF, SIGINT);\n        if (status \u003c 0)\n                return 1;\n        printf(\"reboot(LINUX_REBOOT_CMD_POWERR_OFF) succeed\\n\");\n\n        status \u003d test_reboot(LINUX_REBOOT_CMD_CAD_ON, -1);\n        if (status \u003e\u003d 0) {\n                printf(\"reboot(LINUX_REBOOT_CMD_CAD_ON) should have failed\\n\");\n                return 1;\n        }\n        printf(\"reboot(LINUX_REBOOT_CMD_CAD_ON) has failed as expected\\n\");\n\n        return 0;\n}\n\n[akpm@linux-foundation.org: tweak and add comments]\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nTested-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "38b93780a5381961ad92d24ab9a12a964189a3a4",
      "tree": "1d157e768930b91f222a7aaf1093ff982f2a9690",
      "parents": [
        "74046494ea68676d29ef6501a4bd950f08112a2c"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Wed Mar 28 14:42:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:35 2012 -0700"
      },
      "message": "lib/cpumask.c: remove __any_online_cpu()\n\n__any_online_cpu() is not optimal and also unnecessary.  So, replace its\nuse by faster cpumask_* operations.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3a7e98e024ffa9f7e4554dd720c508015c4a831",
      "tree": "50c09e1a47418ba4bb55b11f756bf4d99cf76123",
      "parents": [
        "3fc498f165304dc913f1d13b5ac9ab4c758ee7ab"
      ],
      "author": {
        "name": "Gilad Ben-Yossef",
        "email": "gilad@benyossef.com",
        "time": "Wed Mar 28 14:42:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:35 2012 -0700"
      },
      "message": "smp: add func to IPI cpus based on parameter func\n\nAdd the on_each_cpu_cond() function that wraps on_each_cpu_mask() and\ncalculates the cpumask of cpus to IPI by calling a function supplied as a\nparameter in order to determine whether to IPI each specific cpu.\n\nThe function works around allocation failure of cpumask variable in\nCONFIG_CPUMASK_OFFSTACK\u003dy by itereating over cpus sending an IPI a time\nvia smp_call_function_single().\n\nThe function is useful since it allows to seperate the specific code that\ndecided in each case whether to IPI a specific cpu for a specific request\nfrom the common boilerplate code of handling creating the mask, handling\nfailures etc.\n\n[akpm@linux-foundation.org: s/gfpflags/gfp_flags/]\n[akpm@linux-foundation.org: avoid double-evaluation of `info\u0027 (per Michal), parenthesise evaluation of `cond_func\u0027]\n[akpm@linux-foundation.org: s/CPU/CPUs, use all 80 cols in comment]\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@benyossef.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nAcked-by: Michal Nazarewicz \u003cmina86@mina86.org\u003e\nCc: Kosaki Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\nReviewed-by: \"Srivatsa S. Bhat\" \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3fc498f165304dc913f1d13b5ac9ab4c758ee7ab",
      "tree": "c8c23d2255151d593383e3e3e62900073c6afd78",
      "parents": [
        "d15cab975459fb6092eeba1be72c13621337784f"
      ],
      "author": {
        "name": "Gilad Ben-Yossef",
        "email": "gilad@benyossef.com",
        "time": "Wed Mar 28 14:42:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:35 2012 -0700"
      },
      "message": "smp: introduce a generic on_each_cpu_mask() function\n\nWe have lots of infrastructure in place to partition multi-core systems\nsuch that we have a group of CPUs that are dedicated to specific task:\ncgroups, scheduler and interrupt affinity, and cpuisol\u003d boot parameter.\nStill, kernel code will at times interrupt all CPUs in the system via IPIs\nfor various needs.  These IPIs are useful and cannot be avoided\naltogether, but in certain cases it is possible to interrupt only specific\nCPUs that have useful work to do and not the entire system.\n\nThis patch set, inspired by discussions with Peter Zijlstra and Frederic\nWeisbecker when testing the nohz task patch set, is a first stab at trying\nto explore doing this by locating the places where such global IPI calls\nare being made and turning the global IPI into an IPI for a specific group\nof CPUs.  The purpose of the patch set is to get feedback if this is the\nright way to go for dealing with this issue and indeed, if the issue is\neven worth dealing with at all.  Based on the feedback from this patch set\nI plan to offer further patches that address similar issue in other code\npaths.\n\nThis patch creates an on_each_cpu_mask() and on_each_cpu_cond()\ninfrastructure API (the former derived from existing arch specific\nversions in Tile and Arm) and uses them to turn several global IPI\ninvocation to per CPU group invocations.\n\nCore kernel:\n\non_each_cpu_mask() calls a function on processors specified by cpumask,\nwhich may or may not include the local processor.\n\nYou must not call this function with disabled interrupts or from a\nhardware interrupt handler or from a bottom half handler.\n\narch/arm:\n\nNote that the generic version is a little different then the Arm one:\n\n1. It has the mask as first parameter\n2. It calls the function on the calling CPU with interrupts disabled,\n   but this should be OK since the function is called on the other CPUs\n   with interrupts disabled anyway.\n\narch/tile:\n\nThe API is the same as the tile private one, but the generic version\nalso calls the function on the with interrupts disabled in UP case\n\nThis is OK since the function is called on the other CPUs\nwith interrupts disabled.\n\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@benyossef.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux.com\u003e\nAcked-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nAcked-by: Michal Nazarewicz \u003cmina86@mina86.org\u003e\nCc: Kosaki Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d15cab975459fb6092eeba1be72c13621337784f",
      "tree": "5c1d8d18c65a34eb738c97d75f2c44becdff1de3",
      "parents": [
        "29fd66d289f2981e11c550f8b411a6d3d38be0cf"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Mar 28 14:42:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:35 2012 -0700"
      },
      "message": "swapon: check validity of swap_flags\n\nMost system calls taking flags first check that the flags passed in are\nvalid, and that helps userspace to detect when new flags are supported.\n\nBut swapon never did so: start checking now, to help if we ever want to\nsupport more swap_flags in future.\n\nIt\u0027s difficult to get stray bits set in an int, and swapon is not widely\nused, so this is most unlikely to break any userspace; but we can just\nrevert if it turns out to do so.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "623e3db9f9b7d6e7b2a99180f9cf0825c936ab7a",
      "tree": "d8eaa8f1665a048c4318ccd0759775e057792823",
      "parents": [
        "3748b2f15b06ea1861df39d5e9693dcd6e9542b1"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Mar 28 14:42:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:35 2012 -0700"
      },
      "message": "mm for fs: add truncate_pagecache_range()\n\nHolepunching filesystems ext4 and xfs are using truncate_inode_pages_range\nbut forgetting to unmap pages first (ocfs2 remembers).  This is not really\na bug, since races already require truncate_inode_page() to handle that\ncase once the page is locked; but it can be very inefficient if the file\nbeing punched happens to be mapped into many vmas.\n\nProvide a drop-in replacement truncate_pagecache_range() which does the\nunmapping pass first, handling the awkward mismatch between arguments to\ntruncate_inode_pages_range() and arguments to unmap_mapping_range().\n\nNote that holepunching does not unmap privately COWed pages in the range:\nPOSIX requires that we do so when truncating, but it\u0027s hard to justify,\ndifficult to implement without an i_size cutoff, and no filesystem is\nattempting to implement it.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Andreas Dilger \u003cadilger.kernel@dilger.ca\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Joel Becker \u003cjlbec@evilplan.org\u003e\nCc: Ben Myers \u003cbpm@sgi.com\u003e\nCc: Alex Elder \u003celder@kernel.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0195c00244dc2e9f522475868fa278c473ba7339",
      "tree": "f97ca98ae64ede2c33ad3de05ed7bbfa4f4495ed",
      "parents": [
        "f21ce8f8447c8be8847dadcfdbcc76b0d7365fa5",
        "141124c02059eee9dbc5c86ea797b1ca888e77f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:58:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:58:21 2012 -0700"
      },
      "message": "Merge tag \u0027split-asm_system_h-for-linus-20120328\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system\n\nPull \"Disintegrate and delete asm/system.h\" from David Howells:\n \"Here are a bunch of patches to disintegrate asm/system.h into a set of\n  separate bits to relieve the problem of circular inclusion\n  dependencies.\n\n  I\u0027ve built all the working defconfigs from all the arches that I can\n  and made sure that they don\u0027t break.\n\n  The reason for these patches is that I recently encountered a circular\n  dependency problem that came about when I produced some patches to\n  optimise get_order() by rewriting it to use ilog2().\n\n  This uses bitops - and on the SH arch asm/bitops.h drags in\n  asm-generic/get_order.h by a circuituous route involving asm/system.h.\n\n  The main difficulty seems to be asm/system.h.  It holds a number of\n  low level bits with no/few dependencies that are commonly used (eg.\n  memory barriers) and a number of bits with more dependencies that\n  aren\u0027t used in many places (eg.  switch_to()).\n\n  These patches break asm/system.h up into the following core pieces:\n\n    (1) asm/barrier.h\n\n        Move memory barriers here.  This already done for MIPS and Alpha.\n\n    (2) asm/switch_to.h\n\n        Move switch_to() and related stuff here.\n\n    (3) asm/exec.h\n\n        Move arch_align_stack() here.  Other process execution related bits\n        could perhaps go here from asm/processor.h.\n\n    (4) asm/cmpxchg.h\n\n        Move xchg() and cmpxchg() here as they\u0027re full word atomic ops and\n        frequently used by atomic_xchg() and atomic_cmpxchg().\n\n    (5) asm/bug.h\n\n        Move die() and related bits.\n\n    (6) asm/auxvec.h\n\n        Move AT_VECTOR_SIZE_ARCH here.\n\n  Other arch headers are created as needed on a per-arch basis.\"\n\nFixed up some conflicts from other header file cleanups and moving code\naround that has happened in the meantime, so David\u0027s testing is somewhat\nweakened by that.  We\u0027ll find out anything that got broken and fix it..\n\n* tag \u0027split-asm_system_h-for-linus-20120328\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system: (38 commits)\n  Delete all instances of asm/system.h\n  Remove all #inclusions of asm/system.h\n  Add #includes needed to permit the removal of asm/system.h\n  Move all declarations of free_initmem() to linux/mm.h\n  Disintegrate asm/system.h for OpenRISC\n  Split arch_align_stack() out from asm-generic/system.h\n  Split the switch_to() wrapper out of asm-generic/system.h\n  Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h\n  Create asm-generic/barrier.h\n  Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h\n  Disintegrate asm/system.h for Xtensa\n  Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]\n  Disintegrate asm/system.h for Tile\n  Disintegrate asm/system.h for Sparc\n  Disintegrate asm/system.h for SH\n  Disintegrate asm/system.h for Score\n  Disintegrate asm/system.h for S390\n  Disintegrate asm/system.h for PowerPC\n  Disintegrate asm/system.h for PA-RISC\n  Disintegrate asm/system.h for MN10300\n  ...\n"
    },
    {
      "commit": "0c9aac08261512d70d7d4817bd222abca8b6bdd6",
      "tree": "41bbfed632bfc6233eac3e936cfdce75c5bd3a8f",
      "parents": [
        "ed0bb8ea059764c3fc882fb135473afd347335e9",
        "8bdec192b40cf7f7eec170b317c76089eb5eeddb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:04:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:04:26 2012 -0700"
      },
      "message": "Merge branch \u0027slab/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux\n\nPull SLAB changes from Pekka Enberg:\n \"There\u0027s the new kmalloc_array() API, minor fixes and performance\n  improvements, but quite honestly, nothing terribly exciting.\"\n\n* \u0027slab/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux:\n  mm: SLAB Out-of-memory diagnostics\n  slab: introduce kmalloc_array()\n  slub: per cpu partial statistics change\n  slub: include include for prefetch\n  slub: Do not hold slub_lock when calling sysfs_slab_add()\n  slub: prefetch next freelist pointer in slab_alloc()\n  slab, cleanup: remove unneeded return\n"
    },
    {
      "commit": "ed0bb8ea059764c3fc882fb135473afd347335e9",
      "tree": "5274b8335afe85f76d1eb945eb03ffe4040737b4",
      "parents": [
        "47b816ff7d520509176154748713e7d66b3ad6ac",
        "3e0b2a1993c06e646d90d71e163d03869a211a4c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:02:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:02:41 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus-3.4\u0027 of git://git.linaro.org/people/sumitsemwal/linux-dma-buf\n\nPull dma-buf updates from Sumit Semwal:\n \"This includes the following key items:\n\n   - kernel cpu access support,\n   - flag-passing to dma_buf_fd,\n   - relevant Documentation updates, and\n   - some minor cleanups and fixes.\n\n  These changes are needed for the drm prime/dma-buf interface code that\n  Dave Airlie plans to submit in this merge window.\"\n\n* \u0027for-linus-3.4\u0027 of git://git.linaro.org/people/sumitsemwal/linux-dma-buf:\n  dma-buf: correct dummy function declarations.\n  dma-buf: document fd flags and O_CLOEXEC requirement\n  dma_buf: Add documentation for the new cpu access support\n  dma-buf: add support for kernel cpu access\n  dma-buf: don\u0027t hold the mutex around map/unmap calls\n  dma-buf: add get_dma_buf()\n  dma-buf: pass flags into dma_buf_fd.\n  dma-buf: add dma_data_direction to unmap dma_buf_op\n  dma-buf: Move code out of mutex-protected section in dma_buf_attach()\n  dma-buf: Return error instead of using a goto statement when possible\n  dma-buf: Remove unneeded sanity checks\n  dma-buf: Constify ops argument to dma_buf_export()\n"
    },
    {
      "commit": "47b816ff7d520509176154748713e7d66b3ad6ac",
      "tree": "6d14e8bf3a8d41f9d4cdd6ccdec91d3d6b046b05",
      "parents": [
        "2e7580b0e75d771d93e24e681031a165b1d31071",
        "1ce447b90f3e71c81ae59e0062bc305ef267668b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 14:41:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 14:41:36 2012 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\nPull a few more things for powerpc by Benjamin Herrenschmidt:\n - Anton\u0027s did some recent improvements to EPOW event reporting on\n   pSeries (power supply failures and such).  The patches are self\n   contained enough and replace really nasty code so I felt it should\n   still go in\n - I did the vio driver registration change Greg requested, I don\u0027t see\n   the point of leaving that til the next merge window\n - The remaining EEH changes I said were still pending to get rid of the\n   EEH references from the generic struct device_node\n - A few more iSeries removal bits\n - A perf bug fix on 970\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:\n  powerpc/perf: Fix instruction address sampling on 970 and Power4\n  powerpc+sparc/vio: Modernize driver registration\n  powerpc: Random little legacy iSeries removal tidy ups\n  powerpc: Remove NO_IRQ_IGNORE\n  powerpc/pseries: Cut down on enthusiastic use of defines in RAS code\n  powerpc/pseries: Clean up ras_error_interrupt code\n  powerpc/pseries: Remove RTAS_POWERMGM_EVENTS\n  powerpc/pseries: Use rtas_get_sensor in RAS code\n  powerpc/pseries: Parse and handle EPOW interrupts\n  powerpc: Make function that parses RTAS error logs global\n  powerpc/eeh: Retrieve PHB from global list\n  powerpc/eeh: Remove eeh information from pci_dn\n  powerpc/eeh: Remove eeh device from OF node\n"
    },
    {
      "commit": "2e7580b0e75d771d93e24e681031a165b1d31071",
      "tree": "d9449702609eeaab28913a43b5a4434667e09d43",
      "parents": [
        "d25413efa9536e2f425ea45c7720598035c597bc",
        "cf9eeac46350b8b43730b7dc5e999757bed089a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 14:35:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 14:35:31 2012 -0700"
      },
      "message": "Merge branch \u0027kvm-updates/3.4\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull kvm updates from Avi Kivity:\n \"Changes include timekeeping improvements, support for assigning host\n  PCI devices that share interrupt lines, s390 user-controlled guests, a\n  large ppc update, and random fixes.\"\n\nThis is with the sign-off\u0027s fixed, hopefully next merge window we won\u0027t\nhave rebased commits.\n\n* \u0027kvm-updates/3.4\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (130 commits)\n  KVM: Convert intx_mask_lock to spin lock\n  KVM: x86: fix kvm_write_tsc() TSC matching thinko\n  x86: kvmclock: abstract save/restore sched_clock_state\n  KVM: nVMX: Fix erroneous exception bitmap check\n  KVM: Ignore the writes to MSR_K7_HWCR(3)\n  KVM: MMU: make use of -\u003eroot_level in reset_rsvds_bits_mask\n  KVM: PMU: add proper support for fixed counter 2\n  KVM: PMU: Fix raw event check\n  KVM: PMU: warn when pin control is set in eventsel msr\n  KVM: VMX: Fix delayed load of shared MSRs\n  KVM: use correct tlbs dirty type in cmpxchg\n  KVM: Allow host IRQ sharing for assigned PCI 2.3 devices\n  KVM: Ensure all vcpus are consistent with in-kernel irqchip settings\n  KVM: x86 emulator: Allow PM/VM86 switch during task switch\n  KVM: SVM: Fix CPL updates\n  KVM: x86 emulator: VM86 segments must have DPL 3\n  KVM: x86 emulator: Fix task switch privilege checks\n  arch/powerpc/kvm/book3s_hv.c: included linux/sched.h twice\n  KVM: x86 emulator: correctly mask pmc index bits in RDPMC instruction emulation\n  KVM: mmu_notifier: Flush TLBs before releasing mmu_lock\n  ...\n"
    },
    {
      "commit": "d25413efa9536e2f425ea45c7720598035c597bc",
      "tree": "97dcd459a7ec23c9438983fe14a23aef03b09bad",
      "parents": [
        "683c5e853ebe2d1ac72128f1828421de7fc3a23c",
        "f946eeb9313ff1470758e171a60fe7438a2ded3f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 14:27:09 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 14:27:09 2012 -0700"
      },
      "message": "Merge git://github.com/rustyrussell/linux\n\nPull module and param updates from Rusty Russell:\n \"I\u0027m getting married next week, and then honeymoon until 6th May.  I\u0027ll\n  be offline from next week, except to post the compulsory pictures if\n  Alex shaves her head...\"\n\nI\u0027m sure Rusty can take time off from his honeymoon if something comes\nup. And here\u0027s the explanation about head shaving:\n\n\thttp://baldalex.org/\n\nin case you wondered and wanted to support another insane caper or\nRusty\u0027s involving shaving.\n\nWhat *is* it with Rusty and shaving, anyway?\n\n* git://github.com/rustyrussell/linux:\n  module: Remove module size limit\n  module: move __module_get and try_module_get() out of line.\n  params: \u003clevel\u003e_initcall-like kernel parameters\n  module_param: remove support for bool parameters which are really int.\n  module: add kernel param to force disable module load\n"
    },
    {
      "commit": "f0f3680e50352c57b6cfc5b0d44d63bb0aa20f80",
      "tree": "2005ec90f9d90f25ceeba147dfe09db8c8036fa6",
      "parents": [
        "61e5191c9d96268746bd57ed55d035678a1a2cf9",
        "a4b4be3fd7a76021f67380b03d8bccebf067db72"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 14:24:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 14:24:40 2012 -0700"
      },
      "message": "Merge branch \u0027linux_next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac\n\nPull EDAC fixes from Mauro Carvalho Chehab:\n \"A series of EDAC driver fixes.  It also has one core fix at the\n  documentation, and a rename patch, fixing the name of the struct that\n  contains the rank information.\"\n\n* \u0027linux_next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac:\n  edac: rename channel_info to rank_info\n  i5400_edac: Avoid calling pci_put_device() twice\n  edac: i5100 ack error detection register after each read\n  edac: i5100 fix erroneous define for M1Err\n  edac: sb_edac: Fix a wrong value setting for the previous value\n  edac: sb_edac: Fix a INTERLEAVE_MODE() misuse\n  edac: sb_edac: Let the driver depend on PCI_MMCONFIG\n  edac: Improve the comments to better describe the memory concepts\n  edac/ppc4xx_edac: Fix compilation\n  Fix sb_edac compilation with 32 bits kernels\n"
    },
    {
      "commit": "61e5191c9d96268746bd57ed55d035678a1a2cf9",
      "tree": "5ee75dc9aa9eab9cfc41c9fe0042d15f000ef2e6",
      "parents": [
        "d2a2fc18d98d8ee2dec1542efc7f47beec256144",
        "86924de2a612b275a45e92ba80d6f47d4e97d620"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 14:20:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 14:20:23 2012 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://cavan.codon.org.uk/platform-drivers-x86\n\nPull x86 platform driver updates from Matthew Garrett:\n \"Some significant updates to samsung-laptop, additional hardware\n  support for Toshibas, misc updates to various hardware and a new\n  backlight driver for some Apple machines.\"\n\nFix up trivial conflicts: geode Geos update happening next to net5501\nsupport, and MSIC thermal platform support added twice.\n\n* \u0027for_linus\u0027 of git://cavan.codon.org.uk/platform-drivers-x86: (77 commits)\n  acer-wmi: add quirk table for video backlight vendor mode\n  drivers/platform/x86/amilo-rfkill.c::amilo_rfkill_probe() avoid NULL deref\n  samsung-laptop: unregister ACPI video module for some well known laptops\n  acer-wmi: No wifi rfkill on Sony machines\n  thinkpad-acpi: recognize Lenovo as version string in newer V-series BIOS\n  asus-wmi: don\u0027t update power and brightness when using scalar\n  eeepc-wmi: split et2012 specific hacks\n  eeepc-wmi: refine quirks handling\n  asus-nb-wmi: set panel_power correctly\n  asus-wmi: move WAPF variable into quirks_entry\n  asus-wmi: store backlight power status for AIO machine\n  asus-wmi: add scalar board brightness adj. support\n  samsung-laptop: cleanup return type: mode_t vs umode_t\n  drivers, samsung-laptop: fix usage of isalnum\n  drivers, samsung-laptop: fix initialization of sabi_data in sabi_set_commandb\n  asus-wmi: on/off bit is not set when reading the value\n  eeepc-wmi: add extra keymaps for EP121\n  asus-nb-wmi: ignore useless keys\n  acer-wmi: support Lenovo ideapad S205 Brazos wifi switch\n  acer-wmi: fix out of input parameter size when set\n  ...\n"
    },
    {
      "commit": "d2a2fc18d98d8ee2dec1542efc7f47beec256144",
      "tree": "dba9097631b9736845920bc4029cc865071b8c65",
      "parents": [
        "7bf97e1d5a94b6a71815771bb9452fc2c022c966",
        "41101a33026c215a09e5d3549aedfcdae9105515"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 14:12:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 14:12:15 2012 -0700"
      },
      "message": "Merge branch \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging\n\nPull i2c updates from Jean Delvare.\n\nFix up trivial conflict in drivers/i2c/busses/i2c-gpio.c due to include\nfile cleanup clashing with DT support addition (which did the same\ncleanup)\n\n* \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:\n  i2c-algo-bit: Don\u0027t resched on clock stretching\n  i2c: Update the FSF address\n  i2c: Convert drivers/i2c/muxes/* to use module_i2c_driver()\n  i2c-i801: Use usleep_range to wait for command completion\n  i2c-i801: Add device IDs for Intel Lynx Point\n  i2c-isch: Decrease delay in command completion check loop\n  i2c-gpio: Use linux/gpio.h rather than asm/gpio.h\n"
    },
    {
      "commit": "7bf97e1d5a94b6a71815771bb9452fc2c022c966",
      "tree": "f89082dbd33a51a79c9a9c0dddb29e2b11b8207e",
      "parents": [
        "30304e5a79d424eb2c8707b3ff0e9b8bf6ab3e8f",
        "c77c8a6fd3d57b586ff5ecb5ab5b32ca4f54fe75"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 14:08:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 14:08:46 2012 -0700"
      },
      "message": "Merge tag \u0027gpio-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6\n\nPull GPIO changes for v3.4 from Grant Likely:\n \"Primarily gpio device driver changes with some minor side effects\n  under arch/arm and arch/x86.  Also includes a few core changes such as\n  explicitly supporting (electrical) open source and open drain outputs\n  and some help for parsing gpio devicetree properties.\"\n\nFix up context conflict due to Laxman Dewangan adding sleep control for\nthe tps65910 driver separately for gpio\u0027s and regulators.\n\n* tag \u0027gpio-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6: (34 commits)\n  gpio/ep93xx: Remove unused inline function and useless pr_err message\n  gpio/sodaville: Mark broken due to core irqdomain migration\n  gpio/omap: fix redundant decoding of gpio offset\n  gpio/omap: fix incorrect update to context.irqenable1\n  gpio/omap: fix incorrect context restore logic in omap_gpio_runtime_*\n  gpio/omap: fix missing dataout context save in _set_gpio_dataout_reg\n  gpio/omap: fix _set_gpio_irqenable implementation\n  gpio/omap: fix trigger type to unsigned\n  gpio/omap: fix wakeup_en register update in _set_gpio_wakeup()\n  gpio: tegra: tegra_gpio_config shouldn\u0027t be __init\n  gpio/davinci: fix enabling unbanked GPIO IRQs\n  gpio/davinci: fix oops on unbanked gpio irq request\n  gpio/omap: Fix section warning for omap_mpuio_alloc_gc()\n  ARM: tegra: export tegra_gpio_{en,dis}able\n  gpio/gpio-stmpe: Fix the value returned by _get_value routine\n  Documentation/gpio.txt: Explain expected pinctrl interaction\n  GPIO: LPC32xx: Add output reading to GPO P3\n  GPIO: LPC32xx: Fix missing bit selection mask\n  gpio/omap: fix wakeups on level-triggered GPIOs\n  gpio/omap: Fix IRQ handling for SPARSE_IRQ\n  ...\n"
    },
    {
      "commit": "30304e5a79d424eb2c8707b3ff0e9b8bf6ab3e8f",
      "tree": "63968fb97b86861e31922515395feef8a110f884",
      "parents": [
        "750f77064a290beb162352077b52c61b04bcae0e",
        "b8589e2a8065b8e7773742b60ae96b63b757bb69"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 13:56:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 13:56:35 2012 -0700"
      },
      "message": "Merge tag \u0027mfd_3.4-1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6\n\nPull MFD changes from Samuel Ortiz:\n - 4 new drivers: Freescale i.MX on-chip Anatop, Ricoh\u0027s RC5T583 and\n   TI\u0027s TPS65090 and TPS65217.\n - New variants support (8420, 8520 ab9540), cleanups and bug fixes for\n   the abx500 and db8500 ST-E chipsets.\n - Some minor fixes and update for the wm8994 from Mark.\n - The beginning of a long term TWL cleanup effort coming from the TI\n   folks.\n - Various fixes and cleanups for the s5m, TPS659xx, pm860x, and MAX8997\n   drivers.\n\nFix up trivial conflicts due to duplicate patches and header file\ncleanups (\u003clinux/device.h\u003e removal etc).\n\n* tag \u0027mfd_3.4-1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (97 commits)\n  gpio/twl: Add DT support to gpio-twl4030 driver\n  gpio/twl: Allocate irq_desc dynamically for SPARSE_IRQ support\n  mfd: Detach twl6040 from the pmic mfd driver\n  mfd: Replace twl-* pr_ macros by the dev_ equivalent and do various cleanups\n  mfd: Micro-optimization on twl4030 IRQ handler\n  mfd: Make twl4030 SIH SPARSE_IRQ capable\n  mfd: Move twl-core IRQ allocation into twl[4030|6030]-irq files\n  mfd: Remove references already defineid in header file from twl-core\n  mfd: Remove unneeded header from twl-core\n  mfd: Make twl-core not depend on pdata-\u003eirq_base/end\n  ARM: OMAP2+: board-omap4-*: Do not use anymore TWL6030_IRQ_BASE in board files\n  mfd: Return twl6030_mmc_card_detect IRQ for board setup\n  Revert \"mfd: Add platform data for MAX8997 haptic driver\"\n  mfd: Add support for TPS65090\n  mfd: Add some da9052-i2c section annotations\n  mfd: Build rtc5t583 only if I2C config is selected to y.\n  mfd: Add anatop mfd driver\n  mfd: Fix compilation error in tps65910.h\n  mfd: Add 8420 variant to db8500-prcmu\n  mfd: Add 8520 PRCMU variant to db8500-prcmu\n  ...\n"
    },
    {
      "commit": "750f77064a290beb162352077b52c61b04bcae0e",
      "tree": "736a8dd043dc4cda298762a80e7c1fbf1bb87742",
      "parents": [
        "89e5d6f0d979f6e7dc2bbb1ebd9e239217e2e952",
        "b92c803ec61de59e6e4ab9b2748d8e633cec3f08"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 13:03:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 13:03:26 2012 -0700"
      },
      "message": "Merge git://www.linux-watchdog.org/linux-watchdog\n\nPull watchdog updates from Wim Van Sebroeck:\n - Removal of the Documentation/watchdog/00-INDEX file\n - Fix boot status reporting for imx2_wdt\n - clean-up sp805_wdt, pnx4008_wdt and mpcore_wdt\n - convert printk in watchdog drivers to pr_ functions\n - change nowayout module parameter to bool for every watchdog device\n - conversion of jz4740_wdt, pnx4008_wdt, max63xx_wdt, softdog,\n   ep93xx_wdt, coh901327 and txx9wdt to new watchdog API\n - Add support for the WDIOC_GETTIMELEFT ioctl call to the new watchdog\n   API\n - Change the new watchdog API so that the driver updates the timeout\n   value\n - two fixes for the xen_wdt driver\n\nFix up conflicts in ep93xx driver due to the same patches being merged\nthrough separate branches.\n\n* git://www.linux-watchdog.org/linux-watchdog: (33 commits)\n  watchdog: txx9wdt: fix timeout\n  watchdog: Convert txx9wdt driver to watchdog framework\n  watchdog: coh901327_wdt.c: fix timeout\n  watchdog: coh901327: convert to use watchdog core\n  watchdog: Add support for WDIOC_GETTIMELEFT IOCTL in watchdog core\n  watchdog: ep93xx_wdt: timeout is an unsigned int value.\n  watchdog: ep93xx_wdt: Fix timeout after conversion to watchdog core\n  watchdog: Convert ep93xx driver to watchdog core\n  watchdog: sp805: Use devm routines\n  watchdog: sp805: replace readl/writel with lighter _relaxed variants\n  watchdog: sp805: Fix documentation style comment\n  watchdog: mpcore_wdt: Allow platform_get_irq() to fail\n  watchdog: mpcore_wdt: Use devm routines\n  watchdog: mpcore_wdt: Rename dev to pdev for pointing to struct platform_device\n  watchdog: xen: don\u0027t clear is_active when xen_wdt_stop() failed\n  watchdog: xen: don\u0027t unconditionally enable the watchdog during resume\n  watchdog: fix compiler error for missing parenthesis\n  watchdog: ep93xx_wdt.c: fix platform probe\n  watchdog: ep93xx: Convert the watchdog driver into a platform device.\n  watchdog: fix set_timeout operations\n  ...\n"
    },
    {
      "commit": "735e941caa9a35f933297af0ab1e0ad6447411c4",
      "tree": "ad05f19a0e748061d743f9f4d99cde9923b192c2",
      "parents": [
        "09893ee84591b0417a9186a7e7cf1503ccf99ac2",
        "8fb61e33507e5d76b69467b4f96290338e96b733"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 12:38:06 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 12:38:06 2012 -0700"
      },
      "message": "Merge tag \u0027common-clk-api\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull \"drivers/clk: common clock framework\" from Olof Johansson:\n \"This branch contains patches from Mike Turquette adding a common clock\n  framework to be shared across platforms.  This is part of the work\n  towards building a common zImage for several ARM platforms.\"\n\n* tag \u0027common-clk-api\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:\n  clk: make CONFIG_COMMON_CLK invisible\n  clk: basic clock hardware types\n  clk: introduce the common clock framework\n  Documentation: common clk API\n"
    },
    {
      "commit": "09893ee84591b0417a9186a7e7cf1503ccf99ac2",
      "tree": "da8b044ad157b82203df04ae48cb60f4737cc390",
      "parents": [
        "4bb2d1009f671815870e8f78e826e4f9071392a7",
        "7d1206bc2859c6e9f46e35ae697c138e7d7858a7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 12:34:33 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 12:34:33 2012 -0700"
      },
      "message": "Merge tag \u0027dt2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull \"ARM: More device tree support updates\" from Olof Johansson:\n \"This branch contains a number of updates for device tree support on\n  several ARM platforms, in particular:\n\n   * AT91 continues the device tree conversion adding support for a\n     number of on-chip drivers and other functionality\n   * ux500 adds probing of some of the core SoC blocks through device\n     tree\n   * Initial device tree support for ST SPEAr600 platforms\n   * kirkwood continues the conversion to device-tree probing\"\n\nManually merge arch/arm/mach-ux500/Kconfig due to MACH_U8500 rename, and\ndrivers/usb/gadget/at91_udc.c due to header file include cleanups.\n\nAlso do an \"evil merge\" for the MACH_U8500 config option rename that the\naffected RMI4 touchscreen driver in staging.  It\u0027s called MACH_MOP500\nnow, and it was missed during previous merges.\n\n* tag \u0027dt2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (48 commits)\n  ARM: SPEAr600: Add device-tree support to SPEAr600 boards\n  ARM: ux500: Provide local timer support for Device Tree\n  ARM: ux500: Enable PL022 SSP Controller in Device Tree\n  ARM: ux500: Enable PL310 Level 2 Cache Controller in Device Tree\n  ARM: ux500: Enable PL011 AMBA UART Controller for Device Tree\n  ARM: ux500: Enable Cortex-A9 GIC (Generic Interrupt Controller) in Device Tree\n  ARM: ux500: db8500: list most devices in the snowball device tree\n  ARM: ux500: split dts file for snowball into generic part\n  ARM: ux500: combine the board init functions for DT boot\n  ARM: ux500: Initial Device Tree support for Snowball\n  ARM: ux500: CONFIG: Enable Device Tree support for future endeavours\n  ARM: kirkwood: use devicetree for rtc-mv\n  ARM: kirkwood: rtc-mv devicetree bindings\n  ARM: kirkwood: fdt: define uart[01] as disabled, enable uart0\n  ARM: kirkwood: fdt: facilitate new boards during fdt migration\n  ARM: kirkwood: fdt: absorb kirkwood_init()\n  ARM: kirkwood: fdt: use mrvl ticker symbol\n  ARM: orion: wdt: use resource vice direct access\n  ARM: Kirkwood: Remove tclk from kirkwood_asoc_platform_data.\n  ARM: orion: spi: remove enable_clock_fix which is not used\n  ...\n"
    },
    {
      "commit": "141124c02059eee9dbc5c86ea797b1ca888e77f7",
      "tree": "ee5feb86df07f0f0de1350dd569767ec31537869",
      "parents": [
        "9ffc93f203c18a70623f21950f1dd473c9ec48cd"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Delete all instances of asm/system.h\n\nDelete all instances of asm/system.h as they should be redundant by this\npoint.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "9ffc93f203c18a70623f21950f1dd473c9ec48cd",
      "tree": "1eb3536ae183b0bfbf7f5152a6fe4f430ae881c2",
      "parents": [
        "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Remove all #inclusions of asm/system.h\n\nRemove all #inclusions of asm/system.h preparatory to splitting and killing\nit.  Performed with the following command:\n\nperl -p -i -e \u0027s!^#\\s*include\\s*\u003casm/system[.]h\u003e.*\\n!!\u0027 `grep -Irl \u0027^#\\s*include\\s*\u003casm/system[.]h\u003e\u0027 *`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae",
      "tree": "c109d45d3fb8ccad461cfe6d9a4aa4d6005b38e1",
      "parents": [
        "49a7f04a4b9d45cd794741ce3d5d66524b37bdd0"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Add #includes needed to permit the removal of asm/system.h\n\nasm/system.h is a cause of circular dependency problems because it contains\ncommonly used primitive stuff like barrier definitions and uncommonly used\nstuff like switch_to() that might require MMU definitions.\n\nasm/system.h has been disintegrated by this point on all arches into the\nfollowing common segments:\n\n (1) asm/barrier.h\n\n     Moved memory barrier definitions here.\n\n (2) asm/cmpxchg.h\n\n     Moved xchg() and cmpxchg() here.  #included in asm/atomic.h.\n\n (3) asm/bug.h\n\n     Moved die() and similar here.\n\n (4) asm/exec.h\n\n     Moved arch_align_stack() here.\n\n (5) asm/elf.h\n\n     Moved AT_VECTOR_SIZE_ARCH here.\n\n (6) asm/switch_to.h\n\n     Moved switch_to() here.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "49a7f04a4b9d45cd794741ce3d5d66524b37bdd0",
      "tree": "74f7df3f508691bd73597119a537f810cf43d2ef",
      "parents": [
        "705f4502bb9592ad0e8fb1cd2ba5ae4ce955ff8b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Move all declarations of free_initmem() to linux/mm.h\n\nMove all declarations of free_initmem() to linux/mm.h so that there\u0027s only one\nand it\u0027s used by everything.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\ncc: linux-c6x-dev@linux-c6x.org\ncc: microblaze-uclinux@itee.uq.edu.au\ncc: linux-sh@vger.kernel.org\ncc: sparclinux@vger.kernel.org\ncc: x86@kernel.org\ncc: linux-mm@kvack.org\n"
    },
    {
      "commit": "5d1250660a476c588361fb5cb9cbfa52768540c2",
      "tree": "7bac3068c68feb4eb8e96d069e190ae27eb65de7",
      "parents": [
        "158bc507c2f53109bed51c806acf5bfd48d95f1a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Split arch_align_stack() out from asm-generic/system.h\n\nSplit arch_align_stack() out from asm-generic/system.h into its own header of\nasm-generic/exec.h as part of the asm/system.h disintegration.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "158bc507c2f53109bed51c806acf5bfd48d95f1a",
      "tree": "8c5f98ca9ccfd4362fe50c46038988794e96795b",
      "parents": [
        "b4816afa3986704d1404fc48e931da5135820472"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Split the switch_to() wrapper out of asm-generic/system.h\n\nSplit the switch_to() wrapper out of asm-generic/system.h into its own\nasm-generic/system.h as part of the asm/system.h disintegration.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "b4816afa3986704d1404fc48e931da5135820472",
      "tree": "e2d0d5779c55528e0439eee359d46bc9a2c017f7",
      "parents": [
        "885df91ca3571afd4b3f50f3391329bbf3c9e262"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h\n\nMove the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h\nto simplify disintegration of asm/system.h.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "885df91ca3571afd4b3f50f3391329bbf3c9e262",
      "tree": "e66773beb0fb84fc4a43037ba829719b3cbabe47",
      "parents": [
        "34484277b173d0af1bb00532a264940b57920429"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Create asm-generic/barrier.h\n\nCreate asm-generic/barrier.h and move the barrier definitions from\nasm-generic/system.h to it.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "34484277b173d0af1bb00532a264940b57920429",
      "tree": "d3cb2984acf58bfcd08a1f1a67c8e291272418a0",
      "parents": [
        "f9aa7e1882f3ceec919b30f64a2ce6e66a2571b1"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h\n\nMake asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h as all arch\nfiles that #include the former also #include the latter.  See:\n\n\tgrep -rl asm-generic/cmpxchg-local[.]h arch/ | sort \u003e b\n\tgrep -rl asm-generic/cmpxchg[.]h arch/ | sort \u003e a\n\tcomm a b\n\nThis simplifies the disintegration of asm-generic/system.h for arches that\ndon\u0027t have their own.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "c140d87995b68b428f70635c2e4071e4e8b3256e",
      "tree": "af942a4b02ead409ffc308bc0ff7a1c17995ab6b",
      "parents": [
        "8335896bed16d8b86a28ec5b1e0f723d1cf75aa8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:02 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:02 2012 +0100"
      },
      "message": "Disintegrate asm/system.h for IA64\n\nDisintegrate asm/system.h for IA64.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Tony Luck \u003ctony.luck@intel.com\u003e\ncc: linux-ia64@vger.kernel.org\n"
    },
    {
      "commit": "69e1aaddd63104f37021d0b0f6abfd9623c9134c",
      "tree": "14ad49741b428d270b681694bb2df349465455b9",
      "parents": [
        "56b59b429b4c26e5e730bc8c3d837de9f7d0a966",
        "9d547c35799a4ddd235f1565cec2fff6c9263504"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 10:02:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 10:02:55 2012 -0700"
      },
      "message": "Merge tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\nPull ext4 updates for 3.4 from Ted Ts\u0027o:\n \"Ext4 commits for 3.3 merge window; mostly cleanups and bug fixes\n\n  The changes to export dirty_writeback_interval are from Artem\u0027s s_dirt\n  cleanup patch series.  The same is true of the change to remove the\n  s_dirt helper functions which never got used by anyone in-tree.  I\u0027ve\n  run these changes by Al Viro, and am carrying them so that Artem can\n  more easily fix up the rest of the file systems during the next merge\n  window.  (Originally we had hopped to remove the use of s_dirt from\n  ext4 during this merge window, but his patches had some bugs, so I\n  ultimately ended dropping them from the ext4 tree.)\"\n\n* tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (66 commits)\n  vfs: remove unused superblock helpers\n  mm: export dirty_writeback_interval\n  ext4: remove useless s_dirt assignment\n  ext4: write superblock only once on unmount\n  ext4: do not mark superblock as dirty unnecessarily\n  ext4: correct ext4_punch_hole return codes\n  ext4: remove restrictive checks for EOFBLOCKS_FL\n  ext4: always set then trimmed blocks count into len\n  ext4: fix trimmed block count accunting\n  ext4: fix start and len arguments handling in ext4_trim_fs()\n  ext4: update s_free_{inodes,blocks}_count during online resize\n  ext4: change some printk() calls to use ext4_msg() instead\n  ext4: avoid output message interleaving in ext4_error_\u003cfoo\u003e()\n  ext4: remove trailing newlines from ext4_msg() and ext4_error() messages\n  ext4: add no_printk argument validation, fix fallout\n  ext4: remove redundant \"EXT4-fs: \" from uses of ext4_msg\n  ext4: give more helpful error message in ext4_ext_rm_leaf()\n  ext4: remove unused code from ext4_ext_map_blocks()\n  ext4: rewrite punch hole to use ext4_ext_remove_space()\n  jbd2: cleanup journal tail after transaction commit\n  ...\n"
    },
    {
      "commit": "56b59b429b4c26e5e730bc8c3d837de9f7d0a966",
      "tree": "191bf87e438a3985ccb7e3c5382fab8d31f94edb",
      "parents": [
        "9a7259d5c8978bbeb5fdcf64b168f8470d8208a6",
        "c666601a935b94cc0f3310339411b6940de751ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 10:01:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 10:01:29 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\nPull Ceph updates for 3.4-rc1 from Sage Weil:\n \"Alex has been busy.  There are a range of rbd and libceph cleanups,\n  especially surrounding device setup and teardown, and a few critical\n  fixes in that code.  There are more cleanups in the messenger code,\n  virtual xattrs, a fix for CRC calculation/checks, and lots of other\n  miscellaneous stuff.\n\n  There\u0027s a patch from Amon Ott to make inos behave a bit better on\n  32-bit boxes, some decode check fixes from Xi Wang, and network\n  throttling fix from Jim Schutt, and a couple RBD fixes from Josh\n  Durgin.\n\n  No new functionality, just a lot of cleanup and bug fixing.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (65 commits)\n  rbd: move snap_rwsem to the device, rename to header_rwsem\n  ceph: fix three bugs, two in ceph_vxattrcb_file_layout()\n  libceph: isolate kmap() call in write_partial_msg_pages()\n  libceph: rename \"page_shift\" variable to something sensible\n  libceph: get rid of zero_page_address\n  libceph: only call kernel_sendpage() via helper\n  libceph: use kernel_sendpage() for sending zeroes\n  libceph: fix inverted crc option logic\n  libceph: some simple changes\n  libceph: small refactor in write_partial_kvec()\n  libceph: do crc calculations outside loop\n  libceph: separate CRC calculation from byte swapping\n  libceph: use \"do\" in CRC-related Boolean variables\n  ceph: ensure Boolean options support both senses\n  libceph: a few small changes\n  libceph: make ceph_tcp_connect() return int\n  libceph: encapsulate some messenger cleanup code\n  libceph: make ceph_msgr_wq private\n  libceph: encapsulate connection kvec operations\n  libceph: move prepare_write_banner()\n  ...\n"
    },
    {
      "commit": "9e4db1c3eed55c22328d8022c2c80adb3093833f",
      "tree": "9643545e6bd182f1d3e19942f590a6a1e3198320",
      "parents": [
        "de8856d2c11f562c60ed9340a83db4a4f829a6e6",
        "aae528d9a8ad79d4b21b1b723abc9447fdb0d200"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 27 18:17:02 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 27 18:17:02 2012 -0700"
      },
      "message": "Merge branch \u0027platforms\u0027 of git://git.linaro.org/people/rmk/linux-arm\n\nPull ARM platform updates from Russell King:\n \"This covers platform stuff for platforms I have a direct interest in\n  (iow, I have the hardware).  Essentially:\n   - as we no longer support any other Acorn platforms other than RiscPC\n     anymore, we can collect all that code into mach-rpc.\n   - convert Acorn expansion card stuff to use IRQ allocation functions,\n     and get rid of NO_IRQ from there.\n   - cleanups to the ebsa110 platform to move some private stuff out of\n     its header files.\n   - large amount of SA11x0 updates:\n   - conversion of private DMA implementation to DMA engine support\n     (this actually gives us greater flexibility in drivers over the old\n     API.)\n   - re-worked ucb1x00 updates - convert to genirq, remove sa11x0\n     dependencies, fix various minor issues\n   - move platform specific sa11x0 framebuffer data into platform files\n     in arch/arm instead of keeping this in the driver itself\n   - update sa11x0 IrDA driver for DMA engine, and allow it to use DMA\n     for SIR transmissions as well as FIR\n   - rework sa1111 support for genirq, and irq allocation\n   - fix sa1111 IRQ support so it works again\n   - use sparse IRQ support\n\n  After this, I have one more pull request remaining from my current\n  set, which I think is going to be the most problematical as it\n  generates 8 conflicts.\"\n\nFixed up the trivial conflict in arch/arm/mach-rpc/Makefile as per\nRussell.\n\n* \u0027platforms\u0027 of git://git.linaro.org/people/rmk/linux-arm: (125 commits)\n  ARM: 7343/1: sa11x0: convert to sparse IRQ\n  ARM: 7342/2: sa1100: prepare for sparse irq conversion\n  ARM: 7341/1: input: prepare jornada720 keyboard and ts for sa11x0 sparse irq\n  ARM: 7340/1: rtc: sa1100: include mach/irqs.h instead of asm/irq.h\n  ARM: sa11x0: remove unused DMA controller definitions\n  ARM: sa11x0: remove old SoC private DMA driver\n  USB: sa1111: add hcd .reset method\n  USB: sa1111: add OHCI shutdown methods\n  USB: sa1111: reorganize ohci-sa1111.c\n  USB: sa1111: get rid of nasty printk(KERN_DEBUG \"%s: ...\", __FILE__)\n  USB: sa1111: sparse and checkpatch cleanups\n  ARM: sa11x0: don\u0027t static map sa1111\n  ARM: sa1111: use dev_err() rather than printk()\n  ARM: sa1111: cleanup sub-device registration and unregistration\n  ARM: sa1111: only setup DMA for DMA capable devices\n  ARM: sa1111: register sa1111 devices with dmabounce in bus notifier\n  ARM: sa1111: move USB interface register definitions to ohci-sa1111.c\n  ARM: sa1111: move PCMCIA interface register definitions to sa1111_generic.c\n  ARM: sa1111: move PS/2 interface register definitions to sa1111p2.c\n  ARM: sa1111: delete unused physical GPIO register definitions\n  ...\n"
    },
    {
      "commit": "2a0352fa4a78081c76be1e450b51a6aa27c92616",
      "tree": "cacc28c7f6058cdc5bbf3d940917ca06ef1df84e",
      "parents": [
        "e22057c8599373e5caef0bc42bdb95d2a361ab0d"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "shangw@linux.vnet.ibm.com",
        "time": "Tue Mar 20 21:30:27 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Mar 28 11:31:57 2012 +1100"
      },
      "message": "powerpc/eeh: Remove eeh device from OF node\n\nOriginally, the PCI sensitive OF node is tracing the eeh device\nthrough struct device_node-\u003eedev. However, it was regarded as\nbad idea.\n\nThe patch removes struct device_node-\u003eedev and uses PCI_DN to\ntrace the corresponding eeh device according to BenH\u0027s comments.\n\nSigned-off-by: Gavin Shan \u003cshangw@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "de8856d2c11f562c60ed9340a83db4a4f829a6e6",
      "tree": "0b871e5f4cf3204c4c6243c7622c4787d56d48ee",
      "parents": [
        "66f03c614c0902ccf7d6160459362a9352f33271",
        "94f826b8076e2cb92242061e92f21b5baa3eccc2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 27 16:52:32 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 27 16:52:32 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n 1) Name string overrun fix in gianfar driver from Joe Perches.\n\n 2) VHOST bug fixes from Michael S. Tsirkin and Nadav Har\u0027El\n\n 3) Fix dependencies on xt_LOG netfilter module, from Pablo Neira Ayuso.\n\n 4) Fix RCU locking in xt_CT, also from Pablo Neira Ayuso.\n\n 5) Add a parameter to skb_add_rx_frag() so we can fix the truesize\n    adjustments in the drivers that use it.  The individual drivers\n    aren\u0027t fixed by this commit, but will be dealt with using follow-on\n    commits.  From Eric Dumazet.\n\n 6) Add some device IDs to qmi_wwan driver, from Andrew Bird.\n\n 7) Fix a potential rcu_read_lock() imbalancein rt6_fill_node().  From\n    Eric Dumazet.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:\n  net: fix a potential rcu_read_lock() imbalance in rt6_fill_node()\n  net: add a truesize parameter to skb_add_rx_frag()\n  gianfar: Fix possible overrun and simplify interrupt name field creation\n  USB: qmi_wwan: Add ZTE (Vodafone) K3570-Z and K3571-Z net interfaces\n  USB: option: Ignore ZTE (Vodafone) K3570/71 net interfaces\n  USB: qmi_wwan: Add ZTE (Vodafone) K3565-Z and K4505-Z net interfaces\n  qlcnic: Bug fix for LRO\n  netfilter: nf_conntrack: permanently attach timeout policy to conntrack\n  netfilter: xt_CT: fix assignation of the generic protocol tracker\n  netfilter: xt_CT: missing rcu_read_lock section in timeout assignment\n  netfilter: cttimeout: fix dependency with l4protocol conntrack module\n  netfilter: xt_LOG: use CONFIG_IP6_NF_IPTABLES instead of CONFIG_IPV6\n  vhost: fix release path lockdep checks\n  vhost: don\u0027t forget to schedule()\n  tools/virtio: stub out strong barriers\n  tools/virtio: add linux/hrtimer.h stub\n  tools/virtio: add linux/module.h stub\n"
    },
    {
      "commit": "66f03c614c0902ccf7d6160459362a9352f33271",
      "tree": "b9a8864efe5aa7fc5c96cc5ccbeca41f5cd6f6a7",
      "parents": [
        "34800598b2eebe061445216473b1e4c2ff5cba99",
        "cdc3df6f44f72c5924a16a47e1663c3fb0e57820"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 27 16:47:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 27 16:47:35 2012 -0700"
      },
      "message": "Merge tag \u0027dt\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull \"ARM: device tree work\" from Arnd Bergmann:\n \"Most of these patches convert code from using static platform data to\n  describing the hardware in the device tree.  This is only the first\n  half of the changes for v3.4 because a lot of patches for this topic\n  came in the last week before the merge window.\n\n  Signed-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\"\n\nFix up trivial conflicts in arch/arm/mach-vexpress/{Kconfig,core.h}\n\n* tag \u0027dt\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (86 commits)\n  Document: devicetree: add OF documents for arch-mmp\n  ARM: dts: append DTS file of pxa168\n  ARM: mmp: append OF support on pxa168\n  ARM: mmp: enable rtc clk in pxa168\n  i2c: pxa: add OF support\n  serial: pxa: add OF support\n  arm/dts: mt_ventoux: very basic support for TeeJet Mt.Ventoux board\n  ARM: OMAP2+: Remove extra ifdefs for board-generic\n  ARM: OMAP2+: Fix build error when only ARCH_OMAP2/3 or 4 is selected\n  ASoC: DT: Add digital microphone binding to PAZ00 board.\n  ARM: dt: Add ARM PMU to tegra*.dtsi\n  ARM: at91: at91sam9x5cm/dt: add leds support\n  ARM: at91: usb_a9g20/dt: add gpio-keys support\n  ARM: at91: at91sam9m10g45ek/dt: add gpio-keys support\n  ARM: at91: at91sam9m10g45ek/dt: add leds support\n  ARM: at91: usb_a9g20/dt: add leds support\n  ARM: at91/pio: add new PIO3 features\n  ARM: at91: add sam9_smc.o to at91sam9x5 build\n  ARM: at91/tc/clocksource: Add 32 bit variant to Timer Counter\n  ARM: at91/tc: add device tree support to atmel_tclib\n  ...\n"
    },
    {
      "commit": "34800598b2eebe061445216473b1e4c2ff5cba99",
      "tree": "a6d0eb6fe45d9480888d7ddb34840e172ed80e56",
      "parents": [
        "46b407ca4a6149c8d27fcec1881d4f184bec7c77",
        "511f1cb6d426938fabf9c6d69ce4861b66ffd919"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 27 16:41:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 27 16:41:24 2012 -0700"
      },
      "message": "Merge tag \u0027drivers\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull \"ARM: driver specific updates\" from Arnd Bergmann:\n \"These are all specific to some driver.  They are typically the\n  platform side of a change in the drivers directory, such as adding a\n  new driver or extending the interface to the platform.  In cases where\n  there is no maintainer for the driver, or the maintainer prefers to\n  have the platform changes in the same branch as the driver changes,\n  the patches to the drivers are included as well.\n\n  A much smaller set of driver updates that depend on other branches\n  getting merged first will be sent later.\n\n  The new export of tegra_chip_uid conflicts with other changes in\n  fuse.c.  In rtc-sa1100.c, the global removal of IRQF_DISABLED\n  conflicts with the cleanup of the interrupt handling of that driver.\n\n  Signed-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\"\n\nFixed up aforementioned trivial conflicts.\n\n* tag \u0027drivers\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (94 commits)\n  ARM: SAMSUNG: change the name from s3c-sdhci to exynos4-sdhci\n  mmc: sdhci-s3c: add platform data for the second capability\n  ARM: SAMSUNG: support the second capability for samsung-soc\n  ARM: EXYNOS: add support DMA for EXYNOS4X12 SoC\n  ARM: EXYNOS: Add apb_pclk clkdev entry for mdma1\n  ARM: EXYNOS: Enable MDMA driver\n  regulator: Remove bq24022 regulator driver\n  rtc: sa1100: add OF support\n  pxa: magician/hx4700: Convert to gpio-regulator from bq24022\n  ARM: OMAP3+: SmartReflex: fix error handling\n  ARM: OMAP3+: SmartReflex: fix the use of debugfs_create_* API\n  ARM: OMAP3+: SmartReflex: micro-optimization for sanity check\n  ARM: OMAP3+: SmartReflex: misc cleanups\n  ARM: OMAP3+: SmartReflex: move late_initcall() closer to its argument\n  ARM: OMAP3+: SmartReflex: add missing platform_set_drvdata()\n  ARM: OMAP3+: hwmod: add SmartReflex IRQs\n  ARM: OMAP3+: SmartReflex: clear ERRCONFIG_VPBOUNDINTST only on a need\n  ARM: OMAP3+: SmartReflex: Fix status masking in ERRCONFIG register\n  ARM: OMAP3+: SmartReflex: Add a shutdown hook\n  ARM: OMAP3+: SmartReflex Class3: disable errorgen before disable VP\n  ...\n\nConflicts:\n\tarch/arm/mach-tegra/Makefile\n\tarch/arm/mach-tegra/fuse.c\n\tdrivers/rtc/rtc-sa1100.c\n"
    },
    {
      "commit": "46b407ca4a6149c8d27fcec1881d4f184bec7c77",
      "tree": "a608dadec12b8dd74866721b3de32435f575e809",
      "parents": [
        "1bfecd935849a45b6b47d9f011e1c278ff880512",
        "6458acb5a31926dcc1295410221493544d628cf7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 27 16:30:09 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 27 16:30:09 2012 -0700"
      },
      "message": "Merge tag \u0027rpmsg\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull \"remoteproc/rpmsg: new subsystem\" from Arnd Bergmann:\n \"This new subsystem provides a common way to talk to secondary\n  processors on an SoC, e.g.  a DSP, GPU or service processor, using\n  virtio as the transport.  In the long run, it should replace a few\n  dozen vendor specific ways to do the same thing, which all never made\n  it into the upstream kernel.  There is a broad agreement that rpmsg is\n  the way to go here and several vendors have started working on\n  replacing their own subsystems.\n\n  Two branches each add one virtio protocol number.  Fortunately the\n  numbers were agreed upon in advance, so there are only context\n  changes.\n\n  Signed-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\"\n\nFixed up trivial protocol number conflict due to the mentioned additions\nnext to each other.\n\n* tag \u0027rpmsg\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (32 commits)\n  remoteproc: cleanup resource table parsing paths\n  remoteproc: remove the hardcoded vring alignment\n  remoteproc/omap: remove the mbox_callback limitation\n  remoteproc: remove the single rpmsg vdev limitation\n  remoteproc: safer boot/shutdown order\n  remoteproc: remoteproc_rpmsg -\u003e remoteproc_virtio\n  remoteproc: resource table overhaul\n  rpmsg: fix build warning when dma_addr_t is 64-bit\n  rpmsg: fix published buffer length in rpmsg_recv_done\n  rpmsg: validate incoming message length before propagating\n  rpmsg: fix name service endpoint leak\n  remoteproc/omap: two Kconfig fixes\n  remoteproc: make sure we\u0027re parsing a 32bit firmware\n  remoteproc: s/big switch/lookup table/\n  remoteproc: bail out if firmware has different endianess\n  remoteproc: don\u0027t use virtio\u0027s weak barriers\n  rpmsg: rename virtqueue_add_buf_gfp to virtqueue_add_buf\n  rpmsg: depend on EXPERIMENTAL\n  remoteproc: depend on EXPERIMENTAL\n  rpmsg: add Kconfig menu\n  ...\n\nConflicts:\n\tinclude/linux/virtio_ids.h\n"
    },
    {
      "commit": "48d554418d3bfbba5e9dc1ebdf352f1b1f3ff4ee",
      "tree": "696bdc0c1087e82c6493c852bca514bb0fcd7881",
      "parents": [
        "d61b7a572b292e2be409e13b4b3adf475f18fb29",
        "2cbe23e3a432e3d09a849adb197c8fcc09e7391d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 27 16:06:17 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 27 16:06:17 2012 -0700"
      },
      "message": "Merge tag \u0027timer\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull \"ARM: timer cleanup work\" from Arnd Bergmann:\n \"These are split out from the generic soc and driver updates because\n  there was a lot of conflicting work by multiple people.  Marc Zyngier\n  worked on simplifying the \"localtimer\" interfaces, and some of the\n  platforms are touching the same code as they move to device tree based\n  booting.\n\n  Signed-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\"\n\n* tag \u0027timer\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (61 commits)\n  ARM: tegra: select USB_ULPI if USB is selected\n  arm/tegra: pcie: fix return value of function\n  ARM: ux500: fix compilation after local timer rework\n  ARM: shmobile: remove additional __io() macro use\n  ARM: local timers: make the runtime registration interface mandatory\n  ARM: local timers: convert MSM to runtime registration interface\n  ARM: local timers: convert exynos to runtime registration interface\n  ARM: smp_twd: remove old local timer interface\n  ARM: imx6q: convert to twd_local_timer_register() interface\n  ARM: highbank: convert to twd_local_timer_register() interface\n  ARM: ux500: convert to twd_local_timer_register() interface\n  ARM: shmobile: convert to twd_local_timer_register() interface\n  ARM: tegra: convert to twd_local_timer_register() interface\n  ARM: plat-versatile: convert to twd_local_timer_register() interface\n  ARM: OMAP4: convert to twd_local_timer_register() interface\n  ARM: smp_twd: add device tree support\n  ARM: smp_twd: add runtime registration support\n  ARM: local timers: introduce a new registration interface\n  ARM: smp_twd: make local_timer_stop a symbol instead of a #define\n  ARM: mach-shmobile: default to no earlytimer\n  ...\n"
    },
    {
      "commit": "d61b7a572b292e2be409e13b4b3adf475f18fb29",
      "tree": "e9d30390860147136c05e66abf1edda1bc5b0562",
      "parents": [
        "18d9946bc7e2252fe3c0f2f609ac383c627edefd",
        "f4e2467bad53023589cbff18dd1ab6e0aa3f004c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 27 16:03:32 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 27 16:03:32 2012 -0700"
      },
      "message": "Merge tag \u0027cleanup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull \"ARM: global cleanups\" from Arnd Bergmann:\n \"Quite a bit of code gets removed, and some stuff moved around, mostly\n  the old samsung s3c24xx stuff.  There should be no functional changes\n  in this series otherwise.  Some cleanups have dependencies on other\n  arm-soc branches and will be sent in the second round.\n\n  Signed-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\"\n\nFixed up trivial conflicts mainly due to #include\u0027s being changes on\nboth sides.\n\n* tag \u0027cleanup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (121 commits)\n  ep93xx: Remove unnecessary includes of ep93xx-regs.h\n  ep93xx: Move EP93XX_SYSCON defines to SoC private header\n  ep93xx: Move crunch code to mach-ep93xx directory\n  ep93xx: Make syscon access functions private to SoC\n  ep93xx: Configure GPIO ports in core code\n  ep93xx: Move peripheral defines to local SoC header\n  ep93xx: Convert the watchdog driver into a platform device.\n  ep93xx: Use ioremap for backlight driver\n  ep93xx: Move GPIO defines to gpio-ep93xx.h\n  ep93xx: Don\u0027t use system controller defines in audio drivers\n  ep93xx: Move PHYS_BASE defines to local SoC header file\n  ARM: EXYNOS: Add clock register addresses for EXYNOS4X12 bus devfreq driver\n  ARM: EXYNOS: add clock registers for exynos4x12-cpufreq\n  PM / devfreq: update the name of EXYNOS clock registers that were omitted\n  PM / devfreq: update the name of EXYNOS clock register\n  ARM: EXYNOS: change the prefix S5P_ to EXYNOS4_ for clock\n  ARM: EXYNOS: use static declaration on regarding clock\n  ARM: EXYNOS: replace clock.c for other new EXYNOS SoCs\n  ARM: OMAP2+: Fix build error after merge\n  ARM: S3C24XX: remove call to s3c24xx_setup_clocks\n  ...\n"
    },
    {
      "commit": "fd7b673c92731fc6c0b1e999adfd87b6762ee797",
      "tree": "35fafd733a2846acb1dd7a06cb7078a7fe59086f",
      "parents": [
        "2ca1606359695cc7ce371c7829c4082d9095fc06"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@st.com",
        "time": "Fri Mar 16 09:14:00 2012 +0100"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Tue Mar 27 20:15:37 2012 +0200"
      },
      "message": "watchdog: Add support for WDIOC_GETTIMELEFT IOCTL in watchdog core\n\nThis patch adds support for WDIOC_GETTIMELEFT IOCTL in watchdog core. So, there\nis another function pointer added to struct watchdog_ops, which can be passed by\ndrivers to support this IOCTL.\n\nRelated documentation is updated too.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\n"
    },
    {
      "commit": "86a1e1896c2710402e29a875d8d830244274244d",
      "tree": "1b27f5107ec51e06921e510c67eeca47ba1b5a66",
      "parents": [
        "27c766aaacb265d625dc634bf7903f7f9fd0c697"
      ],
      "author": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Mon Mar 05 16:51:11 2012 +0100"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Tue Mar 27 20:06:02 2012 +0200"
      },
      "message": "watchdog: nowayout is bool\n\nnowayout is actually a boolean value.\nSo make it bool for all watchdog device drivers.\n\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\n"
    },
    {
      "commit": "1631fcea8399da5e80a80084b3b8c5bfd99d21e7",
      "tree": "97dbf61e224142068842d1ab5391e8c46a950bba",
      "parents": [
        "48b25c43e6eebb6c0edf72935e8720385beca76b"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Mon Mar 26 16:26:12 2012 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Tue Mar 27 13:36:57 2012 -0400"
      },
      "message": "compat: use sys_sendfile64() implementation for sendfile syscall\n\n\u003casm-generic/unistd.h\u003e was set up to use sys_sendfile() for the 32-bit\ncompat API instead of sys_sendfile64(), but in fact the right thing to\ndo is to use sys_sendfile64() in all cases.  The 32-bit sendfile64() API\nin glibc uses the sendfile64 syscall, so it has to be capable of doing\nfull 64-bit operations.  But the sys_sendfile() kernel implementation\nhas a MAX_NON_LFS test in it which explicitly limits the offset to 2^32.\nSo, we need to use the sys_sendfile64() implementation in the kernel\nfor this case.\n\nCc: \u003cstable@kernel.org\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "135111cc5595c6a24dd826d503e2d2bae92da1c4",
      "tree": "8de38f57b81d999e02dc9d40d24cb667cac69dff",
      "parents": [
        "7f524217439cc17da74523582c303cced432713e"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Fri Mar 16 12:49:04 2012 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Tue Mar 27 12:20:20 2012 -0400"
      },
      "message": "mmc: sh_mmcif: simplify bitmask macros\n\nPurely cosmetic readability improvement, no functional change.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "7f524217439cc17da74523582c303cced432713e",
      "tree": "cf3d25dd99f12c8ce73ea1ce45e0ae9f86503f2c",
      "parents": [
        "e82b4ac94e5c43fad51b975aed058858ceda1f0f"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Fri Mar 09 10:16:00 2012 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Tue Mar 27 12:20:19 2012 -0400"
      },
      "message": "mmc: sh_mobile_sdhi: support modular mmc-core with non-standard hotplug\n\nCurrently if a platform wants to implement a non-standard card-detection\nmethod, it would need to call tmio_mmc_cd_wakeup(), which is an inline\nfunction, calling mmc_detect_change(). For this the platform would have\nto link mmc_core statically into the kernel, losing the ability to build\nit as a module. This patch adds a callback to the sh_mobile_sdhi driver,\nwhich eliminates this dependency.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nAcked-by: Magnus Damm \u003cdamm@opensource.se\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "e82b4ac94e5c43fad51b975aed058858ceda1f0f",
      "tree": "40c1f770d227f109c6d11c7b23ef20638beea406",
      "parents": [
        "4932bd64a2bb4e80b79efb20c4736ac3b30ba7fe"
      ],
      "author": {
        "name": "Bastian Hecht",
        "email": "hechtb@googlemail.com",
        "time": "Fri Mar 16 12:19:29 2012 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Tue Mar 27 12:20:19 2012 -0400"
      },
      "message": "mmc: sh_mobile_sdhi: add a callback for board specific init code\n\nSome boards need a preliminary setup stage to prepare the sdhi\ncontroller.\n\nSigned-off-by: Bastian Hecht \u003chechtb@gmail.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "c391e1b9ebfe31514fa95a0cdd30c2cbc9652c89",
      "tree": "a126e9621172ead9bede04f2413fa79ffd3871d2",
      "parents": [
        "58126c878b4a4f658015e383614bafb6331e46d3"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Thu Feb 09 22:57:13 2012 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Tue Mar 27 12:20:16 2012 -0400"
      },
      "message": "mmc: tmio_mmc: power status flag doesn\u0027t have to be exposed in platform data\n\nThe controller power status flag does not have to be accessed from the\nhot-plug detection code any more, it can now be removed from the platform\ndata and put in the controller private struct.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "58126c878b4a4f658015e383614bafb6331e46d3",
      "tree": "4cc680965609d21b2d384819205dac4e78ece09e",
      "parents": [
        "c8be24c2afd3ed2445bbf8f542af35a9787fc0e8"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Thu Feb 09 22:57:10 2012 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Tue Mar 27 12:20:16 2012 -0400"
      },
      "message": "mmc: sh_mobile_sdhi: pass card hotplug GPIO number to TMIO MMC\n\nTo use TMIO MMC driver ability to interface to the generic MMC GPIO card\nhotplug detection helper, the SDHI driver has to pass the GPIO number\nfrom its own platform data.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "c8be24c2afd3ed2445bbf8f542af35a9787fc0e8",
      "tree": "e0e757bb3b6a45f55eef145484ca5707d9e45fa8",
      "parents": [
        "2b1ac5c2caccbfd43bd616321cbbe21eb33c7879"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Thu Feb 09 22:57:09 2012 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Tue Mar 27 12:20:15 2012 -0400"
      },
      "message": "mmc: tmio_mmc: support the generic MMC GPIO card hotplug helper\n\nIf the platform specifies the TMIO_MMC_HAS_COLD_CD flag, use the generic\nMMC GPIO card hotplug helper.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "c9b0546a59293cabf54c85e1218da595af3274ff",
      "tree": "a74dd0315e163c1daaf55abf9087801d84ba8ec0",
      "parents": [
        "296e0b0357e09fdc6f307953da51c0e5da5b84e7"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Thu Feb 09 22:57:07 2012 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Tue Mar 27 12:20:14 2012 -0400"
      },
      "message": "mmc: simplify mmc_cd_gpio_request() by removing two parameters\n\nCalculate the IRQ number, using gpio_to_irq() and use fixed flags: trigger\non both edges. This makes two out of four arguments of the\nmmc_cd_gpio_request() function redundant.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "6308d2905bd30290d90f28730828fd572161dd11",
      "tree": "5eedb3ba23a4898c56b1d17794ce3e69006b6f86",
      "parents": [
        "da721cf7808f9731454757d704f0aa69ae2f1aae"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@intel.com",
        "time": "Tue Feb 07 14:48:54 2012 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Tue Mar 27 12:20:08 2012 -0400"
      },
      "message": "mmc: sdhci: add quirk for keeping card power during suspend\n\nAdd quirk SDHCI_QUIRK2_HOST_OFF_CARD_ON to cater for the case when the\ncard keeps power during suspend but the host controller does not i.e.\nthe card power is not controlled by the host controller.  In that\ncase, the controller must be fully reset on resume.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "83bb24aaa4af2ec7c127cc2a5fa7ca9f64cdd13d",
      "tree": "fa7d97909c26a8906c6c97947a0f7ea25f3f2288",
      "parents": [
        "2cecdf002300bca86ce83b17a60f907d5a4ce7dc"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@intel.com",
        "time": "Tue Mar 13 05:19:13 2012 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Tue Mar 27 12:20:07 2012 -0400"
      },
      "message": "mmc: core: add high-capacity erase size capability flag\n\nLet drivers specify the use of high-capacity erase size.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "907d2e7cc7ebba4ab398422a7f0435e1802be65b",
      "tree": "40e51b724bf01a9a507c83c2f1152ec67d5c9a7e",
      "parents": [
        "4b1a61705a563edb951b8fd9734bcb14286a7888"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@intel.com",
        "time": "Wed Feb 29 09:17:21 2012 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Tue Mar 27 12:20:03 2012 -0400"
      },
      "message": "mmc: start removing enable / disable API\n\nMost parts of the enable / disable API are no longer used and\ncan be removed.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nTested-by: Venkatraman S \u003csvenkatr@ti.com\u003e\nTested-by: Jaehoon Chung \u003cjh80.chung@samsung.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "f0cc9cf99326926fd76f77645c48d16d647802eb",
      "tree": "62ad1c9e51cb27c797acaa5481d93a4306125bcd",
      "parents": [
        "885c3e800cf99db3391247776bfa2d262b21a72b"
      ],
      "author": {
        "name": "Ulf Hansson",
        "email": "ulf.hansson@stericsson.com",
        "time": "Mon Feb 06 10:42:39 2012 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Tue Mar 27 12:19:58 2012 -0400"
      },
      "message": "mmc: core: Detect card removal on I/O error\n\nTo prevent I/O as soon as possible at card removal, a new detect work is\nre-scheduled without a delay to let a rescan remove the card device as\nsoon as possible.\n\nAdditionally, MMC_CAP2_DETECT_ON_ERR can now be used to handle \"slowly\"\nremoved cards that a scheduled detect work did not detect as removed.\nTo prevent further I/O requests for these lingering removed cards,\ncheck if card has been removed and then schedule a detect work to\nproperly remove it.\n\nSigned-off-by: Ulf Hansson \u003culf.hansson@stericsson.com\u003e\nReviewed-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "2baab4e90495ebc9826c93f79d74d6e60a828d24",
      "tree": "6e6316694a9bc69e517e50b0d01043c4c9e83888",
      "parents": [
        "bc758133ed73d4b06952bec21da23e28e62bf3ba"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Mar 20 15:57:01 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Mar 27 14:50:14 2012 +0200"
      },
      "message": "sched: Fix select_fallback_rq() vs cpu_active/cpu_online\n\nCommit 5fbd036b55 (\"sched: Cleanup cpu_active madness\"), which was\nsupposed to finally sort the cpu_active mess, instead uncovered more.\n\nSince CPU_STARTING is ran before setting the cpu online, there\u0027s a\n(small) window where the cpu has active,!online.\n\nIf during this time there\u0027s a wakeup of a task that used to reside on\nthat cpu select_task_rq() will use select_fallback_rq() to compute an\nalternative cpu to run on since we find !online.\n\nselect_fallback_rq() however will compute the new cpu against\ncpu_active, this means that it can return the same cpu it started out\nwith, the !online one, since that cpu is in fact marked active.\n\nThis results in us trying to scheduling a task on an offline cpu and\ntriggering a WARN in the IPI code.\n\nThe solution proposed by Chuansheng Liu of setting cpu_active in\nset_cpu_online() is buggy, firstly not all archs actually use\nset_cpu_online(), secondly, not all archs call set_cpu_online() with\nIRQs disabled, this means we would introduce either the same race or\nthe race from fd8a7de17 (\"x86: cpu-hotplug: Prevent softirq wakeup on\nwrong CPU\") -- albeit much narrower.\n\n[ By setting online first and active later we have a window of\n  online,!active, fresh and bound kthreads have task_cpu() of 0 and\n  since cpu0 isn\u0027t in tsk_cpus_allowed() we end up in\n  select_fallback_rq() which excludes !active, resulting in a reset\n  of -\u003ecpus_allowed and the thread running all over the place. ]\n\nThe solution is to re-work select_fallback_rq() to require active\n_and_ online. This makes the active,!online case work as expected,\nOTOH archs running CPU_STARTING after setting online are now\nvulnerable to the issue from fd8a7de17 -- these are alpha and\nblackfin.\n\nReported-by: Chuansheng Liu \u003cchuansheng.liu@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: linux-alpha@vger.kernel.org\nLink: http://lkml.kernel.org/n/tip-hubqk1i10o4dpvlm06gq7v6j@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "5694f8a888f8f69a562e4cf939eed81ca7a5ecf2",
      "tree": "285c3249b1ea95236a0d937e5c7008bc26cccca5",
      "parents": [
        "de05497aab22b515ff02988634eab59848410a25"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Mar 26 21:47:19 2012 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Mon Mar 26 21:47:19 2012 +0200"
      },
      "message": "i2c: Update the FSF address\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "0ab628d856a63d63b47307b09851d1e955c706ac",
      "tree": "948490c42a8f85dddc0be7058ff500eb66c525cc",
      "parents": [
        "7ea34ac15e45b790f2faa7d5f69c560a43f2de70"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Mar 21 09:52:06 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Mar 26 11:49:47 2012 -0400"
      },
      "message": "nfsd: add a header describing upcall to nfsdcld\n\nThe daemon takes a versioned binary struct. Hopefully this should allow\nus to revise the struct later if it becomes necessary.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "1df00640c9111c881633d9b219f18e66c52599ec",
      "tree": "e36d3924d84f47ec93f6650ff1fd5b8ea7d10d24",
      "parents": [
        "ab4684d1560f8d77f6ce82bd3f1f82937070d397",
        "5a7c9eec9fde1da0e3adf0a4ddb64ff2a324a492"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Mar 21 16:42:14 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Mar 26 11:48:54 2012 -0400"
      },
      "message": "Merge nfs containerization work from Trond\u0027s tree\n\nThe nfs containerization work is a prerequisite for Jeff Layton\u0027s reboot\nrecovery rework.\n"
    },
    {
      "commit": "3e0b2a1993c06e646d90d71e163d03869a211a4c",
      "tree": "40b950985b5559159f0c9a1dbd5f28a43c51fa77",
      "parents": [
        "fbb231e1a98cb0360b681b6a6195a619e98d7077"
      ],
      "author": {
        "name": "Sumit Semwal",
        "email": "sumit.semwal@ti.com",
        "time": "Mon Mar 26 11:29:19 2012 +0530"
      },
      "committer": {
        "name": "Sumit Semwal",
        "email": "sumit.semwal@ti.com",
        "time": "Mon Mar 26 11:33:34 2012 +0530"
      },
      "message": "dma-buf: correct dummy function declarations.\n\nDummy functions for the newly added cpu access ops need variable names for\narguments.\nAlso, the introduction of flags in dma_buf_fd  needs to be added to dummy\nfunctions as well.\n\nSigned-off-by: Sumit Semwal \u003csumit.semwal@ti.com\u003e\nSigned-off-by: Sumit Semwal \u003csumit.semwal@linaro.org\u003e\n"
    },
    {
      "commit": "fc13020e086bfedf2afb95c91c026d5af1f80107",
      "tree": "a06be5c3eff6865a42046b51270e4d60e30609f4",
      "parents": [
        "6b607e3a658fee490bdabfdeb739a3eb498b1bff"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Mar 20 00:02:37 2012 +0100"
      },
      "committer": {
        "name": "Sumit Semwal",
        "email": "sumit.semwal@ti.com",
        "time": "Mon Mar 26 11:33:02 2012 +0530"
      },
      "message": "dma-buf: add support for kernel cpu access\n\nBig differences to other contenders in the field (like ion) is\nthat this also supports highmem, so we have to split up the cpu\naccess from the kernel side into a prepare and a kmap step.\n\nPrepare is allowed to fail and should do everything required so that\nthe kmap calls can succeed (like swapin/backing storage allocation,\nflushing, ...).\n\nMore in-depth explanations will follow in the follow-up documentation\npatch.\n\nChanges in v2:\n\n- Clear up begin_cpu_access confusion noticed by Sumit Semwal.\n- Don\u0027t automatically fallback from the _atomic variants to the\n  non-atomic variants. The _atomic callbacks are not allowed to\n  sleep, so we want exporters to make this decision explicit. The\n  function signatures are explicit, so simpler exporters can still\n  use the same function for both.\n- Make the unmap functions optional. Simpler exporters with permanent\n  mappings don\u0027t need to do anything at unmap time.\n\nChanges in v3:\n\n- Adjust the WARN_ON checks for the new -\u003eops functions as suggested\n  by Rob Clark and Sumit Semwal.\n- Rebased on top of latest dma-buf-next git.\n\nChanges in v4:\n\n- Fixup a missing - in a return -EINVAL; statement.\n\nSigned-Off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Rob Clark \u003crob@ti.com\u003e\nSigned-off-by: Sumit Semwal \u003csumit.semwal@linaro.org\u003e\n"
    },
    {
      "commit": "6b607e3a658fee490bdabfdeb739a3eb498b1bff",
      "tree": "a10ad6f713586f9dc7584fe54110d1c44f87b1d5",
      "parents": [
        "f9a24d1ac9cb82baf5ec5efdb6580a9ce0bd5bfc"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Mon Mar 19 00:34:25 2012 +0100"
      },
      "committer": {
        "name": "Sumit Semwal",
        "email": "sumit.semwal@ti.com",
        "time": "Mon Mar 26 11:32:50 2012 +0530"
      },
      "message": "dma-buf: don\u0027t hold the mutex around map/unmap calls\n\nThe mutex protects the attachment list and hence needs to be held\naround the callbakc to the exporters (optional) attach/detach\nfunctions.\n\nHolding the mutex around the map/unmap calls doesn\u0027t protect any\ndma_buf state. Exporters need to properly protect any of their own\nstate anyway (to protect against calls from their own interfaces).\nSo this only makes the locking messier (and lockdep easier to anger).\n\nTherefore let\u0027s just drop this.\n\nv2: Rebased on top of latest dma-buf-next git.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: Rob Clark \u003crob.clark@linaro.org\u003e\nSigned-off-by: Sumit Semwal \u003csumit.semwal@linaro.org\u003e\n"
    },
    {
      "commit": "f9a24d1ac9cb82baf5ec5efdb6580a9ce0bd5bfc",
      "tree": "6dd135509fa938eb3c9f8adab6919110a6f01f2b",
      "parents": [
        "55c1c4ca23d0f2736ef7c219d0fb005323ff8ee0"
      ],
      "author": {
        "name": "Rob Clark",
        "email": "rob@ti.com",
        "time": "Fri Mar 16 11:04:41 2012 -0500"
      },
      "committer": {
        "name": "Sumit Semwal",
        "email": "sumit.semwal@ti.com",
        "time": "Mon Mar 26 11:32:40 2012 +0530"
      },
      "message": "dma-buf: add get_dma_buf()\n\nWorks in a similar way to get_file(), and is needed in cases such as\nwhen the exporter needs to also keep a reference to the dmabuf (that\nis later released with a dma_buf_put()), and possibly other similar\ncases.\n\nSigned-off-by: Rob Clark \u003crob@ti.com\u003e\nReviewed-by: Dave Airlie \u003cairlied@redhat.com\u003e\nReviewed-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Sumit Semwal \u003csumit.semwal@linaro.org\u003e\n"
    },
    {
      "commit": "55c1c4ca23d0f2736ef7c219d0fb005323ff8ee0",
      "tree": "52c2ae868121e09df3d77fc998f233549cf8ae34",
      "parents": [
        "33ea2dcb39ba50b0b69d1b1dc24702f084b46411"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Mar 16 10:34:02 2012 +0000"
      },
      "committer": {
        "name": "Sumit Semwal",
        "email": "sumit.semwal@ti.com",
        "time": "Mon Mar 26 11:32:26 2012 +0530"
      },
      "message": "dma-buf: pass flags into dma_buf_fd.\n\nWe need to pass the flags into dma_buf_fd at this point,\nso the flags end up doing the right thing for O_CLOEXEC.\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\nSigned-off-by: Rob Clark \u003crob@ti.com\u003e\nSigned-off-by: Sumit Semwal \u003csumit.semwal@linaro.org\u003e\n"
    },
    {
      "commit": "33ea2dcb39ba50b0b69d1b1dc24702f084b46411",
      "tree": "ec1e1b0c223e09861341f82d2aa0b13ec841be95",
      "parents": [
        "2ed9201bdd9a8e462d768a838fb2bc944c6887a4"
      ],
      "author": {
        "name": "Sumit Semwal",
        "email": "sumit.semwal@ti.com",
        "time": "Fri Jan 27 15:09:27 2012 +0530"
      },
      "committer": {
        "name": "Sumit Semwal",
        "email": "sumit.semwal@ti.com",
        "time": "Mon Mar 26 11:31:58 2012 +0530"
      },
      "message": "dma-buf: add dma_data_direction to unmap dma_buf_op\n\nSome exporters may use DMA map/unmap APIs in dma-buf ops, which require\nenum dma_data_direction for both map and unmap operations.\n\nThus, the unmap dma_buf_op also needs to have enum dma_data_direction as\na parameter.\n\nReported-by: Tomasz Stanislawski \u003ct.stanislaws@samsung.com\u003e\nSigned-off-by: Sumit Semwal \u003csumit.semwal@ti.com\u003e\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Sumit Semwal \u003csumit.semwal@linaro.org\u003e\n"
    },
    {
      "commit": "d53799be6758841e1ffb1fd3780f73d0ffe44432",
      "tree": "aad25045e0bcfe4b4e612d09a0c3abe3beb7e761",
      "parents": [
        "026cee0086fe1df4cf74691cf273062cc769617d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Mar 26 12:50:52 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 26 12:50:52 2012 +1030"
      },
      "message": "module: move __module_get and try_module_get() out of line.\n\nWith the preempt, tracepoint and everything, it\u0027s getting a bit\nchubby.  For an Ubuntu-based config:\n\nBefore:\n\t$ size -t `find * -name \u0027*.ko\u0027` | grep TOTAL\n\t56199906        3870760\t1606616\t61677282\t3ad1ee2\t(TOTALS)\n\t$ size vmlinux\n\t   text\t   data\t    bss\t    dec\t    hex\tfilename\n\t8509342\t 850368\t3358720\t12718430\t c2115e\tvmlinux\n\nAfter:\n\t$ size -t `find * -name \u0027*.ko\u0027` | grep TOTAL\n\t56183760\t3867892\t1606616\t61658268\t3acd49c\t(TOTALS)\n\t$ size vmlinux\n\t   text\t   data\t    bss\t    dec\t    hex\tfilename\n\t8501842\t 849088\t3358720\t12709650\t c1ef12\tvmlinux\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (made all out-of-line)\n"
    },
    {
      "commit": "026cee0086fe1df4cf74691cf273062cc769617d",
      "tree": "22735ecd2132de4570fbad81e5716f7fee3448d5",
      "parents": [
        "8b8252813dee8e8cd453bb219731c36b268c69a7"
      ],
      "author": {
        "name": "Pawel Moll",
        "email": "pawel.moll@arm.com",
        "time": "Mon Mar 26 12:50:51 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 26 12:50:51 2012 +1030"
      },
      "message": "params: \u003clevel\u003e_initcall-like kernel parameters\n\nThis patch adds a set of macros that can be used to declare\nkernel parameters to be parsed _before_ initcalls at a chosen\nlevel are executed.  We rename the now-unused \"flags\" field of\nstruct kernel_param as the level.  It\u0027s signed, for when we\nuse this for early params as well, in future.\n\nLinker macro collating init calls had to be modified in order\nto add additional symbols between levels that are later used\nby the init code to split the calls into blocks.\n\nSigned-off-by: Pawel Moll \u003cpawel.moll@arm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "8b8252813dee8e8cd453bb219731c36b268c69a7",
      "tree": "0e39d722a48b084d7fa84e2470cf1b33c71a0134",
      "parents": [
        "02608bef8f774c058779546926889a2f2717a499"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 26 12:50:51 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 26 12:50:51 2012 +1030"
      },
      "message": "module_param: remove support for bool parameters which are really int.\n\nmodule_param(bool) used to counter-intuitively take an int.  In\nfddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy\ntrick.\n\nThis eliminates that code (though leaves the flags field in the struct,\nfor impending use).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "62ca8034d940439490a450ae7e2b7702591e3192",
      "tree": "aa2bb114f123e0850a5ce6008c0e6188dbd5f2ca",
      "parents": [
        "356ac2cf066174aecc3380f82fabe8a01f046c3f"
      ],
      "author": {
        "name": "Shashidhar Hiremath",
        "email": "shashidharh@vayavyalabs.com",
        "time": "Fri Jan 13 16:04:57 2012 +0530"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sun Mar 25 19:33:44 2012 -0400"
      },
      "message": "mmc: Support of PCI mode in the dw_mmc driver\n\nSupport of PCI mode for the dw_mmc driver. This Patch adds the\nsupport for the scenario where the Synopsys Designware IP\nis present on the PCI bus. The patch adds the minimal modifications\nnecessary for the driver to work on PCI platform. Also added separate\nfiles for PCI and PLATFORM modes of operation.\n\nSigned-off-by: Shashidhar Hiremath \u003cshashidharh@vayavyalabs.com\u003e\nAcked-by: James Hogan \u003cjames.hogan@imgtec.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "4265900e0be653f5b78baf2816857ef57cf1332f",
      "tree": "156dc60c8f5b24aa0c8be7d18759faae6ecff5f7",
      "parents": [
        "e2a0883e4071237d09b604a342c28b96b44a04b3"
      ],
      "author": {
        "name": "Saugata Das",
        "email": "saugata.das@linaro.org",
        "time": "Wed Dec 21 13:09:17 2011 +0530"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sun Mar 25 19:33:44 2012 -0400"
      },
      "message": "mmc: MMC-4.5 Data Tag Support\n\nMMC-4.5 data tag feature will be used to store the file system meta-data\nin the tagged region of eMMC. This will improve the write and subsequent\nread transfer time for the meta data.\n\nSigned-off-by: Saugata Das \u003csaugata.das@linaro.org\u003e\nTested-by: Venkatraman S \u003csvenkatr@ti.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "7256ecc2b7b91b4212ccc5511cb12254bdf806d0",
      "tree": "1a39b3de03cfc92c5b5dedfb01174d17b49df18a",
      "parents": [
        "18bbff9f679cd470db66402fdb9c577b34324183",
        "6ed3e2acc7995625625592abe8cd3383c34a471b"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun Mar 25 23:56:30 2012 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun Mar 25 23:57:10 2012 +0100"
      },
      "message": "Merge branch \u0027sa11x0-mcp\u0027 into sa11x0\n\nConflicts:\n\tarch/arm/mach-sa1100/assabet.c\n\tarch/arm/mach-sa1100/collie.c\n\tarch/arm/mach-sa1100/generic.c\n\tarch/arm/mach-sa1100/lart.c\n\tarch/arm/mach-sa1100/shannon.c\n"
    },
    {
      "commit": "18bbff9f679cd470db66402fdb9c577b34324183",
      "tree": "f8e90adadfde630368034268de8cc5763898ab37",
      "parents": [
        "e7d863d0f42e2cf19a13c867bfcab7424388bff8",
        "7cb66dcc828662c8cacb74af08478433cef102b1"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun Mar 25 23:55:54 2012 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun Mar 25 23:55:54 2012 +0100"
      },
      "message": "Merge branch \u0027sa11x0-lcd\u0027 into sa11x0\n\nConflicts:\n\tarch/arm/mach-sa1100/assabet.c\n"
    },
    {
      "commit": "58af4a244fa9f7ef86f45aa9f8fa835a89274bdd",
      "tree": "ebd669001d231a354f4ccc8d885fd4d01b1e6369",
      "parents": [
        "a2a47ca36642e3995e982957bc42678cf11ca6ac"
      ],
      "author": {
        "name": "Rob Herring",
        "email": "rob.herring@calxeda.com",
        "time": "Tue Mar 20 14:33:01 2012 -0500"
      },
      "committer": {
        "name": "Rob Herring",
        "email": "rob.herring@calxeda.com",
        "time": "Sun Mar 25 14:35:58 2012 -0500"
      },
      "message": "ARM: dma-mapping: convert ARCH_HAS_DMA_SET_COHERENT_MASK to kconfig symbol\n\nThe only users of ARCH_HAS_DMA_SET_COHERENT_MASK are 2 ARM platforms:\nixp4xx and pxa cm_x2xx. We\u0027ve been getting lucky that the define is\nimplicitly included before dma-mapping.h, but the removal of io.h broke\nthings (c334bc1 ARM: make mach/io.h include optional). Since memory.h\nis the correct place, but no longer exists, convert the define to a\nkconfig entry.\n\nReported-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Rob Herring \u003crob.herring@calxeda.com\u003e\nAcked-by: Nicolas Pitre \u003cnico@linaro.org\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Imre Kaloz \u003ckaloz@openwrt.org\u003e\nCc: Krzysztof Halasa \u003ckhc@pm.waw.pl\u003e\nCc: Eric Miao \u003ceric.y.miao@gmail.com\u003e\nAcked-by: Haojian Zhuang \u003chaojian.zhuang@marvell.com\u003e\nCc: Vinod Koul \u003cvinod.koul@intel.com\u003e\nCc: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "50269e19ad990e79eeda101fc6df80cffd5d4831",
      "tree": "903d80ba1b1fc0eb15e122a8c12a72f72e7ed2de",
      "parents": [
        "0015e551edb1d28191567d8a7d1ce5edda404ced"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Mar 23 23:59:33 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 25 13:29:58 2012 -0400"
      },
      "message": "net: add a truesize parameter to skb_add_rx_frag()\n\nskb_add_rx_frag() API is misleading.\n\nNetwork skbs built with this helper can use uncharged kernel memory and\neventually stress/crash machine in OOM.\n\nAdd a \u0027truesize\u0027 parameter and then fix drivers in followup patches.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e22057c8599373e5caef0bc42bdb95d2a361ab0d",
      "tree": "04e9f51835f4d5c08aada38597c30de1113c03d9",
      "parents": [
        "496b919b3bdd957d4b1727df79bfa3751bced1c1",
        "df7a3ee29b775edd1c2d75cf0b128b174bd4091e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 12:20:25 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 12:20:25 2012 -0700"
      },
      "message": "Merge tag \u0027stable/for-linus-3.4-tag-two\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\nPull more xen updates from Konrad Rzeszutek Wilk:\n \"One tiny feature that accidentally got lost in the initial git pull:\n   * Add fast-EOI acking of interrupts (clear a bit instead of\n     hypercall)\n  And bug-fixes:\n   * Fix CPU bring-up code missing a call to notify other subsystems.\n   * Fix reading /sys/hypervisor even if PVonHVM drivers are not loaded.\n   * In Xen ACPI processor driver: remove too verbose WARN messages, fix\n     up the Kconfig dependency to be a module by default, and add\n     dependency on CPU_FREQ.\n   * Disable CPU frequency drivers from loading when booting under Xen\n     (as we want the Xen ACPI processor to be used instead).\n   * Cleanups in tmem code.\"\n\n* tag \u0027stable/for-linus-3.4-tag-two\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen/acpi: Fix Kconfig dependency on CPU_FREQ\n  xen: initialize platform-pci even if xen_emul_unplug\u003dnever\n  xen/smp: Fix bringup bug in AP code.\n  xen/acpi: Remove the WARN\u0027s as they just create noise.\n  xen/tmem: cleanup\n  xen: support pirq_eoi_map\n  xen/acpi-processor: Do not depend on CPU frequency scaling drivers.\n  xen/cpufreq: Disable the cpu frequency scaling drivers from loading.\n  provide disable_cpufreq() function to disable the API.\n"
    },
    {
      "commit": "7d1206bc2859c6e9f46e35ae697c138e7d7858a7",
      "tree": "14af84e9a635e59293edf81aa562b6740c57d310",
      "parents": [
        "f4eb28340771c12cdbf8b5ec149dbd3b0eef1687",
        "c899445f9783309ac73073282d4c0ae27f51fa9a"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat Mar 24 19:15:55 2012 +0000"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat Mar 24 19:16:04 2012 +0000"
      },
      "message": "Merge branch \u0027kirkwood/dt\u0027 into next/dt2\n\nThis was part of the for-next branch earlier but for some reasons\na rebuild of the tree missed it, so I\u0027m putting it back in now.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "250f6715a4112d6686670c5a62ceb9305da94616",
      "tree": "ee1c9b41ed1fed8174efb312421902f19c877e8c",
      "parents": [
        "11bcb32848ddb5ab28f09f142b625e2ba4d55c4c",
        "313162d0b83836e2f57e51b9b8650fb4b9c396ea"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:41:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:41:37 2012 -0700"
      },
      "message": "Merge tag \u0027device-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull \u003clinux/device.h\u003e avoidance patches from Paul Gortmaker:\n \"Nearly every subsystem has some kind of header with a proto like:\n\n\tvoid foo(struct device *dev);\n\n  and yet there is no reason for most of these guys to care about the\n  sub fields within the device struct.  This allows us to significantly\n  reduce the scope of headers including headers.  For this instance, a\n  reduction of about 40% is achieved by replacing the include with the\n  simple fact that the device is some kind of a struct.\n\n  Unlike the much larger module.h cleanup, this one is simply two\n  commits.  One to fix the implicit \u003clinux/device.h\u003e users, and then one\n  to delete the device.h includes from the linux/include/ dir wherever\n  possible.\"\n\n* tag \u0027device-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  device.h: audit and cleanup users in main include dir\n  device.h: cleanup users outside of linux/include (C files)\n"
    },
    {
      "commit": "ed2d265d1266736bd294332d7f649003943ae36e",
      "tree": "860e5b7bb72933e4a9abacdc2f2d75a0e6254e32",
      "parents": [
        "f1d38e423a697b7aa06e12d3ca4753bcc1aa3531",
        "6c03438edeb5c359af35f060ea016ca65671c269"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:08:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:08:39 2012 -0700"
      },
      "message": "Merge tag \u0027bug-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull \u003clinux/bug.h\u003e cleanup from Paul Gortmaker:\n \"The changes shown here are to unify linux\u0027s BUG support under the one\n  \u003clinux/bug.h\u003e file.  Due to historical reasons, we have some BUG code\n  in bug.h and some in kernel.h -- i.e.  the support for BUILD_BUG in\n  linux/kernel.h predates the addition of linux/bug.h, but old code in\n  kernel.h wasn\u0027t moved to bug.h at that time.  As a band-aid, kernel.h\n  was including \u003casm/bug.h\u003e to pseudo link them.\n\n  This has caused confusion[1] and general yuck/WTF[2] reactions.  Here\n  is an example that violates the principle of least surprise:\n\n      CC      lib/string.o\n      lib/string.c: In function \u0027strlcat\u0027:\n      lib/string.c:225:2: error: implicit declaration of function \u0027BUILD_BUG_ON\u0027\n      make[2]: *** [lib/string.o] Error 1\n      $\n      $ grep linux/bug.h lib/string.c\n      #include \u003clinux/bug.h\u003e\n      $\n\n  We\u0027ve included \u003clinux/bug.h\u003e for the BUG infrastructure and yet we\n  still get a compile fail! [We\u0027ve not kernel.h for BUILD_BUG_ON.] Ugh -\n  very confusing for someone who is new to kernel development.\n\n  With the above in mind, the goals of this changeset are:\n\n  1) find and fix any include/*.h files that were relying on the\n     implicit presence of BUG code.\n  2) find and fix any C files that were consuming kernel.h and hence\n     relying on implicitly getting some/all BUG code.\n  3) Move the BUG related code living in kernel.h to \u003clinux/bug.h\u003e\n  4) remove the asm/bug.h from kernel.h to finally break the chain.\n\n  During development, the order was more like 3-4, build-test, 1-2.  But\n  to ensure that git history for bisect doesn\u0027t get needless build\n  failures introduced, the commits have been reorderd to fix the problem\n  areas in advance.\n\n\t[1]  https://lkml.org/lkml/2012/1/3/90\n\t[2]  https://lkml.org/lkml/2012/1/17/414\"\n\nFix up conflicts (new radeon file, reiserfs header cleanups) as per Paul\nand linux-next.\n\n* tag \u0027bug-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  kernel.h: doesn\u0027t explicitly use bug.h, so don\u0027t include it.\n  bug: consolidate BUILD_BUG_ON with other bug code\n  BUG: headers with BUG/BUG_ON etc. need linux/bug.h\n  bug.h: add include of it to various implicit C users\n  lib: fix implicit users of kernel.h for TAINT_WARN\n  spinlock: macroize assert_spin_locked to avoid bug.h dependency\n  x86: relocate get/set debugreg fcns to include/asm/debugreg.\n"
    },
    {
      "commit": "511f1cb6d426938fabf9c6d69ce4861b66ffd919",
      "tree": "88fd9b5c15ccb42d5d582f83e87ce5d3f16127cb",
      "parents": [
        "f907ab06bb021bcb91d39c8d1b36536ebdb318fa",
        "4992fa1fd425f1934f503ffa96b68e235b89db9a"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat Mar 24 11:29:58 2012 +0000"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat Mar 24 11:29:58 2012 +0000"
      },
      "message": "Merge tag \u0027regulator-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into next/drivers\n\nThe pxa regulator branch removes the bq24022 driver, while a lot of\nother regulator drivers got added in the regulator tree. This\nresolves the trivial conflicts by merging in the regulator patches\nthat are already merged into v3.4.\n\nConflicts:\n\tdrivers/regulator/Kconfig\n\tdrivers/regulator/Makefile\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "f1d38e423a697b7aa06e12d3ca4753bcc1aa3531",
      "tree": "1cbfd86070f724d5ffe53146d4c67edf14cccf98",
      "parents": [
        "dae430c6f6e5d0b98c238c340a41a39e221e8940",
        "4e474a00d7ff746ed177ddae14fa8b2d4bad7a00"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 18:08:58 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 18:08:58 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl\n\nPull sysctl updates from Eric Biederman:\n\n - Rewrite of sysctl for speed and clarity.\n\n   Insert/remove/Lookup in sysctl are all now O(NlogN) operations, and\n   are no longer bottlenecks in the process of adding and removing\n   network devices.\n\n   sysctl is now focused on being a filesystem instead of system call\n   and the code can all be found in fs/proc/proc_sysctl.c.  Hopefully\n   this means the code is now approachable.\n\n   Much thanks is owed to Lucian Grinjincu for keeping at this until\n   something was found that was usable.\n\n - The recent proc_sys_poll oops found by the fuzzer during hibernation\n   is fixed.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl: (36 commits)\n  sysctl: protect poll() in entries that may go away\n  sysctl: Don\u0027t call sysctl_follow_link unless we are a link.\n  sysctl: Comments to make the code clearer.\n  sysctl: Correct error return from get_subdir\n  sysctl: An easier to read version of find_subdir\n  sysctl: fix memset parameters in setup_sysctl_set()\n  sysctl: remove an unused variable\n  sysctl: Add register_sysctl for normal sysctl users\n  sysctl: Index sysctl directories with rbtrees.\n  sysctl: Make the header lists per directory.\n  sysctl: Move sysctl_check_dups into insert_header\n  sysctl: Modify __register_sysctl_paths to take a set instead of a root and an nsproxy\n  sysctl: Replace root_list with links between sysctl_table_sets.\n  sysctl: Add sysctl_print_dir and use it in get_subdir\n  sysctl: Stop requiring explicit management of sysctl directories\n  sysctl: Add a root pointer to ctl_table_set\n  sysctl: Rewrite proc_sys_readdir in terms of first_entry and next_entry\n  sysctl: Rewrite proc_sys_lookup introducing find_entry and lookup_entry.\n  sysctl: Normalize the root_table data structure.\n  sysctl: Factor out insert_header and erase_header\n  ...\n"
    },
    {
      "commit": "cf821923ba9aa0917165a12573bdd6dc0a354421",
      "tree": "a42f6e7db1eeddb67f6b78ef0336ad7d3ac0fd26",
      "parents": [
        "4416b0eaa3d51f3e360d6e171e603ff51848bcf5",
        "a7b422cda5084db7265c3b23310a959b43b47529"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:56:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:56:39 2012 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq\n\nPull cpufreq updates for 3.4 from Dave Jones: new drivers and some fixes.\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:\n  provide disable_cpufreq() function to disable the API.\n  EXYNOS5250: Add support cpufreq for EXYNOS5250\n  EXYNOS4X12: Add support cpufreq for EXYNOS4X12\n  [CPUFREQ] CPUfreq ondemand: update sampling rate without waiting for next sampling\n  [CPUFREQ] Add S3C2416/S3C2450 cpufreq driver\n  [CPUFREQ] Fix exposure of ARM_EXYNOS4210_CPUFREQ\n  [CPUFREQ] EXYNOS4210: update the name of EXYNOS clock register\n  [CPUFREQ] EXYNOS: Initialize locking_frequency with initial frequency\n  [CPUFREQ] s3c64xx: Fix mis-cherry pick of VDDINT\n\nFix up trivial conflicts in Kconfig and Makefile due to just changes\nnext to each other (OMAP2PLUS changes vs some new EXYNOS cpufreq\ndrivers).\n"
    },
    {
      "commit": "0d19eac12031680dc5f5402921fb0c388e42f619",
      "tree": "57302fb8778b6527c35175cc1edf228dd9f7abb9",
      "parents": [
        "56c10bf82c10588b743e75a13a7949e11b9fc942",
        "bba1594d348b59d6172e02bf74fba837c8273989"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:36:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:36:29 2012 -0700"
      },
      "message": "Merge branch \u0027amba\u0027 of git://git.linaro.org/people/rmk/linux-arm\n\nPull #2 ARM updates from Russell King:\n \"Further ARM AMBA primecell updates which aren\u0027t included directly in\n  the previous commit.  I wanted to keep these separate as they\u0027re\n  touching stuff outside arch/arm/.\"\n\n* \u0027amba\u0027 of git://git.linaro.org/people/rmk/linux-arm:\n  ARM: 7362/1: AMBA: Add module_amba_driver() helper macro for amba_driver\n  ARM: 7335/1: mach-u300: do away with MMC config files\n  ARM: 7280/1: mmc: mmci: Cache MMCICLOCK and MMCIPOWER register\n  ARM: 7309/1: realview: fix unconnected interrupts on EB11MP\n  ARM: 7230/1: mmc: mmci: Fix PIO read for small SDIO packets\n  ARM: 7227/1: mmc: mmci: Prepare for SDIO before setting up DMA job\n  ARM: 7223/1: mmc: mmci: Fixup use of runtime PM and use autosuspend\n  ARM: 7221/1: mmc: mmci: Change from using legacy suspend\n  ARM: 7219/1: mmc: mmci: Change vdd_handler to a generic ios_handler\n  ARM: 7218/1: mmc: mmci: Provide option to configure bus signal direction\n  ARM: 7217/1: mmc: mmci: Put power register deviations in variant data\n  ARM: 7216/1: mmc: mmci: Do not release spinlock in request_end\n  ARM: 7215/1: mmc: mmci: Increase max_segs from 16 to 128\n"
    },
    {
      "commit": "56c10bf82c10588b743e75a13a7949e11b9fc942",
      "tree": "a2eda0459abb314107ac64af770bf7fb360aefc6",
      "parents": [
        "bab2d8c6020e1d7521cb6c4939f72b061ce947bc",
        "61b80086a525c8a6081257ae40da5dee2bcaee16"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:30:49 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:30:49 2012 -0700"
      },
      "message": "Merge branch \u0027for-armsoc\u0027 of git://git.linaro.org/people/rmk/linux-arm\n\nPull #1 ARM updates from Russell King:\n \"This one covers stuff which Arnd is waiting for me to push, as this is\n  shared between both our trees and probably other trees elsewhere.\n\n  Essentially, this contains:\n   - AMBA primecell device initializer updates - mostly shrinking the\n     size of the device declarations in platform code to something more\n     reasonable.\n   - Getting rid of the NO_IRQ crap from AMBA primecell stuff.\n   - Nicolas\u0027 idle cleanups.  This in combination with the restart\n     cleanups from the last merge window results in a great many\n     mach/system.h files being deleted.\"\n\nYay: ~80 files, ~2000 lines deleted.\n\n* \u0027for-armsoc\u0027 of git://git.linaro.org/people/rmk/linux-arm: (60 commits)\n  ARM: remove disable_fiq and arch_ret_to_user macros\n  ARM: make entry-macro.S depend on !MULTI_IRQ_HANDLER\n  ARM: rpc: make default fiq handler run-time installed\n  ARM: make arch_ret_to_user macro optional\n  ARM: amba: samsung: use common amba device initializers\n  ARM: amba: spear: use common amba device initializers\n  ARM: amba: nomadik: use common amba device initializers\n  ARM: amba: u300: use common amba device initializers\n  ARM: amba: lpc32xx: use common amba device initializers\n  ARM: amba: netx: use common amba device initializers\n  ARM: amba: bcmring: use common amba device initializers\n  ARM: amba: ep93xx: use common amba device initializers\n  ARM: amba: omap2: use common amba device initializers\n  ARM: amba: integrator: use common amba device initializers\n  ARM: amba: realview: get rid of private platform amba_device initializer\n  ARM: amba: versatile: get rid of private platform amba_device initializer\n  ARM: amba: vexpress: get rid of private platform amba_device initializer\n  ARM: amba: provide common initializers for static amba devices\n  ARM: amba: make use of -1 IRQs warn\n  ARM: amba: u300: get rid of NO_IRQ initializers\n  ...\n"
    },
    {
      "commit": "bba1594d348b59d6172e02bf74fba837c8273989",
      "tree": "223e67a4ad043d4ec9361e89c59592ea60e7ddff",
      "parents": [
        "9e5ed094c89e55fbf11d2e81d60be98eb12346c0",
        "7437cfa532842ce75189826742bddf1ba137f58e"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Mar 24 00:10:36 2012 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Mar 24 00:10:36 2012 +0000"
      },
      "message": "Merge branch \u0027mmci\u0027 into amba\n"
    },
    {
      "commit": "8e3ade251bc7c0a4f0777df4dd34343a03efadba",
      "tree": "6c0b78731e3d6609057951d07660efbd90992ad0",
      "parents": [
        "e317234975cb7463b8ca21a93bb6862d9dcf113f",
        "e075f59152890ffd7e3d704afc997dd686c8a781"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:59:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:59:10 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge second batch of patches from Andrew Morton:\n - various misc things\n - core kernel changes to prctl, exit, exec, init, etc.\n - kernel/watchdog.c updates\n - get_maintainer\n - MAINTAINERS\n - the backlight driver queue\n - core bitops code cleanups\n - the led driver queue\n - some core prio_tree work\n - checkpatch udpates\n - largeish crc32 update\n - a new poll() feature for the v4l guys\n - the rtc driver queue\n - fatfs\n - ptrace\n - signals\n - kmod/usermodehelper updates\n - coredump\n - procfs updates\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (141 commits)\n  seq_file: add seq_set_overflow(), seq_overflow()\n  proc-ns: use d_set_d_op() API to set dentry ops in proc_ns_instantiate().\n  procfs: speed up /proc/pid/stat, statm\n  procfs: add num_to_str() to speed up /proc/stat\n  proc: speed up /proc/stat handling\n  fs/proc/kcore.c: make get_sparsemem_vmemmap_info() static\n  coredump: add VM_NODUMP, MADV_NODUMP, MADV_CLEAR_NODUMP\n  coredump: remove VM_ALWAYSDUMP flag\n  kmod: make __request_module() killable\n  kmod: introduce call_modprobe() helper\n  usermodehelper: ____call_usermodehelper() doesn\u0027t need do_exit()\n  usermodehelper: kill umh_wait, renumber UMH_* constants\n  usermodehelper: implement UMH_KILLABLE\n  usermodehelper: introduce umh_complete(sub_info)\n  usermodehelper: use UMH_WAIT_PROC consistently\n  signal: zap_pid_ns_processes: s/SEND_SIG_NOINFO/SEND_SIG_FORCED/\n  signal: oom_kill_task: use SEND_SIG_FORCED instead of force_sig()\n  signal: cosmetic, s/from_ancestor_ns/force/ in prepare_signal() paths\n  signal: give SEND_SIG_FORCED more power to beat SIGNAL_UNKILLABLE\n  Hexagon: use set_current_blocked() and block_sigmask()\n  ...\n"
    },
    {
      "commit": "bda7bad62bc4c4e0783348e8db51abe094153c56",
      "tree": "c62650a3da656ba18aebe170df7d554158ae5fc5",
      "parents": [
        "1ac101a5d675aca2426c5cd460c73fb95acb8391"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Mar 23 15:02:54 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:42 2012 -0700"
      },
      "message": "procfs: speed up /proc/pid/stat, statm\n\nProcess accounting applications as top, ps visit some files under\n/proc/\u003cpid\u003e.  With seq_put_decimal_ull(), we can optimize /proc/\u003cpid\u003e/stat\nand /proc/\u003cpid\u003e/statm files.\n\nThis patch adds\n  - seq_put_decimal_ll() for signed values.\n  - allow delimiter \u003d\u003d 0.\n  - convert seq_printf() to seq_put_decimal_ull/ll in /proc/stat, statm.\n\nTest result on a system with 2000+ procs.\n\nBefore patch:\n  [kamezawa@bluextal test]$ top -b -n 1 | wc -l\n  2223\n  [kamezawa@bluextal test]$ time top -b -n 1 \u003e /dev/null\n\n  real    0m0.675s\n  user    0m0.044s\n  sys     0m0.121s\n\n  [kamezawa@bluextal test]$ time ps -elf \u003e /dev/null\n\n  real    0m0.236s\n  user    0m0.056s\n  sys     0m0.176s\n\nAfter patch:\n  kamezawa@bluextal ~]$ time top -b -n 1 \u003e /dev/null\n\n  real    0m0.657s\n  user    0m0.052s\n  sys     0m0.100s\n\n  [kamezawa@bluextal ~]$ time ps -elf \u003e /dev/null\n\n  real    0m0.198s\n  user    0m0.050s\n  sys     0m0.145s\n\nConsidering top, ps tend to scan /proc periodically, this will reduce cpu\nconsumption by top/ps to some extent.\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@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": "1ac101a5d675aca2426c5cd460c73fb95acb8391",
      "tree": "5d993fde0c5e67de97c0d9ffac54163f06fc90c9",
      "parents": [
        "59a32e2ce5eb809967cac4e718bc527beca83c59"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Mar 23 15:02:54 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:42 2012 -0700"
      },
      "message": "procfs: add num_to_str() to speed up /proc/stat\n\n\u003d\u003d stat_check.py\nnum \u003d 0\nwith open(\"/proc/stat\") as f:\n        while num \u003c 1000 :\n                data \u003d f.read()\n                f.seek(0, 0)\n                num \u003d num + 1\n\u003d\u003d\n\nperf shows\n\n    20.39%  stat_check.py  [kernel.kallsyms]    [k] format_decode\n    13.41%  stat_check.py  [kernel.kallsyms]    [k] number\n    12.61%  stat_check.py  [kernel.kallsyms]    [k] vsnprintf\n    10.85%  stat_check.py  [kernel.kallsyms]    [k] memcpy\n     4.85%  stat_check.py  [kernel.kallsyms]    [k] radix_tree_lookup\n     4.43%  stat_check.py  [kernel.kallsyms]    [k] seq_printf\n\nThis patch removes most of calls to vsnprintf() by adding num_to_str()\nand seq_print_decimal_ull(), which prints decimal numbers without rich\nfunctions provided by printf().\n\nOn my 8cpu box.\n\u003d\u003d Before patch \u003d\u003d\n[root@bluextal test]# time ./stat_check.py\n\nreal    0m0.150s\nuser    0m0.026s\nsys     0m0.121s\n\n\u003d\u003d After patch \u003d\u003d\n[root@bluextal test]# time ./stat_check.py\n\nreal    0m0.055s\nuser    0m0.022s\nsys     0m0.030s\n\n[akpm@linux-foundation.org: remove incorrect comment, use less statck in num_to_str(), move comment from .h to .c, simplify seq_put_decimal_ull()]\n[andrea@betterlinux.com: avoid breaking the ABI in /proc/stat]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrea Righi \u003candrea@betterlinux.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "accb61fe7bb0f5c2a4102239e4981650f9048519",
      "tree": "5e7120b80944d9719684b94e0c419761ba2d59e1",
      "parents": [
        "909af768e88867016f427264ae39d27a57b6a8ed"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Fri Mar 23 15:02:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:42 2012 -0700"
      },
      "message": "coredump: add VM_NODUMP, MADV_NODUMP, MADV_CLEAR_NODUMP\n\nSince we no longer need the VM_ALWAYSDUMP flag, let\u0027s use the freed bit\nfor \u0027VM_NODUMP\u0027 flag.  The idea is is to add a new madvise() flag:\nMADV_DONTDUMP, which can be set by applications to specifically request\nmemory regions which should not dump core.\n\nThe specific application I have in mind is qemu: we can add a flag there\nthat wouldn\u0027t dump all of guest memory when qemu dumps core.  This flag\nmight also be useful for security sensitive apps that want to absolutely\nmake sure that parts of memory are not dumped.  To clear the flag use:\nMADV_DODUMP.\n\n[akpm@linux-foundation.org: s/MADV_NODUMP/MADV_DONTDUMP/, s/MADV_CLEAR_NODUMP/MADV_DODUMP/, per Roland]\n[akpm@linux-foundation.org: fix up the architectures which broke]\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@hack.frob.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Matt Turner \u003cmattst88@gmail.com\u003e\nCc: \"James E.J. Bottomley\" \u003cjejb@parisc-linux.org\u003e\nCc: Helge Deller \u003cdeller@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "909af768e88867016f427264ae39d27a57b6a8ed"
}
