diff options
Diffstat (limited to 'arch/arm/mach-omap2/hsmmc.c')
| -rw-r--r-- | arch/arm/mach-omap2/hsmmc.c | 24 | 
1 files changed, 12 insertions, 12 deletions
diff --git a/arch/arm/mach-omap2/hsmmc.c b/arch/arm/mach-omap2/hsmmc.c index bd844af13af..b40c2889529 100644 --- a/arch/arm/mach-omap2/hsmmc.c +++ b/arch/arm/mach-omap2/hsmmc.c @@ -175,14 +175,15 @@ static void hsmmc2_select_input_clk_src(struct omap_mmc_platform_data *mmc)  {  	u32 reg; -	if (mmc->slots[0].internal_clock) { -		reg = omap_ctrl_readl(control_devconf1_offset); +	reg = omap_ctrl_readl(control_devconf1_offset); +	if (mmc->slots[0].internal_clock)  		reg |= OMAP2_MMCSDIO2ADPCLKISEL; -		omap_ctrl_writel(reg, control_devconf1_offset); -	} +	else +		reg &= ~OMAP2_MMCSDIO2ADPCLKISEL; +	omap_ctrl_writel(reg, control_devconf1_offset);  } -static void hsmmc23_before_set_reg(struct device *dev, int slot, +static void hsmmc2_before_set_reg(struct device *dev, int slot,  				   int power_on, int vdd)  {  	struct omap_mmc_platform_data *mmc = dev->platform_data; @@ -292,8 +293,8 @@ static inline void omap_hsmmc_mux(struct omap_mmc_platform_data *mmc_controller,  	}  } -static int __init omap_hsmmc_pdata_init(struct omap2_hsmmc_info *c, -					struct omap_mmc_platform_data *mmc) +static int omap_hsmmc_pdata_init(struct omap2_hsmmc_info *c, +				 struct omap_mmc_platform_data *mmc)  {  	char *hc_name; @@ -407,14 +408,13 @@ static int __init omap_hsmmc_pdata_init(struct omap2_hsmmc_info *c,  			c->caps &= ~MMC_CAP_8_BIT_DATA;  			c->caps |= MMC_CAP_4_BIT_DATA;  		} -		/* FALLTHROUGH */ -	case 3:  		if (mmc->slots[0].features & HSMMC_HAS_PBIAS) {  			/* off-chip level shifting, or none */ -			mmc->slots[0].before_set_reg = hsmmc23_before_set_reg; +			mmc->slots[0].before_set_reg = hsmmc2_before_set_reg;  			mmc->slots[0].after_set_reg = NULL;  		}  		break; +	case 3:  	case 4:  	case 5:  		mmc->slots[0].before_set_reg = NULL; @@ -430,7 +430,7 @@ static int __init omap_hsmmc_pdata_init(struct omap2_hsmmc_info *c,  #define MAX_OMAP_MMC_HWMOD_NAME_LEN		16 -void __init omap_init_hsmmc(struct omap2_hsmmc_info *hsmmcinfo, int ctrl_nr) +void omap_init_hsmmc(struct omap2_hsmmc_info *hsmmcinfo, int ctrl_nr)  {  	struct omap_hwmod *oh;  	struct platform_device *pdev; @@ -487,7 +487,7 @@ done:  	kfree(mmc_data);  } -void __init omap2_hsmmc_init(struct omap2_hsmmc_info *controllers) +void omap2_hsmmc_init(struct omap2_hsmmc_info *controllers)  {  	u32 reg;  |