diff options
Diffstat (limited to 'arch/microblaze/kernel/prom.c')
| -rw-r--r-- | arch/microblaze/kernel/prom.c | 71 | 
1 files changed, 8 insertions, 63 deletions
diff --git a/arch/microblaze/kernel/prom.c b/arch/microblaze/kernel/prom.c index 0c4453f134c..68f099960eb 100644 --- a/arch/microblaze/kernel/prom.c +++ b/arch/microblaze/kernel/prom.c @@ -30,6 +30,7 @@  #include <linux/debugfs.h>  #include <linux/irq.h>  #include <linux/memblock.h> +#include <linux/of_fdt.h>  #include <asm/prom.h>  #include <asm/page.h> @@ -41,19 +42,14 @@  #include <asm/sections.h>  #include <asm/pci-bridge.h> -void __init early_init_dt_add_memory_arch(u64 base, u64 size) -{ -	memblock_add(base, size); -} -  #ifdef CONFIG_EARLY_PRINTK -static char *stdout; +static const char *stdout;  static int __init early_init_dt_scan_chosen_serial(unsigned long node,  				const char *uname, int depth, void *data)  { -	unsigned long l; -	char *p; +	int l; +	const char *p;  	pr_debug("%s: depth: %d, uname: %s\n", __func__, depth, uname); @@ -84,7 +80,7 @@ static int __init early_init_dt_scan_chosen_serial(unsigned long node,  				(strncmp(p, "xlnx,opb-uartlite", 17) == 0) ||  				(strncmp(p, "xlnx,axi-uartlite", 17) == 0) ||  				(strncmp(p, "xlnx,mdm", 8) == 0)) { -			unsigned int *addrp; +			const unsigned int *addrp;  			*(u32 *)data = UARTLITE; @@ -106,21 +102,10 @@ void __init early_init_devtree(void *params)  {  	pr_debug(" -> early_init_devtree(%p)\n", params); -	/* Setup flat device-tree pointer */ -	initial_boot_params = params; +	early_init_dt_scan(params); +	if (!strlen(boot_command_line)) +		strlcpy(boot_command_line, cmd_line, COMMAND_LINE_SIZE); -	/* Retrieve various informations from the /chosen node of the -	 * device-tree, including the platform type, initrd location and -	 * size, TCE reserve, and more ... -	 */ -	of_scan_flat_dt(early_init_dt_scan_chosen, cmd_line); - -	/* Scan memory nodes and rebuild MEMBLOCKs */ -	of_scan_flat_dt(early_init_dt_scan_root, NULL); -	of_scan_flat_dt(early_init_dt_scan_memory, NULL); - -	/* Save command line for /proc/cmdline and then parse parameters */ -	strlcpy(boot_command_line, cmd_line, COMMAND_LINE_SIZE);  	parse_early_param();  	memblock_allow_resize(); @@ -129,43 +114,3 @@ void __init early_init_devtree(void *params)  	pr_debug(" <- early_init_devtree()\n");  } - -#ifdef CONFIG_BLK_DEV_INITRD -void __init early_init_dt_setup_initrd_arch(u64 start, u64 end) -{ -	initrd_start = (unsigned long)__va(start); -	initrd_end = (unsigned long)__va(end); -	initrd_below_start_ok = 1; -} -#endif - -/******* - * - * New implementation of the OF "find" APIs, return a refcounted - * object, call of_node_put() when done.  The device tree and list - * are protected by a rw_lock. - * - * Note that property management will need some locking as well, - * this isn't dealt with yet. - * - *******/ - -#if defined(CONFIG_DEBUG_FS) && defined(DEBUG) -static struct debugfs_blob_wrapper flat_dt_blob; - -static int __init export_flat_device_tree(void) -{ -	struct dentry *d; - -	flat_dt_blob.data = initial_boot_params; -	flat_dt_blob.size = initial_boot_params->totalsize; - -	d = debugfs_create_blob("flat-device-tree", S_IFREG | S_IRUSR, -				of_debugfs_root, &flat_dt_blob); -	if (!d) -		return 1; - -	return 0; -} -device_initcall(export_flat_device_tree); -#endif  | 
