Merge commit 'v3.0-rc5' into android-3.0
authorColin Cross <ccross@android.com>
Wed, 29 Jun 2011 20:54:42 +0000 (13:54 -0700)
committerColin Cross <ccross@android.com>
Wed, 29 Jun 2011 20:54:42 +0000 (13:54 -0700)
19 files changed:
1  2 
Documentation/cgroups/cpuacct.txt
arch/arm/boot/compressed/head.S
arch/arm/kernel/entry-armv.S
arch/arm/kernel/traps.c
block/genhd.c
drivers/base/power/main.c
drivers/cpufreq/cpufreq_stats.c
drivers/input/evdev.c
drivers/leds/Kconfig
drivers/mmc/card/block.c
drivers/mmc/core/core.c
drivers/mmc/core/sdio.c
drivers/mmc/core/sdio_bus.c
fs/proc/base.c
init/Kconfig
mm/shmem.c
net/bluetooth/hci_event.c
net/bluetooth/sco.c
net/ipv4/af_inet.c

Simple merge
Simple merge
Simple merge
Simple merge
diff --cc block/genhd.c
Simple merge
index 06e43912a973cc057d6887342e2c69107f66fe99,06f09bf89cb2bab3319d800ca2dd7939dfb59a3b..4282d442d35231c83c74dab5cbc5ee3bf4a696ef
@@@ -919,11 -888,10 +930,14 @@@ static int __device_suspend(struct devi
        }
  
   End:
+       dev->power.is_suspended = !error;
+  Unlock:
        device_unlock(dev);
 +
 +      del_timer_sync(&timer);
 +      destroy_timer_on_stack(&timer);
 +
        complete_all(&dev->power.completion);
  
        if (error)
Simple merge
Simple merge
Simple merge
index ac13768e83c377bc6fd7661defa8712e6470c2ad,f85e42224559679c43b9840c24d17397ad5c95a7..c779503e75784c6815a1fe3fe1981b5e19fbd432
@@@ -1309,11 -1297,11 +1309,14 @@@ static void mmc_blk_remove(struct mmc_c
        struct mmc_blk_data *md = mmc_get_drvdata(card);
  
        mmc_blk_remove_parts(card, md);
+       mmc_claim_host(card->host);
+       mmc_blk_part_switch(card, md);
+       mmc_release_host(card->host);
        mmc_blk_remove_req(md);
        mmc_set_drvdata(card, NULL);
 +#ifdef CONFIG_MMC_BLOCK_DEFERRED_RESUME
 +      mmc_set_bus_resume_policy(card->host, 0);
 +#endif
  }
  
  #ifdef CONFIG_PM
Simple merge
Simple merge
Simple merge
diff --cc fs/proc/base.c
Simple merge
diff --cc init/Kconfig
Simple merge
diff --cc mm/shmem.c
index 966e2b31fc60d5016cbe3415837d29b81dc8d684,fcedf5464eb79dba02ad485681fcc67530bdb720..883e98f78ca97a714175be2ad807d08da7ce9d0f
@@@ -3030,6 -3028,33 +3037,29 @@@ int shmem_zero_setup(struct vm_area_str
        if (IS_ERR(file))
                return PTR_ERR(file);
  
 -      if (vma->vm_file)
 -              fput(vma->vm_file);
 -      vma->vm_file = file;
 -      vma->vm_ops = &shmem_vm_ops;
 -      vma->vm_flags |= VM_CAN_NONLINEAR;
 +      shmem_set_file(vma, file);
        return 0;
  }
+ /**
+  * shmem_read_mapping_page_gfp - read into page cache, using specified page allocation flags.
+  * @mapping:  the page's address_space
+  * @index:    the page index
+  * @gfp:      the page allocator flags to use if allocating
+  *
+  * This behaves as a tmpfs "read_cache_page_gfp(mapping, index, gfp)",
+  * with any new page allocations done using the specified allocation flags.
+  * But read_cache_page_gfp() uses the ->readpage() method: which does not
+  * suit tmpfs, since it may have pages in swapcache, and needs to find those
+  * for itself; although drivers/gpu/drm i915 and ttm rely upon this support.
+  *
+  * Provide a stub for those callers to start using now, then later
+  * flesh it out to call shmem_getpage() with additional gfp mask, when
+  * shmem_file_splice_read() is added and shmem_readpage() is removed.
+  */
+ struct page *shmem_read_mapping_page_gfp(struct address_space *mapping,
+                                        pgoff_t index, gfp_t gfp)
+ {
+       return read_cache_page_gfp(mapping, index, gfp);
+ }
+ EXPORT_SYMBOL_GPL(shmem_read_mapping_page_gfp);
Simple merge
Simple merge
Simple merge