diff options
Diffstat (limited to 'arch/mips/kernel/mips-cpc.c')
| -rw-r--r-- | arch/mips/kernel/mips-cpc.c | 13 | 
1 files changed, 13 insertions, 0 deletions
| diff --git a/arch/mips/kernel/mips-cpc.c b/arch/mips/kernel/mips-cpc.c index 19c88d770054..fcf9af492d60 100644 --- a/arch/mips/kernel/mips-cpc.c +++ b/arch/mips/kernel/mips-cpc.c @@ -10,6 +10,8 @@  #include <linux/errno.h>  #include <linux/percpu.h> +#include <linux/of.h> +#include <linux/of_address.h>  #include <linux/spinlock.h>  #include <asm/mips-cps.h> @@ -22,6 +24,17 @@ static DEFINE_PER_CPU_ALIGNED(unsigned long, cpc_core_lock_flags);  phys_addr_t __weak mips_cpc_default_phys_base(void)  { +	struct device_node *cpc_node; +	struct resource res; +	int err; + +	cpc_node = of_find_compatible_node(of_root, NULL, "mti,mips-cpc"); +	if (cpc_node) { +		err = of_address_to_resource(cpc_node, 0, &res); +		if (!err) +			return res.start; +	} +  	return 0;  } | 

