mirror of https://gitee.com/openkylin/linux.git
powerpc/nvram: Fix endian issue when reading the NVRAM size
Signed-off-by: Cedric Le Goater <clg@fr.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
65f36f4149
commit
563c5d8af5
|
@ -66,7 +66,7 @@ static void chrp_nvram_write(int addr, unsigned char val)
|
|||
void __init chrp_nvram_init(void)
|
||||
{
|
||||
struct device_node *nvram;
|
||||
const unsigned int *nbytes_p;
|
||||
const __be32 *nbytes_p;
|
||||
unsigned int proplen;
|
||||
|
||||
nvram = of_find_node_by_type(NULL, "nvram");
|
||||
|
@ -79,7 +79,7 @@ void __init chrp_nvram_init(void)
|
|||
return;
|
||||
}
|
||||
|
||||
nvram_size = *nbytes_p;
|
||||
nvram_size = be32_to_cpup(nbytes_p);
|
||||
|
||||
printk(KERN_INFO "CHRP nvram contains %u bytes\n", nvram_size);
|
||||
of_node_put(nvram);
|
||||
|
|
|
@ -804,7 +804,7 @@ machine_arch_initcall(pseries, pseries_nvram_init_log_partitions);
|
|||
int __init pSeries_nvram_init(void)
|
||||
{
|
||||
struct device_node *nvram;
|
||||
const unsigned int *nbytes_p;
|
||||
const __be32 *nbytes_p;
|
||||
unsigned int proplen;
|
||||
|
||||
nvram = of_find_node_by_type(NULL, "nvram");
|
||||
|
@ -817,7 +817,7 @@ int __init pSeries_nvram_init(void)
|
|||
return -EIO;
|
||||
}
|
||||
|
||||
nvram_size = *nbytes_p;
|
||||
nvram_size = be32_to_cpup(nbytes_p);
|
||||
|
||||
nvram_fetch = rtas_token("nvram-fetch");
|
||||
nvram_store = rtas_token("nvram-store");
|
||||
|
|
Loading…
Reference in New Issue