From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Wed, 4 Jul 2012 00:01:27 +0200 Subject: [U-Boot] [PATCH 4/7] dfu: MMC specific routines for DFU operation In-Reply-To: <20120703215526.GB15962@bill-the-cat> References: <1341308291-14663-1-git-send-email-l.majewski@samsung.com> <201207032329.31846.marex@denx.de> <20120703215526.GB15962@bill-the-cat> Message-ID: <201207040001.27997.marex@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Dear Tom Rini, > 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. Well ain't it easier to call fat_write() or similar? Best regards, Marek Vasut