summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ARM: fix builds due to missing <asm/system_misc.h> includesOlof Johansson2012-03-3111-0/+12
| | | | | | | | | | | | | | | | | | | | | This does a sweeping change fixing up all the missing system_misc.h and system_info.h includes from the system.h split-up change. These were the ones I came across when building all defconfigs in arch/arm/configs, there might be more but they lack adequate build coverage to be easily caught. I'm expecting to get a lot of these piecemeal by each maintainer, so we might just as well do one sweeping change to get them all at once. Cc: Nicolas Ferre <nicolas.ferre@atmel.com> Cc: Russell King <linux@arm.linux.org.uk> Cc: Sascha Hauer <kernel@pengutronix.de> Cc: Imre Kaloz <kaloz@openwrt.org> Cc: Krzysztof Halasa <khc@pm.waw.pl> Cc: Eric Miao <eric.y.miao@gmail.com> Cc: Haojian Zhuang <haojian.zhuang@gmail.com> Cc: Wan ZongShun <mcuos.com@gmail.com> Acked-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Olof Johansson <olof@lixom.net>
* Merge branch 'fixes' of git://github.com/hzhuang1/linux into fixesOlof Johansson2012-03-305-11/+6
|\ | | | | | | | | | | | | | | * 'fixes' of git://github.com/hzhuang1/linux: ARM: pxa: fix build issue on stargate2 ARM: pxa: fix build issue on cm-x300 ARM: pxa: fix build failure for regulator consumer in em-x270.c ARM: pxa: fix regulator related build fail in magician_defconfig
| * ARM: pxa: fix build issue on stargate2Haojian Zhuang2012-03-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arch/arm/mach-pxa/stargate2.c:155:3: error: unknown field ‘dev’ specified in initializer arch/arm/mach-pxa/stargate2.c:155:3: warning: initialization from incompatible pointer type [enabled by default] arch/arm/mach-pxa/stargate2.c:155:3: warning: (near initialization for ‘stargate2_sensor_3_con[0].dev_name’) [enabled by default] make[1]: *** [arch/arm/mach-pxa/stargate2.o] Error 1 make: *** [arch/arm/mach-pxa] Error 2 It's caused by 'dev' field removed from struct regulator_consumer_supply. Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
| * ARM: pxa: fix build issue on cm-x300Haojian Zhuang2012-03-301-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | arch/arm/mach-pxa/cm-x300.c:716:3: error: unknown field ‘dev’ specified in initializer make[1]: *** [arch/arm/mach-pxa/cm-x300.o] Error 1 make: *** [arch/arm/mach-pxa] Error 2 It's caused by 'dev' field removed from struct regulator_consumer_supply. Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
| * ARM: pxa: fix build failure for regulator consumer in em-x270.cPaul Gortmaker2012-03-301-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 737f360d5bef5e01c6cfa755dca0b449a154c1e0 "regulator: Remove support for supplies specified by struct device" caused this file to break, since it was still relying on the device field to be present. Map it onto dev_name appropriately Since there are two consumers with the name "reg-userspace-consumer", we have to supply the ID as a suffix in the REGULATOR_CONSUMER calls. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> CC: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
| * ARM: pxa: fix regulator related build fail in magician_defconfigPaul Gortmaker2012-03-282-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 737f360d5bef5e01c6cfa755dca0b449a154c1e0 (linux-next) "regulator: Remove support for supplies specified by struct device" deletes the field from the struct, but this platform was still trying to set those fields. Delete the assignments. arch/arm/mach-pxa/magician.c:581: error: unknown field 'dev' specified in initializer arch/arm/mach-pxa/magician.c:581: warning: initialization from incompatible pointer type arch/arm/mach-pxa/magician.c:585: error: unknown field 'dev' specified in initializer arch/arm/mach-pxa/magician.c:585: warning: initialization from incompatible pointer type arch/arm/mach-pxa/hx4700.c:683: error: unknown field 'dev' specified in initializer arch/arm/mach-pxa/hx4700.c:683: warning: initialization from incompatible pointer type arch/arm/mach-pxa/hx4700.c:687: error: unknown field 'dev' specified in initializer arch/arm/mach-pxa/hx4700.c:687: warning: initialization from incompatible pointer type Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
* | Merge branch 'fixes' of ↵Olof Johansson2012-03-2926-55/+55
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes From Tony Lindgren: "This contains the updated gpio_to_irq patches from Tarun, and a trivial build fix from Govindraj to #include <asm/system_misc.h> in pm.c. The DSI mux patch is the same." * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP: pm: fix compilation break ARM: OMAP: Remove OMAP_GPIO_IRQ macro definition drivers: input: Fix OMAP_GPIO_IRQ with gpio_to_irq() in ams_delta_serio_exit() ARM: OMAP: boards: Fix OMAP_GPIO_IRQ usage with gpio_to_irq() ARM: OMAP2+: Remove __init from DSI mux functions
| * \ Merge branch 'fixes-gpio-to-irq' into fixesTony Lindgren2012-03-2923-51/+48
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: arch/arm/mach-omap1/board-htcherald.c arch/arm/mach-omap2/board-rx51-peripherals.c arch/arm/plat-omap/include/plat/gpio.h drivers/input/serio/ams_delta_serio.c
| | * | ARM: OMAP: Remove OMAP_GPIO_IRQ macro definitionTarun Kanti DebBarma2012-03-291-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since all references to OMAP_GPIO_IRQ macro are replaced now with gpio_to_irq(), this can be removed altogether. Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| | * | drivers: input: Fix OMAP_GPIO_IRQ with gpio_to_irq() in ams_delta_serio_exit()Tarun Kanti DebBarma2012-03-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even though ams-delta-serio input driver uses gpio_to_irq() in all relevent places to get irq number, the ams_delta_serio_exit() still uses OMAP_GPIO_IRQ macro. Fix this. Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com> Acked-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Tony Lindgren <tony@atomide.com>
| | * | ARM: OMAP: boards: Fix OMAP_GPIO_IRQ usage with gpio_to_irq()Tarun Kanti DebBarma2012-03-2921-46/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following commits change gpio-omap to use dynamic IRQ allocation: 25db711 gpio/omap: Fix IRQ handling for SPARSE_IRQ 384ebe1 gpio/omap: Add DT support to GPIO driver With dynamic allocation of IRQ the usage of OMAP_GPIO_IRQ is no longer valid. We must be using gpio_to_irq() instead. Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com> [tony@atomide.com: updated comments] Signed-off-by: Tony Lindgren <tony@atomide.com>
| * | | Merge branch 'fix-dss-mux' into fixesTony Lindgren2012-03-291-4/+4
| |\ \ \
| | * | | ARM: OMAP2+: Remove __init from DSI mux functionsTomi Valkeinen2012-03-201-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit d1589f0912533e6cb2ac8fd6f1feb3d5989fe8cb (ARM: OMAP2+: Mark omap_hsmmc_init and omap_mux related functions as __init) changed DSI muxing functions to __init. This doesn't work, as the muxing functions are used every time a DSI display is enabled or disabled. This patch removes the __inits from DSI mux functions that were accidentally marked as __init, and makes omap4_hdmi_mux_pads __init like it should be. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> [tony@atomide.com: update comments, mark omap4_hdmi_mux_pads __init] Signed-off-by: Tony Lindgren <tony@atomide.com>
| * | | | ARM: OMAP: pm: fix compilation breakGovindraj.R2012-03-292-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the compilation break observed on latest mainline caused by 9f97da78 (Disintegrate asm/system.h for ARM): arch/arm/mach-omap1/pm.c: In function 'omap_pm_prepare': arch/arm/mach-omap1/pm.c:587: error: implicit declaration of function 'disable_hlt' arch/arm/mach-omap1/pm.c: In function 'omap_pm_finish': arch/arm/mach-omap1/pm.c:624: error: implicit declaration of function 'enable_hlt' arch/arm/mach-omap1/pm.c: In function 'omap_pm_init': arch/arm/mach-omap1/pm.c:681: error: 'arm_pm_idle' undeclared (first use in this function) ... arch/arm/mach-omap2/pm.c: In function 'omap_pm_begin': arch/arm/mach-omap2/pm.c:239: error: implicit declaration of function 'disable_hlt' arch/arm/mach-omap2/pm.c: In function 'omap_pm_end': arch/arm/mach-omap2/pm.c:247: error: implicit declaration of function 'enable_hlt' Signed-off-by: Govindraj.R <govindraj.raja@ti.com> Acked-by: Kevin Hilman <khilman@ti.com> [tony@atomide.com: updated to fix omap1 too] Signed-off-by: Tony Lindgren <tony@atomide.com>
* | | | | Merge branch 'for-3.4/fixes-for-rc1-and-v3.3' of ↵Olof Johansson2012-03-293-7/+11
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into fixes * 'for-3.4/fixes-for-rc1-and-v3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra: ARM: tegra: Fix device tree AUXDATA for USB/EHCI
| * | | | | ARM: tegra: Fix device tree AUXDATA for USB/EHCIStephen Warren2012-03-213-7/+11
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 4a53f4e "USB: ehci-tegra: add probing through device tree" added AUXDATA for Tegra's USB/EHCI controller. However, it pointed the platform data at a location containing the address of the intended platform data, rather than the platform data itself. This change fixes that. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org> Cc: <stable@vger.kernel.org> # 3.3
* | | | | ARM: LPC32xx: clock.c: Fix lpc-eth clock referenceRoland Stigge2012-03-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During a complex merge for v3.4, one line of the commit c20b909be9ba27173294a52d08cab293ec030a2c ("ARM: LPC32xx: Ethernet support") was reverted wrongly ("lpc-eth.0" -> "lpc-net.0") while the other conflicts were merged correctly. This patch re-applies the clock name "lpc-eth.0". Signed-off-by: Roland Stigge <stigge@antcom.de> Signed-off-by: Olof Johansson <olof@lixom.net>
* | | | | Merge tag 'mmc-merge-for-3.4-rc1' of ↵Linus Torvalds2012-03-2942-722/+1161
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc Pull MMC updates from Chris Ball: Core: * Support for MMC 4.5 Data Tag feature -- we tag REQ_META, so devices that support Data Tag will provide increased throughput for metadata. * Faster detection of card removal on I/O errors. Drivers: * dw_mmc now supports eMMC Power Off Notify, has PCI support, and implements pre_req and post_req for asynchronous requests. * omap_hsmmc now supports device tree. * esdhc now has power management support. * sdhci-tegra now supports Tegra30 devices. * sdhci-spear now supports hibernation. * tmio_mmc now supports using a GPIO for card detection. * Intel PCH now supports 8-bit bus transfers. * tag 'mmc-merge-for-3.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (53 commits) mmc: sh_mmcif: simplify bitmask macros mmc: sh_mobile_sdhi: support modular mmc-core with non-standard hotplug mmc: sh_mobile_sdhi: add a callback for board specific init code mmc: tmio: cosmetic: prettify the tmio_mmc_set_ios() function mmc: sh_mobile_sdhi: do not manage PM clocks manually mmc: tmio_mmc: remove unused sdio_irq_enabled flag mmc: tmio_mmc: power status flag doesn't have to be exposed in platform data mmc: sh_mobile_sdhi: pass card hotplug GPIO number to TMIO MMC mmc: tmio_mmc: support the generic MMC GPIO card hotplug helper mmc: tmio: calculate the native hotplug condition only once mmc: simplify mmc_cd_gpio_request() by removing two parameters mmc: sdhci-pci: allow 8-bit bus width for Intel PCH mmc: sdhci: check interrupt flags in ISR again mmc: sdhci-pci: Add MSI support mmc: core: warn when card doesn't support HPI mmc: davinci: Poll status for small size transfers mmc: davinci: Eliminate spurious interrupts mmc: omap_hsmmc: Avoid a regulator voltage change with dt mmc: omap_hsmmc: Convert hsmmc driver to use device tree mmc: sdhci-pci: add SDHCI_QUIRK2_HOST_OFF_CARD_ON for Medfield SDIO ...
| * | | | | mmc: sh_mmcif: simplify bitmask macrosGuennadi Liakhovetski2012-03-271-12/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Purely cosmetic readability improvement, no functional change. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: sh_mobile_sdhi: support modular mmc-core with non-standard hotplugGuennadi Liakhovetski2012-03-272-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently if a platform wants to implement a non-standard card-detection method, it would need to call tmio_mmc_cd_wakeup(), which is an inline function, calling mmc_detect_change(). For this the platform would have to link mmc_core statically into the kernel, losing the ability to build it as a module. This patch adds a callback to the sh_mobile_sdhi driver, which eliminates this dependency. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: sh_mobile_sdhi: add a callback for board specific init codeBastian Hecht2012-03-272-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some boards need a preliminary setup stage to prepare the sdhi controller. Signed-off-by: Bastian Hecht <hechtb@gmail.com> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: tmio: cosmetic: prettify the tmio_mmc_set_ios() functionGuennadi Liakhovetski2012-03-271-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: sh_mobile_sdhi: do not manage PM clocks manuallyGuennadi Liakhovetski2012-03-271-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On sh-mobile platforms the MMC clock frequency for the TMIO MMC unit is obtained from the same clock, as the one, that runtime power-manages the controller. The SDHI glue code has to access that clock directly, bypassing the runtime PM framework, to get its frequency, but it shouldn't enable or disable it. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: tmio_mmc: remove unused sdio_irq_enabled flagGuennadi Liakhovetski2012-03-272-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sdio_irq_enabled member of struct tmio_mmc_host is a left-over from the previously removed SDIO IRQ workaround. It is no longer needed and can now be removed too. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: tmio_mmc: power status flag doesn't have to be exposed in platform dataGuennadi Liakhovetski2012-03-273-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The controller power status flag does not have to be accessed from the hot-plug detection code any more, it can now be removed from the platform data and put in the controller private struct. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: sh_mobile_sdhi: pass card hotplug GPIO number to TMIO MMCGuennadi Liakhovetski2012-03-272-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To use TMIO MMC driver ability to interface to the generic MMC GPIO card hotplug detection helper, the SDHI driver has to pass the GPIO number from its own platform data. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: tmio_mmc: support the generic MMC GPIO card hotplug helperGuennadi Liakhovetski2012-03-273-48/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the platform specifies the TMIO_MMC_HAS_COLD_CD flag, use the generic MMC GPIO card hotplug helper. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: tmio: calculate the native hotplug condition only onceGuennadi Liakhovetski2012-03-272-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The condition, whether we have to use the native TMIO card hotplug detection interrupt, is rather complex, it is better to only calculate it once and store in the private data. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: simplify mmc_cd_gpio_request() by removing two parametersGuennadi Liakhovetski2012-03-272-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calculate the IRQ number, using gpio_to_irq() and use fixed flags: trigger on both edges. This makes two out of four arguments of the mmc_cd_gpio_request() function redundant. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: sdhci-pci: allow 8-bit bus width for Intel PCHAlexander Stein2012-03-271-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: sdhci: check interrupt flags in ISR againAlexander Stein2012-03-271-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using MSI it is possible that a new MSI is sent while an earlier MSI is currently handled. In this case SDHCI_INT_STATUS only contains SDHCI_INT_RESPONSE and the ISR would not be called again. But at the end of the ISR SDHCI_INT_DATA_END is now also pending which would be ignored. Fix this by rereading the interrupt flags in the ISR until no interrupt we care is pending. Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: sdhci-pci: Add MSI supportAlexander Stein2012-03-271-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: core: warn when card doesn't support HPIJaehoon Chung2012-03-271-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Someone could use send_hpi_cmd() on a card that doesn't advertise support for HPI. Then maybe didn't work fine. Because card->ext_csd.hpi_cmd didn't set. So if card didn't support hpi, return the warning message. And CMD12's flags is MMC_RSP_R1B. Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: davinci: Poll status for small size transfersIdo Yariv2012-03-271-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For small size non-dma sdio transactions, it is sometimes better to poll the mmc host and avoid interrupts altogether. Polling lowers the number of interrupts and context switches. Tests have shown that for small transactions, only a few polling iterations are needed, so this is worth while. Signed-off-by: Ido Yariv <ido@wizery.com> Tested-by: Rajashekhara, Sudhakar <sudhakar.raj@ti.com> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: davinci: Eliminate spurious interruptsIdo Yariv2012-03-271-6/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The davinci mmc interrupt handler fills the fifo, as long as the DXRDY or DRRDY bits are set in the status register. If interrupts fire during this loop, they will be handled by the handler, but the interrupt controller will still buffer these. As a result, the handler will be called again to serve these needlessly. In order to avoid these spurious interrupts, keep interrupts masked while filling the fifo. Signed-off-by: Ido Yariv <ido@wizery.com> Tested-by: Rajashekhara, Sudhakar <sudhakar.raj@ti.com> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: omap_hsmmc: Avoid a regulator voltage change with dtRajendra Nayak2012-03-271-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When booting with Device tree, the omap_hsmmc driver does not program the pbias cell (inside OMAP control module) during a regulator voltage change. In case of non-dt boot, this is handled using callbacks from within platform_data and implemented in machine code. To be able to do this with device tree, without invoking any machine code, a OMAP control module driver is needed which is yet missing. The pbias cell is used to provide a 1.8v or 3.0v reference to the mmc/sd/sdio1 interface supporting both 1.8v and 3.0v voltages. Until a OMAP control module driver is available to handle this, when booting with a device tree blob, never change the regulator voltage which might then require a pbias cell re-program. There are 2 instances where in the mmc regulator voltage can be changed. -1- when the regulator is turned OFF. -2- when attempting a switch to 1.8v from 3.0v for dual volt cards This patch avoids a voltage change in both cases when booting from device tree, and hence compromises on power savings. Once the OMAP control module driver is available and hsmmc driver is modified to then do pbias programming even when booting with device tree, these limitaions can be removed to achieve better power savings. Signed-off-by: Rajendra Nayak <rnayak@ti.com> Tested-by: Balaji T K <balajitk@ti.com> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: omap_hsmmc: Convert hsmmc driver to use device treeRajendra Nayak2012-03-272-0/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Define dt bindings for the ti-omap-hsmmc, and adapt the driver to extract data (which was earlier passed as platform_data) from device tree. Signed-off-by: Rajendra Nayak <rnayak@ti.com> Acked-by: Rob Herring <rob.herring@calxeda.com> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: sdhci-pci: add SDHCI_QUIRK2_HOST_OFF_CARD_ON for Medfield SDIOAdrian Hunter2012-03-271-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SDIO is powered separately from the host controller, so the card can remain on while the host controller is powered off during suspend. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: sdhci: add quirk for keeping card power during suspendAdrian Hunter2012-03-272-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add quirk SDHCI_QUIRK2_HOST_OFF_CARD_ON to cater for the case when the card keeps power during suspend but the host controller does not i.e. the card power is not controlled by the host controller. In that case, the controller must be fully reset on resume. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: sdhci-pci: select HC erase size for Medfield eMMCAdrian Hunter2012-03-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: core: add high-capacity erase size capability flagAdrian Hunter2012-03-272-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let drivers specify the use of high-capacity erase size. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: omap_hsmmc: convert all pr_* to dev_*Rajendra Nayak2012-03-271-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert all instances of pr_* prints within the driver to instead use dev_* prints. Reported-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Rajendra Nayak <rnayak@ti.com> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: sh_mmcif: fix MMC_GEN_CMD settingShimoda, Yoshihiro2012-03-271-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MMC_GEN_CMD (CMD56) doesn't need to check busy signal. So, the patch fixes the setting. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: core: hs200 fixesSubhash Jadavani2012-03-271-17/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes following issues when HS200 is enabled: 1. If executing_tuning() host ops is called without mmc_host_clk_hold(), card clocks might get turned off (if MMC_CLK_GATING is enabled) while execute_tuning() is in progress. So this patch makes sure that execute_tuning() is called with mmc_host_clk_hold(). 2. If host timing mode is set to HS200 mode, there should not be any communication with the card until execute_tuning() is completed. But there is a chance that CMD6 might be sent to enable set HPI_EN (of HPI_MGMT field in EXT_CSD) before execute_tuning() is called. So this patch moves this operation after execute_tuning() is completed. Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org> Reviewed-by: girish.shivananjappa@linaro.org Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: omap_hsmmc: Fix "Unbalanced pm_runtime_enable!" warningTony Lindgren2012-03-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise we can get following warning when re-loading the omap_hsmmc driver module when gpio_twl4030 module is not loaded: omap_hsmmc omap_hsmmc.0: Unbalanced pm_runtime_enable! omap_hsmmc omap_hsmmc.0: Unable to grab MMC CD IRQ omap_hsmmc: probe of omap_hsmmc.0 failed with error -22 Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: core: Clean up after mmc_pre_req if card was removedUlf Hansson2012-03-271-20/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure mmc_start_req cancels the prepared job, if the request was prevented to be started due to the card has been removed. This bug was introduced in commit: mmc: allow upper layers to know immediately if card has been removed Signed-off-by: Ulf Hansson <ulf.hansson@stericsson.com> Reviewed-by: Per Forlin <per.forlin@stericsson.com> Tested-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: start removing enable / disable APIAdrian Hunter2012-03-279-242/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most parts of the enable / disable API are no longer used and can be removed. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Tested-by: Venkatraman S <svenkatr@ti.com> Tested-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: sdhci-spear: add pm callbacks to support hibernationShiraz Hashim2012-03-271-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Shiraz Hashim <shiraz.hashim@st.com> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: tmio_mmc: do not enable card hotplug interrupts, if unusedGuennadi Liakhovetski2012-03-271-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If TMIO MMC is used in polling mode, or the card is non-removable, or card-detection is performed, using an external interrupt, there is no need to enable controller native card hotplug interrupts. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
| * | | | | mmc: omap_hsmmc: Don't expect MMC1 to always have vmmc supplyRajendra Nayak2012-03-271-29/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MMC1 is not the only instance that can be used/wired for SD. So remove this assumption from the driver. Now that all the mmc id based usage is removed, get rid of all the DEVID defines and also the 'id' field from the omap_hsmmc_host structure. Signed-off-by: Rajendra Nayak <rnayak@ti.com> Tested-by: Venkatraman S <svenkatr@ti.com> Tested-by: Balaji T K <balajitk@ti.com> Signed-off-by: Chris Ball <cjb@laptop.org>