Merge commit '5275e74' into after-upstream-android
Dan Willemsen [Sat, 24 Mar 2012 04:43:21 +0000 (21:43 -0700)]
Conflicts:
arch/arm/common/Kconfig
arch/arm/mm/Makefile
arch/arm/mm/cache-l2x0.c
drivers/misc/Kconfig
drivers/misc/Makefile
drivers/mmc/core/core.c

Signed-off-by: Dan Willemsen <dwillemsen@nvidia.com>

39 files changed:
1  2 
arch/arm/Kconfig
arch/arm/common/Kconfig
arch/arm/include/asm/cacheflush.h
arch/arm/include/asm/hardware/cache-l2x0.h
arch/arm/kernel/smp.c
arch/arm/mm/Makefile
arch/arm/mm/cache-l2x0.c
arch/arm/mm/mmu.c
arch/arm/vfp/vfpmodule.c
block/genhd.c
block/partition-generic.c
drivers/cpufreq/cpufreq_stats.c
drivers/hid/hid-input.c
drivers/input/evdev.c
drivers/input/misc/Kconfig
drivers/input/misc/Makefile
drivers/input/touchscreen/Kconfig
drivers/input/touchscreen/Makefile
drivers/misc/Kconfig
drivers/misc/Makefile
drivers/mmc/card/block.c
drivers/mmc/core/bus.c
drivers/mmc/core/core.c
drivers/mmc/core/host.c
drivers/mmc/core/sd.c
drivers/mmc/core/sdio.c
drivers/mmc/host/sdhci.c
drivers/net/tun.c
drivers/usb/gadget/Kconfig
drivers/usb/gadget/Makefile
drivers/usb/otg/Kconfig
drivers/usb/otg/Makefile
drivers/video/Kconfig
include/linux/mmc/host.h
include/linux/sched.h
include/net/tcp.h
kernel/fork.c
kernel/printk.c
kernel/sched/core.c

Simple merge
@@@ -47,11 -47,52 +47,60 @@@ config SHARP_PARA
  config SHARP_SCOOP
        bool
  
+ config FIQ_GLUE
+       bool
+       select FIQ
+ config FIQ_DEBUGGER
+       bool "FIQ Mode Serial Debugger"
+       select FIQ
+       select FIQ_GLUE
+       default n
+       help
+         The FIQ serial debugger can accept commands even when the
+         kernel is unresponsive due to being stuck with interrupts
+         disabled.
+ config FIQ_DEBUGGER_NO_SLEEP
+       bool "Keep serial debugger active"
+       depends on FIQ_DEBUGGER
+       default n
+       help
+         Enables the serial debugger at boot. Passing
+         fiq_debugger.no_sleep on the kernel commandline will
+         override this config option.
+ config FIQ_DEBUGGER_WAKEUP_IRQ_ALWAYS_ON
+       bool "Don't disable wakeup IRQ when debugger is active"
+       depends on FIQ_DEBUGGER
+       default n
+       help
+         Don't disable the wakeup irq when enabling the uart clock.  This will
+         cause extra interrupts, but it makes the serial debugger usable with
+         on some MSM radio builds that ignore the uart clock request in power
+         collapse.
+ config FIQ_DEBUGGER_CONSOLE
+       bool "Console on FIQ Serial Debugger port"
+       depends on FIQ_DEBUGGER
+       default n
+       help
+         Enables a console so that printk messages are displayed on
+         the debugger serial port as the occur.
+ config FIQ_DEBUGGER_CONSOLE_DEFAULT_ENABLE
+       bool "Put the FIQ debugger into console mode by default"
+       depends on FIQ_DEBUGGER_CONSOLE
+       default n
+       help
+         If enabled, this puts the fiq debugger into console mode by default.
+         Otherwise, the fiq debugger will start out in debug mode.
 +config GIC_SET_MULTIPLE_CPUS
 +      bool "Use affinity hint to allow multiple CPUs for IRQ"
 +      depends on ARM_GIC && SMP
 +      default n
 +      help
 +        IRQ affinity is always set by gic to the 1st cpu in the requested
 +        mask. If this option is enabled, affinity is also set to all cpus
 +        present in affinity_hint and requested masks.
