Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
U
uboot-imx
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
8
Issues
8
List
Boards
Labels
Milestones
Merge Requests
7
Merge Requests
7
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Librem5
uboot-imx
Commits
1c2a262a
Commit
1c2a262a
authored
Jul 12, 2016
by
Ladislav Michl
Committed by
Tom Rini
Jul 22, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cmd: mtdparts: consolidate mtdparts reading from env
Signed-off-by:
Ladislav Michl
<
ladis@linux-mips.org
>
parent
06a040a3
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
22 deletions
+20
-22
cmd/mtdparts.c
cmd/mtdparts.c
+20
-22
No files found.
cmd/mtdparts.c
View file @
1c2a262a
...
...
@@ -1515,6 +1515,23 @@ static int spread_partitions(void)
}
#endif
/* CONFIG_CMD_MTDPARTS_SPREAD */
/**
* The mtdparts variable tends to be long. If we need to access it
* before the env is relocated, then we need to use our own stack
* buffer. gd->env_buf will be too small.
*
* @param buf temporary buffer pointer MTDPARTS_MAXLEN long
* @return mtdparts variable string, NULL if not found
*/
static
const
char
*
getenv_mtdparts
(
char
*
buf
)
{
if
(
gd
->
flags
&
GD_FLG_ENV_READY
)
return
getenv
(
"mtdparts"
);
if
(
getenv_f
(
"mtdparts"
,
buf
,
MTDPARTS_MAXLEN
)
!=
-
1
)
return
buf
;
return
NULL
;
}
/**
* Accept character string describing mtd partitions and call device_parse()
* for each entry. Add created devices to the global devices list.
...
...
@@ -1538,15 +1555,7 @@ static int parse_mtdparts(const char *const mtdparts)
}
/* re-read 'mtdparts' variable, mtd_devices_init may be updating env */
if
(
gd
->
flags
&
GD_FLG_ENV_READY
)
p
=
getenv
(
"mtdparts"
);
else
{
if
(
getenv_f
(
"mtdparts"
,
tmp_parts
,
MTDPARTS_MAXLEN
)
!=
-
1
)
p
=
tmp_parts
;
else
p
=
NULL
;
}
p
=
getenv_mtdparts
(
tmp_parts
);
if
(
!
p
)
p
=
mtdparts
;
...
...
@@ -1691,6 +1700,7 @@ static int parse_mtdids(const char *const ids)
return
0
;
}
/**
* Parse and initialize global mtdids mapping and create global
* device/partition list.
...
...
@@ -1718,19 +1728,7 @@ int mtdparts_init(void)
/* get variables */
ids
=
getenv
(
"mtdids"
);
/*
* The mtdparts variable tends to be long. If we need to access it
* before the env is relocated, then we need to use our own stack
* buffer. gd->env_buf will be too small.
*/
if
(
gd
->
flags
&
GD_FLG_ENV_READY
)
parts
=
getenv
(
"mtdparts"
);
else
{
if
(
getenv_f
(
"mtdparts"
,
tmp_parts
,
MTDPARTS_MAXLEN
)
!=
-
1
)
parts
=
tmp_parts
;
else
parts
=
NULL
;
}
parts
=
getenv_mtdparts
(
tmp_parts
);
current_partition
=
getenv
(
"partition"
);
/* save it for later parsing, cannot rely on current partition pointer
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment