mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Pierre Ossman <drzeus-list@drzeus.cx>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] MMC updates
Date: Sat, 21 Jul 2007 02:36:10 +0200	[thread overview]
Message-ID: <20070721023610.661bd9a3@poseidon.drzeus.cx> (raw)

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

to receive the following updates:

 MAINTAINERS                 |    7 ++++++-
 drivers/mmc/host/at91_mci.c |   13 ++++++++++++-
 drivers/mmc/host/sdhci.c    |    2 ++
 drivers/mmc/host/sdhci.h    |    1 +
 4 files changed, 21 insertions(+), 2 deletions(-)

Marc Pignat (1):
      mmc: at91_mci: wakeup on card insertion (or removal)

Pierre Ossman (2):
      mmc: add maintainer for at91
      sdhci: make sure to clear the error interrupt

diff --git a/MAINTAINERS b/MAINTAINERS
index fbe0dca..c9fab2b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -645,7 +645,12 @@ W: http://linux-atm.sourceforge.net
 S:     Maintained
 
 ATMEL AT91 MCI DRIVER
-S:     Orphan
+P:     Nicolas Ferre
+M:     nicolas.ferre@rfo.atmel.com
+L:     linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
+W:     http://www.atmel.com/products/AT91/
+W:     http://www.at91.com/
+S:     Maintained
 
 ATMEL MACB ETHERNET DRIVER
 P:     Haavard Skinnemoen
diff --git a/drivers/mmc/host/at91_mci.c b/drivers/mmc/host/at91_mci.c
index 28c8818..15aab37 100644
--- a/drivers/mmc/host/at91_mci.c
+++ b/drivers/mmc/host/at91_mci.c
@@ -903,8 +903,10 @@ static int __init at91_mci_probe(struct platform_device *pdev)
        /*
         * Add host to MMC layer
         */
-       if (host->board->det_pin)
+       if (host->board->det_pin) {
                host->present = !at91_get_gpio_value(host->board->det_pin);
+               device_init_wakeup(&pdev->dev, 1);
+       }
        else
                host->present = -1;
 
@@ -940,6 +942,7 @@ static int __exit at91_mci_remove(struct platform_device *pdev)
        host = mmc_priv(mmc);
 
        if (host->present != -1) {
+               device_init_wakeup(&pdev->dev, 0);
                free_irq(host->board->det_pin, host);
                cancel_delayed_work(&host->mmc->detect);
        }
@@ -966,8 +969,12 @@ static int __exit at91_mci_remove(struct platform_device *pdev)
 static int at91_mci_suspend(struct platform_device *pdev, pm_message_t state)
 {
        struct mmc_host *mmc = platform_get_drvdata(pdev);
+       struct at91mci_host *host = mmc_priv(mmc);
        int ret = 0;
 
+       if (device_may_wakeup(&pdev->dev))
+               enable_irq_wake(host->board->det_pin);
+
        if (mmc)
                ret = mmc_suspend_host(mmc, state);
 
@@ -977,8 +984,12 @@ static int at91_mci_suspend(struct platform_device *pdev, pm_message_t state)
 static int at91_mci_resume(struct platform_device *pdev)
 {
        struct mmc_host *mmc = platform_get_drvdata(pdev);
+       struct at91mci_host *host = mmc_priv(mmc);
        int ret = 0;
 
+       if (device_may_wakeup(&pdev->dev))
+               disable_irq_wake(host->board->det_pin);
+
        if (mmc)
                ret = mmc_resume_host(mmc);
 
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index 10d15c3..4a24db0 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -1024,6 +1024,8 @@ static irqreturn_t sdhci_irq(int irq, void *dev_id)
 
        intmask &= ~(SDHCI_INT_CMD_MASK | SDHCI_INT_DATA_MASK);
 
+       intmask &= ~SDHCI_INT_ERROR;
+
        if (intmask & SDHCI_INT_BUS_POWER) {
                printk(KERN_ERR "%s: Card is consuming too much power!\n",
                        mmc_hostname(host->mmc));
diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
index 7400f4b..a6c8704 100644
--- a/drivers/mmc/host/sdhci.h
+++ b/drivers/mmc/host/sdhci.h
@@ -107,6 +107,7 @@
 #define  SDHCI_INT_CARD_INSERT 0x00000040
 #define  SDHCI_INT_CARD_REMOVE 0x00000080
 #define  SDHCI_INT_CARD_INT    0x00000100
+#define  SDHCI_INT_ERROR       0x00008000
 #define  SDHCI_INT_TIMEOUT     0x00010000
 #define  SDHCI_INT_CRC         0x00020000
 #define  SDHCI_INT_END_BIT     0x00040000


-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

             reply	other threads:[~2007-07-21  0:36 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-21  0:36 Pierre Ossman [this message]
  -- strict thread matches above, loose matches on Subject: below --
2008-04-19  7:28 Pierre Ossman
2008-02-09  9:50 Pierre Ossman
2007-12-12 19:12 Pierre Ossman
2007-12-18  7:57 ` Pierre Ossman
2007-11-21 17:56 Pierre Ossman
2007-10-17 20:44 Pierre Ossman
2007-10-17 20:48 ` Dan Williams
2007-10-10 19:21 Pierre Ossman
2007-10-12  5:30 ` Linus Torvalds
2007-10-12  5:45   ` Pierre Ossman
2007-10-12 12:18     ` Kay Sievers
2007-10-12 13:53       ` Pierre Ossman
2007-10-12 19:55   ` Pierre Ossman
2007-10-12 20:05     ` Nicolas Pitre
2007-10-12 20:35       ` Pierre Ossman
2007-10-12 21:00       ` Pierre Ossman
2007-10-13  5:29         ` Randy Dunlap
2007-10-13  7:03           ` Pierre Ossman
2007-09-11 15:26 Pierre Ossman
2007-08-23  5:18 Pierre Ossman
2007-08-09 14:34 Pierre Ossman
2007-07-26 13:15 Pierre Ossman
2007-07-10 20:43 Pierre Ossman
2007-06-13 17:24 Pierre Ossman
2007-06-08  8:09 Pierre Ossman
2007-05-24  5:46 Pierre Ossman
2007-05-14 16:55 Pierre Ossman
2007-05-08 20:45 Pierre Ossman
2007-05-09  5:55 ` Pierre Ossman
2007-05-09  6:03   ` Nick Piggin
2007-05-09  6:27     ` Pierre Ossman
2007-05-09  6:35       ` Nick Piggin
2007-05-09  7:51         ` Pierre Ossman
2007-05-09  8:05           ` Nick Piggin
2007-05-09  9:11           ` Stefan Richter
2007-05-09 15:44             ` Pierre Ossman
2007-05-01 15:22 Pierre Ossman
2007-05-05  4:24 ` Pierre Ossman
2007-05-05  4:45   ` Linus Torvalds
2007-05-09 18:56 ` Russell King
2007-05-09 19:06   ` Pierre Ossman
2007-05-09 22:12     ` Russell King
2007-05-10  5:44       ` Pierre Ossman
2007-05-10  7:51         ` Russell King
2007-05-10 13:58         ` Pierre Ossman
2007-05-10 14:52           ` Nicolas Pitre
2007-05-12 15:38             ` Nicolas Pitre
2007-05-12 16:12               ` Pierre Ossman
2007-05-12 16:22                 ` Russell King
2007-05-12 17:55                   ` Nicolas Pitre
2007-02-11 15:33 Pierre Ossman
2007-02-04 20:11 Pierre Ossman
2007-01-15  5:46 Pierre Ossman
2007-01-04 12:49 Pierre Ossman
2007-01-10 19:51 ` Pierre Ossman
2006-12-11 11:45 Pierre Ossman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070721023610.661bd9a3@poseidon.drzeus.cx \
    --to=drzeus-list@drzeus.cx \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®