Simple merge
  
  #define L2X0_ADDR_FILTER_EN           1
  
+ #define REV_PL310_R2P0                                4
  #ifndef __ASSEMBLY__
  extern void __init l2x0_init(void __iomem *base, __u32 aux_val, __u32 aux_mask);
 +extern void l2x0_init(void __iomem *base, __u32 aux_val, __u32 aux_mask);
 +extern void l2x0_enable(void);
  #if defined(CONFIG_CACHE_L2X0) && defined(CONFIG_OF)
  extern int l2x0_of_init(__u32 aux_val, __u32 aux_mask);
  #else
Simple merge
@@@ -6,7 -6,8 +6,8 @@@ obj-y                            := dma-mapping.o extable.o fau
                                   iomap.o
  
  obj-$(CONFIG_MMU)             += fault-armv.o flush.o idmap.o ioremap.o \
 -                                 mmap.o pgd.o mmu.o vmregion.o
 +                                 mmap.o pgd.o mmu.o vmregion.o pageattr.o
+ obj-$(CONFIG_DEBUG_RODATA)    += rodata.o
  
  ifneq ($(CONFIG_MMU),y)
  obj-y                         += nommu.o
@@@ -317,12 -350,10 +360,10 @@@ static void l2x0_unlock(__u32 cache_id
        }
  }
  
 -void __init l2x0_init(void __iomem *base, __u32 aux_val, __u32 aux_mask)
 +void l2x0_init(void __iomem *base, __u32 aux_val, __u32 aux_mask)
  {
        __u32 aux;
-       __u32 cache_id;
        __u32 way_size = 0;
-       int ways;
        const char *type;
  
        l2x0_base = base;
        outer_cache.disable = l2x0_disable;
        outer_cache.set_debug = l2x0_set_debug;
  
 -      printk(KERN_INFO "%s cache controller enabled\n", type);
 -      printk(KERN_INFO "l2x0: %d ways, CACHE_ID 0x%08x, AUX_CTRL 0x%08x, Cache size: %d B\n",
 +      pr_info_once("%s cache controller enabled\n", type);
 +      pr_info_once("l2x0: %d ways, CACHE_ID 0x%08x, AUX_CTRL 0x%08x, Cache size: %d B\n",
-                       ways, cache_id, aux, l2x0_size);
+                       l2x0_ways, l2x0_cache_id, aux, l2x0_size);
  }
  
  #ifdef CONFIG_OF
