| From 4d4703e0199fb3556c37694e4d951785abca22fd Mon Sep 17 00:00:00 2001 |
| From: Bruce Ashfield <bruce.ashfield@gmail.com> |
| Date: Wed, 19 Jan 2022 12:46:42 -0500 |
| Subject: [PATCH] Revert "libfdt: overlay: make overlay_get_target() public" |
| |
| This reverts commit 45f3d1a095dd3440578d5c6313eba555a791f3fb. |
| |
| Upstream-Status: Inappropriate [embedded specific] |
| |
| --- |
| libfdt/fdt_overlay.c | 29 ++++++++++++++++++++++------- |
| libfdt/libfdt.h | 18 ------------------ |
| libfdt/version.lds | 1 - |
| 3 files changed, 22 insertions(+), 26 deletions(-) |
| |
| diff --git a/libfdt/fdt_overlay.c b/libfdt/fdt_overlay.c |
| index 5c0c398..d217e79 100644 |
| --- a/libfdt/fdt_overlay.c |
| +++ b/libfdt/fdt_overlay.c |
| @@ -40,22 +40,37 @@ static uint32_t overlay_get_target_phandle(const void *fdto, int fragment) |
| return fdt32_to_cpu(*val); |
| } |
| |
| -int fdt_overlay_target_offset(const void *fdt, const void *fdto, |
| - int fragment_offset, char const **pathp) |
| +/** |
| + * overlay_get_target - retrieves the offset of a fragment's target |
| + * @fdt: Base device tree blob |
| + * @fdto: Device tree overlay blob |
| + * @fragment: node offset of the fragment in the overlay |
| + * @pathp: pointer which receives the path of the target (or NULL) |
| + * |
| + * overlay_get_target() retrieves the target offset in the base |
| + * device tree of a fragment, no matter how the actual targeting is |
| + * done (through a phandle or a path) |
| + * |
| + * returns: |
| + * the targeted node offset in the base device tree |
| + * Negative error code on error |
| + */ |
| +static int overlay_get_target(const void *fdt, const void *fdto, |
| + int fragment, char const **pathp) |
| { |
| uint32_t phandle; |
| const char *path = NULL; |
| int path_len = 0, ret; |
| |
| /* Try first to do a phandle based lookup */ |
| - phandle = overlay_get_target_phandle(fdto, fragment_offset); |
| + phandle = overlay_get_target_phandle(fdto, fragment); |
| if (phandle == (uint32_t)-1) |
| return -FDT_ERR_BADPHANDLE; |
| |
| /* no phandle, try path */ |
| if (!phandle) { |
| /* And then a path based lookup */ |
| - path = fdt_getprop(fdto, fragment_offset, "target-path", &path_len); |
| + path = fdt_getprop(fdto, fragment, "target-path", &path_len); |
| if (path) |
| ret = fdt_path_offset(fdt, path); |
| else |
| @@ -621,7 +636,7 @@ static int overlay_merge(void *fdt, void *fdto) |
| if (overlay < 0) |
| return overlay; |
| |
| - target = fdt_overlay_target_offset(fdt, fdto, fragment, NULL); |
| + target = overlay_get_target(fdt, fdto, fragment, NULL); |
| if (target < 0) |
| return target; |
| |
| @@ -764,7 +779,7 @@ static int overlay_symbol_update(void *fdt, void *fdto) |
| return -FDT_ERR_BADOVERLAY; |
| |
| /* get the target of the fragment */ |
| - ret = fdt_overlay_target_offset(fdt, fdto, fragment, &target_path); |
| + ret = overlay_get_target(fdt, fdto, fragment, &target_path); |
| if (ret < 0) |
| return ret; |
| target = ret; |
| @@ -786,7 +801,7 @@ static int overlay_symbol_update(void *fdt, void *fdto) |
| |
| if (!target_path) { |
| /* again in case setprop_placeholder changed it */ |
| - ret = fdt_overlay_target_offset(fdt, fdto, fragment, &target_path); |
| + ret = overlay_get_target(fdt, fdto, fragment, &target_path); |
| if (ret < 0) |
| return ret; |
| target = ret; |
| diff --git a/libfdt/libfdt.h b/libfdt/libfdt.h |
| index a7f432c..7f117e8 100644 |
| --- a/libfdt/libfdt.h |
| +++ b/libfdt/libfdt.h |
| @@ -2116,24 +2116,6 @@ int fdt_del_node(void *fdt, int nodeoffset); |
| */ |
| int fdt_overlay_apply(void *fdt, void *fdto); |
| |
| -/** |
| - * fdt_overlay_target_offset - retrieves the offset of a fragment's target |
| - * @fdt: Base device tree blob |
| - * @fdto: Device tree overlay blob |
| - * @fragment_offset: node offset of the fragment in the overlay |
| - * @pathp: pointer which receives the path of the target (or NULL) |
| - * |
| - * fdt_overlay_target_offset() retrieves the target offset in the base |
| - * device tree of a fragment, no matter how the actual targeting is |
| - * done (through a phandle or a path) |
| - * |
| - * returns: |
| - * the targeted node offset in the base device tree |
| - * Negative error code on error |
| - */ |
| -int fdt_overlay_target_offset(const void *fdt, const void *fdto, |
| - int fragment_offset, char const **pathp); |
| - |
| /**********************************************************************/ |
| /* Debugging / informational functions */ |
| /**********************************************************************/ |
| diff --git a/libfdt/version.lds b/libfdt/version.lds |
| index cbce5d4..7ab85f1 100644 |
| --- a/libfdt/version.lds |
| +++ b/libfdt/version.lds |
| @@ -77,7 +77,6 @@ LIBFDT_1.2 { |
| fdt_appendprop_addrrange; |
| fdt_setprop_inplace_namelen_partial; |
| fdt_create_with_flags; |
| - fdt_overlay_target_offset; |
| local: |
| *; |
| }; |
| -- |
| 2.19.1 |
| |