From: Arnd Bergmann <arnd@arndb.de>
To: Michal Simek <monstr@monstr.eu>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
Grant Likely <grant.likely@secretlab.ca>,
Alexey Brodkin <Alexey.Brodkin@synopsys.com>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Vineet Gupta <Vineet.Gupta1@synopsys.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
dahinds@users.sourceforge.net
Subject: Re: [PATCH] drivers/block/xsysace - replace in(out)_8/in(out)_be16/in(out)_le16 with generic iowrite(read)8/16(be)
Date: Mon, 11 Feb 2013 16:08:29 +0000 [thread overview]
Message-ID: <201302111608.29304.arnd@arndb.de> (raw)
In-Reply-To: <CAHTX3dJ6pZWyGB=6T22wA_wR-Tqty+4Nywm84g_n4djTv-cT=g@mail.gmail.com>
On Monday 11 February 2013, Michal Simek wrote:
> Unfortunately no. Another is spi/i2c (sysace as we discuss in this
> thread), probably icap
> network drivers are ok because they are not shared.
> Timer when it is moved to clocksource(not important right now)
> xilinx gpio is using __raw IO functions which is incorrect on arm in
> connection to barriers.
>
> But it reminds me that maybe the easiest solution is not to use endian
> accessors just use two simple macros which should work on all systems.
>
> #define <name>_readreg(offset) ({__raw_readl(offset); rmb(); })
> #define <name>_writereg(offset, val) ({wmb(); __raw_writel(val, offset); })
>
> which is probably the faster solution which add minimum additional code
> to driver and can also remove endian detection code.
I tend to disagree. You should never assume that a device is the same
endianess as the the CPU, and you should try not to use the __raw_*
accessors in device drivers either.
In particular, ARM can run both big- and little-endian even though
big-endian is rarely used, so you need to know the endianess for
the device you are talking to rather than assume that it knows
what the CPU does at the time.
Arnd
next prev parent reply other threads:[~2013-02-11 16:08 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-29 16:02 [PATCH] drivers/block/xsysace - replace in(out)_8/in(out)_be16/in(out)_le16 with generic iowrite(read)8/16(be) Alexey Brodkin
2013-01-29 16:27 ` Arnd Bergmann
2013-01-30 11:03 ` Alexey Brodkin
2013-01-30 11:13 ` Michal Simek
2013-01-30 12:10 ` Vineet Gupta
2013-01-30 12:31 ` Michal Simek
2013-01-30 14:36 ` Arnd Bergmann
2013-02-04 9:26 ` Michal Simek
2013-02-04 17:24 ` Arnd Bergmann
2013-02-05 2:29 ` Benjamin Herrenschmidt
2013-02-05 10:54 ` Michal Simek
2013-02-05 12:09 ` Vineet Gupta
2013-02-05 12:29 ` Benjamin Herrenschmidt
2013-02-05 12:19 ` Benjamin Herrenschmidt
2013-02-05 12:38 ` Michal Simek
2013-02-05 14:03 ` Alexey Brodkin
2013-02-05 15:12 ` Arnd Bergmann
2013-02-05 21:01 ` Benjamin Herrenschmidt
2013-02-06 10:03 ` Grant Likely
2013-02-06 16:20 ` Arnd Bergmann
2013-02-06 16:21 ` Michal Simek
2013-02-07 0:34 ` Arnd Bergmann
2013-02-06 17:40 ` Michal Simek
2013-02-06 19:51 ` Geert Uytterhoeven
2013-02-07 7:23 ` Michal Simek
2013-02-07 7:38 ` Geert Uytterhoeven
2013-02-07 8:01 ` Michal Simek
2013-02-07 8:20 ` Geert Uytterhoeven
2013-02-07 8:33 ` Arnd Bergmann
2013-02-07 14:19 ` Michal Simek
2013-02-07 23:12 ` Arnd Bergmann
2013-02-11 10:38 ` Michal Simek
2013-02-11 15:26 ` Arnd Bergmann
2013-02-11 15:36 ` Michal Simek
2013-02-11 15:43 ` Arnd Bergmann
2013-02-11 15:57 ` Michal Simek
2013-02-11 16:08 ` Arnd Bergmann [this message]
2013-02-12 0:29 ` Benjamin Herrenschmidt
2013-02-12 11:29 ` Arnd Bergmann
2013-02-12 10:11 ` Michal Simek
2013-02-12 11:26 ` Arnd Bergmann
2013-02-12 12:14 ` Michal Simek
2013-02-12 13:55 ` Arnd Bergmann
2013-02-12 12:30 ` Benjamin Herrenschmidt
2013-02-12 0:25 ` Benjamin Herrenschmidt
2013-02-12 10:03 ` Michal Simek
2013-02-05 21:00 ` Benjamin Herrenschmidt
2013-02-05 21:25 ` Alexey Brodkin
2013-02-05 23:07 ` Benjamin Herrenschmidt
2013-02-06 10:14 ` Grant Likely
2013-02-06 16:27 ` Arnd Bergmann
2013-02-06 21:35 ` Benjamin Herrenschmidt
2013-02-07 12:09 ` Alexey Brodkin
2013-02-07 12:20 ` Benjamin Herrenschmidt
2013-02-07 12:23 ` Benjamin Herrenschmidt
2013-02-07 14:31 ` Michal Simek
2013-02-07 14:35 ` Alexey Brodkin
2013-02-07 14:39 ` Grant Likely
2013-02-07 14:51 ` Grant Likely
2013-02-07 15:12 ` Alexey Brodkin
2013-02-07 15:23 ` Grant Likely
2013-02-07 15:28 ` Alexey Brodkin
2013-02-07 16:44 ` Grant Likely
2013-02-07 16:56 ` Alexey Brodkin
2013-02-07 17:16 ` Grant Likely
2013-02-07 17:22 ` Alexey Brodkin
2013-02-08 7:45 ` Grant Likely
2013-02-07 21:18 ` Benjamin Herrenschmidt
2013-02-07 21:15 ` Benjamin Herrenschmidt
2013-02-07 23:05 ` Arnd Bergmann
2013-02-08 6:19 ` Geert Uytterhoeven
2013-02-08 7:14 ` Grant Likely
2013-02-07 21:09 ` Benjamin Herrenschmidt
2013-02-12 17:02 ` Michal Simek
2013-02-12 17:25 ` Arnd Bergmann
2013-03-21 17:01 ` Alexey Brodkin
2013-06-19 8:56 ` xsysace driver support on arches other than PPC/Microblaze Alexey Brodkin
2013-06-19 9:09 ` Alexey Brodkin
2013-06-19 12:13 ` Andy Shevchenko
2013-06-19 12:56 ` Alexey Brodkin
2013-06-19 14:51 ` Arnd Bergmann
2013-02-07 21:06 ` [PATCH] drivers/block/xsysace - replace in(out)_8/in(out)_be16/in(out)_le16 with generic iowrite(read)8/16(be) Benjamin Herrenschmidt
2013-02-05 23:03 ` Arnd Bergmann
2013-02-06 8:59 ` Geert Uytterhoeven
2013-02-06 16:18 ` Arnd Bergmann
2013-02-05 10:45 ` 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=201302111608.29304.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=Alexey.Brodkin@synopsys.com \
--cc=Vineet.Gupta1@synopsys.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=benh@kernel.crashing.org \
--cc=dahinds@users.sourceforge.net \
--cc=geert@linux-m68k.org \
--cc=grant.likely@secretlab.ca \
--cc=linux-kernel@vger.kernel.org \
--cc=monstr@monstr.eu \
/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