The following set of patches remove demoboard-specific code from the
au1xmmc.c driver and adds new features.
My main motivation was to let boards implement other carddetect schemes,
since on one of my boards the driver-implemented poll timer doesn't work
for some unknown reason. But this board does have a dedicated carddetect
IRQ and card-present/card-readonly indicators which are incompatible with
the Db1200 implementation.
I also took the opportunity to clean up the drivers probe() and irq()
handlers to make it a "proper" platform device (patches #3 and #4)
and add a few other features.
Patch #1 is required to get the driver to build as a module.
Patch #2 is required to be able to load/unload the driver > 16 times.
Patches #5 and #6 implement new features.
Patch #7 does a little codingstyle cleanup, no functional changes.
Patch #8 adds an optimization to the request callback.
Patch #9 adds back pb1200 MMC activity LED support (patch #3 removes it).
patches #3-#9 are intended to be applied on top of each other, against
current mainline git (2.6.23-rc3).
Changes since V2:
- address almost all Sergei Shtylyov's comments:
pb1200/db1200 mmc device registration moved back to original location,
remove the au1xmmc.h header as part of codingstyle cleanup
- 2 more patches (#8, #9)
Changes since V1:
- fix a bug in patch #6: SDIO irq should be checked for independently
from other irq events.
- more trivial cleanups
Db1200 users, please test! I verified the poll timer works on one of
older boards, however since I don't have Db1200 and Pb1200 boards I'm
not sure whether the driver still works with both SD controllers enabled!