Messages in this thread |  | | Date | Sun, 7 Sep 2008 23:52:28 +0200 | | From | Michał Mirosław <> | | Subject | MMC host driver requirements |
| |
Hello,
I'm writing a driver for ENE CB710/720 memory card readers found in some laptops (ie. some versions of HP Compaq nx9500). This chip has three memory card interfaces: MMC/SD, SmartMedia, MemoryStick. I started with the MMC interface as I have a card to test it with, but I could not find any documentation about MMC stack besides the source code.
So here are some questions:
1. Can I call mmc_detect_change() after mmc_alloc_host() but before or during mmc_add_host() (ie. from interrupt handler)? If yes, what if mmc_alloc_host() fails then? 2. Can I call mmc_request_done() from ->request() handler? 3. Does MMC stack serialize calls to ->request() or any other host driver ops? 4. What is the difference (if any) between mrq->data and mrq->cmd->data as seen from ->request()? 5. Are there any constraints to scatterlist passed to ->request() - number of elements, data alignment, element data size? (At first I assumed that there are none and have writted a simple wrapper to guarantee multiple-of-16-byte data blocks - but maybe its just not needed?)
If/when I finish the driver there is the question what are the requirements for it to be accepted to mainline? It's based on reverse-engineering work on a Windows driver so it will have some magic register-access sequences, as the original driver used completely different MMC/SD stack and probably not fully used chip's capabilities.
BTW, Google said nothing interesting about the hardware: most hits are about not existing drivers for it and manufacturer ignoring inquiries for datasheets.
Best Regards, Michał Mirosław -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |