Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android
authorMark Brown <broonie@linaro.org>
Thu, 22 May 2014 10:38:24 +0000 (11:38 +0100)
committerMark Brown <broonie@linaro.org>
Thu, 22 May 2014 10:38:24 +0000 (11:38 +0100)
1  2 
arch/arm64/Kconfig
arch/arm64/include/asm/cmpxchg.h

diff --combined arch/arm64/Kconfig
index 515294072da4c0470b6e840d204dafaebfcee3d9,12361e281f572ac1f34919b52dd66c7a900699c5..095834f3da1599791a284e4c5eaa8167db89933f
@@@ -39,6 -39,8 +39,8 @@@ config ARM6
        select HAVE_MEMBLOCK
        select HAVE_PATA_PLATFORM
        select HAVE_PERF_EVENTS
+       select HAVE_PERF_REGS
+       select HAVE_PERF_USER_STACK_DUMP
        select IRQ_DOMAIN
        select MODULES_USE_ELF_RELA
        select NO_BOOTMEM
@@@ -74,7 -76,7 +76,7 @@@ config LOCKDEP_SUPPOR
  config TRACE_IRQFLAGS_SUPPORT
        def_bool y
  
- config RWSEM_GENERIC_SPINLOCK
+ config RWSEM_XCHGADD_ALGORITHM
        def_bool y
  
  config GENERIC_HWEIGHT
@@@ -104,6 -106,9 +106,9 @@@ config SWIOTL
  config IOMMU_HELPER
        def_bool SWIOTLB
  
+ config FIX_EARLYCON_MEM
+       def_bool y
  source "init/Kconfig"
  
  source "kernel/Kconfig.freezer"
@@@ -350,23 -355,6 +355,23 @@@ config CMDLIN
          entering them here. As a minimum, you should specify the the
          root device (e.g. root=/dev/nfs).
  
 +choice
 +      prompt "Kernel command line type" if CMDLINE != ""
 +      default CMDLINE_FROM_BOOTLOADER
 +
 +config CMDLINE_FROM_BOOTLOADER
 +      bool "Use bootloader kernel arguments if available"
 +      help
 +        Uses the command-line options passed by the boot loader. If
 +        the boot loader doesn't provide any, the default kernel command
 +        string provided in CMDLINE will be used.
 +
 +config CMDLINE_EXTEND
 +      bool "Extend bootloader kernel arguments"
 +      help
 +        The command-line arguments provided by the boot loader will be
 +        appended to the default kernel command string.
 +
  config CMDLINE_FORCE
        bool "Always use the default kernel command string"
        help
          loader passes other arguments to the kernel.
          This is useful if you cannot or don't want to change the
          command-line options your boot loader passes to the kernel.
 +endchoice
 +
 +config BUILD_ARM64_APPENDED_DTB_IMAGE
 +      bool "Build a concatenated Image.gz/dtb by default"
 +      depends on OF
 +      help
 +        Enabling this option will cause a concatenated Image.gz and list of
 +        DTBs to be built by default (instead of a standalone Image.gz.)
 +        The image will built in arch/arm64/boot/Image.gz-dtb
 +
 +config BUILD_ARM64_APPENDED_DTB_IMAGE_NAMES
 +      string "Default dtb names"
 +      depends on BUILD_ARM64_APPENDED_DTB_IMAGE
 +      help
 +        Space separated list of names of dtbs to append when
 +        building a concatenated Image.gz-dtb.
  
  endmenu
  
index 53b5e3e318396ca01e29a10b7067f800f73dec07,014328e80a4bbbb0dac972fc04ec9260628e52c3..73eb0736613e7d75cb0f3b0b98d221438c45a170
@@@ -71,7 -71,12 +71,12 @@@ static inline unsigned long __xchg(unsi
  }
  
  #define xchg(ptr,x) \
-       ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr))))
+ ({ \
+       __typeof__(*(ptr)) __ret; \
+       __ret = (__typeof__(*(ptr))) \
+               __xchg((unsigned long)(x), (ptr), sizeof(*(ptr))); \
+       __ret; \
+ })
  
  static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old,
                                      unsigned long new, int size)
@@@ -162,8 -167,8 +167,8 @@@ static inline unsigned long __cmpxchg_m
  ({ \
        __typeof__(*(ptr)) __ret; \
        __ret = (__typeof__(*(ptr))) \
 -      __cmpxchg_mb((ptr), (unsigned long)(o), (unsigned long)(n), \
 -              sizeof(*(ptr))); \
 +              __cmpxchg_mb((ptr), (unsigned long)(o), (unsigned long)(n), \
 +                           sizeof(*(ptr))); \
        __ret; \
  })
  
  ({ \
        __typeof__(*(ptr)) __ret; \
        __ret = (__typeof__(*(ptr))) \
 -      __cmpxchg((ptr), (unsigned long)(o), \
 -              (unsigned long)(n), sizeof(*(ptr))); \
 +              __cmpxchg((ptr), (unsigned long)(o), \
 +                        (unsigned long)(n), sizeof(*(ptr))); \
        __ret; \
  })