@@@ -583,11 -603,10 +603,12 @@@ static void __init alloc_init_pte(pmd_
  
  static void __init alloc_init_section(pud_t *pud, unsigned long addr,
                                      unsigned long end, phys_addr_t phys,
-                                     const struct mem_type *type)
+                                     const struct mem_type *type,
+                                     bool force_pages)
  {
        pmd_t *pmd = pmd_offset(pud, addr);
 +      unsigned long pages_2m = 0, pages_4k = 0;
 +      unsigned long stash_phys = phys;
  
        /*
         * Try a section mapping - end, addr and phys must all be aligned
         * L1 entries, whereas PGDs refer to a group of L1 entries making
         * up one logical pointer to an L2 table.
         */
-       if (((addr | end | phys) & ~SECTION_MASK) == 0) {
+       if (((addr | end | phys) & ~SECTION_MASK) == 0 && !force_pages) {
                pmd_t *p = pmd;
  
 +              pages_2m = (end - addr) >> (PGDIR_SHIFT);
 +
  #ifndef CONFIG_ARM_LPAE
                if (addr & SECTION_SIZE)
                        pmd++;
Simple merge
diff --cc block/genhd.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -382,14 -382,14 +382,22 @@@ config HMC635
          This driver provides support for the Honeywell HMC6352 compass,
          providing configuration and heading data via sysfs.
  
 +config SENSORS_NCT1008
 +      tristate "ON Semiconductor Temperature Sensor"
 +      default n
 +      depends on I2C
 +      help
 +       Say yes here if you wish to include the ON Semiconductor
 +       NCT1008 Temperature sensor.
 +
+ config SENSORS_AK8975
+       tristate "AK8975 compass support"
+       default n
+       depends on I2C
+       help
+         If you say yes here you get support for Asahi Kasei's
+         orientation sensor AK8975.
  config EP93XX_PWM
        tristate "EP93xx PWM support"
        depends on ARCH_EP93XX
@@@ -506,25 -510,14 +518,33 @@@ config MAX8997_MUI
          Maxim MAX8997 PMIC.
          The MAX8997 MUIC is a USB port accessory detector and switch.
  
+ config WL127X_RFKILL
+       tristate "Bluetooth power control driver for TI wl127x"
+       depends on RFKILL
+       default n
+       ---help---
+        Creates an rfkill entry in sysfs for power control of Bluetooth
+        TI wl127x chips.
+        
 +config BCM4329_RFKILL
 +      bool "Enable BCM4329 RFKILL driver"
 +      default n
 +      ---help---
 +      Adds BCM4329 RFKILL driver for Broadcom BCM4329 chipset
 +
 +config TEGRA_CRYPTO_DEV
 +      bool "Device node to access tegra aes hardware"
 +      ---help---
 +      Dev node /dev/tegra-crypto in order to get access to tegra aes
 +      hardware from user space
 +
 +config MAX1749_VIBRATOR
 +      bool "MAX1749 vibrator device driver"
 +      depends on ANDROID_TIMED_OUTPUT
 +      default n
 +      ---help---
 +      Adds a timed output vibrator device node for MAX1749 vibrator motor
 +
  source "drivers/misc/c2port/Kconfig"
  source "drivers/misc/eeprom/Kconfig"
  source "drivers/misc/cb710/Kconfig"
@@@ -50,8 -50,5 +51,10 @@@ obj-y                                += carma
  obj-$(CONFIG_USB_SWITCH_FSA9480) += fsa9480.o
  obj-$(CONFIG_ALTERA_STAPL)    +=altera-stapl/
  obj-$(CONFIG_MAX8997_MUIC)    += max8997-muic.o
+ obj-$(CONFIG_WL127X_RFKILL)   += wl127x-rfkill.o
+ obj-$(CONFIG_SENSORS_AK8975)  += akm8975.o
 +obj-$(CONFIG_SENSORS_NCT1008) += nct1008.o
 +obj-$(CONFIG_BCM4329_RFKILL)  += bcm4329_rfkill.o
 +obj-$(CONFIG_INV_SENSORS)      += inv_mpu/
 +obj-$(CONFIG_TEGRA_CRYPTO_DEV)        += tegra-cryptodev.o
 +obj-$(CONFIG_MAX1749_VIBRATOR)        += max1749.o
Simple merge
Simple merge
@@@ -2449,13 -2445,13 +2498,17 @@@ int mmc_suspend_host(struct mmc_host *h
  {
        int err = 0;
  
+       if (mmc_bus_needs_resume(host))
+               return 0;
 +      if (mmc_card_mmc(host->card) && mmc_card_doing_bkops(host->card))
 +              mmc_interrupt_hpi(host->card);
 +      mmc_card_clr_need_bkops(host->card);
 +
        if (host->caps & MMC_CAP_DISABLE)
                cancel_delayed_work(&host->disable);
-       cancel_delayed_work(&host->detect);
+       if (cancel_delayed_work(&host->detect))
+               wake_unlock(&host->detect_wake_lock);
        mmc_flush_scheduled_work();
        if (mmc_try_claim_host(host)) {
                err = mmc_cache_ctrl(host, 0);
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc kernel/fork.c
Simple merge
diff --cc kernel/printk.c
Simple merge
Simple merge