* [U-Boot] [PATCH 1/2] mmc: omap3: make local symbols static
@ 2010-06-16 21:05 Grazvydas Ignotas
2010-06-16 21:05 ` [U-Boot] [PATCH 2/2] mmc: omap3: fix block read function Grazvydas Ignotas
2010-08-08 19:43 ` [U-Boot] [PATCH 1/2] mmc: omap3: make local symbols static Wolfgang Denk
0 siblings, 2 replies; 6+ messages in thread
From: Grazvydas Ignotas @ 2010-06-16 21:05 UTC (permalink / raw)
To: u-boot
Make driver local variables and functions static and
remove them from the arch header.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
---
arch/arm/include/asm/arch-omap3/mmc.h | 9 ---------
drivers/mmc/omap3_mmc.c | 33 +++++++++++++++++----------------
2 files changed, 17 insertions(+), 25 deletions(-)
diff --git a/arch/arm/include/asm/arch-omap3/mmc.h b/arch/arm/include/asm/arch-omap3/mmc.h
index 196ffdc..3e3e631 100644
--- a/arch/arm/include/asm/arch-omap3/mmc.h
+++ b/arch/arm/include/asm/arch-omap3/mmc.h
@@ -230,13 +230,4 @@ typedef union {
mmc_csd_reg_t Card_CSD;
} mmc_resp_t;
-extern mmc_card_data mmc_dev;
-
-unsigned char mmc_lowlevel_init(void);
-unsigned char mmc_send_command(unsigned int cmd, unsigned int arg,
- unsigned int *response);
-unsigned char mmc_setup_clock(unsigned int iclk, unsigned short clkd);
-unsigned char mmc_set_opendrain(unsigned char state);
-unsigned char mmc_read_data(unsigned int *output_buf);
-
#endif /* MMC_H */
diff --git a/drivers/mmc/omap3_mmc.c b/drivers/mmc/omap3_mmc.c
index 96c0e65..dc331a0 100644
--- a/drivers/mmc/omap3_mmc.c
+++ b/drivers/mmc/omap3_mmc.c
@@ -32,7 +32,7 @@
#include <asm/io.h>
#include <asm/arch/mmc.h>
-const unsigned short mmc_transspeed_val[15][4] = {
+static const unsigned short mmc_transspeed_val[15][4] = {
{CLKD(10, 1), CLKD(10, 10), CLKD(10, 100), CLKD(10, 1000)},
{CLKD(12, 1), CLKD(12, 10), CLKD(12, 100), CLKD(12, 1000)},
{CLKD(13, 1), CLKD(13, 10), CLKD(13, 100), CLKD(13, 1000)},
@@ -50,7 +50,7 @@ const unsigned short mmc_transspeed_val[15][4] = {
{CLKD(80, 1), CLKD(80, 10), CLKD(80, 100), CLKD(80, 1000)}
};
-mmc_card_data cur_card_data;
+static mmc_card_data cur_card_data;
static block_dev_desc_t mmc_blk_dev;
static hsmmc_t *mmc_base = (hsmmc_t *)OMAP_HSMMC_BASE;
@@ -59,7 +59,7 @@ block_dev_desc_t *mmc_get_dev(int dev)
return (block_dev_desc_t *) &mmc_blk_dev;
}
-unsigned char mmc_board_init(void)
+static unsigned char mmc_board_init(void)
{
t2_t *t2_base = (t2_t *)T2_BASE;
@@ -77,7 +77,7 @@ unsigned char mmc_board_init(void)
return 1;
}
-void mmc_init_stream(void)
+static void mmc_init_stream(void)
{
writel(readl(&mmc_base->con) | INIT_INITSTREAM, &mmc_base->con);
@@ -92,7 +92,7 @@ void mmc_init_stream(void)
writel(readl(&mmc_base->con) & ~INIT_INITSTREAM, &mmc_base->con);
}
-unsigned char mmc_clock_config(unsigned int iclk, unsigned short clk_div)
+static unsigned char mmc_clock_config(unsigned int iclk, unsigned short clk_div)
{
unsigned int val;
@@ -121,7 +121,7 @@ unsigned char mmc_clock_config(unsigned int iclk, unsigned short clk_div)
return 1;
}
-unsigned char mmc_init_setup(void)
+static unsigned char mmc_init_setup(void)
{
unsigned int reg_val;
@@ -155,7 +155,7 @@ unsigned char mmc_init_setup(void)
return 1;
}
-unsigned char mmc_send_cmd(unsigned int cmd, unsigned int arg,
+static unsigned char mmc_send_cmd(unsigned int cmd, unsigned int arg,
unsigned int *response)
{
unsigned int mmc_stat;
@@ -191,7 +191,7 @@ unsigned char mmc_send_cmd(unsigned int cmd, unsigned int arg,
return 1;
}
-unsigned char mmc_read_data(unsigned int *output_buf)
+static unsigned char mmc_read_data(unsigned int *output_buf)
{
unsigned int mmc_stat;
unsigned int read_count = 0;
@@ -232,7 +232,7 @@ unsigned char mmc_read_data(unsigned int *output_buf)
return 1;
}
-unsigned char mmc_detect_card(mmc_card_data *mmc_card_cur)
+static unsigned char mmc_detect_card(mmc_card_data *mmc_card_cur)
{
unsigned char err;
unsigned int argument = 0;
@@ -343,7 +343,7 @@ unsigned char mmc_detect_card(mmc_card_data *mmc_card_cur)
return 1;
}
-unsigned char mmc_read_cardsize(mmc_card_data *mmc_dev_data,
+static unsigned char mmc_read_cardsize(mmc_card_data *mmc_dev_data,
mmc_csd_reg_t *cur_csd)
{
mmc_extended_csd_reg_t ext_csd;
@@ -397,9 +397,9 @@ unsigned char mmc_read_cardsize(mmc_card_data *mmc_dev_data,
return 1;
}
-unsigned char omap_mmc_read_sect(unsigned int start_sec, unsigned int num_bytes,
- mmc_card_data *mmc_c,
- unsigned long *output_buf)
+static unsigned char omap_mmc_read_sect(unsigned int start_sec,
+ unsigned int num_bytes, mmc_card_data *mmc_c,
+ unsigned long *output_buf)
{
unsigned char err;
unsigned int argument;
@@ -435,7 +435,7 @@ unsigned char omap_mmc_read_sect(unsigned int start_sec, unsigned int num_bytes,
return 1;
}
-unsigned char configure_mmc(mmc_card_data *mmc_card_cur)
+static unsigned char configure_mmc(mmc_card_data *mmc_card_cur)
{
unsigned char ret_val;
unsigned int argument;
@@ -504,8 +504,9 @@ unsigned char configure_mmc(mmc_card_data *mmc_card_cur)
return 1;
}
-unsigned long mmc_bread(int dev_num, unsigned long blknr, lbaint_t blkcnt,
- void *dst)
+
+static unsigned long mmc_bread(int dev_num, unsigned long blknr,
+ lbaint_t blkcnt, void *dst)
{
omap_mmc_read_sect(blknr, (blkcnt * MMCSD_SECTOR_SIZE), &cur_card_data,
(unsigned long *) dst);
--
1.6.3.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH 2/2] mmc: omap3: fix block read function
2010-06-16 21:05 [U-Boot] [PATCH 1/2] mmc: omap3: make local symbols static Grazvydas Ignotas
@ 2010-06-16 21:05 ` Grazvydas Ignotas
2010-08-08 19:43 ` [U-Boot] [PATCH 1/2] mmc: omap3: make local symbols static Wolfgang Denk
1 sibling, 0 replies; 6+ messages in thread
From: Grazvydas Ignotas @ 2010-06-16 21:05 UTC (permalink / raw)
To: u-boot
The OMAP3 block read function is not following API and always returning
1 instead of read block count, fix it. Also to simplify code, merge it
with with a helper function, which was only called from the block read
function.
After this patch ext2 filesystem can be used properly.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
---
drivers/mmc/omap3_mmc.c | 47 +++++++++++++++++++++--------------------------
1 files changed, 21 insertions(+), 26 deletions(-)
diff --git a/drivers/mmc/omap3_mmc.c b/drivers/mmc/omap3_mmc.c
index dc331a0..af74997 100644
--- a/drivers/mmc/omap3_mmc.c
+++ b/drivers/mmc/omap3_mmc.c
@@ -397,42 +397,45 @@ static unsigned char mmc_read_cardsize(mmc_card_data *mmc_dev_data,
return 1;
}
-static unsigned char omap_mmc_read_sect(unsigned int start_sec,
- unsigned int num_bytes, mmc_card_data *mmc_c,
- unsigned long *output_buf)
+static unsigned long mmc_bread(int dev_num, unsigned long blknr,
+ lbaint_t blkcnt, void *dst)
{
unsigned char err;
unsigned int argument;
unsigned int resp[4];
- unsigned int num_sec_val =
- (num_bytes + (MMCSD_SECTOR_SIZE - 1)) / MMCSD_SECTOR_SIZE;
+ unsigned int *output_buf = dst;
unsigned int sec_inc_val;
+ lbaint_t i;
- if (num_sec_val == 0)
- return 1;
+ if (blkcnt == 0)
+ return 0;
- if (mmc_c->mode == SECTOR_MODE) {
- argument = start_sec;
+ if (cur_card_data.mode == SECTOR_MODE) {
+ argument = blknr;
sec_inc_val = 1;
} else {
- argument = start_sec * MMCSD_SECTOR_SIZE;
+ argument = blknr * MMCSD_SECTOR_SIZE;
sec_inc_val = MMCSD_SECTOR_SIZE;
}
- while (num_sec_val) {
+ for (i = 0; i < blkcnt; i++) {
err = mmc_send_cmd(MMC_CMD17, argument, resp);
- if (err != 1)
- return err;
+ if (err != 1) {
+ printf("mmc: CMD17 failed, status = %08x\n", err);
+ break;
+ }
- err = mmc_read_data((unsigned int *) output_buf);
- if (err != 1)
- return err;
+ err = mmc_read_data(output_buf);
+ if (err != 1) {
+ printf("mmc: read failed, status = %08x\n", err);
+ break;
+ }
output_buf += (MMCSD_SECTOR_SIZE / 4);
argument += sec_inc_val;
- num_sec_val--;
}
- return 1;
+
+ return i;
}
static unsigned char configure_mmc(mmc_card_data *mmc_card_cur)
@@ -505,14 +508,6 @@ static unsigned char configure_mmc(mmc_card_data *mmc_card_cur)
return 1;
}
-static unsigned long mmc_bread(int dev_num, unsigned long blknr,
- lbaint_t blkcnt, void *dst)
-{
- omap_mmc_read_sect(blknr, (blkcnt * MMCSD_SECTOR_SIZE), &cur_card_data,
- (unsigned long *) dst);
- return 1;
-}
-
int mmc_legacy_init(int verbose)
{
if (configure_mmc(&cur_card_data) != 1)
--
1.6.3.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH 1/2] mmc: omap3: make local symbols static
2010-06-16 21:05 [U-Boot] [PATCH 1/2] mmc: omap3: make local symbols static Grazvydas Ignotas
2010-06-16 21:05 ` [U-Boot] [PATCH 2/2] mmc: omap3: fix block read function Grazvydas Ignotas
@ 2010-08-08 19:43 ` Wolfgang Denk
2010-08-12 3:36 ` Steve Sakoman
1 sibling, 1 reply; 6+ messages in thread
From: Wolfgang Denk @ 2010-08-08 19:43 UTC (permalink / raw)
To: u-boot
Dear Andy,
In message <1276722323-12045-1-git-send-email-notasas@gmail.com> Grazvydas Ignotas wrote:
> Make driver local variables and functions static and
> remove them from the arch header.
>
> Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
> ---
> arch/arm/include/asm/arch-omap3/mmc.h | 9 ---------
> drivers/mmc/omap3_mmc.c | 33 +++++++++++++++++----------------
> 2 files changed, 17 insertions(+), 25 deletions(-)
I haven't seen commants for these two patches:
http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/79999
Are they in your queue?
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Conquest is easy. Control is not.
-- Kirk, "Mirror, Mirror", stardate unknown
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH 1/2] mmc: omap3: make local symbols static
2010-08-08 19:43 ` [U-Boot] [PATCH 1/2] mmc: omap3: make local symbols static Wolfgang Denk
@ 2010-08-12 3:36 ` Steve Sakoman
2010-08-12 18:23 ` Paulraj, Sandeep
0 siblings, 1 reply; 6+ messages in thread
From: Steve Sakoman @ 2010-08-12 3:36 UTC (permalink / raw)
To: u-boot
On Sun, Aug 8, 2010 at 12:43 PM, Wolfgang Denk <wd@denx.de> wrote:
> Dear Andy,
>
> In message <1276722323-12045-1-git-send-email-notasas@gmail.com> Grazvydas Ignotas wrote:
>> Make driver local variables and functions static and
>> remove them from the arch header.
>>
>> Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
>> ---
>> ?arch/arm/include/asm/arch-omap3/mmc.h | ? ?9 ---------
>> ?drivers/mmc/omap3_mmc.c ? ? ? ? ? ? ? | ? 33 +++++++++++++++++----------------
>> ?2 files changed, 17 insertions(+), 25 deletions(-)
>
> I haven't seen commants for these two patches:
>
> http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/79999
I tested these two patches today on Beagle (OMAP3) and Panda (OMAP4).
I was able to boot linux and rootfs images from MMC on both machines, so:
Acked-by: Steve Sakoman <steve@sakoman.com>
Tested-by: Steve Sakoman <steve@sakoman.com>
Unfortunately the patches didn't apply cleanly, but the fixes were
simple. I have the modified patches in the omap4-next-upstream branch
of my repo for convenience:
http://www.sakoman.com/cgi-bin/gitweb.cgi?p=u-boot.git;a=shortlog;h=refs/heads/omap4-next-upstream
Regards,
Steve
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH 1/2] mmc: omap3: make local symbols static
2010-08-12 3:36 ` Steve Sakoman
@ 2010-08-12 18:23 ` Paulraj, Sandeep
2010-08-13 9:45 ` Grazvydas Ignotas
0 siblings, 1 reply; 6+ messages in thread
From: Paulraj, Sandeep @ 2010-08-12 18:23 UTC (permalink / raw)
To: u-boot
> Subject: Re: [U-Boot] [PATCH 1/2] mmc: omap3: make local symbols static
>
> On Sun, Aug 8, 2010 at 12:43 PM, Wolfgang Denk <wd@denx.de> wrote:
> > Dear Andy,
> >
> > In message <1276722323-12045-1-git-send-email-notasas@gmail.com>
> Grazvydas Ignotas wrote:
> >> Make driver local variables and functions static and
> >> remove them from the arch header.
> >>
> >> Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
> >> ---
> >> ?arch/arm/include/asm/arch-omap3/mmc.h | ? ?9 ---------
> >> ?drivers/mmc/omap3_mmc.c ? ? ? ? ? ? ? | ? 33 +++++++++++++++++--------
> --------
> >> ?2 files changed, 17 insertions(+), 25 deletions(-)
> >
> > I haven't seen commants for these two patches:
> >
> > http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/79999
>
> I tested these two patches today on Beagle (OMAP3) and Panda (OMAP4).
>
> I was able to boot linux and rootfs images from MMC on both machines, so:
>
> Acked-by: Steve Sakoman <steve@sakoman.com>
> Tested-by: Steve Sakoman <steve@sakoman.com>
>
> Unfortunately the patches didn't apply cleanly, but the fixes were
> simple. I have the modified patches in the omap4-next-upstream branch
> of my repo for convenience:
>
> http://www.sakoman.com/cgi-bin/gitweb.cgi?p=u-
> boot.git;a=shortlog;h=refs/heads/omap4-next-upstream
>
> Regards,
>
> Steve
I have added to u-boot-ti master.
The e-mail address in the signed-off-by was incorrect.
I believe using "at" is not allowed.
I manually edited. I'll send a pull request to Wolfgang.
Its upto him to accept these mmc related patches.
Regards,
Sandeep
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH 1/2] mmc: omap3: make local symbols static
2010-08-12 18:23 ` Paulraj, Sandeep
@ 2010-08-13 9:45 ` Grazvydas Ignotas
0 siblings, 0 replies; 6+ messages in thread
From: Grazvydas Ignotas @ 2010-08-13 9:45 UTC (permalink / raw)
To: u-boot
>> Unfortunately the patches didn't apply cleanly, but the fixes were
>> simple. ?I have the modified patches in the omap4-next-upstream branch
>> of my repo for convenience:
>>
>> http://www.sakoman.com/cgi-bin/gitweb.cgi?p=u-
>> boot.git;a=shortlog;h=refs/heads/omap4-next-upstream
>>
>> Regards,
>>
>> Steve
>
> I have added to u-boot-ti master.
>
> The e-mail address in the signed-off-by was incorrect.
> I believe using "at" is not allowed.
>
> I manually edited. I'll send a pull request to Wolfgang.
Looking good, thanks Steve and Sandeep!
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-08-13 9:45 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-06-16 21:05 [U-Boot] [PATCH 1/2] mmc: omap3: make local symbols static Grazvydas Ignotas
2010-06-16 21:05 ` [U-Boot] [PATCH 2/2] mmc: omap3: fix block read function Grazvydas Ignotas
2010-08-08 19:43 ` [U-Boot] [PATCH 1/2] mmc: omap3: make local symbols static Wolfgang Denk
2010-08-12 3:36 ` Steve Sakoman
2010-08-12 18:23 ` Paulraj, Sandeep
2010-08-13 9:45 ` Grazvydas Ignotas
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.