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 <o...@lixom.net>
> ---
>  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

Reply via email to