From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:45310) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ScIdV-0008SZ-OQ for qemu-devel@nongnu.org; Wed, 06 Jun 2012 11:59:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ScIdP-0003a2-Fd for qemu-devel@nongnu.org; Wed, 06 Jun 2012 11:59:05 -0400 Message-ID: <4FCF7E3B.904@suse.de> Date: Wed, 06 Jun 2012 17:58:51 +0200 From: Alexander Graf MIME-Version: 1.0 References: <1338940402-28502-1-git-send-email-agraf@suse.de> <1338940402-28502-6-git-send-email-agraf@suse.de> <1338959502.15420.12.camel@PetaLogix-ws2> In-Reply-To: <1338959502.15420.12.camel@PetaLogix-ws2> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 05/31] dt: add helper for phandle enumeration List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Crosthwaite Cc: qemu-ppc Mailing List , "qemu-devel@nongnu.org Developers" On 06/06/2012 07:11 AM, Peter Crosthwaite wrote: > On Wed, 2012-06-06 at 01:52 +0200, Alexander Graf wrote: >> This patch adds a helper to search for a node's phandle by its path. This >> is especially useful when the phandle is part of an array, not just a single >> cell in which case qemu_devtree_setprop_phandle would be the easy choice. >> >> Signed-off-by: Alexander Graf >> --- >> device_tree.c | 16 +++++++++++++++- >> device_tree.h | 1 + >> 2 files changed, 16 insertions(+), 1 deletions(-) >> >> diff --git a/device_tree.c b/device_tree.c >> index 6cbc5af..6745d17 100644 >> --- a/device_tree.c >> +++ b/device_tree.c >> @@ -162,10 +162,24 @@ int qemu_devtree_setprop_string(void *fdt, const char *node_path, >> return r; >> } >> >> +uint32_t qemu_devtree_get_phandle(void *fdt, const char *path) >> +{ >> + uint32_t r; >> + >> + r = fdt_get_phandle(fdt, findnode_nofail(fdt, path)); >> + if (r<= 0) { >> + fprintf(stderr, "%s: Couldn't get phandle for %s: %s\n", __func__, >> + path, fdt_strerror(r)); >> + exit(1); > Is it really this functions job to terminate qemu on fail? There may be > scenarios where a node does not have a phandle where the client can > handle that. Perhaps return -1 on error and the client has to check? If it can, what's the point in not calling libfdt directly then? Alex