devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
To: David Daney <ddaney-M3mlKVOIwJVv6pq1l3V1OdBPR1lH4CV8@public.gmane.org>
Cc: linux-mips-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	ralf-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org
Subject: Re: [RFC PATCH v2 02/12] of: Allow scripts/dtc/libfdt to be used from kernel code
Date: Sat, 5 Mar 2011 19:24:09 +1100	[thread overview]
Message-ID: <20110305082409.GB3312@yookeroo> (raw)
In-Reply-To: <1299267744-17278-3-git-send-email-ddaney-M3mlKVOIwJVv6pq1l3V1OdBPR1lH4CV8@public.gmane.org>

On Fri, Mar 04, 2011 at 11:42:14AM -0800, David Daney wrote:
> Signed-off-by: David Daney <ddaney-M3mlKVOIwJVv6pq1l3V1OdBPR1lH4CV8@public.gmane.org>
[snip]
> --- /dev/null
> +++ b/lib/libfdt/libfdt_env.h
> @@ -0,0 +1,21 @@
> +#ifndef _LIBFDT_ENV_H
> +#define _LIBFDT_ENV_H
> +
> +#include <linux/string.h>
> +
> +#define _B(n)	((unsigned long long)((uint8_t *)&x)[n])
> +static inline uint32_t fdt32_to_cpu(uint32_t x)
> +{
> +	return (_B(0) << 24) | (_B(1) << 16) | (_B(2) << 8) | _B(3);
> +}
> +#define cpu_to_fdt32(x) fdt32_to_cpu(x)
> +
> +static inline uint64_t fdt64_to_cpu(uint64_t x)
> +{
> +	return (_B(0) << 56) | (_B(1) << 48) | (_B(2) << 40) | (_B(3) << 32)
> +		| (_B(4) << 24) | (_B(5) << 16) | (_B(6) << 8) | _B(7);
> +}
> +#define cpu_to_fdt64(x) fdt64_to_cpu(x)
> +#undef _B

Ah, yuck.  I only used those nasty macros in the userspace version of
libfdt_env.h because bytesex.h is such a portability nightmare.  The
kernel already has cpu_to_be{32,64}(), and the fdt byteswapping
functions should just be aliased to them.

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

  parent reply	other threads:[~2011-03-05  8:24 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-04 19:42 [RFC PATCH v2 00/12] MIPS: Octeon: Use Device Tree David Daney
2011-03-04 19:42 ` [RFC PATCH v2 01/12] MIPS: Octeon: Move some Ethernet support files out of staging David Daney
2011-03-04 19:42 ` [RFC PATCH v2 02/12] of: Allow scripts/dtc/libfdt to be used from kernel code David Daney
     [not found]   ` <1299267744-17278-3-git-send-email-ddaney-M3mlKVOIwJVv6pq1l3V1OdBPR1lH4CV8@public.gmane.org>
2011-03-05  0:57     ` Grant Likely
     [not found]       ` <20110305005750.GC7579-MrY2KI0G/OVr83L8+7iqerDks+cytr/Z@public.gmane.org>
2011-03-05  0:59         ` Grant Likely
2011-03-05 22:04       ` Sam Ravnborg
2011-03-05  8:24     ` David Gibson [this message]
2011-03-04 19:42 ` [RFC PATCH v2 07/12] MIPS: Octeon: Rearrance CVMX files in preperation for device tree David Daney
     [not found] ` <1299267744-17278-1-git-send-email-ddaney-M3mlKVOIwJVv6pq1l3V1OdBPR1lH4CV8@public.gmane.org>
2011-03-04 19:42   ` [RFC PATCH v2 03/12] of: Make of_find_node_by_path() traverse /aliases for relative paths David Daney
2011-03-04 21:55     ` Grant Likely
2011-03-04 19:42   ` [RFC PATCH v2 04/12] MIPS: Octeon: Add device tree source files David Daney
     [not found]     ` <1299267744-17278-5-git-send-email-ddaney-M3mlKVOIwJVv6pq1l3V1OdBPR1lH4CV8@public.gmane.org>
2011-03-05  1:15       ` Grant Likely
2011-03-04 19:42   ` [RFC PATCH v2 05/12] MIPS: Prune some target specific code out of prom.c David Daney
2011-03-04 19:42   ` [RFC PATCH v2 06/12] MIPS: Octeon: Add a irq_create_of_mapping() implementation David Daney
2011-03-05  1:07     ` Grant Likely
2011-03-11 18:27       ` David Daney
2011-03-04 19:42   ` [RFC PATCH v2 08/12] MIPS: Octeon: Initialize and fixup device tree David Daney
     [not found]     ` <1299267744-17278-9-git-send-email-ddaney-M3mlKVOIwJVv6pq1l3V1OdBPR1lH4CV8@public.gmane.org>
2011-03-05  3:05       ` Grant Likely
2011-03-04 19:42   ` [RFC PATCH v2 09/12] i2c: Convert i2c-octeon.c to use " David Daney
2011-03-04 19:42   ` [RFC PATCH v2 10/12] netdev: mdio-octeon.c: Convert " David Daney
2011-03-04 21:10     ` David Miller
2011-03-04 19:42   ` [RFC PATCH v2 11/12] netdev: octeon_mgmt: " David Daney
2011-03-04 21:10     ` David Miller
2011-03-04 19:42   ` [RFC PATCH v2 12/12] staging: octeon_ethernet: " David Daney
2011-03-04 21:10     ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110305082409.GB3312@yookeroo \
    --to=david-xt8fgy+axnrb3ne2bgzf6laj5h9x9tb+@public.gmane.org \
    --cc=ddaney-M3mlKVOIwJVv6pq1l3V1OdBPR1lH4CV8@public.gmane.org \
    --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-mips-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org \
    --cc=ralf-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).