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

Commit b6caf2ad authored by Grant Likely's avatar Grant Likely
Browse files

of: merge of_read_number() an of_read_ulong()

parent 50436312
Loading
Loading
Loading
Loading
+0 −12
Original line number Original line Diff line number Diff line
@@ -82,18 +82,6 @@ extern int release_OF_resource(struct device_node *node, int index);
 * OF address retreival & translation
 * OF address retreival & translation
 */
 */


/* Helper to read a big number; size is in cells (not bytes) */
static inline u64 of_read_number(const u32 *cell, int size)
{
	u64 r = 0;
	while (size--)
		r = (r << 32) | *(cell++);
	return r;
}

/* Like of_read_number, but we want an unsigned long result */
#define of_read_ulong(cell, size)	of_read_number(cell, size)

/* Translate an OF address block into a CPU physical address
/* Translate an OF address block into a CPU physical address
 */
 */
extern u64 of_translate_address(struct device_node *np, const u32 *addr);
extern u64 of_translate_address(struct device_node *np, const u32 *addr);
+0 −20
Original line number Original line Diff line number Diff line
@@ -89,26 +89,6 @@ extern int release_OF_resource(struct device_node* node, int index);
 * OF address retreival & translation
 * OF address retreival & translation
 */
 */



/* Helper to read a big number; size is in cells (not bytes) */
static inline u64 of_read_number(const u32 *cell, int size)
{
	u64 r = 0;
	while (size--)
		r = (r << 32) | *(cell++);
	return r;
}

/* Like of_read_number, but we want an unsigned long result */
#ifdef CONFIG_PPC32
static inline unsigned long of_read_ulong(const u32 *cell, int size)
{
	return cell[size-1];
}
#else
#define of_read_ulong(cell, size)	of_read_number(cell, size)
#endif

/* Translate an OF address block into a CPU physical address
/* Translate an OF address block into a CPU physical address
 */
 */
extern u64 of_translate_address(struct device_node *np, const u32 *addr);
extern u64 of_translate_address(struct device_node *np, const u32 *addr);
+23 −0
Original line number Original line Diff line number Diff line
@@ -79,6 +79,29 @@ set_node_proc_entry(struct device_node *dn, struct proc_dir_entry *de)
	dn->pde = de;
	dn->pde = de;
}
}


/*
 * OF address retreival & translation
 */

/* Helper to read a big number; size is in cells (not bytes) */
static inline u64 of_read_number(const u32 *cell, int size)
{
	u64 r = 0;
	while (size--)
		r = (r << 32) | *(cell++);
	return r;
}

/* Like of_read_number, but we want an unsigned long result */
#ifdef CONFIG_PPC32
static inline unsigned long of_read_ulong(const u32 *cell, int size)
{
	return cell[size-1];
}
#else
#define of_read_ulong(cell, size)	of_read_number(cell, size)
#endif

#include <asm/prom.h>
#include <asm/prom.h>


/* flag descriptions */
/* flag descriptions */