From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Rini Date: Tue, 3 Jul 2012 14:55:26 -0700 Subject: [U-Boot] [PATCH 4/7] dfu: MMC specific routines for DFU operation In-Reply-To: <201207032329.31846.marex@denx.de> References: <1341308291-14663-1-git-send-email-l.majewski@samsung.com> <1341308291-14663-5-git-send-email-l.majewski@samsung.com> <201207032329.31846.marex@denx.de> Message-ID: <20120703215526.GB15962@bill-the-cat> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Tue, Jul 03, 2012 at 11:29:31PM +0200, Marek Vasut wrote: > Dear Lukasz Majewski, > > > Support for MMC storage devices to work with DFU framework. > > > > Signed-off-by: Lukasz Majewski > > Signed-off-by: Kyungmin Park > > Cc: Marek Vasut > > --- > > [...] > > > + > > +#include > > +#include > > +#include > > + > > +int dfu_write_medium_mmc(struct dfu_entity *dfu, void *buf, long *len) > > +{ > > + ALLOC_CACHE_ALIGN_BUFFER(char, cmd_buf, DFU_CMD_BUF_SIZE); > > + > > + memset(cmd_buf, '\0', sizeof(cmd_buf)); > > + > > + switch (dfu->layout) { > > + case RAW_ADDR: > > + sprintf(cmd_buf, "mmc write 0x%x %x %x", (unsigned int) buf, > > + dfu->data.mmc.lba_start, dfu->data.mmc.lba_size); > > + break; > > + case FAT: > > + sprintf(cmd_buf, "fatwrite mmc %d:%d 0x%x %s %lx", > > + dfu->data.mmc.dev, dfu->data.mmc.part, > > + (unsigned int) buf, dfu->name, *len); > > + break; > > + default: > > + printf("%s: Wrong layout!\n", __func__); > > + } > > + > > + debug("%s: %s 0x%p\n", __func__, cmd_buf, cmd_buf); > > + run_command(cmd_buf, 0); > > Holy Moly ... can we not make this into simple calls to those subsystems ? > Instead invoking command is crazy ;-) Are they really simple? There's a few other places we do this, and so long as it's documented that DFU depends on CONFIG_FAT_WRITE for writing to fat and so forth. -- Tom