aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mfd/glamo/glamo-mci.c43
1 files changed, 0 insertions, 43 deletions
diff --git a/drivers/mfd/glamo/glamo-mci.c b/drivers/mfd/glamo/glamo-mci.c
index 74e784e5350..1d3f9af6385 100644
--- a/drivers/mfd/glamo/glamo-mci.c
+++ b/drivers/mfd/glamo/glamo-mci.c
@@ -578,43 +578,6 @@ static int glamo_mci_prepare_pio(struct glamo_mci_host *host,
return 0;
}
-static int glamo_mci_irq_poll(struct glamo_mci_host *host,
- struct mmc_command *cmd)
-{
- int timeout = 1000000;
- uint16_t status;
- /*
- * if the glamo INT# line isn't wired (*cough* it can happen)
- * I'm afraid we have to spin on the IRQ status bit and "be
- * our own INT# line"
- */
- /*
- * we have faith we will get an "interrupt"...
- * but something insane like suspend problems can mean
- * we spin here forever, so we timeout after a LONG time
- */
- do {
- status = glamo_reg_read(host, GLAMO_REG_IRQ_STATUS);
- } while ((--timeout) && !(status & GLAMO_IRQ_MMC));
-
- if (timeout <= 0) {
- if (cmd->data->error)
- cmd->data->error = -ETIMEDOUT;
- dev_err(&host->pdev->dev, "Payload timeout\n");
- return -ETIMEDOUT;
- }
- /* ack this interrupt source */
- writew(GLAMO_IRQ_MMC, host->core->base +
- GLAMO_REG_IRQ_CLEAR);
-
- /* yay we are an interrupt controller! -- call the ISR
- * it will stop clock to card
- */
- glamo_mci_irq(host->irq, host);
-
- return 0;
-}
-
static void glamo_mci_send_request(struct mmc_host *mmc,
struct mmc_request *mrq)
{
@@ -644,12 +607,6 @@ static void glamo_mci_send_request(struct mmc_host *mmc,
if (!cmd->data || cmd->error)
goto done;
-
- if (!host->core->irq_works) {
- if (glamo_mci_irq_poll(host, mrq->cmd))
- goto done;
- }
-
/*
* Otherwise can can use the interrupt as async completion --
* if there is read data coming, or we wait for write data to complete,