Skip to content

Commit

Permalink
of: merge of_read_number() an of_read_ulong()
Browse files Browse the repository at this point in the history
Merge common code between Microblaze and PowerPC

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: David S. Miller <davem@davemloft.net>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Michal Simek <monstr@monstr.eu>
Acked-by: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com>
Acked-by: Stephen Rothwell <sfr@canb.auug.org.au>
  • Loading branch information
Grant Likely committed Oct 15, 2009
1 parent 5043631 commit b6caf2a
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 32 deletions.
12 changes: 0 additions & 12 deletions arch/microblaze/include/asm/prom.h
Original file line number Diff line number Diff line change
Expand Up @@ -82,18 +82,6 @@ extern int release_OF_resource(struct device_node *node, int index);
* 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
*/
extern u64 of_translate_address(struct device_node *np, const u32 *addr);
Expand Down
20 changes: 0 additions & 20 deletions arch/powerpc/include/asm/prom.h
Original file line number Diff line number Diff line change
Expand Up @@ -89,26 +89,6 @@ extern int release_OF_resource(struct device_node* node, int index);
* 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
*/
extern u64 of_translate_address(struct device_node *np, const u32 *addr);
Expand Down
23 changes: 23 additions & 0 deletions include/linux/of.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,29 @@ set_node_proc_entry(struct device_node *dn, struct proc_dir_entry *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>

/* flag descriptions */
Expand Down

0 comments on commit b6caf2a

Please sign in to comment.