On Monday, July 8, 2013, Minkyu Kang wrote: > On 04/07/13 19:52, Lukasz Majewski wrote: > > From: Arkadiusz Wlodarczyk <a.wlodarc...@samsung.com <javascript:;>> > > > > This commit enables support for USB mass storage composite function. > > It defines platform code and enables it at config file. > > > > Signed-off-by: Arkadiusz Wlodarczyk <a.wlodarc...@samsung.com<javascript:;> > > > > Signed-off-by: Kyungmin Park <kyungmin.p...@samsung.com <javascript:;>> > > Tested-by: Arkadiusz Wlodarczyk <a.wlodarc...@samsung.com <javascript:;> > > > > Cc: Minkyu Kang <mk7.k...@samsung.com <javascript:;>> > > --- > > board/samsung/goni/goni.c | 68 > ++++++++++++++++++++++++++++++++++++++++++++ > > include/configs/s5p_goni.h | 5 ++++ > > 2 files changed, 73 insertions(+) > > > > please run checkpatch before submitting. > > CHECK: Alignment should match open parenthesis > #51: FILE: board/samsung/goni/goni.c:173: > + if (ums_dev->mmc->block_dev.block_read(ums_dev->dev_num, > + start + ums_dev->offset, blkcnt, buf) != blkcnt) > > CHECK: Alignment should match open parenthesis > #61: FILE: board/samsung/goni/goni.c:183: > + if (ums_dev->mmc->block_dev.block_write(ums_dev->dev_num, > + start + ums_dev->offset, blkcnt, buf) != blkcnt) > > total: 0 errors, 0 warnings, 2 checks, 86 lines checked > > > diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c > > index 3c53106..a09daca 100644 > > --- a/board/samsung/goni/goni.c > > +++ b/board/samsung/goni/goni.c > > @@ -29,6 +29,7 @@ > > #include <usb/s3c_udc.h> > > #include <asm/arch/cpu.h> > > #include <power/max8998_pmic.h> > > +#include <usb_mass_storage.h> > > DECLARE_GLOBAL_DATA_PTR; > > > > static struct s5pc110_gpio *s5pc110_gpio; > > @@ -163,3 +164,70 @@ void board_usb_init(void) > > } > > > > #endif > > + > > +#ifdef CONFIG_USB_GADGET_MASS_STORAGE > > +static int ums_read_sector(struct ums_device *ums_dev, > > + ulong start, lbaint_t blkcnt, void *buf) > > +{ > > + if (ums_dev->mmc->block_dev.block_read(ums_dev->dev_num, > > + start + ums_dev->offset, blkcnt, buf) != blkcnt) > > + return -1; > > + > > + return 0; > > +} > > + > > +static int ums_write_sector(struct ums_device *ums_dev, > > + ulong start, lbaint_t blkcnt, const void > *buf) > > +{ > > + if (ums_dev->mmc->block_dev.block_write(ums_dev->dev_num, > > + start + ums_dev->offset, blkcnt, buf) != blkcnt) > > + return -1; > > indentation error. > > > + > > + return 0; > > +} > > + > > +static void ums_get_capacity(struct ums_device *ums_dev, > > + long long int *capacity) > > +{ > > + long long int tmp_capacity; > > + > > + tmp_capacity = (long long int) ((ums_dev->offset + > ums_dev->part_size) > > + * SECTOR_SIZE); > > + *capacity = ums_dev->mmc->capacity - tmp_capacity; > > +} > > + > > +static struct ums_board_info ums_board = { > > + .read_sector = ums_read_sector, > > + .write_sector = ums_write_sector, > > + .get_capacity = ums_get_capacity, > > + .name = "GONI UMS disk", > > + .ums_dev = { > > + .mmc = NULL, > > + .dev_num = 0, > > + .offset = 0, > > + .part_size = 0. > > + }, > > +}; > > + > > +struct ums_board_info *board_ums_init(unsigned int dev_num, unsigned > int offset, > > + unsigned int part_size) > > +{ > > + struct mmc *mmc; > > + > > + mmc = find_mmc_device(dev_num); > > + /* mmc initialization is necessary prior to the ums command usage > > + * due to fact that on goni target environment is read from oneNand > > + * memory, so the mmc remains uninitialized whenu-boot prompt > appears > > + * */
please fix multiline comment style. > > + if (!mmc || mmc_init(mmc)) > > + return NULL; > > + > > + ums_board.ums_dev.mmc = mmc; > > + ums_board.ums_dev.dev_num = dev_num; > > + ums_board.ums_dev.offset = offset; > > + ums_board.ums_dev.part_size = part_size; > > + > > + return &ums_board; > > +} > > + > > +#endif > > diff --git a/include/configs/s5p_goni.h b/include/configs/s5p_goni.h > > index e8f2639..1cfbb88 100644 > > --- a/include/configs/s5p_goni.h > > +++ b/include/configs/s5p_goni.h > > @@ -269,4 +269,9 @@ > > #define CONFIG_USB_GADGET_DUALSPEED > > #define CONFIG_USB_GADGET_VBUS_DRAW 2 > > > > +#define CONFIG_CMD_USB_MASS_STORAGE > > +#if defined(CONFIG_CMD_USB_MASS_STORAGE) > > unnecessary ifdef. > this file is board specific and we already knew that > CONFIG_CMD_USB_MASS_STORAGE is defined. > > > +#define CONFIG_USB_GADGET_MASS_STORAGE > > +#endif > > + > > #endif /* __CONFIG_H */ > > > > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de <javascript:;> > http://lists.denx.de/mailman/listinfo/u-boot > -- Thanks. Minkyu Kang.
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot