All of lore.kernel.org
 help / color / mirror / Atom feed
From: Grant Likely <grant.likely@secretlab.ca>
To: linuxppc-dev@lists.ozlabs.org,
	devicetree-discuss@lists.ozlabs.org, benh@kernel.crashing.org,
	sfr@canb.auug.org.au, davem@davemloft.net,
	sparclinux@vger.kernel.org, monstr@monstr.eu
Subject: [PATCH 10/11] of: remove special case definition of of_read_ulong()
Date: Thu, 05 Nov 2009 00:47:19 -0700	[thread overview]
Message-ID: <20091105074710.10460.31527.stgit@angua> (raw)
In-Reply-To: <20091105073728.10460.6061.stgit@angua>

Special case of of_read_ulong() was defined for PPC32 to toss away
all but the last 32 bits when a large number value was read, and the
'normal' version for ppc64 just #defined of_read_ulong to of_read_number
which causes compiler warnings on MicroBlaze and other 32 bit
architectures because it returns a u64 instead of a ulong.

This patch fixes the problem by defining a common implementation of
of_read_ulong() that works everywhere.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
---

 include/linux/of.h |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/include/linux/of.h b/include/linux/of.h
index bec2157..d4c014a 100644
--- a/include/linux/of.h
+++ b/include/linux/of.h
@@ -113,14 +113,11 @@ static inline u64 of_read_number(const u32 *cell, int size)
 }
 
 /* Like of_read_number, but we want an unsigned long result */
-#ifdef CONFIG_PPC32
 static inline unsigned long of_read_ulong(const u32 *cell, int size)
 {
-	return cell[size-1];
+	/* toss away upper bits if unsigned long is smaller than u64 */
+	return of_read_number(cell, size);
 }
-#else
-#define of_read_ulong(cell, size)	of_read_number(cell, size)
-#endif
 
 #include <asm/prom.h>
 


WARNING: multiple messages have this Message-ID (diff)
From: Grant Likely <grant.likely@secretlab.ca>
To: linuxppc-dev@lists.ozlabs.org,
	devicetree-discuss@lists.ozlabs.org, benh@kernel.crashing.org,
	sfr@canb.auug.org.au, davem@davemloft.net,
	sparclinux@vger.kernel.org, monstr@monstr.eu
Subject: [PATCH 10/11] of: remove special case definition of of_read_ulong()
Date: Thu, 05 Nov 2009 07:47:19 +0000	[thread overview]
Message-ID: <20091105074710.10460.31527.stgit@angua> (raw)
In-Reply-To: <20091105073728.10460.6061.stgit@angua>

Special case of of_read_ulong() was defined for PPC32 to toss away
all but the last 32 bits when a large number value was read, and the
'normal' version for ppc64 just #defined of_read_ulong to of_read_number
which causes compiler warnings on MicroBlaze and other 32 bit
architectures because it returns a u64 instead of a ulong.

This patch fixes the problem by defining a common implementation of
of_read_ulong() that works everywhere.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
---

 include/linux/of.h |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/include/linux/of.h b/include/linux/of.h
index bec2157..d4c014a 100644
--- a/include/linux/of.h
+++ b/include/linux/of.h
@@ -113,14 +113,11 @@ static inline u64 of_read_number(const u32 *cell, int size)
 }
 
 /* Like of_read_number, but we want an unsigned long result */
-#ifdef CONFIG_PPC32
 static inline unsigned long of_read_ulong(const u32 *cell, int size)
 {
-	return cell[size-1];
+	/* toss away upper bits if unsigned long is smaller than u64 */
+	return of_read_number(cell, size);
 }
-#else
-#define of_read_ulong(cell, size)	of_read_number(cell, size)
-#endif
 
 #include <asm/prom.h>
 


WARNING: multiple messages have this Message-ID (diff)
From: Grant Likely <grant.likely@secretlab.ca>
To: linuxppc-dev@lists.ozlabs.org,
	devicetree-discuss@lists.ozlabs.org, benh@kernel.crashing.org,
	sfr@canb.auug.org.au, davem@davemloft.net,
	sparclinux@vger.kernel.org, monstr@monstr.eu,
	microblaze-uclinux@itee.uq.edu.au
Subject: [PATCH 10/11] of: remove special case definition of of_read_ulong()
Date: Thu, 05 Nov 2009 00:47:19 -0700	[thread overview]
Message-ID: <20091105074710.10460.31527.stgit@angua> (raw)
In-Reply-To: <20091105073728.10460.6061.stgit@angua>

Special case of of_read_ulong() was defined for PPC32 to toss away
all but the last 32 bits when a large number value was read, and the
'normal' version for ppc64 just #defined of_read_ulong to of_read_number
which causes compiler warnings on MicroBlaze and other 32 bit
architectures because it returns a u64 instead of a ulong.

This patch fixes the problem by defining a common implementation of
of_read_ulong() that works everywhere.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
---

 include/linux/of.h |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/include/linux/of.h b/include/linux/of.h
index bec2157..d4c014a 100644
--- a/include/linux/of.h
+++ b/include/linux/of.h
@@ -113,14 +113,11 @@ static inline u64 of_read_number(const u32 *cell, int size)
 }
 
 /* Like of_read_number, but we want an unsigned long result */
