diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-23 17:43:53 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-23 17:43:53 -0700 | 
| commit | a5ebba6b54bc8038a38d3eacac3a79bbeaf3ee24 (patch) | |
| tree | d36eb26a7efd4e00381bc9f6474ea3ec31340585 /arch/arm/mach-omap2/devices.c | |
| parent | e81218f5f0fd219bd75768d845159ba4810bdd48 (diff) | |
| parent | 6b21a9ce0402e0c5fd2adfa3d41328fdd8f55a9a (diff) | |
| download | olio-linux-3.10-a5ebba6b54bc8038a38d3eacac3a79bbeaf3ee24.tar.xz olio-linux-3.10-a5ebba6b54bc8038a38d3eacac3a79bbeaf3ee24.zip  | |
Merge tag 'pm' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull arm-soc power management changes from Arnd Bergmann:
 "These are various power management related changes, mainly concerning
  cpuidle on i.MX and OMAP, as well as a the move of the omap
  smartreflex driver to live in the power subsystem."
Fix up conflicts in arch/arm/mach-{imx/mach-imx6q.c,omap2/prm2xxx_3xxx.h}
* tag 'pm' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (37 commits)
  ARM: OMAP2+: PM: fix IRQ_NOAUTOEN removal by mis-merge
  ARM: OMAP2+: do not allow SmartReflex to be built as a module
  ARM: OMAP2: Use hwmod to initialize mmc for 2420
  ARM: OMAP3: PM: cpuidle: optimize the clkdm idle latency in C1 state
  ARM: OMAP3: PM: cpuidle: optimize the PER latency in C1 state
  ARM: OMAP3: PM: cpuidle: default to C1 in next_valid_state
  ARM: OMAP3: PM: cleanup cam_pwrdm leftovers
  ARM: OMAP3: PM: call pre/post transition per powerdomain
  ARM: OMAP2+: powerdomain: allow pre/post transtion to be per pwrdm
  ARM: OMAP3: PM: Remove IO Daisychain control from cpuidle
  ARM: OMAP3PLUS: hwmod: reconfigure IO Daisychain during hwmod mux
  ARM: OMAP3+: PRM: Enable IO wake up
  ARM: OMAP4: PRM: Add IO Daisychain support
  ARM: OMAP3: PM: Move IO Daisychain function to omap3 prm file
  ARM: OMAP3: PM: correct enable/disable of daisy io chain
  ARM: OMAP2+: PRM: fix compile for OMAP4-only build
  W1: OMAP HDQ1W: use runtime PM
  ARM: OMAP2+: HDQ1W: use omap_device
  W1: OMAP HDQ1W: use 32-bit register accesses
  W1: OMAP HDQ1W: allow driver to be built on all OMAP2+
  ...
