diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-13 23:41:15 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-13 23:41:15 -0500 |
| commit | 4b8be38cf782f8ebebc089083fa0572ade79d7ca (patch) | |
| tree | 2f88a0a5c1c0be9121c31b5a2775ae2f979cfa66 | |
| parent | 5df1b274cd2f0304339c7f5586fa16cce0fdfce2 (diff) | |
| parent | 0db13fc2abbb0b1a8d8efee20dfbd7f3c5d54022 (diff) | |
Merge tag 'mmc-merge-for-3.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc
MMC highlights for 3.3:
Core:
* Support for the HS200 high-speed eMMC mode.
* Support SDIO 3.0 Ultra High Speed cards.
* Kill pending block requests immediately if card is removed.
* Enable the eMMC feature for locking boot partitions read-only
until next power on, exposed via sysfs.
Drivers:
* Runtime PM support for Intel Medfield SDIO.
* Suspend/resume support for sdhci-spear.
* sh-mmcif now processes requests asynchronously.
* tag 'mmc-merge-for-3.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (58 commits)
mmc: fix a deadlock between system suspend and MMC block IO
mmc: sdhci: restore the enabled dma when do reset all
mmc: dw_mmc: miscaculated the fifo-depth with wrong bit operation
mmc: host: Adds support for eMMC 4.5 HS200 mode
mmc: core: HS200 mode support for eMMC 4.5
mmc: dw_mmc: fixed wrong bit operation for SDMMC_GET_FCNT()
mmc: core: Separate the timeout value for cache-ctrl
mmc: sdhci-spear: Fix compilation error
mmc: sdhci: Deal with failure case in sdhci_suspend_host
mmc: dw_mmc: Clear the DDR mode for non-DDR
mmc: sd: Fix SDR12 timing regression
mmc: sdhci: Fix tuning timer incorrect setting when suspending host
mmc: core: Add option to prevent eMMC sleep command
mmc: omap_hsmmc: use threaded irq handler for card-detect.
mmc: sdhci-pci: enable runtime PM for Medfield SDIO
mmc: sdhci: Always pass clock request value zero to set_clock host op
mmc: sdhci-pci: remove SDHCI_QUIRK2_OWN_CARD_DETECTION
mmc: sdhci-pci: get gpio numbers from platform data
mmc: sdhci-pci: add platform data
mmc: sdhci: prevent card detection activity for non-removable cards
...
67 files changed, 1995 insertions, 850 deletions
diff --git a/Documentation/mmc/mmc-dev-attrs.txt b/Documentation/mmc/mmc-dev-attrs.txt index 8898a95b41e5..22ae8441489f 100644 --- a/Documentation/mmc/mmc-dev-attrs.txt +++ b/Documentation/mmc/mmc-dev-attrs.txt | |||
| @@ -64,3 +64,13 @@ Note on Erase Size and Preferred Erase Size: | |||
| 64 | size specified by the card. | 64 | size specified by the card. |
| 65 | 65 | ||
| 66 | "preferred_erase_size" is in bytes. | 66 | "preferred_erase_size" is in bytes. |
| 67 | |||
| 68 | SD/MMC/SDIO Clock Gating Attribute | ||
| 69 | ================================== | ||
| 70 | |||
| 71 | Read and write access is provided to following attribute. | ||
| 72 | This attribute appears only if CONFIG_MMC_CLKGATE is enabled. | ||
| 73 | |||
| 74 | clkgate_delay Tune the clock gating delay with desired value in milliseconds. | ||
| 75 | |||
| 76 | echo <desired delay> > /sys/class/mmc_host/mmcX/clkgate_delay | ||
diff --git a/Documentation/mmc/mmc-dev-parts.txt b/Documentation/mmc/mmc-dev-parts.txt index 2db28b8e662f..f08d078d43cf 100644 --- a/Documentation/mmc/mmc-dev-parts.txt +++ b/Documentation/mmc/mmc-dev-parts.txt | |||
| @@ -25,3 +25,16 @@ echo 0 > /sys/block/mmcblkXbootY/force_ro | |||
| 25 | To re-enable read-only access: | 25 | To re-enable read-only access: |
| 26 | 26 | ||
| 27 | echo 1 > /sys/block/mmcblkXbootY/force_ro | 27 | echo 1 > /sys/block/mmcblkXbootY/force_ro |
| 28 | |||
| 29 | The boot partitions can also be locked read only until the next power on, | ||
| 30 | with: | ||
| 31 | |||
| 32 | echo 1 > /sys/block/mmcblkXbootY/ro_lock_until_next_power_on | ||
| 33 | |||
| 34 | This is a feature of the card and not of the kernel. If the card does | ||
| 35 | not support boot partition locking, the file will not exist. If the | ||
| 36 | feature has been disabled on the card, the file will be read-only. | ||
| 37 | |||
| 38 | The boot partitions can also be locked permanently, but this feature is | ||
| 39 | not accessible through sysfs in order to avoid accidental or malicious | ||
| 40 | bricking. | ||
diff --git a/arch/arm/plat-samsung/include/plat/sdhci.h b/arch/arm/plat-samsung/include/plat/sdhci.h index 656dc00d30ed..f82f888b91a9 100644 --- a/arch/arm/plat-samsung/include/plat/sdhci.h +++ b/arch/arm/plat-samsung/include/plat/sdhci.h | |||
| @@ -63,6 +63,7 @@ enum clk_types { | |||
| 63 | struct s3c_sdhci_platdata { | 63 | struct s3c_sdhci_platdata { |
| 64 | unsigned int max_width; | 64 | unsigned int max_width; |
| 65 | unsigned int host_caps; | 65 | unsigned int host_caps; |
| 66 | unsigned int pm_caps; | ||
| 66 | enum cd_types cd_type; | 67 | enum cd_types cd_type; |
| 67 | enum clk_types clk_type; | 68 | enum clk_types clk_type; |
| 68 | 69 | ||
diff --git a/arch/arm/plat-samsung/platformdata.c b/arch/arm/plat-samsung/platformdata.c index ceb9fa3a80c0..0f707184eae0 100644 --- a/arch/arm/plat-samsung/platformdata.c +++ b/arch/arm/plat-samsung/platformdata.c | |||
| @@ -53,6 +53,8 @@ void s3c_sdhci_set_platdata(struct s3c_sdhci_platdata *pd, | |||
| 53 | set->cfg_gpio = pd->cfg_gpio; | 53 | set->cfg_gpio = pd->cfg_gpio; |
| 54 | if (pd->host_caps) | 54 | if (pd->host_caps) |
| 55 | set->host_caps |= pd->host_caps; | 55 | set->host_caps |= pd->host_caps; |
| 56 | if (pd->pm_caps) | ||
| 57 | set->pm_caps |= pd->pm_caps; | ||
| 56 | if (pd->clk_type) | 58 | if (pd->clk_type) |
| 57 | set->clk_type = pd->clk_type; | 59 | set->clk_type = pd->clk_type; |
| 58 | } | 60 | } |
diff --git a/drivers/Makefile b/drivers/Makefile index 1b3142127bf5..c07be024b962 100644 --- a/drivers/Makefile +++ b/drivers/Makefile | |||
| @@ -97,7 +97,7 @@ obj-$(CONFIG_EISA) += eisa/ | |||
| 97 | obj-y += lguest/ | 97 | obj-y += lguest/ |
| 98 | obj-$(CONFIG_CPU_FREQ) += cpufreq/ | 98 | obj-$(CONFIG_CPU_FREQ) += cpufreq/ |
| 99 | obj-$(CONFIG_CPU_IDLE) += cpuidle/ | 99 | obj-$(CONFIG_CPU_IDLE) += cpuidle/ |
| 100 | obj-$(CONFIG_MMC) += mmc/ | 100 | obj-y += mmc/ |
| 101 | obj-$(CONFIG_MEMSTICK) += memstick/ | 101 | obj-$(CONFIG_MEMSTICK) += memstick/ |
| 102 | obj-y += leds/ | 102 | obj-y += leds/ |
| 103 | obj-$(CONFIG_INFINIBAND) += infiniband/ | 103 | obj-$(CONFIG_INFINIBAND) += infiniband/ |
diff --git a/drivers/mmc/Makefile b/drivers/mmc/Makefile index 12eef393e216..400756ec7c49 100644 --- a/drivers/mmc/Makefile +++ b/drivers/mmc/Makefile | |||
| @@ -6,5 +6,4 @@ subdir-ccflags-$(CONFIG_MMC_DEBUG) := -DDEBUG | |||
| 6 | 6 | ||
