* [U-Boot] [PATCH] arm:mmc:goni/exynos: Fix wrong mmc base register devices offset.
@ 2013-09-03 12:57 Przemyslaw Marczak
2013-09-03 12:57 ` [U-Boot] [PATCH] ums: Add "dev num" parameter. Check mmc device before do ums init Przemyslaw Marczak
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Przemyslaw Marczak @ 2013-09-03 12:57 UTC (permalink / raw)
To: u-boot
On s5pc1xx mmc devices offset is multiply of 0x100000,
wrong value was 0x10000. Register offset always points
to mmc 0 before this change.
Add macro definition of mmc dev register offset to s5pc1xx and
exynos mmc.
Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
CC: Minkyu Kang <mk7.kang@samsung.com>
Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
---
arch/arm/include/asm/arch-exynos/mmc.h | 6 +++++-
arch/arm/include/asm/arch-s5pc1xx/mmc.h | 6 +++++-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/arch/arm/include/asm/arch-exynos/mmc.h b/arch/arm/include/asm/arch-exynos/mmc.h
index 96610b8..98312d1 100644
--- a/arch/arm/include/asm/arch-exynos/mmc.h
+++ b/arch/arm/include/asm/arch-exynos/mmc.h
@@ -8,6 +8,8 @@
#ifndef __ASM_ARCH_MMC_H_
#define __ASM_ARCH_MMC_H_
+#define S5P_MMC_DEV_OFFSET 0x10000
+
#define SDHCI_CONTROL2 0x80
#define SDHCI_CONTROL3 0x84
#define SDHCI_CONTROL4 0x8C
@@ -55,7 +57,9 @@ int s5p_sdhci_init(u32 regbase, int index, int bus_width);
static inline unsigned int s5p_mmc_init(int index, int bus_width)
{
- unsigned int base = samsung_get_base_mmc() + (0x10000 * index);
+ unsigned int base = samsung_get_base_mmc() +
+ (S5P_MMC_DEV_OFFSET * index);
+
return s5p_sdhci_init(base, index, bus_width);
}
#endif
diff --git a/arch/arm/include/asm/arch-s5pc1xx/mmc.h b/arch/arm/include/asm/arch-s5pc1xx/mmc.h
index 96610b8..55ff10b 100644
--- a/arch/arm/include/asm/arch-s5pc1xx/mmc.h
+++ b/arch/arm/include/asm/arch-s5pc1xx/mmc.h
@@ -8,6 +8,8 @@
#ifndef __ASM_ARCH_MMC_H_
#define __ASM_ARCH_MMC_H_
+#define S5P_MMC_DEV_OFFSET 0x100000
+
#define SDHCI_CONTROL2 0x80
#define SDHCI_CONTROL3 0x84
#define SDHCI_CONTROL4 0x8C
@@ -55,7 +57,9 @@ int s5p_sdhci_init(u32 regbase, int index, int bus_width);
static inline unsigned int s5p_mmc_init(int index, int bus_width)
{
- unsigned int base = samsung_get_base_mmc() + (0x10000 * index);
+ unsigned int base = samsung_get_base_mmc() +
+ (S5P_MMC_DEV_OFFSET * index);
+
return s5p_sdhci_init(base, index, bus_width);
}
#endif
--
1.7.9.5
^ permalink raw reply related [flat|nested] 8+ messages in thread* [U-Boot] [PATCH] ums: Add "dev num" parameter. Check mmc device before do ums init. 2013-09-03 12:57 [U-Boot] [PATCH] arm:mmc:goni/exynos: Fix wrong mmc base register devices offset Przemyslaw Marczak @ 2013-09-03 12:57 ` Przemyslaw Marczak 2013-09-03 22:26 ` Marek Vasut 2013-09-09 8:05 ` [U-Boot] [PATCH] arm:mmc:goni/exynos: Fix wrong mmc base register devices offset Przemyslaw Marczak 2013-09-11 1:53 ` Minkyu Kang 2 siblings, 1 reply; 8+ messages in thread From: Przemyslaw Marczak @ 2013-09-03 12:57 UTC (permalink / raw) To: u-boot This change allows using every mmc device instance with ums, like eMMC or SD cards. Now MMC device is checked before ums is inited. Example of use: ums <device_number> for mmc devices. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> CC: Marek Vasut <marek.vasut@gmail.com> --- board/samsung/trats/trats.c | 12 +++--------- common/cmd_usb_mass_storage.c | 30 ++++++++++++++---------------- include/usb_mass_storage.h | 4 ++-- 3 files changed, 19 insertions(+), 27 deletions(-) diff --git a/board/samsung/trats/trats.c b/board/samsung/trats/trats.c index 7f61d17..b7f7b05 100644 --- a/board/samsung/trats/trats.c +++ b/board/samsung/trats/trats.c @@ -816,17 +816,11 @@ static struct ums_board_info ums_board = { }, }; -struct ums_board_info *board_ums_init(unsigned int dev_num, unsigned int offset, - unsigned int part_size) +struct ums_board_info *board_ums_init(struct mmc *mmc, unsigned int offset, + unsigned int part_size) { - struct mmc *mmc; - - mmc = find_mmc_device(dev_num); - if (!mmc) - return NULL; - ums_board.ums_dev.mmc = mmc; - ums_board.ums_dev.dev_num = dev_num; + ums_board.ums_dev.dev_num = mmc->block_dev.dev; ums_board.ums_dev.offset = offset; ums_board.ums_dev.part_size = part_size; diff --git a/common/cmd_usb_mass_storage.c b/common/cmd_usb_mass_storage.c index 33a4715..62c1308 100644 --- a/common/cmd_usb_mass_storage.c +++ b/common/cmd_usb_mass_storage.c @@ -14,6 +14,7 @@ int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { + struct mmc *mmc = NULL; char *ep; unsigned int dev_num = 0, offset = 0, part_size = 0; int rc; @@ -21,29 +22,29 @@ int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag, struct ums_board_info *ums_info; static char *s = "ums"; - if (argc < 2) { - printf("usage: ums <dev> - e.g. ums 0\n"); - return 0; - } + if (argc < 2) + return CMD_RET_USAGE; dev_num = (int)simple_strtoul(argv[1], &ep, 16); - if (dev_num) { - puts("\nSet eMMC device to 0! - e.g. ums 0\n"); - goto fail; + mmc = find_mmc_device(dev_num); + if (!mmc) { + printf("UMS error: invalid mmc device num: %d.\n", dev_num); + return CMD_RET_FAILURE; } board_usb_init(); - ums_info = board_ums_init(dev_num, offset, part_size); + ums_info = board_ums_init(mmc, offset, part_size); if (!ums_info) { - printf("MMC: %d -> NOT available\n", dev_num); - goto fail; + printf("UMS is not supported on this board.\n"); + return CMD_RET_FAILURE; } + rc = fsg_init(ums_info); if (rc) { printf("cmd ums: fsg_init failed\n"); - goto fail; + return CMD_RET_FAILURE; } g_dnl_register(s); @@ -61,13 +62,10 @@ int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag, } exit: g_dnl_unregister(); - return 0; - -fail: - return -1; + return CMD_RET_SUCCESS; } U_BOOT_CMD(ums, CONFIG_SYS_MAXARGS, 1, do_usb_mass_storage, "Use the UMS [User Mass Storage]", - "ums - User Mass Storage Gadget" + "ums <dev> e.g. ums 0" ); diff --git a/include/usb_mass_storage.h b/include/usb_mass_storage.h index 35cdcc3..0f94f31 100644 --- a/include/usb_mass_storage.h +++ b/include/usb_mass_storage.h @@ -34,8 +34,8 @@ extern void board_usb_init(void); extern int fsg_init(struct ums_board_info *); extern void fsg_cleanup(void); -extern struct ums_board_info *board_ums_init(unsigned int, - unsigned int, unsigned int); +extern struct ums_board_info *board_ums_init(struct mmc *, unsigned int, + unsigned int); extern int usb_gadget_handle_interrupts(void); extern int fsg_main_thread(void *); -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH] ums: Add "dev num" parameter. Check mmc device before do ums init. 2013-09-03 12:57 ` [U-Boot] [PATCH] ums: Add "dev num" parameter. Check mmc device before do ums init Przemyslaw Marczak @ 2013-09-03 22:26 ` Marek Vasut 2013-09-04 9:57 ` Przemyslaw Marczak 0 siblings, 1 reply; 8+ messages in thread From: Marek Vasut @ 2013-09-03 22:26 UTC (permalink / raw) To: u-boot Dear Przemyslaw Marczak, > This change allows using every mmc device instance with ums, like eMMC > or SD cards. Now MMC device is checked before ums is inited. > > Example of use: ums <device_number> for mmc devices. > > Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> > CC: Marek Vasut <marek.vasut@gmail.com> > --- > board/samsung/trats/trats.c | 12 +++--------- > common/cmd_usb_mass_storage.c | 30 ++++++++++++++---------------- > include/usb_mass_storage.h | 4 ++-- > 3 files changed, 19 insertions(+), 27 deletions(-) > > diff --git a/board/samsung/trats/trats.c b/board/samsung/trats/trats.c > index 7f61d17..b7f7b05 100644 > --- a/board/samsung/trats/trats.c > +++ b/board/samsung/trats/trats.c > @@ -816,17 +816,11 @@ static struct ums_board_info ums_board = { > }, > }; > > -struct ums_board_info *board_ums_init(unsigned int dev_num, unsigned int > offset, - unsigned int part_size) > +struct ums_board_info *board_ums_init(struct mmc *mmc, unsigned int > offset, + unsigned int part_size) > { > - struct mmc *mmc; > - > - mmc = find_mmc_device(dev_num); > - if (!mmc) > - return NULL; > - > ums_board.ums_dev.mmc = mmc; > - ums_board.ums_dev.dev_num = dev_num; > + ums_board.ums_dev.dev_num = mmc->block_dev.dev; You already pass "mmc", why pass mmc->block_dev.dev too? Is it not a little redundant? > ums_board.ums_dev.offset = offset; > ums_board.ums_dev.part_size = part_size; > > diff --git a/common/cmd_usb_mass_storage.c b/common/cmd_usb_mass_storage.c > index 33a4715..62c1308 100644 > --- a/common/cmd_usb_mass_storage.c > +++ b/common/cmd_usb_mass_storage.c > @@ -14,6 +14,7 @@ > int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag, > int argc, char * const argv[]) > { > + struct mmc *mmc = NULL; > char *ep; > unsigned int dev_num = 0, offset = 0, part_size = 0; > int rc; > @@ -21,29 +22,29 @@ int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag, > struct ums_board_info *ums_info; > static char *s = "ums"; > > - if (argc < 2) { > - printf("usage: ums <dev> - e.g. ums 0\n"); > - return 0; > - } > + if (argc < 2) > + return CMD_RET_USAGE; UMS works on MMC devices only right now? > dev_num = (int)simple_strtoul(argv[1], &ep, 16); > > - if (dev_num) { > - puts("\nSet eMMC device to 0! - e.g. ums 0\n"); > - goto fail; > + mmc = find_mmc_device(dev_num); > + if (!mmc) { > + printf("UMS error: invalid mmc device num: %d.\n", dev_num); > + return CMD_RET_FAILURE; > } > > board_usb_init(); > - ums_info = board_ums_init(dev_num, offset, part_size); > > + ums_info = board_ums_init(mmc, offset, part_size); > if (!ums_info) { > - printf("MMC: %d -> NOT available\n", dev_num); > - goto fail; > + printf("UMS is not supported on this board.\n"); puts() > + return CMD_RET_FAILURE; > } > + > rc = fsg_init(ums_info); > if (rc) { > printf("cmd ums: fsg_init failed\n"); > - goto fail; > + return CMD_RET_FAILURE; > } > > g_dnl_register(s); > @@ -61,13 +62,10 @@ int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag, > } > exit: > g_dnl_unregister(); > - return 0; > - > -fail: > - return -1; > + return CMD_RET_SUCCESS; > } > > U_BOOT_CMD(ums, CONFIG_SYS_MAXARGS, 1, do_usb_mass_storage, > "Use the UMS [User Mass Storage]", > - "ums - User Mass Storage Gadget" > + "ums <dev> e.g. ums 0" > ); > diff --git a/include/usb_mass_storage.h b/include/usb_mass_storage.h > index 35cdcc3..0f94f31 100644 > --- a/include/usb_mass_storage.h > +++ b/include/usb_mass_storage.h > @@ -34,8 +34,8 @@ extern void board_usb_init(void); > > extern int fsg_init(struct ums_board_info *); > extern void fsg_cleanup(void); > -extern struct ums_board_info *board_ums_init(unsigned int, > - unsigned int, unsigned int); > +extern struct ums_board_info *board_ums_init(struct mmc *, unsigned int, > + unsigned int); > extern int usb_gadget_handle_interrupts(void); > extern int fsg_main_thread(void *); Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH] ums: Add "dev num" parameter. Check mmc device before do ums init. 2013-09-03 22:26 ` Marek Vasut @ 2013-09-04 9:57 ` Przemyslaw Marczak 2013-09-04 12:34 ` Marek Vasut 0 siblings, 1 reply; 8+ messages in thread From: Przemyslaw Marczak @ 2013-09-04 9:57 UTC (permalink / raw) To: u-boot Hello Marek, Thank you for reply. On 09/04/2013 12:26 AM, Marek Vasut wrote: > Dear Przemyslaw Marczak, > >> This change allows using every mmc device instance with ums, like eMMC >> or SD cards. Now MMC device is checked before ums is inited. >> >> Example of use: ums <device_number> for mmc devices. >> >> Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> >> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> >> CC: Marek Vasut <marek.vasut@gmail.com> >> --- >> board/samsung/trats/trats.c | 12 +++--------- >> common/cmd_usb_mass_storage.c | 30 ++++++++++++++---------------- >> include/usb_mass_storage.h | 4 ++-- >> 3 files changed, 19 insertions(+), 27 deletions(-) >> >> diff --git a/board/samsung/trats/trats.c b/board/samsung/trats/trats.c >> index 7f61d17..b7f7b05 100644 >> --- a/board/samsung/trats/trats.c >> +++ b/board/samsung/trats/trats.c >> @@ -816,17 +816,11 @@ static struct ums_board_info ums_board = { >> }, >> }; >> >> -struct ums_board_info *board_ums_init(unsigned int dev_num, unsigned int >> offset, - unsigned int part_size) >> +struct ums_board_info *board_ums_init(struct mmc *mmc, unsigned int >> offset, + unsigned int part_size) >> { >> - struct mmc *mmc; >> - >> - mmc = find_mmc_device(dev_num); >> - if (!mmc) >> - return NULL; >> - >> ums_board.ums_dev.mmc = mmc; >> - ums_board.ums_dev.dev_num = dev_num; >> + ums_board.ums_dev.dev_num = mmc->block_dev.dev; > > You already pass "mmc", why pass mmc->block_dev.dev too? Is it not a little > redundant? > You are right, it is little redundant but pointer to this structure is returned so we expect that structure fields were proper filled, right? >> ums_board.ums_dev.offset = offset; >> ums_board.ums_dev.part_size = part_size; >> >> diff --git a/common/cmd_usb_mass_storage.c b/common/cmd_usb_mass_storage.c >> index 33a4715..62c1308 100644 >> --- a/common/cmd_usb_mass_storage.c >> +++ b/common/cmd_usb_mass_storage.c >> @@ -14,6 +14,7 @@ >> int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag, >> int argc, char * const argv[]) >> { >> + struct mmc *mmc = NULL; >> char *ep; >> unsigned int dev_num = 0, offset = 0, part_size = 0; >> int rc; >> @@ -21,29 +22,29 @@ int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag, >> struct ums_board_info *ums_info; >> static char *s = "ums"; >> >> - if (argc < 2) { >> - printf("usage: ums <dev> - e.g. ums 0\n"); >> - return 0; >> - } >> + if (argc < 2) >> + return CMD_RET_USAGE; > > UMS works on MMC devices only right now? > Yes, it is. >> dev_num = (int)simple_strtoul(argv[1], &ep, 16); >> >> - if (dev_num) { >> - puts("\nSet eMMC device to 0! - e.g. ums 0\n"); >> - goto fail; >> + mmc = find_mmc_device(dev_num); >> + if (!mmc) { >> + printf("UMS error: invalid mmc device num: %d.\n", dev_num); >> + return CMD_RET_FAILURE; >> } >> >> board_usb_init(); >> - ums_info = board_ums_init(dev_num, offset, part_size); >> >> + ums_info = board_ums_init(mmc, offset, part_size); >> if (!ums_info) { >> - printf("MMC: %d -> NOT available\n", dev_num); >> - goto fail; >> + printf("UMS is not supported on this board.\n"); > > puts() > Right, I will change it in patch v2. >> + return CMD_RET_FAILURE; >> } >> + >> rc = fsg_init(ums_info); >> if (rc) { >> printf("cmd ums: fsg_init failed\n"); >> - goto fail; >> + return CMD_RET_FAILURE; >> } >> >> g_dnl_register(s); >> @@ -61,13 +62,10 @@ int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag, >> } >> exit: >> g_dnl_unregister(); >> - return 0; >> - >> -fail: >> - return -1; >> + return CMD_RET_SUCCESS; >> } >> >> U_BOOT_CMD(ums, CONFIG_SYS_MAXARGS, 1, do_usb_mass_storage, >> "Use the UMS [User Mass Storage]", >> - "ums - User Mass Storage Gadget" >> + "ums <dev> e.g. ums 0" >> ); >> diff --git a/include/usb_mass_storage.h b/include/usb_mass_storage.h >> index 35cdcc3..0f94f31 100644 >> --- a/include/usb_mass_storage.h >> +++ b/include/usb_mass_storage.h >> @@ -34,8 +34,8 @@ extern void board_usb_init(void); >> >> extern int fsg_init(struct ums_board_info *); >> extern void fsg_cleanup(void); >> -extern struct ums_board_info *board_ums_init(unsigned int, >> - unsigned int, unsigned int); >> +extern struct ums_board_info *board_ums_init(struct mmc *, unsigned int, >> + unsigned int); >> extern int usb_gadget_handle_interrupts(void); >> extern int fsg_main_thread(void *); > > Best regards, > Marek Vasut > Thank you, -- Przemyslaw Marczak Samsung R&D Institute Poland Samsung Electronics p.marczak at samsung.com ^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH] ums: Add "dev num" parameter. Check mmc device before do ums init. 2013-09-04 9:57 ` Przemyslaw Marczak @ 2013-09-04 12:34 ` Marek Vasut 2013-09-04 14:01 ` Przemyslaw Marczak 0 siblings, 1 reply; 8+ messages in thread From: Marek Vasut @ 2013-09-04 12:34 UTC (permalink / raw) To: u-boot Dear Przemyslaw Marczak, > Hello Marek, > Thank you for reply. > > On 09/04/2013 12:26 AM, Marek Vasut wrote: > > Dear Przemyslaw Marczak, > > > >> This change allows using every mmc device instance with ums, like eMMC > >> or SD cards. Now MMC device is checked before ums is inited. > >> > >> Example of use: ums <device_number> for mmc devices. > >> > >> Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> > >> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> > >> CC: Marek Vasut <marek.vasut@gmail.com> > >> --- > >> > >> board/samsung/trats/trats.c | 12 +++--------- > >> common/cmd_usb_mass_storage.c | 30 ++++++++++++++---------------- > >> include/usb_mass_storage.h | 4 ++-- > >> 3 files changed, 19 insertions(+), 27 deletions(-) > >> > >> diff --git a/board/samsung/trats/trats.c b/board/samsung/trats/trats.c > >> index 7f61d17..b7f7b05 100644 > >> --- a/board/samsung/trats/trats.c > >> +++ b/board/samsung/trats/trats.c > >> @@ -816,17 +816,11 @@ static struct ums_board_info ums_board = { > >> > >> }, > >> > >> }; > >> > >> -struct ums_board_info *board_ums_init(unsigned int dev_num, unsigned > >> int offset, - unsigned int part_size) > >> +struct ums_board_info *board_ums_init(struct mmc *mmc, unsigned int > >> offset, + unsigned int part_size) > >> > >> { > >> > >> - struct mmc *mmc; > >> - > >> - mmc = find_mmc_device(dev_num); > >> - if (!mmc) > >> - return NULL; > >> - > >> > >> ums_board.ums_dev.mmc = mmc; > >> > >> - ums_board.ums_dev.dev_num = dev_num; > >> + ums_board.ums_dev.dev_num = mmc->block_dev.dev; > > > > You already pass "mmc", why pass mmc->block_dev.dev too? Is it not a > > little redundant? > > You are right, it is little redundant but pointer to this structure is > returned so we expect that structure fields were proper filled, right? Why not just remove the dev_num field ? The UMS core can retrieve that information itself. [...] Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH] ums: Add "dev num" parameter. Check mmc device before do ums init. 2013-09-04 12:34 ` Marek Vasut @ 2013-09-04 14:01 ` Przemyslaw Marczak 0 siblings, 0 replies; 8+ messages in thread From: Przemyslaw Marczak @ 2013-09-04 14:01 UTC (permalink / raw) To: u-boot On 09/04/2013 02:34 PM, Marek Vasut wrote: > Dear Przemyslaw Marczak, > >> Hello Marek, >> Thank you for reply. >> >> On 09/04/2013 12:26 AM, Marek Vasut wrote: >>> Dear Przemyslaw Marczak, >>> >>>> This change allows using every mmc device instance with ums, like eMMC >>>> or SD cards. Now MMC device is checked before ums is inited. >>>> >>>> Example of use: ums <device_number> for mmc devices. >>>> >>>> Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> >>>> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> >>>> CC: Marek Vasut <marek.vasut@gmail.com> >>>> --- >>>> >>>> board/samsung/trats/trats.c | 12 +++--------- >>>> common/cmd_usb_mass_storage.c | 30 ++++++++++++++---------------- >>>> include/usb_mass_storage.h | 4 ++-- >>>> 3 files changed, 19 insertions(+), 27 deletions(-) >>>> >>>> diff --git a/board/samsung/trats/trats.c b/board/samsung/trats/trats.c >>>> index 7f61d17..b7f7b05 100644 >>>> --- a/board/samsung/trats/trats.c >>>> +++ b/board/samsung/trats/trats.c >>>> @@ -816,17 +816,11 @@ static struct ums_board_info ums_board = { >>>> >>>> }, >>>> >>>> }; >>>> >>>> -struct ums_board_info *board_ums_init(unsigned int dev_num, unsigned >>>> int offset, - unsigned int part_size) >>>> +struct ums_board_info *board_ums_init(struct mmc *mmc, unsigned int >>>> offset, + unsigned int part_size) >>>> >>>> { >>>> >>>> - struct mmc *mmc; >>>> - >>>> - mmc = find_mmc_device(dev_num); >>>> - if (!mmc) >>>> - return NULL; >>>> - >>>> >>>> ums_board.ums_dev.mmc = mmc; >>>> >>>> - ums_board.ums_dev.dev_num = dev_num; >>>> + ums_board.ums_dev.dev_num = mmc->block_dev.dev; >>> >>> You already pass "mmc", why pass mmc->block_dev.dev too? Is it not a >>> little redundant? >> >> You are right, it is little redundant but pointer to this structure is >> returned so we expect that structure fields were proper filled, right? > > Why not just remove the dev_num field ? The UMS core can retrieve that > information itself. > > [...] > > Best regards, > Marek Vasut > Hello, I'm making little UMS code refactor now. I will consider your suggestion. Regards, -- Przemyslaw Marczak Samsung R&D Institute Poland Samsung Electronics p.marczak at samsung.com ^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH] arm:mmc:goni/exynos: Fix wrong mmc base register devices offset. 2013-09-03 12:57 [U-Boot] [PATCH] arm:mmc:goni/exynos: Fix wrong mmc base register devices offset Przemyslaw Marczak 2013-09-03 12:57 ` [U-Boot] [PATCH] ums: Add "dev num" parameter. Check mmc device before do ums init Przemyslaw Marczak @ 2013-09-09 8:05 ` Przemyslaw Marczak 2013-09-11 1:53 ` Minkyu Kang 2 siblings, 0 replies; 8+ messages in thread From: Przemyslaw Marczak @ 2013-09-09 8:05 UTC (permalink / raw) To: u-boot Hello Minkyu, On 09/03/2013 02:57 PM, Przemyslaw Marczak wrote: > On s5pc1xx mmc devices offset is multiply of 0x100000, > wrong value was 0x10000. Register offset always points > to mmc 0 before this change. > > Add macro definition of mmc dev register offset to s5pc1xx and > exynos mmc. > > Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> > CC: Minkyu Kang <mk7.kang@samsung.com> > Acked-by: Jaehoon Chung <jh80.chung@samsung.com> Could you review this patch, please? Thank you. -- Przemyslaw Marczak Samsung R&D Institute Poland Samsung Electronics p.marczak at samsung.com ^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH] arm:mmc:goni/exynos: Fix wrong mmc base register devices offset. 2013-09-03 12:57 [U-Boot] [PATCH] arm:mmc:goni/exynos: Fix wrong mmc base register devices offset Przemyslaw Marczak 2013-09-03 12:57 ` [U-Boot] [PATCH] ums: Add "dev num" parameter. Check mmc device before do ums init Przemyslaw Marczak 2013-09-09 8:05 ` [U-Boot] [PATCH] arm:mmc:goni/exynos: Fix wrong mmc base register devices offset Przemyslaw Marczak @ 2013-09-11 1:53 ` Minkyu Kang 2 siblings, 0 replies; 8+ messages in thread From: Minkyu Kang @ 2013-09-11 1:53 UTC (permalink / raw) To: u-boot On 03/09/13 21:57, Przemyslaw Marczak wrote: > On s5pc1xx mmc devices offset is multiply of 0x100000, > wrong value was 0x10000. Register offset always points > to mmc 0 before this change. > > Add macro definition of mmc dev register offset to s5pc1xx and > exynos mmc. > > Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> > CC: Minkyu Kang <mk7.kang@samsung.com> > Acked-by: Jaehoon Chung <jh80.chung@samsung.com> > --- > arch/arm/include/asm/arch-exynos/mmc.h | 6 +++++- > arch/arm/include/asm/arch-s5pc1xx/mmc.h | 6 +++++- > 2 files changed, 10 insertions(+), 2 deletions(-) > applied to u-boot-samsung. Thanks, Minkyu Kang. ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-09-11 1:53 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-09-03 12:57 [U-Boot] [PATCH] arm:mmc:goni/exynos: Fix wrong mmc base register devices offset Przemyslaw Marczak 2013-09-03 12:57 ` [U-Boot] [PATCH] ums: Add "dev num" parameter. Check mmc device before do ums init Przemyslaw Marczak 2013-09-03 22:26 ` Marek Vasut 2013-09-04 9:57 ` Przemyslaw Marczak 2013-09-04 12:34 ` Marek Vasut 2013-09-04 14:01 ` Przemyslaw Marczak 2013-09-09 8:05 ` [U-Boot] [PATCH] arm:mmc:goni/exynos: Fix wrong mmc base register devices offset Przemyslaw Marczak 2013-09-11 1:53 ` Minkyu Kang
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox