summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2019-03-25 14:51:27 +1100
committerDavid Gibson <david@gibson.dropbear.id.au>2019-03-25 14:51:27 +1100
commitf67b47135523863c17a4af55d31de8f47d672834 (patch)
tree3f9a69371b7094f8308fb7157af5372dcb0357cf
parent54ea41c22415cb0e283d22faf71202051c89400c (diff)
downloaddevice-tree-compiler-f67b47135523863c17a4af55d31de8f47d672834.tar.gz
Revert "libfdt: Add phandle generation helper"
This reverts commit 54ea41c22415cb0e283d22faf71202051c89400c. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r--libfdt/fdt_ro.c31
-rw-r--r--libfdt/libfdt.h19
-rw-r--r--libfdt/libfdt_env.h1
-rw-r--r--libfdt/version.lds1
-rw-r--r--tests/get_phandle.c31
-rw-r--r--tests/multilabel.dts5
-rw-r--r--tests/multilabel_merge.dts5
-rw-r--r--tests/references.c19
-rw-r--r--tests/references.dts5
9 files changed, 3 insertions, 114 deletions
diff --git a/libfdt/fdt_ro.c b/libfdt/fdt_ro.c
index 97cdcda..eafc142 100644
--- a/libfdt/fdt_ro.c
+++ b/libfdt/fdt_ro.c
@@ -170,37 +170,6 @@ uint32_t fdt_get_max_phandle(const void *fdt)
return 0;
}
-int fdt_generate_phandle(const void *fdt, uint32_t *phandle)
-{
- uint32_t max = 0;
- int offset = -1;
-
- while (true) {
- uint32_t value;
-
- offset = fdt_next_node(fdt, offset, NULL);
- if (offset < 0) {
- if (offset == -FDT_ERR_NOTFOUND)
- break;
-
- return offset;
- }
-
- value = fdt_get_phandle(fdt, offset);
-
- if (value > max)
- max = value;
- }
-
- if (max == FDT_MAX_PHANDLE)
- return -FDT_ERR_NOPHANDLES;
-
- if (phandle)
- *phandle = max + 1;
-
- return 0;
-}
-
static const struct fdt_reserve_entry *fdt_mem_rsv(const void *fdt, int n)
{
int offset = n * sizeof(struct fdt_reserve_entry);
diff --git a/libfdt/libfdt.h b/libfdt/libfdt.h
index 7e102d1..a470d1d 100644
--- a/libfdt/libfdt.h
+++ b/libfdt/libfdt.h
@@ -140,10 +140,6 @@
#define FDT_ERR_MAX 17
-/* constants */
-#define FDT_MAX_PHANDLE 0xfffffffe
- /* Valid values for phandles range from 1 to 2^32-2. */
-
/**********************************************************************/
/* Low-level functions (you probably don't need these) */
/**********************************************************************/
@@ -381,21 +377,6 @@ const char *fdt_string(const void *fdt, int stroffset);
uint32_t fdt_get_max_phandle(const void *fdt);
/**
- * fdt_generate_phandle - return a new, unused phandle for a device tree blob
- * @fdt: pointer to the device tree blob
- * @phandle: return location for the new phandle
- *
- * Walks the device tree blob and looks for the highest phandle value. On
- * success, the new, unused phandle value (one higher than the previously
- * highest phandle value in the device tree blob) will be returned in the
- * @phandle parameter.
- *
- * Returns:
- * 0 on success or a negative error-code on failure
- */
-int fdt_generate_phandle(const void *fdt, uint32_t *phandle);
-
-/**
* fdt_num_mem_rsv - retrieve the number of memory reserve map entries
* @fdt: pointer to the device tree blob
*
diff --git a/libfdt/libfdt_env.h b/libfdt/libfdt_env.h
index 4d1cdfa..eb20538 100644
--- a/libfdt/libfdt_env.h
+++ b/libfdt/libfdt_env.h
@@ -52,7 +52,6 @@
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdlib.h>
diff --git a/libfdt/version.lds b/libfdt/version.lds
index 5897f1e..9f5d708 100644
--- a/libfdt/version.lds
+++ b/libfdt/version.lds
@@ -66,7 +66,6 @@ LIBFDT_1.2 {
fdt_resize;
fdt_overlay_apply;
fdt_get_string;
- fdt_generate_phandle;
local:
*;
};
diff --git a/tests/get_phandle.c b/tests/get_phandle.c
index d87aee5..22bd7b8 100644
--- a/tests/get_phandle.c
+++ b/tests/get_phandle.c
@@ -17,7 +17,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <stdbool.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
@@ -43,32 +42,10 @@ static void check_phandle(void *fdt, const char *path, uint32_t checkhandle)
path, phandle, checkhandle);
}
-static void check_phandle_unique(const void *fdt, uint32_t checkhandle)
-{
- uint32_t phandle;
- int offset = -1;
-
- while (true) {
- offset = fdt_next_node(fdt, offset, NULL);
- if (offset < 0) {
- if (offset == -FDT_ERR_NOTFOUND)
- break;
-
- FAIL("error looking for phandle %#x", checkhandle);
- }
-
- phandle = fdt_get_phandle(fdt, offset);
-
- if (phandle == checkhandle)
- FAIL("generated phandle already exists");
- }
-}
-
int main(int argc, char *argv[])
{
- uint32_t max, phandle;
+ uint32_t max;
void *fdt;
- int err;
test_init(argc, argv);
fdt = load_blob_arg(argc, argv);
@@ -82,11 +59,5 @@ int main(int argc, char *argv[])
FAIL("fdt_get_max_phandle returned 0x%x instead of 0x%x\n",
max, PHANDLE_2);
- err = fdt_generate_phandle(fdt, &phandle);
- if (err < 0)
- FAIL("failed to generate phandle: %d", err);
-
- check_phandle_unique(fdt, phandle);
-
PASS();
}
diff --git a/tests/multilabel.dts b/tests/multilabel.dts
index d80ebe1..77da06c 100644
--- a/tests/multilabel.dts
+++ b/tests/multilabel.dts
@@ -41,9 +41,4 @@ m1: mq: /memreserve/ 0 0x1000;
n2 = &n2;
n3 = &n3;
};
-
- node6 {
- linux,phandle = <0xfffffffe>;
- phandle = <0xfffffffe>;
- };
};
diff --git a/tests/multilabel_merge.dts b/tests/multilabel_merge.dts
index a27d856..3e80298 100644
--- a/tests/multilabel_merge.dts
+++ b/tests/multilabel_merge.dts
@@ -39,11 +39,6 @@ m1: mq: /memreserve/ 0 0x1000;
n2 = &n2;
n3 = &n3;
};
-
- node6 {
- linux,phandle = <0xfffffffe>;
- phandle = <0xfffffffe>;
- };
};
/ {
diff --git a/tests/references.c b/tests/references.c
index 5b233a4..cab70f6 100644
--- a/tests/references.c
+++ b/tests/references.c
@@ -76,8 +76,8 @@ static void check_rref(const void *fdt)
int main(int argc, char *argv[])
{
void *fdt;
- int n1, n2, n3, n4, n5, n6, err;
- uint32_t h1, h2, h4, h5, h6, hn;
+ int n1, n2, n3, n4, n5;
+ uint32_t h1, h2, h4, h5;
test_init(argc, argv);
fdt = load_blob_arg(argc, argv);
@@ -97,15 +97,11 @@ int main(int argc, char *argv[])
n5 = fdt_path_offset(fdt, "/node5");
if (n5 < 0)
FAIL("fdt_path_offset(/node5): %s", fdt_strerror(n5));
- n6 = fdt_path_offset(fdt, "/node6");
- if (n6 < 0)
- FAIL("fdt_path_offset(/node6): %s", fdt_strerror(n6));
h1 = fdt_get_phandle(fdt, n1);
h2 = fdt_get_phandle(fdt, n2);
h4 = fdt_get_phandle(fdt, n4);
h5 = fdt_get_phandle(fdt, n5);
- h6 = fdt_get_phandle(fdt, n6);
if (h1 != 0x2000)
FAIL("/node1 has wrong phandle, 0x%x instead of 0x%x",
@@ -113,9 +109,6 @@ int main(int argc, char *argv[])
if (h2 != 0x1)
FAIL("/node2 has wrong phandle, 0x%x instead of 0x%x",
h2, 0x1);
- if (h6 != FDT_MAX_PHANDLE)
- FAIL("/node6 has wrong phandle, 0x%x instead of 0x%x",
- h6, FDT_MAX_PHANDLE);
if ((h4 == 0x2000) || (h4 == 0x1) || (h4 == 0))
FAIL("/node4 has bad phandle, 0x%x", h4);
@@ -124,14 +117,6 @@ int main(int argc, char *argv[])
if ((h5 == h4) || (h5 == h2) || (h5 == h1))
FAIL("/node5 has duplicate phandle, 0x%x", h5);
- /*
- * /node6 has phandle FDT_MAX_PHANDLE, so fdt_generate_phandle() is
- * expected to fail.
- */
- err = fdt_generate_phandle(fdt, &hn);
- if (err != -FDT_ERR_NOPHANDLES)
- FAIL("generated invalid phandle 0x%x\n", hn);
-
check_ref(fdt, n1, h2);
check_ref(fdt, n2, h1);
check_ref(fdt, n3, h4);
diff --git a/tests/references.dts b/tests/references.dts
index b390639..f783e8b 100644
--- a/tests/references.dts
+++ b/tests/references.dts
@@ -33,9 +33,4 @@
linux,phandle = <&n5>;
phandle = <&n5>;
};
-
- node6 {
- linux,phandle = <0xfffffffe>;
- phandle = <0xfffffffe>;
- };
};