forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Start split out of common open firmware code
This creates drivers/of/base.c (depending on CONFIG_OF) and puts the first trivially common bits from the prom.c files into it. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Acked-by: Paul Mackerras <paulus@samba.org> Acked-by: David S. Miller <davem@davemloft.net>
- Loading branch information
1 parent
76c1ce7
commit 97e873e
Showing
12 changed files
with
85 additions
and
125 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
obj-y = base.o |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
/* | ||
* Procedures for creating, accessing and interpreting the device tree. | ||
* | ||
* Paul Mackerras August 1996. | ||
* Copyright (C) 1996-2005 Paul Mackerras. | ||
* | ||
* Adapted for 64bit PowerPC by Dave Engebretsen and Peter Bergner. | ||
* {engebret|bergner}@us.ibm.com | ||
* | ||
* Adapted for sparc and sparc64 by David S. Miller davem@davemloft.net | ||
* | ||
* Reconsolidated from arch/x/kernel/prom.c by Stephen Rothwell. | ||
* | ||
* This program is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU General Public License | ||
* as published by the Free Software Foundation; either version | ||
* 2 of the License, or (at your option) any later version. | ||
*/ | ||
#include <linux/module.h> | ||
#include <linux/of.h> | ||
|
||
int of_n_addr_cells(struct device_node *np) | ||
{ | ||
const int *ip; | ||
|
||
do { | ||
if (np->parent) | ||
np = np->parent; | ||
ip = of_get_property(np, "#address-cells", NULL); | ||
if (ip) | ||
return *ip; | ||
} while (np->parent); | ||
/* No #address-cells property for the root node */ | ||
return OF_ROOT_NODE_ADDR_CELLS_DEFAULT; | ||
} | ||
EXPORT_SYMBOL(of_n_addr_cells); | ||
|
||
int of_n_size_cells(struct device_node *np) | ||
{ | ||
const int *ip; | ||
|
||
do { | ||
if (np->parent) | ||
np = np->parent; | ||
ip = of_get_property(np, "#size-cells", NULL); | ||
if (ip) | ||
return *ip; | ||
} while (np->parent); | ||
/* No #size-cells property for the root node */ | ||
return OF_ROOT_NODE_SIZE_CELLS_DEFAULT; | ||
} | ||
EXPORT_SYMBOL(of_n_size_cells); | ||
|
||
/* | ||
* Find a property with a given name for a given node | ||
* and return the value. | ||
*/ | ||
const void *of_get_property(const struct device_node *np, const char *name, | ||
int *lenp) | ||
{ | ||
struct property *pp = of_find_property(np, name, lenp); | ||
|
||
return pp ? pp->value : NULL; | ||
} | ||
EXPORT_SYMBOL(of_get_property); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters