cregit-Linux how code gets into the kernel

Release 4.8 arch/mips/mti-sead3/sead3-setup.c

/*
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file "COPYING" in the main directory of this archive
 * for more details.
 *
 * Copyright (C) 2012 MIPS Technologies, Inc.  All rights reserved.
 * Copyright (C) 2013 Imagination Technologies Ltd.
 */
#include <linux/init.h>
#include <linux/libfdt.h>
#include <linux/of_fdt.h>

#include <asm/prom.h>
#include <asm/fw/fw.h>

#include <asm/mips-boards/generic.h>


const char *get_system_type(void) { return "MIPS SEAD3"; }

Contributors

PersonTokensPropCommitsCommitProp
steven j. hillsteven j. hill12100.00%1100.00%
Total12100.00%1100.00%


static uint32_t get_memsize_from_cmdline(void) { int memsize = 0; char *p = arcs_cmdline; char *s = "memsize="; p = strstr(p, s); if (p) { p += strlen(s); memsize = memparse(p, NULL); } return memsize; }

Contributors

PersonTokensPropCommitsCommitProp
qais yousefqais yousef59100.00%1100.00%
Total59100.00%1100.00%


static uint32_t get_memsize_from_env(void) { int memsize = 0; char *p; p = fw_getenv("memsize"); if (p) memsize = memparse(p, NULL); return memsize; }

Contributors

PersonTokensPropCommitsCommitProp
qais yousefqais yousef40100.00%1100.00%
Total40100.00%1100.00%


static uint32_t get_memsize(void) { uint32_t memsize; memsize = get_memsize_from_cmdline(); if (memsize) return memsize; return get_memsize_from_env(); }

Contributors

PersonTokensPropCommitsCommitProp
qais yousefqais yousef27100.00%1100.00%
Total27100.00%1100.00%


static void __init parse_memsize_param(void) { int offset; const uint64_t *prop_value; int prop_len; uint32_t memsize = get_memsize(); if (!memsize) return; offset = fdt_path_offset(__dtb_start, "/memory"); if (offset > 0) { uint64_t new_value; /* * reg contains 2 32-bits BE values, offset and size. We just * want to replace the size value without affecting the offset */ prop_value = fdt_getprop(__dtb_start, offset, "reg", &prop_len); new_value = be64_to_cpu(*prop_value); new_value = (new_value & ~0xffffffffllu) | memsize; fdt_setprop_inplace_u64(__dtb_start, offset, "reg", new_value); } }

Contributors

PersonTokensPropCommitsCommitProp
qais yousefqais yousef97100.00%1100.00%
Total97100.00%1100.00%


void __init *plat_get_fdt(void) { return (void *)__dtb_start; }

Contributors

PersonTokensPropCommitsCommitProp
matt redfearnmatt redfearn16100.00%1100.00%
Total16100.00%1100.00%


void __init plat_mem_setup(void) { /* allow command line/bootloader env to override memory size in DT */ parse_memsize_param(); /* * Load the builtin devicetree. This causes the chosen node to be * parsed resulting in our memory appearing */ __dt_setup_arch(__dtb_start); }

Contributors

PersonTokensPropCommitsCommitProp
steven j. hillsteven j. hill1477.78%266.67%
qais yousefqais yousef422.22%133.33%
Total18100.00%3100.00%


void __init device_tree_init(void) { if (!initial_boot_params) return; unflatten_and_copy_device_tree(); }

Contributors

PersonTokensPropCommitsCommitProp
steven j. hillsteven j. hill1694.12%150.00%
qais yousefqais yousef15.88%150.00%
Total17100.00%2100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
qais yousefqais yousef23577.05%233.33%
steven j. hillsteven j. hill5116.72%233.33%
matt redfearnmatt redfearn165.25%116.67%
rob herringrob herring30.98%116.67%
Total305100.00%6100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.