aboutsummaryrefslogtreecommitdiff
path: root/include/linux/mmc
AgeCommit message (Collapse)AuthorFilesLines
2010-10-23mmc: propagate power save/restore ops return valueOhad Ben-Cohen1-2/+2
Allow power save/restore and their relevant mmc_bus_ops handlers exit with a return value. Signed-off-by: Ohad Ben-Cohen <[email protected]> Tested-by: Luciano Coelho <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2010-10-23mmc: sdhci: split up sdhci.h for sdhci-pltfm usersGiuseppe Cavallaro1-0/+144
Some platforms based on sdhci-pltfm need to set their own quirks. Previously to this patch, the quirks were in drivers/mmc/host/sdhci.h. This patch splits drivers/mmc/host/sdhci.h into two parts: * drivers/mmc/host/sdhci.h includes the HC registers and I/O accessors. * include/linux/mmc/sdhci.h includes the sdhci structure and quirks. Instead of including drivers/mmc/host/sdhci.h, -pltfm drivers should now include include/linux/mmc/sdhci.h and include/linux/sdhci-pltfm.h. This patch avoids adding/changing the calls/flags in the sdhci_pltfm_data structure. It has been tested on STM platforms (e.g. STx7106, STx7108, STx5206) where the driver is configured and used as shown in the example below: [snip] static int mmc_pad_resources(struct sdhci_host *sdhci) { if (!devm_stm_pad_claim(sdhci->mmc->parent, &stx7108_mmc_pad_config, dev_name(sdhci->mmc->parent))) return -ENODEV; return 0; } static struct sdhci_pltfm_data stx7108_mmc_platform_data = { .init = mmc_pad_resources, .quirks = SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC, }; static struct platform_device stx7108_mmc_device = { .name = "sdhci", [snip] Note: drivers/mmc/host/sdhci.h now also includes linux/mmc/sdhci.h, and no modifications should be needed on other sdhci-<XXX> drivers. Signed-off-by: Giuseppe Cavallaro <[email protected]> Reviewed-by: Wolfram Sang <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2010-10-23mmc: refine DDR supportAdrian Hunter1-1/+2
One flaw with DDR support is that MMC core does not inform the driver which DDR mode it has selected. This patch expands the ios->ddr flag to do that. Signed-off-by: Adrian Hunter <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2010-10-23mmc: Fixes for Dual Data Rate (DDR) supportAdrian Hunter2-1/+7
The DDR support patch needs the following fixes: - The block driver does not need to know about DDR, any more than it needs to know about bus width. - Not only the card must be switched to DDR mode. The host controller must also be configured, which is done through the 'set_ios()' function. - Do not set the DDR mode state until after the switch command is successful. - Setting block length is not supported in DDR mode. Make that a core function and change the other place it is used (mmc_test) also. Signed-off-by: Adrian Hunter <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2010-10-23mmc: MMC 4.4 DDR supportHanumath Prasad4-1/+18
Add support for Dual Data Rate MMC cards as defined in the 4.4 specification. Signed-off-by: Hanumath Prasad <[email protected]> Cc: [email protected] Acked-by: Linus Walleij <[email protected]> Tested-by Zhangfei Gao <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2010-10-23mmc: Move regulator handling closer to coreLinus Walleij1-1/+21
After discovering a problem in regulator reference counting I took Mark Brown's advice to move the reference count into the MMC core by making the regulator status a member of struct mmc_host. I took this opportunity to also implement NULL versions of the regulator functions so as to rid the driver code from some ugly #ifdef CONFIG_REGULATOR clauses. Signed-off-by: Linus Walleij <[email protected]> Reviewed-by: Mark Brown <[email protected]> Cc: Liam Girdwood <[email protected]> Cc: Tony Lindgren <[email protected]> Cc: Adrian Hunter <[email protected]> Cc: Robert Jarzmik <[email protected]> Cc: Sundar Iyer <[email protected]> Cc: Daniel Mack <[email protected]> Cc: Pierre Ossman <[email protected]> Cc: Matt Fleming <[email protected]> Cc: David Brownell <[email protected]> Cc: Russell King <[email protected]> Cc: Eric Miao <[email protected]> Cc: Cliff Brake <[email protected]> Cc: Jarkko Lavinen <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2010-10-23mmc: Make ID freq configurableHein Tibosch1-0/+1
In the latest releases of the mmc driver, the freq during initialization is set to a fixed 400 Khz. This was reportedly too fast for several users. As there doesn't seem to be an ideal frequency which-works-for-all, Pierre suggested to let the driver try several frequencies. This patch implements that idea. It will try mmc-initialization using several frequencies from an array 400, 300, 200 and 100. In case SDIO is broken, it'll still try to detect SDMEM, also at different freqs. Signed-off-by: Hein Tibosch <[email protected]> Cc: Pierre Ossman <[email protected]> Reviewed-by: Chris Ball <[email protected]> Tested-by: Chris Ball <[email protected]> Cc: Ben Nizette <[email protected]> Cc: Sascha Hauer <[email protected]> Cc: Adrian Hunter <[email protected]> Cc: Matt Fleming <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2010-10-23mmc: Add helper function to check if a card is removableMatt Fleming1-0/+8
There are two checks that need to be made when determining whether a card is removable. A host controller may set MMC_CAP_NONREMOVABLE if the controller does not support removing cards (e.g. eMMC), in which case the card is physically non-removable. Also the 'mmc_assume_removable' module parameter can be configured at module load time, in which case the card may be logically non-removable. A helper function keeps the logic in one place so that code always checks both conditions. Because this new function is likely to be called from modules we now need to export the mmc_assume_removable symbol. Signed-off-by: Matt Fleming <[email protected]> Acked-by: Kyungmin Park <[email protected]> Tested-by: Jaehoon Chung <[email protected]> Acked-by: Wolfram Sang <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2010-10-23mmc: rename dev_to_mmc_card() to mmc_dev_to_card()Andy Shevchenko1-1/+1
Global symbols should use their subsystem name in a prefixed fashion. Signed-off-by: Andy Shevchenko <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2010-10-23mmc: make mmc_dev_to_card() macro publicAndy Shevchenko1-0/+2
Conversion from struct device to struct mmc_card is used more than in one place. Due to this it's better to have public macro for such thing. Signed-off-by: Andy Shevchenko <[email protected]> Cc: Adrian Hunter <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2010-10-23mmc: Remove distinction between hw and phys segmentsMartin K. Petersen1-2/+1
We have deprecated the distinction between hardware and physical segments in the block layer. Consolidate the two limits into one in drivers/mmc/. Signed-off-by: Martin K. Petersen <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2010-10-12Bluetooth: Support SDIO devices that are AMP controllersDavid Vrabel1-0/+1
Signed-off-by: David Vrabel <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]> Signed-off-by: Gustavo F. Padovan <[email protected]>
2010-09-09mmc: avoid getting CID on SDIO-only cardsDavid Vrabel1-0/+2
The introduction of support for SD combo cards breaks the initialization of all CSR SDIO chips. The GO_IDLE (CMD0) in mmc_sd_get_cid() causes CSR chips to be reset (this is non-standard behavior). When initializing an SDIO card check for a combo card by using the memory present bit in the R4 response to IO_SEND_OP_COND (CMD5). This avoids the call to mmc_sd_get_cid() on an SDIO-only card. Signed-off-by: David Vrabel <[email protected]> Acked-by: Michal Mirolaw <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-08-12mmc: add erase, secure erase, trim and secure trim operationsAdrian Hunter5-7/+64
SD/MMC cards tend to support an erase operation. In addition, eMMC v4.4 cards can support secure erase, trim and secure trim operations that are all variants of the basic erase command. SD/MMC device attributes "erase_size" and "preferred_erase_size" have been added. "erase_size" is the minimum size, in bytes, of an erase operation. For MMC, "erase_size" is the erase group size reported by the card. Note that "erase_size" does not apply to trim or secure trim operations where the minimum size is always one 512 byte sector. For SD, "erase_size" is 512 if the card is block-addressed, 0 otherwise. SD/MMC cards can erase an arbitrarily large area up to and including the whole card. When erasing a large area it may be desirable to do it in smaller chunks for three reasons: 1. A single erase command will make all other I/O on the card wait. This is not a problem if the whole card is being erased, but erasing one partition will make I/O for another partition on the same card wait for the duration of the erase - which could be a several minutes. 2. To be able to inform the user of erase progress. 3. The erase timeout becomes too large to be very useful. Because the erase timeout contains a margin which is multiplied by the size of the erase area, the value can end up being several minutes for large areas. "erase_size" is not the most efficient unit to erase (especially for SD where it is just one sector), hence "preferred_erase_size" provides a good chunk size for erasing large areas. For MMC, "preferred_erase_size" is the high-capacity erase size if a card specifies one, otherwise it is based on the capacity of the card. For SD, "preferred_erase_size" is the allocation unit size specified by the card. "preferred_erase_size" is in bytes. Signed-off-by: Adrian Hunter <[email protected]> Acked-by: Jens Axboe <[email protected]> Cc: Kyungmin Park <[email protected]> Cc: Madhusudhan Chikkature <[email protected]> Cc: Christoph Hellwig <[email protected]> Cc: Ben Gardiner <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-08-11sdio: allow non-standard SDIO cardsGrazvydas Ignotas1-0/+2
There are some chips (like TI WL12xx series) that can be interfaced over SDIO but don't support the SDIO specification, meaning that they are missing CIA (Common I/O Area) with all it's registers. Current Linux SDIO implementation relies on those registers to identify and configure the card, so non-standard cards can not function and cause lots of warnings from the core when it reads invalid data from non-existent registers. After this patch, init_card() host callback can now set new quirk MMC_QUIRK_NONSTD_SDIO, which means that SDIO core should not try to access any standard SDIO registers and rely on init_card() to fill all SDIO structures instead. As those cards are usually embedded chips, all the required information can be obtained from machine board files by the host driver when it's called through init_card() callback. Signed-off-by: Grazvydas Ignotas <[email protected]> Cc: Adrian Hunter <[email protected]> Cc: Tony Lindgren <[email protected]> Cc: Bob Copeland <[email protected]> Cc: Kalle Valo <[email protected]> Cc: Madhusudhan Chikkature <[email protected]> Cc: Kishore Kadiyala <[email protected]> Cc: Russell King <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-08-11mmc: fix all hangs related to mmc/sd card insert/removal during suspend/resumeMaxim Levitsky1-0/+3
If you don't use CONFIG_MMC_UNSAFE_RESUME, as soon as you attempt to suspend, the card will be removed, therefore this patch doesn't change the behavior of this option. However the removal will be done by pm notifier, which runs while userspace is still not frozen and thus can freely use del_gendisk, without the risk of deadlock which would happen otherwise. Card detect workqueue is now disabled while userspace is frozen, Therefore if you do use CONFIG_MMC_UNSAFE_RESUME, and remove the card during suspend, the removal will be detected as soon as userspace is unfrozen, again at the moment it is safe to call del_gendisk. Tested with and without CONFIG_MMC_UNSAFE_RESUME with suspend and hibernate. [[email protected]: clean up function prototype] [[email protected]: fix CONFIG_PM-n linkage, small cleanups] [[email protected]: coding-style fixes] Signed-off-by: Maxim Levitsky <[email protected]> Cc: David Brownell <[email protected]> Cc: Alan Stern <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-08-11mmc: implement SD-combo (IO+mem) supportMichal Miroslaw1-0/+1
Signed-off-by: Michal Miroslaw <[email protected]> Cc: Adrian Hunter <[email protected]> Cc: Chris Ball <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-08-11mmc: recognize CSD structureKyungmin Park2-0/+2
The eMMC spec 4.4 and 4.3 + additional feature chips has CSD structure version 3 and version 3 have to check the CSD_STRUCTURE byte in the EXT_CSD register. Also fix EXT_CSD revision message. [[email protected]: fix comment, per Chris Ball] Signed-off-by: Kyungmin Park <[email protected]> Cc: Adrian Hunter <[email protected]> Cc: Chris Ball <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-05-31sh: add boot code to MMCIF driver headerMagnus Damm1-0/+129
This patch adds a set of MMCIF functions for the romImage boot loader that allows the kernel to be booted directly from an MMC card. Thanks to Jeremy Baker for the initial prototype. Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2010-05-31sh: prepare MMCIF driver header fileMagnus Damm1-0/+32
Update the MMCIF driver to include register information and register access functions in the header file. The MMCIF boot code builds on top of this. Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2010-05-27sdhci-spear: ST SPEAr based SDHCI controller glueViresh KUMAR1-0/+42
Add a glue layer to support the sdhci driver on the ST SPEAr platform. Signed-off-by: Viresh Kumar <[email protected]> Cc: <[email protected]> Cc: Linus Walleij <[email protected]> Cc: Russell King <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-05-27sdio: add new function for RAW (Read after Write) operationGrazvydas Ignotas1-0/+3
SDIO specification allows RAW (Read after Write) operation using IO_RW_DIRECT command (CMD52) by setting the RAW bit. This operation is similar to ordinary read/write commands, except that both write and read are performed using single command/response pair. The Linux SDIO layer already supports this internaly, only external function is missing for drivers to make use, which is added by this patch. This type of command is required to implement proper power save mode support in wl1251 wifi driver. Android has similar patch for G1 in it's tree for the same reason: http://android.git.kernel.org/?p=kernel/common.git;a=commitdiff;h=74a47786f6ecbe6c1cf9fb15efe6a968451deb52 Signed-off-by: Grazvydas Ignotas <[email protected]> Acked-by: Kalle Valo <[email protected]> Cc: Dmitry Shmidt <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-05-27mmc: remove the "state" argument to mmc_suspend_host()Matt Fleming1-1/+1
Even though many mmc host drivers pass a pm_message_t argument to mmc_suspend_host() that argument isn't used the by MMC core. As host drivers are converted to dev_pm_ops they'll have to construct pm_message_t's (as they won't be passed by the PM subsystem any more) just to appease the mmc suspend interface. We might as well just delete the unused paramter. Signed-off-by: Matt Fleming <[email protected]> Acked-by: Anton Vorontsov <[email protected]> Acked-by: Michal Miroslaw <[email protected]>ZZ Acked-by: Sascha Sommer <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-05-27mmc: add support MMCIF for SuperHYusuke Goda1-0/+39
MMCIF is the MMC Host Interface in SuperH. Signed-off-by: Yusuke Goda <[email protected]> Cc: Ben Hutchings <[email protected]> Cc: Paul Mundt <[email protected]> Cc: Magnus Damm <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-05-25Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds1-0/+3
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (103 commits) ARM: 6141/1: Add audio support part in arch/arm/mach-w90x900 ARM: 5939/1: ARM: Add option CMDLINE_FORCE to force usage of the in-kernel cmdline ARM: 6140/1: silence a bogus sparse warning in unwind.c ARM: mach-at91: duplicated include ARM: arch/arm/nwfpe/fpsr.h: Checkpatch cleanup ARM: arch/arm/mach-shark/pci.c: Checkpatch cleanup ARM: arch/arm/nwfpe/ChangeLog: Checkpatch cleanup ARM: arch/arm/mach-sa1100/leds.c: Checkpatch cleanup ARM: arch/arm/mach-h720x/common.h: Checkpatch cleanup ARM: arch/arm/mach-footbridge/ebsa285-pci.c: Checkpatch cleanup ARM: arch/arm/mach-clps711x/Makefile.boot: Checkpatch cleanup ARM: arch/arm/boot/bootp/bootp.lds: Checkpatch cleanup ARM: SPEAR6xx: remove duplicated #include ARM: s3c6400_defconfig: Add NAND driver ARM: s3c6400_defconfig: enable sound as modules ARM: s3c6400_defconfig: enable power management ARM: s5pv210_defconfig: Update s5pv210_defconfig to v2.6.34 ARM: s5pc110_defconfig: Update s5pc110_defconfig to v2.6.34 ARM: s5p6442_defconfig: Update s5p6442_defconfig to v2.6.34 ARM: s5p6440_defconfig: Update s5p6440_defconfig to v2.6.34 ...
2010-04-15Merge branch 'master' of ↵John W. Linville1-0/+2
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem Conflicts: Documentation/feature-removal-schedule.txt drivers/net/wireless/ath/ath5k/phy.c drivers/net/wireless/wl12xx/wl1271_main.c
2010-04-14ARM: MXC: mxcmmc: work around a bug in the SDHC busy line handlingDaniel Mack1-0/+3
MX3 SoCs have a silicon bug which corrupts CRC calculation of multi-block transfers when connected SDIO peripheral doesn't drive the BUSY line as required by the specs. One way to prevent this is to only allow 1-bit transfers. Another way is playing tricks with the DMA engine, but this isn't mainline yet. So for now, we live with the performance drawback of 1-bit transfers until a nicer solution is found. This patch introduces a new host controller callback 'init_card' which is for now only called from mmc_sdio_init_card(). Signed-off-by: Daniel Mack <[email protected]> Cc: Sascha Hauer <[email protected]> Cc: Dan Williams <[email protected]> Cc: Volker Ernst <[email protected]> Cc: Jiri Kosina <[email protected]> Cc: Michał Mirosław <[email protected]> Signed-off-by: Sascha Hauer <[email protected]>
2010-04-06libertas/sdio: 8686: set ECSI bit for 1-bit transfersDaniel Mack1-0/+2
When operating in 1-bit mode, SDAT1 is used as dedicated interrupt line. However, the 8686 will only drive this line when the ECSI bit is set in the CCCR_IF register. Thanks to Alagu Sankar for pointing me in the right direction. Signed-off-by: Daniel Mack <[email protected]> Cc: Alagu Sankar <[email protected]> Cc: Volker Ernst <[email protected]> Cc: Dan Williams <[email protected]> Cc: John W. Linville <[email protected]> Cc: Holger Schurig <[email protected]> Cc: Bing Zhao <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Acked-by: Dan Williams <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2010-03-24mmc: fix incorrect interpretation of card type bitsAdrian Hunter1-0/+1
In the extended CSD register the CARD_TYPE is an 8-bit value of which the upper 6 bits were reserved in JEDEC specifications prior to version 4.4. In version 4.4 two of the reserved bits were designated for identifying support for the newly added High-Speed Dual Data Rate. Unfortunately the mmc_read_ext_csd() function required that the reserved bits be zero instead of ignoring them as it should. This patch makes mmc_read_ext_csd() ignore the CARD_TYPE bits that are reserved or not yet supported. It also stops the function jumping to the end as though an error occurred, when it is only warns that the CARD_TYPE bits (that it does interpret) are invalid. Signed-off-by: Adrian Hunter <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-03-06sdio: put active devices into 1-bit mode during suspendDaniel Drake1-0/+2
And bring them back to 4-bit mode during resume. Signed-off-by: Daniel Drake <[email protected]> Signed-off-by: Nicolas Pitre <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-03-06sdio: introduce API for special power management featuresNicolas Pitre3-0/+40
This patch series provides the core changes needed to allow SDIO cards to remain powered and active while the host system is suspended, and let them wake up the host system when needed. This is used to implement wake-on-lan with SDIO wireless cards at the moment. Patches to add that support to the libertas driver will be posted separately. This patch: Some SDIO cards have the ability to keep on running autonomously when the host system is suspended, and wake it up when needed. This however requires that the host controller preserve power to the card, and configure itself appropriately for wake-up. There is however 4 layers of abstractions involved: the host controller driver, the MMC core code, the SDIO card management code, and the actual SDIO function driver. To make things simple and manageable, host drivers must advertise their PM capabilities with a feature bitmask, then function drivers can query and set those features from their suspend method. Then each layer in the suspend call chain is expected to act upon those bits accordingly. [[email protected]: fix typo in comment] Signed-off-by: Nicolas Pitre <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-03-06sdio: add quirk to clamp byte mode transferBing Zhao1-0/+7
Some SDIO cards expect byte transfers not to exceed the configured block transfer size. Add a quirk to that effect. Patches to make use of this quirk will be sent separately. Signed-off-by: Bing Zhao <[email protected]> Signed-off-by: Nicolas Pitre <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-11-18Merge branch 'master' of ↵David S. Miller1-0/+1
master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/sfc/sfe4001.c drivers/net/wireless/libertas/cmd.c drivers/staging/Kconfig drivers/staging/Makefile drivers/staging/rtl8187se/Kconfig drivers/staging/rtl8192e/Kconfig
2009-10-19wimax/iwmc3200: add new sdio device ID to support iwmc3200 2.5GHz skuCindy H Kao1-0/+1
Different sdio device IDs are designated to support different intel wimax silicon sku. The new macro SDIO_DEVICE_ID_IWMC3200_WIMAX_2G5(0x1407) is added to support iwmc3200 2.5GHz sku. The existing SDIO_DEVICE_ID_IWMC3200_WIMAX(0x1402) is for iwmc3200 general sku. Signed-off-by: Cindy H Kao <[email protected]> Signed-off-by: Inaky Perez-Gonzalez <[email protected]>
2009-10-11headers: remove sched.h from interrupt.hAlexey Dobriyan1-0/+1
After m68k's task_thread_info() doesn't refer to current, it's possible to remove sched.h from interrupt.h and not break m68k! Many thanks to Heiko Carstens for allowing this. Signed-off-by: Alexey Dobriyan <[email protected]>
2009-09-23mmc: make SDIO device/driver struct accessors publicNicolas Pitre1-0/+3
Especially with the PM framework, those are quite handy to have in driver code too. Signed-off-by: Nicolas Pitre <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-09-23sdio: add MMC_QUIRK_LENIENT_FN0Ohad Ben-Cohen1-0/+7
Normally writes to SDIO function 0 outside the vendor specific CCCR registers are prohibited. To support embedded devices that require writes to SDIO function 0 outside this range (e.g. TI WL127x embedded sdio wifi device), MMC_QUIRK_LENIENT_FN0 is introduced. A card quirks field is added to `struct mmc_card' to support non-standard devices (e.g. embedded sdio devices). [[email protected]: code in C, not cpp!] Signed-off-by: Ohad Ben-Cohen <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-09-23sdio: add CD disable supportOhad Ben-Cohen1-1/+2
Add support to disconnect the pull-up resistor on CD/DAT[3] (pin 1) of the card. This may be desired on certain setups of boards, controllers and embedded sdio devices which do not need the card's pull-up. As a result, card detection is disabled and power is saved. [[email protected]: simplify sdio_disable_cd() a bit] Signed-off-by: Ohad Ben-Cohen <[email protected]> Acked-by: Matt Fleming <[email protected]> Cc: Ian Molton <[email protected]> Cc: "Roberto A. Foglietta" <[email protected]> Cc: Philip Langdale <[email protected]> Cc: Pierre Ossman <[email protected]> Cc: David Vrabel <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-09-23mmc: check status after MMC SWITCH commandAdrian Hunter1-0/+1
According to the standard, the SWITCH command should be followed by a SEND_STATUS command to check for errors. Signed-off-by: Adrian Hunter <[email protected]> Acked-by: Matt Fleming <[email protected]> Cc: Ian Molton <[email protected]> Cc: "Roberto A. Foglietta" <[email protected]> Cc: Jarkko Lavinen <[email protected]> Cc: Denis Karpov <[email protected]> Cc: Pierre Ossman <[email protected]> Cc: Philip Langdale <[email protected]> Cc: "Madhusudhan" <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-09-23mmc: add mmc card sleep and awake supportJarkko Lavinen3-0/+9
Add support for the new MMC command SLEEP_AWAKE. Signed-off-by: Jarkko Lavinen <[email protected]> Signed-off-by: Adrian Hunter <[email protected]> Acked-by: Matt Fleming <[email protected]> Cc: Ian Molton <[email protected]> Cc: "Roberto A. Foglietta" <[email protected]> Cc: Jarkko Lavinen <[email protected]> Cc: Denis Karpov <[email protected]> Cc: Pierre Ossman <[email protected]> Cc: Philip Langdale <[email protected]> Cc: "Madhusudhan" <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-09-23mmc: add ability to save power by powering off cardsAdrian Hunter1-0/+3
Power can be saved by powering off cards that are not in use. This is similar to suspend / resume except it is under the control of the driver, and does not require any power management support. It can only be used when the driver can monitor whether the card is removed, otherwise it is unsafe. This is possible because, unlike suspend, the driver still receives card detect and / or cover switch interrupts. Signed-off-by: Adrian Hunter <[email protected]> Acked-by: Matt Fleming <[email protected]> Cc: Ian Molton <[email protected]> Cc: "Roberto A. Foglietta" <[email protected]> Cc: Jarkko Lavinen <[email protected]> Cc: Denis Karpov <[email protected]> Cc: Pierre Ossman <[email protected]> Cc: Philip Langdale <[email protected]> Cc: "Madhusudhan" <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-09-23mmc: add MMC_CAP_NONREMOVABLE host capabilityAdrian Hunter1-0/+1
eMMC's are not removable, so unsafe resume is OK always. To permit this a new host capability MMC_CAP_NONREMOVABLE has been added and suspend / resume updated accordingly. Signed-off-by: Adrian Hunter <[email protected]> Acked-by: Matt Fleming <[email protected]> Cc: Ian Molton <[email protected]> Cc: "Roberto A. Foglietta" <[email protected]> Cc: Jarkko Lavinen <[email protected]> Cc: Denis Karpov <[email protected]> Cc: Pierre Ossman <[email protected]> Cc: Philip Langdale <[email protected]> Cc: "Madhusudhan" <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-09-23mmc: allow host claim / release nestingAdrian Hunter2-0/+3
This change allows the MMC host to be claimed in situations where the host may or may not have already been claimed. Also 'mmc_try_claim_host()' is now exported. Signed-off-by: Adrian Hunter <[email protected]> Acked-by: Matt Fleming <[email protected]> Cc: Ian Molton <[email protected]> Cc: "Roberto A. Foglietta" <[email protected]> Cc: Jarkko Lavinen <[email protected]> Cc: Denis Karpov <[email protected]> Cc: Pierre Ossman <[email protected]> Cc: Philip Langdale <[email protected]> Cc: "Madhusudhan" <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-09-23mmc: add 'enable' and 'disable' methods to mmc hostAdrian Hunter1-0/+47
MMC hosts that support power saving can use the 'enable' and 'disable' methods to exit and enter power saving states. An explanation of their use is provided in the comments added to include/linux/mmc/host.h. Signed-off-by: Adrian Hunter <[email protected]> Acked-by: Matt Fleming <[email protected]> Cc: Ian Molton <[email protected]> Cc: "Roberto A. Foglietta" <[email protected]> Cc: Jarkko Lavinen <[email protected]> Cc: Denis Karpov <[email protected]> Cc: Pierre Ossman <[email protected]> Cc: Philip Langdale <[email protected]> Cc: "Madhusudhan" <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-07-26imwc3200: move iwmc3200 SDIO ids to sdio_ids.hTomas Winkler1-0/+6
1. add intel's sdio vendor id to sdio_ids.h 2. move iwmc3200 sdio devices' ids to sdio_ids.h Signed-off-by: Tomas Winkler <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2009-06-16V4L/DVB (11239): sdio: add cards ids for sms (Siano Mobile Silicon) MDTV ↵Uri Shkolnik1-0/+8
receivers sdio: add cards id for sms (Siano Mobile Silicon) MDTV receivers Add SDIO vendor ID, and multiple device IDs for various SMS-based MDTV SDIO adapters. Signed-off-by: Uri Shkolnik <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2009-04-22libertas: add support for Marvell SD8688 chipBing Zhao1-0/+2
libertas: add support for Marvell SD8688 chip Use RxPD->pkt_ptr to locate eth803 header in the packet received since SD8688/v10 firmware allows a gap between RxPD and eth803 header. Set SDIO block size to 256 for CMD53. The maximum block size for SD8688 WLAN function is set to 512 in TPLFE_MAX_BLK_SIZE. But using 512 as block size results upto 2K bytes data (4 blocks) being transferred and causes buffer overflow in firmware. Both changes above are backward compatible with earlier firmware versions for SD8385/SD8686. The SDIO_DEVICE_IDs for SD8688 chip are added in include/linux/mmc/sdio_ids.h Signed-off-by: Kiran Divekar <[email protected]> Signed-off-by: Bing Zhao <[email protected]> Acked-by: Dan Williams <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2009-03-31MMC: regulator utilitiesDavid Brownell1-0/+5
Glue between MMC and regulator stacks ... verified with some OMAP3 boards using adjustable and configured-as-fixed regulators on several MMC controllers. These calls are intended to be used by MMC host adapters using at least one regulator per host. Examples include slots with regulators supporting multiple voltages and ones using multiple voltage rails (e.g. DAT4..DAT7 using a separate supply, or a split rail chip like certain SDIO WLAN or eMMC solutions). Signed-off-by: David Brownell <[email protected]> Acked-by: Pierre Ossman <[email protected]> Signed-off-by: Liam Girdwood <[email protected]>
2008-12-31mmc: Add mmc_vddrange_to_ocrmask() helper functionAnton Vorontsov1-0/+2
This function sets the OCR mask bits according to provided voltage ranges. Will be used by the mmc_spi OpenFirmware bindings. Signed-off-by: Anton Vorontsov <[email protected]> Signed-off-by: Pierre Ossman <[email protected]>
2008-12-31mmc: Add 8-bit bus width supportJarkko Lavinen1-0/+2
Signed-off-by: Jarkko Lavinen <[email protected]> Signed-off-by: Pierre Ossman <[email protected]>