Diffstat (limited to 'arch/arm/mach-omap2/devices.c')
| -rw-r--r-- | arch/arm/mach-omap2/devices.c | 108 | 
1 files changed, 0 insertions, 108 deletions
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c index 71651e20a43..c00c68961bb 100644 --- a/arch/arm/mach-omap2/devices.c +++ b/arch/arm/mach-omap2/devices.c @@ -27,7 +27,6 @@  #include "iomap.h"  #include <plat/board.h> -#include <plat/mmc.h>  #include <plat/dma.h>  #include <plat/omap_hwmod.h>  #include <plat/omap_device.h> @@ -603,112 +602,6 @@ static inline void omap_init_aes(void) { }  /*-------------------------------------------------------------------------*/ -#if defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE) - -static inline void omap242x_mmc_mux(struct omap_mmc_platform_data -							*mmc_controller) -{ -	if ((mmc_controller->slots[0].switch_pin > 0) && \ -		(mmc_controller->slots[0].switch_pin < OMAP_MAX_GPIO_LINES)) -		omap_mux_init_gpio(mmc_controller->slots[0].switch_pin, -					OMAP_PIN_INPUT_PULLUP); -	if ((mmc_controller->slots[0].gpio_wp > 0) && \ -		(mmc_controller->slots[0].gpio_wp < OMAP_MAX_GPIO_LINES)) -		omap_mux_init_gpio(mmc_controller->slots[0].gpio_wp, -					OMAP_PIN_INPUT_PULLUP); - -	omap_mux_init_signal("sdmmc_cmd", 0); -	omap_mux_init_signal("sdmmc_clki", 0); -	omap_mux_init_signal("sdmmc_clko", 0); -	omap_mux_init_signal("sdmmc_dat0", 0); -	omap_mux_init_signal("sdmmc_dat_dir0", 0); -	omap_mux_init_signal("sdmmc_cmd_dir", 0); -	if (mmc_controller->slots[0].caps & MMC_CAP_4_BIT_DATA) { -		omap_mux_init_signal("sdmmc_dat1", 0); -		omap_mux_init_signal("sdmmc_dat2", 0); -		omap_mux_init_signal("sdmmc_dat3", 0); -		omap_mux_init_signal("sdmmc_dat_dir1", 0); -		omap_mux_init_signal("sdmmc_dat_dir2", 0); -		omap_mux_init_signal("sdmmc_dat_dir3", 0); -	} - -	/* -	 * Use internal loop-back in MMC/SDIO Module Input Clock -	 * selection -	 */ -	if (mmc_controller->slots[0].internal_clock) { -		u32 v = omap_ctrl_readl(OMAP2_CONTROL_DEVCONF0); -		v |= (1 << 24); -		omap_ctrl_writel(v, OMAP2_CONTROL_DEVCONF0); -	} -} - -void __init omap242x_init_mmc(struct omap_mmc_platform_data **mmc_data) -{ -	struct platform_device *pdev; -	struct omap_hwmod *oh; -	int id = 0; -	char *oh_name = "msdi1"; -	char *dev_name = "mmci-omap"; - -	if (!mmc_data[0]) { -		pr_err("%s fails: Incomplete platform data\n", __func__); -		return; -	} - -	omap242x_mmc_mux(mmc_data[0]); - -	oh = omap_hwmod_lookup(oh_name); -	if (!oh) { -		pr_err("Could not look up %s\n", oh_name); -		return; -	} -	pdev = omap_device_build(dev_name, id, oh, mmc_data[0], -				 sizeof(struct omap_mmc_platform_data), NULL, 0, 0); -	if (IS_ERR(pdev)) -		WARN(1, "Can'd build omap_device for %s:%s.\n", -					dev_name, oh->name); -} - -#endif - -/*-------------------------------------------------------------------------*/ - -#if defined(CONFIG_HDQ_MASTER_OMAP) || defined(CONFIG_HDQ_MASTER_OMAP_MODULE) -#define OMAP_HDQ_BASE	0x480B2000 -static struct resource omap_hdq_resources[] = { -	{ -		.start		= OMAP_HDQ_BASE, -		.end		= OMAP_HDQ_BASE + 0x1C, -		.flags		= IORESOURCE_MEM, -	}, -	{ -		.start		= INT_24XX_HDQ_IRQ, -		.flags		= IORESOURCE_IRQ, -	}, -}; -static struct platform_device omap_hdq_dev = { -	.name = "omap_hdq", -	.id = 0, -	.dev = { -		.platform_data = NULL, -	}, -	.num_resources	= ARRAY_SIZE(omap_hdq_resources), -	.resource	= omap_hdq_resources, -}; -static inline void omap_hdq_init(void) -{ -	if (cpu_is_omap2420()) -		return; - -	platform_device_register(&omap_hdq_dev); -} -#else -static inline void omap_hdq_init(void) {} -#endif - -/*---------------------------------------------------------------------------*/ -  #if defined(CONFIG_VIDEO_OMAP2_VOUT) || \  	defined(CONFIG_VIDEO_OMAP2_VOUT_MODULE)  #if defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE) @@ -753,7 +646,6 @@ static int __init omap2_init_devices(void)  		omap_init_mcspi();  	}  	omap_init_pmu(); -	omap_hdq_init();  	omap_init_sti();  	omap_init_sham();  	omap_init_aes();  |