* [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