From: Lothar Waßmann Date: Thu, 26 Jun 2014 09:02:58 +0000 (+0200) Subject: mmc: omap_hsmmc: cleanup code X-Git-Tag: KARO-TX-2014-07-10~13 X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-uboot.git;a=commitdiff_plain;h=d1c6aa1b7fc8e780b330c920f4b5cbb2c630cb5c mmc: omap_hsmmc: cleanup code - remove useless return value from mmc_board_init() - make mmc_board_init() static - check dev_index in omap_mmc_init() before using it as array index --- diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c index 67d6b68625..fc74cf10a1 100644 --- a/drivers/mmc/omap_hsmmc.c +++ b/drivers/mmc/omap_hsmmc.c @@ -131,7 +131,7 @@ static void omap5_pbias_config(struct mmc *mmc) } #endif -unsigned char mmc_board_init(struct mmc *mmc) +static void mmc_board_init(struct mmc *mmc) { #if defined(CONFIG_OMAP34XX) t2_t *t2_base = (t2_t *)T2_BASE; @@ -180,8 +180,6 @@ unsigned char mmc_board_init(struct mmc *mmc) if (mmc->block_dev.dev == 0) omap5_pbias_config(mmc); #endif - - return 0; } void mmc_init_stream(struct hsmmc *mmc_base) @@ -212,7 +210,6 @@ void mmc_init_stream(struct hsmmc *mmc_base) writel(readl(&mmc_base->con) & ~INIT_INITSTREAM, &mmc_base->con); } - static int mmc_init_setup(struct mmc *mmc) { struct omap_hsmmc_data *priv_data = mmc->priv; @@ -583,33 +580,39 @@ static void mmc_set_ios(struct mmc *mmc) int omap_mmc_init(int dev_index, uint host_caps_mask, uint f_max, int cd_gpio, int wp_gpio) { - struct mmc *mmc = &hsmmc_dev[dev_index]; - struct omap_hsmmc_data *priv_data = &hsmmc_dev_data[dev_index]; - - sprintf(mmc->name, "OMAP SD/MMC"); - mmc->send_cmd = mmc_send_cmd; - mmc->set_ios = mmc_set_ios; - mmc->init = mmc_init_setup; - mmc->priv = priv_data; + struct mmc *mmc; + struct omap_hsmmc_data *priv_data; + unsigned long base_addr; switch (dev_index) { case 0: - priv_data->base_addr = (struct hsmmc *)OMAP_HSMMC1_BASE; + base_addr = OMAP_HSMMC1_BASE; break; #ifdef OMAP_HSMMC2_BASE case 1: - priv_data->base_addr = (struct hsmmc *)OMAP_HSMMC2_BASE; + base_addr = OMAP_HSMMC2_BASE; break; #endif #ifdef OMAP_HSMMC3_BASE case 2: - priv_data->base_addr = (struct hsmmc *)OMAP_HSMMC3_BASE; + base_addr = OMAP_HSMMC3_BASE; break; #endif default: - priv_data->base_addr = (struct hsmmc *)OMAP_HSMMC1_BASE; + printf("Invalid MMC device index: %d\n", dev_index); return 1; } + + mmc = &hsmmc_dev[dev_index]; + priv_data = &hsmmc_dev_data[dev_index]; + priv_data->base_addr = (void *)base_addr; + + sprintf(mmc->name, "OMAP SD/MMC"); + mmc->send_cmd = mmc_send_cmd; + mmc->set_ios = mmc_set_ios; + mmc->init = mmc_init_setup; + mmc->priv = priv_data; + priv_data->cd_gpio = omap_mmc_setup_gpio_in(cd_gpio, "mmc_cd"); if (priv_data->cd_gpio != -1) mmc->getcd = omap_mmc_getcd;