Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit de6d2d1b authored by Gavin Shan's avatar Gavin Shan Committed by Michael Ellerman
Browse files

powerpc/kernel: Use of_property_read_u32() in rtas_initialize()



This uses of_property_read_u32() in rtas_initialize() so that we
needn't explicitly care the CPU's endian.

Signed-off-by: default avatarGavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent dbecd509
Loading
Loading
Loading
Loading
+9 −11
Original line number Diff line number Diff line
@@ -1145,7 +1145,8 @@ asmlinkage int ppc_rtas(struct rtas_args __user *uargs)
void __init rtas_initialize(void)
{
	unsigned long rtas_region = RTAS_INSTANTIATE_MAX;
	const __be32 *basep, *entryp, *sizep;
	u32 base, size, entry;
	int no_base, no_size, no_entry;

	/* Get RTAS dev node and fill up our "rtas" structure with infos
	 * about it.
@@ -1154,20 +1155,17 @@ void __init rtas_initialize(void)
	if (!rtas.dev)
		return;

	basep = of_get_property(rtas.dev, "linux,rtas-base", NULL);
	sizep = of_get_property(rtas.dev, "rtas-size", NULL);
	if (basep == NULL || sizep == NULL) {
	no_base = of_property_read_u32(rtas.dev, "linux,rtas-base", &base);
	no_size = of_property_read_u32(rtas.dev, "rtas-size", &size);
	if (no_base || no_size) {
		rtas.dev = NULL;
		return;
	}

	rtas.base = __be32_to_cpu(*basep);
	rtas.size = __be32_to_cpu(*sizep);
	entryp = of_get_property(rtas.dev, "linux,rtas-entry", NULL);
	if (entryp == NULL) /* Ugh */
		rtas.entry = rtas.base;
	else
		rtas.entry = __be32_to_cpu(*entryp);
	rtas.base = base;
	rtas.size = size;
	no_entry = of_property_read_u32(rtas.dev, "linux,rtas-entry", &entry);
	rtas.entry = no_entry ? rtas.base : entry;

	/* If RTAS was found, allocate the RMO buffer for it and look for
	 * the stop-self token if any