static __init void ath79_prom_init_cmdline(int argc, char **argv)
{
	int i;

	if (!is_valid_ram_addr(argv))
		return;

	for (i = 0; i < argc; i++)
		if (is_valid_ram_addr(argv[i])) {
			strlcat(arcs_cmdline, " ", sizeof(arcs_cmdline));
			strlcat(arcs_cmdline, argv[i], sizeof(arcs_cmdline));
		}
}
Exemple #2
0
static void __init ar71xx_prom_find_env(char **envp, const char *name)
{
	int len = strlen(name);
	char **p;

	if (!is_valid_ram_addr(envp))
		return;

	for (p = envp; is_valid_ram_addr(*p); p++) {
		if (strncmp(name, *p, len) == 0 && (*p)[len] == '=') {
			ar71xx_prom_append_cmdline(name, *p + len + 1);
			break;
		}

		/* RedBoot env comes in pointer pairs - key, value */
		if (strncmp(name, *p, len) == 0 && (*p)[len] == 0)
			if (is_valid_ram_addr(*(++p))) {
				ar71xx_prom_append_cmdline(name, *p);
				break;
			}
	}
}