-#ifdef CONFIG_PPC32
 static inline unsigned long of_read_ulong(const u32 *cell, int size)
 {
-	return cell[size-1];
+	/* toss away upper bits if unsigned long is smaller than u64 */
+	return of_read_number(cell, size);
 }
-#else
-#define of_read_ulong(cell, size)	of_read_number(cell, size)
-#endif
 
 #include <asm/prom.h>
 

  parent reply	other threads:[~2009-11-05  7:47 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-05  7:45 [PATCH 00/11] More OF merge patches Grant Likely
2009-11-05  7:45 ` Grant Likely
2009-11-05  7:45 ` Grant Likely
2009-11-05  7:45 ` [PATCH 01/11] of/flattree: merge find_flat_dt_string and initial_boot_params Grant Likely
2009-11-05  7:45   ` Grant Likely
2009-11-05  7:45   ` [PATCH 01/11] of/flattree: merge find_flat_dt_string and Grant Likely
2009-11-05  8:39   ` [PATCH 01/11] of/flattree: merge find_flat_dt_string and initial_boot_params Wolfram Sang
2009-11-05  8:39     ` Wolfram Sang
2009-11-05  8:39     ` [PATCH 01/11] of/flattree: merge find_flat_dt_string and Wolfram Sang
2009-11-05  8:45     ` [PATCH 01/11] of/flattree: merge find_flat_dt_string and initial_boot_params Grant Likely
2009-11-05  8:45       ` Grant Likely
2009-11-05  8:45       ` [PATCH 01/11] of/flattree: merge find_flat_dt_string and Grant Likely
2009-11-05  7:45 ` [PATCH 02/11] of/flattree: merge of_scan_flat_dt Grant Likely
2009-11-05  7:45   ` Grant Likely
2009-11-05  7:45   ` Grant Likely
2009-11-05  8:45   ` Wolfram Sang
2009-11-05  8:45     ` Wolfram Sang
2009-11-05  8:45     ` Wolfram Sang
2009-11-05  7:45 ` [PATCH 03/11] of/flattree: merge of_get_flat_dt_root Grant Likely
2009-11-05  7:45   ` Grant Likely
2009-11-05  7:45   ` Grant Likely
2009-11-05  7:46 ` [PATCH 04/11] of/flattree: remove __init annotations from the header file Grant Likely
2009-11-05  7:46   ` Grant Likely
2009-11-05  7:46   ` [PATCH 04/11] of/flattree: remove __init annotations from the header Grant Likely
2009-11-05  7:46 ` [PATCH 05/11] of/flattree: merge of_get_flat_dt_prop Grant Likely
2009-11-05  7:46   ` Grant Likely
2009-11-05  7:46   ` Grant Likely
2009-11-05  8:49   ` Wolfram Sang
2009-11-05  8:49     ` Wolfram Sang
2009-11-05  8:49     ` Wolfram Sang
2009-11-05  7:46 ` [PATCH 06/11] of/flattree: Merge of_flat_dt_is_compatible Grant Likely
2009-11-05  7:46   ` Grant Likely
2009-11-05  7:46   ` Grant Likely
2009-11-05  7:46 ` [PATCH 07/11] of/flattree: Merge unflatten_dt_node Grant Likely
2009-11-05  7:46   ` Grant Likely
2009-11-05  7:46   ` Grant Likely
2009-11-05  8:59   ` Wolfram Sang
2009-11-05  8:59     ` Wolfram Sang
2009-11-05  8:59     ` Wolfram Sang
2009-11-05  7:46 ` [PATCH 08/11] of/flattree: Merge unflatten_device_tree Grant Likely
2009-11-05  7:46   ` Grant Likely
2009-11-05  7:46   ` Grant Likely
2009-11-05  7:47 ` [PATCH 09/11] of: merge prom_{add,remove,modify}_property Grant Likely
2009-11-05  7:47   ` Grant Likely
2009-11-05  7:47   ` Grant Likely
2009-11-10 20:33   ` Nathan Fontenot
2009-11-10 20:33     ` Nathan Fontenot
2009-11-10 20:33     ` Nathan Fontenot
2009-11-10 21:41     ` Grant Likely
2009-11-10 21:41       ` Grant Likely
2009-11-10 21:41       ` Grant Likely
2009-11-05  7:47 ` Grant Likely [this message]
2009-11-05  7:47   ` [PATCH 10/11] of: remove special case definition of of_read_ulong() Grant Likely
2009-11-05  7:47   ` Grant Likely
2009-11-05  7:47 ` [PATCH 11/11] of/flattree: Merge early_init_dt_check_for_initrd() Grant Likely
2009-11-05  7:47   ` Grant Likely
2009-11-05  7:47   ` Grant Likely
2009-11-05 10:11 ` [PATCH 00/11] More OF merge patches Wolfram Sang
2009-11-05 10:11   ` Wolfram Sang
2009-11-05 10:11   ` Wolfram Sang
2009-11-09 10:35 ` [microblaze-uclinux] " Michal Simek
2009-11-09 10:35   ` Michal Simek
2009-11-09 10:35   ` Michal Simek

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=20091105074710.10460.31527.stgit@angua \
    --to=grant.likely@secretlab.ca \
    --cc=benh@kernel.crashing.org \
    --cc=davem@davemloft.net \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=monstr@monstr.eu \
    --cc=sfr@canb.auug.org.au \
    --cc=sparclinux@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.