[PATCH] common/bootargs: add blkdevparts variables
h.feurstein at gmail.com
h.feurstein at gmail.com
Mon Feb 16 05:03:18 PST 2015
From: Hubert Feurstein <hubert.feurstein at deto.at>
The kernel command line option blkdevparts works like mtdparts, but for all
block devices. So it can be used for eMMC devices without the need of a
traditional partition table.
Signed-off-by: Hubert Feurstein <h.feurstein at gmail.com>
---
common/bootargs.c | 24 ++++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/common/bootargs.c b/common/bootargs.c
index 6624f72..803736f 100644
--- a/common/bootargs.c
+++ b/common/bootargs.c
@@ -38,7 +38,7 @@ static int linux_bootargs_overwritten;
*/
const char *linux_bootargs_get(void)
{
- char *bootargs, *mtdparts;
+ char *bootargs, *parts;
if (linux_bootargs_overwritten)
return linux_bootargs;
@@ -49,14 +49,21 @@ const char *linux_bootargs_get(void)
if (!strlen(bootargs))
return getenv("bootargs");
- mtdparts = globalvar_get_match("linux.mtdparts.", ";");
+ linux_bootargs = bootargs;
- if (strlen(mtdparts)) {
- linux_bootargs = asprintf("%s mtdparts=%s", bootargs, mtdparts);
- free(bootargs);
- free(mtdparts);
- } else {
- free(mtdparts);
+ parts = globalvar_get_match("linux.mtdparts.", ";");
+ if (strlen(parts)) {
+ bootargs = asprintf("%s mtdparts=%s", linux_bootargs, parts);
+ free(linux_bootargs);
+ free(parts);
+ linux_bootargs = bootargs;
+ }
+
+ parts = globalvar_get_match("linux.blkdevparts.", ";");
+ if (strlen(parts)) {
+ bootargs = asprintf("%s blkdevparts=%s", linux_bootargs, parts);
+ free(linux_bootargs);
+ free(parts);
linux_bootargs = bootargs;
}
@@ -78,3 +85,4 @@ int linux_bootargs_overwrite(const char *bootargs)
BAREBOX_MAGICVAR_NAMED(global_linux_bootargs_, global.linux.bootargs.*, "Linux bootargs variables");
BAREBOX_MAGICVAR_NAMED(global_linux_mtdparts_, global.linux.mtdparts.*, "Linux mtdparts variables");
+BAREBOX_MAGICVAR_NAMED(global_linux_blkdevparts_, global.linux.blkdevparts.*, "Linux blkdevparts variables");
--
2.3.0
More information about the barebox
mailing list