1. 09 5月, 2014 1 次提交
    • A
      gpio: always enable GPIO_OMAP on ARCH_OMAP · 9d5d96ef
      Arnd Bergmann 提交于
      Commit 4df42de9d3e "gpio: omap: add a GPIO_OMAP option instead of using
      ARCH_OMAP" made it possible to build OMAP kernels without the GPIO driver,
      which at least on OMAP2 and OMAP3 causes build errors because of functions
      used by the platform power management code:
      
      arch/arm/mach-omap2/built-in.o: In function `omap_sram_idle':
      arch/arm/mach-omap2/pm24xx.c:129: undefined reference to `omap2_gpio_prepare_for_idle'
      arch/arm/mach-omap2/pm24xx.c:129: undefined reference to `omap2_gpio_resume_after_idle'
      
      We presumably always want the GPIO driver on OMAP, so this adds a slightly
      broader dependency and only allows disabling the driver only when no
      OMAP2PLUS platform is selected.
      
      However, it seems entirely reasonable to include the driver in build tests
      on other platforms, so we should also allow building it for COMPILE_TEST
      builds and select the required GENERIC_IRQ_CHIP that may not already be
      enabled on other platforms.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NJavier Martinez Canillas <javier.martinez@collabora.co.uk>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      9d5d96ef
  2. 04 5月, 2014 4 次提交
  3. 03 5月, 2014 2 次提交
  4. 29 4月, 2014 29 次提交
  5. 28 4月, 2014 4 次提交
    • L
      Linux 3.15-rc3 · d1db0eea
      Linus Torvalds 提交于
      d1db0eea
    • W
      word-at-a-time: avoid undefined behaviour in zero_bytemask macro · ec6931b2
      Will Deacon 提交于
      The asm-generic, big-endian version of zero_bytemask creates a mask of
      bytes preceding the first zero-byte by left shifting ~0ul based on the
      position of the first zero byte.
      
      Unfortunately, if the first (top) byte is zero, the output of
      prep_zero_mask has only the top bit set, resulting in undefined C
      behaviour as we shift left by an amount equal to the width of the type.
      As it happens, GCC doesn't manage to spot this through the call to fls(),
      but the issue remains if architectures choose to implement their shift
      instructions differently.
      
      An example would be arch/arm/ (AArch32), where LSL Rd, Rn, #32 results
      in Rd == 0x0, whilst on arch/arm64 (AArch64) LSL Xd, Xn, #64 results in
      Xd == Xn.
      
      Rather than check explicitly for the problematic shift, this patch adds
      an extra shift by 1, replacing fls with __fls. Since zero_bytemask is
      never called with a zero argument (has_zero() is used to check the data
      first), we don't need to worry about calling __fls(0), which is
      undefined.
      
      Cc: <stable@vger.kernel.org>
      Cc: Victor Kamensky <victor.kamensky@linaro.org>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ec6931b2
    • L
      Merge branch 'safe-dirty-tlb-flush' · ac6c9e2b
      Linus Torvalds 提交于
      This merges the patch to fix possible loss of dirty bit on munmap() or
      madvice(DONTNEED).  If there are concurrent writers on other CPU's that
      have the unmapped/unneeded page in their TLBs, their writes to the page
      could possibly get lost if a third CPU raced with the TLB flush and did
      a page_mkclean() before the page was fully written.
      
      Admittedly, if you unmap() or madvice(DONTNEED) an area _while_ another
      thread is still busy writing to it, you deserve all the lost writes you
      could get.  But we kernel people hold ourselves to higher quality
      standards than "crazy people deserve to lose", because, well, we've seen
      people do all kinds of crazy things.
      
      So let's get it right, just because we can, and we don't have to worry
      about it.
      
      * safe-dirty-tlb-flush:
        mm: split 'tlb_flush_mmu()' into tlb flushing and memory freeing parts
      ac6c9e2b
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 33c0022f
      Linus Torvalds 提交于
      Pull btrfs fixes from Chris Mason.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Btrfs: limit the path size in send to PATH_MAX
        Btrfs: correctly set profile flags on seqlock retry
        Btrfs: use correct key when repeating search for extent item
        Btrfs: fix inode caching vs tree log
        Btrfs: fix possible memory leaks in open_ctree()
        Btrfs: avoid triggering bug_on() when we fail to start inode caching task
        Btrfs: move btrfs_{set,clear}_and_info() to ctree.h
        btrfs: replace error code from btrfs_drop_extents
        btrfs: Change the hole range to a more accurate value.
        btrfs: fix use-after-free in mount_subvol()
      33c0022f