Arnd asked why they are needed. Seems they are not needed at all. Things are still working fine if I remove them. Guess the arm{,64} versions of writel() & friends take care already. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> --- drivers/mmc/host/bcm2835-sdhost.c | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/drivers/mmc/host/bcm2835-sdhost.c b/drivers/mmc/host/bcm2835-sdhost.c index cafe6ad..8a05c02 100644 --- a/drivers/mmc/host/bcm2835-sdhost.c +++ b/drivers/mmc/host/bcm2835-sdhost.c @@ -327,7 +327,6 @@ static void bcm2835_sdhost_reset_internal(struct bcm2835_host *host) host->clock = 0; bcm2835_sdhost_write(host, host->hcfg, SDHCFG); bcm2835_sdhost_write(host, host->cdiv, SDCDIV); - mmiowb(); } static void bcm2835_sdhost_reset(struct mmc_host *mmc) @@ -1035,8 +1034,6 @@ static void bcm2835_sdhost_timeout(unsigned long data) tasklet_schedule(&host->finish_tasklet); } } - - mmiowb(); spin_unlock_irqrestore(&host->lock, flags); } @@ -1187,8 +1184,6 @@ static irqreturn_t bcm2835_sdhost_irq(int irq, void *dev_id) result = IRQ_HANDLED; } - mmiowb(); - spin_unlock(&host->lock); return result; @@ -1303,7 +1298,6 @@ static void bcm2835_sdhost_request(struct mmc_host *mmc, bcm2835_sdhost_dumpregs(host); mrq->cmd->error = -EILSEQ; tasklet_schedule(&host->finish_tasklet); - mmiowb(); spin_unlock_irqrestore(&host->lock, flags); return; } @@ -1324,8 +1318,6 @@ static void bcm2835_sdhost_request(struct mmc_host *mmc, bcm2835_sdhost_finish_command(host, &flags); } - mmiowb(); - spin_unlock_irqrestore(&host->lock, flags); } @@ -1353,8 +1345,6 @@ static void bcm2835_sdhost_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) bcm2835_sdhost_write(host, host->hcfg, SDHCFG); - mmiowb(); - spin_unlock_irqrestore(&host->lock, flags); } @@ -1383,8 +1373,6 @@ static void bcm2835_sdhost_cmd_wait_work(struct work_struct *work) bcm2835_sdhost_finish_command(host, &flags); - mmiowb(); - spin_unlock_irqrestore(&host->lock, flags); } @@ -1415,8 +1403,6 @@ static void bcm2835_sdhost_tasklet_finish(unsigned long param) host->cmd = NULL; host->data = NULL; - mmiowb(); - host->dma_desc = NULL; terminate_chan = host->dma_chan; host->dma_chan = NULL; @@ -1515,7 +1501,6 @@ int bcm2835_sdhost_add_host(struct bcm2835_host *host) goto untasklet; } - mmiowb(); mmc_add_host(mmc); pio_limit_string[0] = '\0'; -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html