1 // SPDX-License-Identifier: GPL-2.0-or-later !! 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* 2 /* 3 * OpenRISC prom.c !! 3 * MIPS support for CONFIG_OF device tree support 4 * 4 * 5 * Linux architectural port borrowing liberall !! 5 * Copyright (C) 2010 Cisco Systems Inc. <dediao@cisco.com> 6 * others. All original copyrights apply as p << 7 * declaration. << 8 * << 9 * Modifications for the OpenRISC architecture << 10 * Copyright (C) 2010-2011 Jonas Bonn <jonas@s << 11 * << 12 * Architecture specific procedures for creati << 13 * interpreting the device tree. << 14 */ 6 */ 15 7 16 #include <linux/init.h> 8 #include <linux/init.h> >> 9 #include <linux/export.h> >> 10 #include <linux/errno.h> 17 #include <linux/types.h> 11 #include <linux/types.h> 18 #include <linux/memblock.h> 12 #include <linux/memblock.h> >> 13 #include <linux/debugfs.h> >> 14 #include <linux/of.h> 19 #include <linux/of_fdt.h> 15 #include <linux/of_fdt.h> >> 16 #include <linux/of_platform.h> 20 17 >> 18 #include <asm/bootinfo.h> 21 #include <asm/page.h> 19 #include <asm/page.h> >> 20 #include <asm/prom.h> >> 21 >> 22 static char mips_machine_name[64] = "Unknown"; >> 23 >> 24 __init void mips_set_machine_name(const char *name) >> 25 { >> 26 if (name == NULL) >> 27 return; >> 28 >> 29 strscpy(mips_machine_name, name, sizeof(mips_machine_name)); >> 30 pr_info("MIPS: machine is %s\n", mips_get_machine_name()); >> 31 >> 32 dump_stack_set_arch_desc(name); >> 33 } >> 34 >> 35 char *mips_get_machine_name(void) >> 36 { >> 37 return mips_machine_name; >> 38 } >> 39 >> 40 #ifdef CONFIG_USE_OF 22 41 23 void __init early_init_devtree(void *params) !! 42 void __init __dt_setup_arch(void *bph) 24 { 43 { 25 early_init_dt_scan(params); !! 44 if (!early_init_dt_scan(bph)) 26 memblock_allow_resize(); !! 45 return; >> 46 >> 47 mips_set_machine_name(of_flat_dt_get_machine_name()); >> 48 } >> 49 >> 50 int __init __dt_register_buses(const char *bus0, const char *bus1) >> 51 { >> 52 static struct of_device_id of_ids[3]; >> 53 >> 54 if (!of_have_populated_dt()) >> 55 panic("device tree not present"); >> 56 >> 57 strscpy(of_ids[0].compatible, bus0, sizeof(of_ids[0].compatible)); >> 58 if (bus1) { >> 59 strscpy(of_ids[1].compatible, bus1, >> 60 sizeof(of_ids[1].compatible)); >> 61 } >> 62 >> 63 if (of_platform_populate(NULL, of_ids, NULL, NULL)) >> 64 panic("failed to populate DT"); >> 65 >> 66 return 0; >> 67 } >> 68 >> 69 void __weak __init device_tree_init(void) >> 70 { >> 71 unflatten_and_copy_device_tree(); 27 } 72 } >> 73 >> 74 #endif 28 75
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.