public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: David Daney <ddaney@caviumnetworks.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Joakim Tjernlund <Joakim.Tjernlund@transmode.se>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] [RFC] #define __BYTE_ORDER
Date: Wed, 24 Mar 2010 11:53:13 -0700	[thread overview]
Message-ID: <4BAA5F99.3050904@caviumnetworks.com> (raw)
In-Reply-To: <10f740e81003241137y382d155fnb777344d3af25f03@mail.gmail.com>

On 03/24/2010 11:37 AM, Geert Uytterhoeven wrote:
> On Wed, Mar 24, 2010 at 19:21, Andrew Morton<akpm@linux-foundation.org>  wrote:
>> On Wed, 17 Mar 2010 19:10:55 +0100
>> Joakim Tjernlund<Joakim.Tjernlund@transmode.se>  wrote:
>>
>>> Linux does not define __BYTE_ORDER in its endian header files
>>> which makes some header files bend backwards to get at the
>>> current endian. Lets #define __BYTE_ORDER in big_endian.h/litte_endian.h
>>> to make it easier for header files that are used in user space too.
>>
>> I don't get it.  Why not nuke __BYTE_ORDER altogether and do `#ifdef
>> __LITTLE_ENDIAN' and `#ifdef __BIG_ENDIAN' everywhere?
>
> Because in userspace the convention is that
>    1. _both_ __LITTLE_ENDIAN and __BIG_ENDIAN are defined,
>    2. you have to test for e.g. __BYTE_ORDER == __BIG_ENDIAN.
>

I have stumbled on this issue as well.

However, consider this:

If you make such a change, then you will start to see:

#if __BYTE_ORDER == __BIG_ENDIAN

appearing in kernel source code.  Do we want two different endian 
checking idioms in the kernel?  Or would it be just a single idiom, but 
one that is different than the status quo?

The only time I can see that it makes a difference is if you want to 
share things like driver source code files between in-kernel drivers and 
userspace.  A discussion of which, would probably provoke much discussion.

David Daney



  parent reply	other threads:[~2010-03-24 18:53 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-17 18:10 [PATCH] [RFC] #define __BYTE_ORDER Joakim Tjernlund
2010-03-24 18:21 ` Andrew Morton
2010-03-24 18:37   ` Geert Uytterhoeven
2010-03-24 18:51     ` Andrew Morton
2010-03-24 18:53     ` David Daney [this message]
2010-03-24 21:55       ` Joakim Tjernlund
2010-03-24 21:45     ` Joakim Tjernlund

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=4BAA5F99.3050904@caviumnetworks.com \
    --to=ddaney@caviumnetworks.com \
    --cc=Joakim.Tjernlund@transmode.se \
    --cc=akpm@linux-foundation.org \
    --cc=geert@linux-m68k.org \
    --cc=linux-kernel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox