RE: [PATCH v5] mmc: davinci: add support for SDIO irq handling

Nori, Sekhar
2011-01-12T14:03:27Z

Hi Chris,

On Mon, Jan 10, 2011 at 05:47:38, Chris Ball wrote:
> Hi Sekhar,
>
> On Mon, Jan 03, 2011 at 12:43:27PM +0530, Sekhar Nori wrote:
> > From: Alagu Sankar <alagusankar@embwise.com>
> >
> > This patch adds support for handling SDIO interrupt on
> > DaVinci MMC/SD controller.
> >
> > The patch has been tested on DM355 and DA850 EVMs with
> > Marvell Libertas based SDIO wireless LAN card.
> >
> > Signed-off-by: Alagu Sankar <alagusankar@embwise.com>
> > Signed-off-by: Sekhar Nori <nsekhar@ti.com>
> > ---
> > Applies to mmc-next branch of the mmc tree
> >
> > Since v4, fixed a typo in patch description
> >
> > drivers/mmc/host/davinci_mmc.c | 78 +++++++++++++++++++++++++++++++++++++---
> > 1 files changed, 73 insertions(+), 5 deletions(-)
>
> Thanks, pushed to mmc-next for .38 with some trivial indentation fixes
> as below:

Thanks for pushing this for .38 and for making the
fixes. Will take care of this next time.

Thanks,
Sekhar

>
> diff --git a/drivers/mmc/host/davinci_mmc.c b/drivers/mmc/host/davinci_mmc.c
> index 6b09752..0076c74 100644
> --- a/drivers/mmc/host/davinci_mmc.c
> +++ b/drivers/mmc/host/davinci_mmc.c
> @@ -882,7 +882,7 @@ mmc_davinci_xfer_done(struct mmc_davinci_host *host, struct mmc_data *data)
> * 2.1.6): Signal SDIO interrupt only if it is enabled by core
> */
> if (host->sdio_int && !(readl(host->base + DAVINCI_SDIOST0) &
> - SDIOST0_DAT1_HI)) {
> + SDIOST0_DAT1_HI)) {
> writel(SDIOIST_IOINT, host->base + DAVINCI_SDIOIST);
> mmc_signal_sdio_irq(host->mmc);
> }
> @@ -962,7 +962,7 @@ static irqreturn_t mmc_davinci_sdio_irq(int irq, void *dev_id)
> status = readl(host->base + DAVINCI_SDIOIST);
> if (status & SDIOIST_IOINT) {
> dev_dbg(mmc_dev(host->mmc),
> - "SDIO interrupt status %x\n", status);
> + "SDIO interrupt status %x\n", status);
> writel(status | SDIOIST_IOINT, host->base + DAVINCI_SDIOIST);
> mmc_signal_sdio_irq(host->mmc);
> }
> @@ -1124,12 +1124,12 @@ static void mmc_davinci_enable_sdio_irq(struct mmc_host *mmc, int enable)
> } else {
> host->sdio_int = true;
> writel(readl(host->base + DAVINCI_SDIOIEN) |
> - SDIOIEN_IOINTEN, host->base + DAVINCI_SDIOIEN);
> + SDIOIEN_IOINTEN, host->base + DAVINCI_SDIOIEN);
> }
> } else {
> host->sdio_int = false;
> writel(readl(host->base + DAVINCI_SDIOIEN) & ~SDIOIEN_IOINTEN,
> - host->base + DAVINCI_SDIOIEN);
> + host->base + DAVINCI_SDIOIEN);
> }
> }
>
> @@ -1331,7 +1331,7 @@ static int __init davinci_mmcsd_probe(struct platform_device *pdev)
>
> if (host->sdio_irq >= 0) {
> ret = request_irq(host->sdio_irq, mmc_davinci_sdio_irq, 0,
> - mmc_hostname(mmc), host);
> + mmc_hostname(mmc), host);
> if (!ret)
> mmc->caps |= MMC_CAP_SDIO_IRQ;
> }
> --
> Chris Ball <cjb@laptop.org> <http://printf.net/>
> One Laptop Per Child
>