There have been some attempts to add FFU (field firmware update). The last AFAIK in Nov 2014, http://www.spinics.net/lists/linux-mmc/msg29324.html But it seems that the committers weren't persistent enought. I took the liberty to take Avi's patch and make it hopefully maintainer-review friendly. The first 5 patches just move functions out of mmc_test.c into core.c. Those functions will later be used by both mmc_test.c and mmc_ffu.c. Contrary to Avi's patch I didn't add static helper functions to mmc_test.c, e.g. there's no mmc_test_prepare_mrq() that calls mmc_prepare_mrq(). It's simpler to call mmc_prepare_mrq() directly. It's just one more dereference from *mmc_card to *mmc_test_card anyway. The patch [6/6] is http://www.spinics.net/lists/linux-mmc/msg29326.html, but with less checkpatch warnings. And it doesn't use mmc_send_ext_csd() anymore, which has been deleted since November. I'm sending this patch as RFC now. It compiles (for me). But I get the firmware update file from Kingston only next Tuesday. That means that so far I haven't been testing it. It won't do anything without the proper user-space command in mmc-utils anyway :-) Comments welcome (I intent to get this patch into the kernel) The patch is against Linux GIT (v4.3-11748-g46d862b). Holger drivers/mmc/card/Kconfig | 11 + drivers/mmc/card/Makefile | 1 + drivers/mmc/card/block.c | 5 + drivers/mmc/card/mmc_ffu.c | 489 ++++++++++++++++++++++++++++++++++++++++++++ drivers/mmc/card/mmc_test.c | 235 +++++---------------- drivers/mmc/core/core.c | 134 ++++++++++++ drivers/mmc/core/mmc_ops.c | 4 +- include/linux/mmc/card.h | 1 + include/linux/mmc/core.h | 41 ++++ include/linux/mmc/mmc.h | 6 + 10 files changed, 739 insertions(+), 188 deletions(-) create mode 100644 drivers/mmc/card/mmc_ffu.c -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html