On Tue, Dec 14, 2010 at 10:49:34PM -0600, Olof Johansson wrote: > Some controllers can't handle SDIO IRQ properly. Give a way to > disable it. > > Signed-off-by: Olof Johansson <olof@xxxxxxxxx> > --- > drivers/mmc/host/sdhci.c | 6 +++++- > include/linux/mmc/sdhci.h | 2 ++ > 2 files changed, 7 insertions(+), 1 deletions(-) > > diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c > index c0094c1..98f3d3d 100644 > --- a/drivers/mmc/host/sdhci.c > +++ b/drivers/mmc/host/sdhci.c > @@ -1871,7 +1871,10 @@ int sdhci_add_host(struct sdhci_host *host) > mmc->f_min = host->max_clk / SDHCI_MAX_DIV_SPEC_200; > > mmc->f_max = host->max_clk; > - mmc->caps |= MMC_CAP_SDIO_IRQ; > + mmc->caps = 0; That would clear flags already set in custom probe functions (check sdhci-pxa) for example. > + > + if (!(host->quirks & SDHCI_QUIRK_NO_SDIO_IRQ)) > + mmc->caps |= MMC_CAP_SDIO_IRQ; As we are running out of quirk-bits, can you imagine a solution without a quirk (same for the other patch)? Kind regards, Wolfram -- Pengutronix e.K. | Wolfram Sang | Industrial Linux Solutions | http://www.pengutronix.de/ |
Attachment:
signature.asc
Description: Digital signature