Au1xxx MMC driver

From: Jordan Crouse
Date: Mon Oct 31 2005 - 11:38:02 EST


(Sucked off of gmane):

>> 1. au1xxx mmc driver
>>
>> mmc_remove_host() does a safe shutdown of the MMC host, removing
>> cards and then powering down. This must be called prior to the
>> driver thinking of tearing anything down.
>>
>> As for those disable_irq()...enable_irq(), are you aware that MMC
>> can start talking to the host as soon as you've called mmc_add_host() ?
>>

> I'm also concerned about the ammount of protocol awareness in this
> driver. Is there a spec available for this hardware? Perhaps the MMC
> layer can export more information so that we can avoid switches on
> specific MMC commands?

Spec is here:

http://tinyurl.com/dslkv (Horribly long URL and registration required,
unfortunately).

In this case, the controller needs to be specifically told what command
and response type it should expect, thus the opcode switch.
I don't really think this is an unreasonable demand to be put on the
hardware driver, and its certainly way more HW specific then the upper
layers need to be.

As for Russell's comments - yes, the mm_remove_host() should be called
first, thats my ugly. As for the second one - we haven't had problems
so far with enabling the interrupt after the mmc_add_host() command -
but I can see how its entirely possible thats just a result of luck, and
not skill. I'll look in to ways to fix that up.

Jordan
--
Jordan Crouse
Senior Linux Engineer
AMD - Personal Connectivity Solutions Group
<www.amd.com/embeddedprocessors>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/