diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/mmc/host/omap_hsmmc.c | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c index 078fdf11af03..8c42573f42ea 100644 --- a/drivers/mmc/host/omap_hsmmc.c +++ b/drivers/mmc/host/omap_hsmmc.c | |||
| @@ -260,7 +260,7 @@ static int omap_hsmmc_1_set_power(struct device *dev, int slot, int power_on, | |||
| 260 | return ret; | 260 | return ret; |
| 261 | } | 261 | } |
| 262 | 262 | ||
| 263 | static int omap_hsmmc_23_set_power(struct device *dev, int slot, int power_on, | 263 | static int omap_hsmmc_235_set_power(struct device *dev, int slot, int power_on, |
| 264 | int vdd) | 264 | int vdd) |
| 265 | { | 265 | { |
| 266 | struct omap_hsmmc_host *host = | 266 | struct omap_hsmmc_host *host = |
| @@ -316,6 +316,12 @@ static int omap_hsmmc_23_set_power(struct device *dev, int slot, int power_on, | |||
| 316 | return ret; | 316 | return ret; |
| 317 | } | 317 | } |
| 318 | 318 | ||
| 319 | static int omap_hsmmc_4_set_power(struct device *dev, int slot, int power_on, | ||
| 320 | int vdd) | ||
| 321 | { | ||
| 322 | return 0; | ||
| 323 | } | ||
| 324 | |||
| 319 | static int omap_hsmmc_1_set_sleep(struct device *dev, int slot, int sleep, | 325 | static int omap_hsmmc_1_set_sleep(struct device *dev, int slot, int sleep, |
| 320 | int vdd, int cardsleep) | 326 | int vdd, int cardsleep) |
| 321 | { | 327 | { |
| @@ -326,7 +332,7 @@ static int omap_hsmmc_1_set_sleep(struct device *dev, int slot, int sleep, | |||
| 326 | return regulator_set_mode(host->vcc, mode); | 332 | return regulator_set_mode(host->vcc, mode); |
| 327 | } | 333 | } |
| 328 | 334 | ||
| 329 | static int omap_hsmmc_23_set_sleep(struct device *dev, int slot, int sleep, | 335 | static int omap_hsmmc_235_set_sleep(struct device *dev, int slot, int sleep, |
| 330 | int vdd, int cardsleep) | 336 | int vdd, int cardsleep) |
| 331 | { | 337 | { |
| 332 | struct omap_hsmmc_host *host = | 338 | struct omap_hsmmc_host *host = |
| @@ -365,6 +371,12 @@ static int omap_hsmmc_23_set_sleep(struct device *dev, int slot, int sleep, | |||
| 365 | return regulator_enable(host->vcc_aux); | 371 | return regulator_enable(host->vcc_aux); |
| 366 | } | 372 | } |
| 367 | 373 | ||
| 374 | static int omap_hsmmc_4_set_sleep(struct device *dev, int slot, int sleep, | ||
| 375 | int vdd, int cardsleep) | ||
| 376 | { | ||
| 377 | return 0; | ||
| 378 | } | ||
| 379 | |||
| 368 | static int omap_hsmmc_reg_get(struct omap_hsmmc_host *host) | 380 | static int omap_hsmmc_reg_get(struct omap_hsmmc_host *host) |
| 369 | { | 381 | { |
| 370 | struct regulator *reg; | 382 | struct regulator *reg; |
| @@ -379,10 +391,14 @@ static int omap_hsmmc_reg_get(struct omap_hsmmc_host *host) | |||
| 379 | break; | 391 | break; |
| 380 | case OMAP_MMC2_DEVID: | 392 | case OMAP_MMC2_DEVID: |
| 381 | case OMAP_MMC3_DEVID: | 393 | case OMAP_MMC3_DEVID: |
| 394 | case OMAP_MMC5_DEVID: | ||
| 382 | /* Off-chip level shifting, or none */ | 395 | /* Off-chip level shifting, or none */ |
| 383 | mmc_slot(host).set_power = omap_hsmmc_23_set_power; | 396 | mmc_slot(host).set_power = omap_hsmmc_235_set_power; |
| 384 | mmc_slot(host).set_sleep = omap_hsmmc_23_set_sleep; | 397 | mmc_slot(host).set_sleep = omap_hsmmc_235_set_sleep; |
| 385 | break; | 398 | break; |
| 399 | case OMAP_MMC4_DEVID: | ||
| 400 | mmc_slot(host).set_power = omap_hsmmc_4_set_power; | ||
| 401 | mmc_slot(host).set_sleep = omap_hsmmc_4_set_sleep; | ||
| 386 | default: | 402 | default: |
| 387 | pr_err("MMC%d configuration not supported!\n", host->id); | 403 | pr_err("MMC%d configuration not supported!\n", host->id); |
| 388 | return -EINVAL; | 404 | return -EINVAL; |
