mirror of
https://github.com/torvalds/linux.git
synced 2024-12-12 22:23:55 +00:00
mmc: wmt-sdmmc: Simplify wmt_set_sd_power implementation
Simplify the code to set/clear BM_SD_OFF bit: | power_inverted: 0 | power_inverted: 1 ------------------------------------------------- enable: 0 | SET BM_SD_OFF | CLEAR BM_SD_OFF ------------------------------------------------- enable: 1 | CLEAR BM_SD_OFF | SET BM_SD_OFF Signed-off-by: Axel Lin <axel.lin@ingics.com> Acked-by: Tony Prisk <linux@prisktech.co.nz> Signed-off-by: Chris Ball <cjb@laptop.org>
This commit is contained in:
parent
8776a165d1
commit
7b2399034a
@ -212,28 +212,14 @@ struct wmt_mci_priv {
|
||||
|
||||
static void wmt_set_sd_power(struct wmt_mci_priv *priv, int enable)
|
||||
{
|
||||
u32 reg_tmp;
|
||||
if (enable) {
|
||||
if (priv->power_inverted) {
|
||||
reg_tmp = readb(priv->sdmmc_base + SDMMC_BUSMODE);
|
||||
writeb(reg_tmp | BM_SD_OFF,
|
||||
priv->sdmmc_base + SDMMC_BUSMODE);
|
||||
} else {
|
||||
reg_tmp = readb(priv->sdmmc_base + SDMMC_BUSMODE);
|
||||
writeb(reg_tmp & (~BM_SD_OFF),
|
||||
priv->sdmmc_base + SDMMC_BUSMODE);
|
||||
}
|
||||
} else {
|
||||
if (priv->power_inverted) {
|
||||
reg_tmp = readb(priv->sdmmc_base + SDMMC_BUSMODE);
|
||||
writeb(reg_tmp & (~BM_SD_OFF),
|
||||
priv->sdmmc_base + SDMMC_BUSMODE);
|
||||
} else {
|
||||
reg_tmp = readb(priv->sdmmc_base + SDMMC_BUSMODE);
|
||||
writeb(reg_tmp | BM_SD_OFF,
|
||||
priv->sdmmc_base + SDMMC_BUSMODE);
|
||||
}
|
||||
}
|
||||
u32 reg_tmp = readb(priv->sdmmc_base + SDMMC_BUSMODE);
|
||||
|
||||
if (enable ^ priv->power_inverted)
|
||||
reg_tmp &= ~BM_SD_OFF;
|
||||
else
|
||||
reg_tmp |= BM_SD_OFF;
|
||||
|
||||
writeb(reg_tmp, priv->sdmmc_base + SDMMC_BUSMODE);
|
||||
}
|
||||
|
||||
static void wmt_mci_read_response(struct mmc_host *mmc)
|
||||
|
Loading…
Reference in New Issue
Block a user