From: geert@linux-m68k.org (Geert Uytterhoeven)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/2] mtd: orion-nand: fix build error with ARMv4
Date: Wed, 14 May 2014 14:35:28 +0200 [thread overview]
Message-ID: <CAMuHMdXD7HhG_jGJdz8hCR847tKcRC-tQnHp=xtTDYVKBc6yQQ@mail.gmail.com> (raw)
In-Reply-To: <4645786.pJABUgPlCA@wuerfel>
On Wed, May 14, 2014 at 1:47 PM, Arnd Bergmann <arnd@arndb.de> wrote:
>> Sure, but did anyone (Arnd?) have thoughts on a better way to do this:
>>
>> +#ifdef CONFIG_64BIT
>> + buf64[i++] = readq_relaxed(io_base);
>> +#else
>> + buf64[i++] = *(const volatile u64 __force *)io_base;
>> +#endif
>>
>> IMHO, readq should exist on any platform that can issue a 64 bit bus
>> transaction, and I expect many ARM's qualify.
>
> Well, the original problem happened specifically for the case that doesn't
> have a 64-bit bus transaction (building for ARMv4). If we define
> readq_relaxed, it has to be an inline assembly, in order to work for
> drivers that require an atomic transaction, so that would have the
> same problem. We are a bit inconsistent here though: most 32-bit
> architectures have no readq, parisc has one that does two 32-bit accesses,
> sh relies on the compiler, and tile apparently has a native instruction.
>
> It seems reasonable to replace the inline assembly in this driver with
> a new function as a cleanup, but then how do you want to solve the case
> of building a combined armv4/v5 kernel?
Provide two helper functions, one for v4, one for v5, and call
them through a function pointer that's set up during driver probe?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
next prev parent reply other threads:[~2014-05-14 12:35 UTC|newest]
Thread overview: 95+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-08 14:46 [PATCH 00/22] Random ARM randconfig fixes in drivers Arnd Bergmann
2014-05-08 14:46 ` [PATCH] mdio_bus: fix devm_mdiobus_alloc_size export Arnd Bergmann
2014-05-08 17:01 ` Grygorii Strashko
2014-05-09 7:06 ` Prabhakar Lad
2014-05-09 20:39 ` David Miller
2014-05-08 14:46 ` [PATCH 1/2] phy: kona2: use 'select GENERIC_PHY' in Kconfig Arnd Bergmann
2014-05-08 14:46 ` [PATCH 2/2] phy: exynos: fix SATA phy license typo Arnd Bergmann
2014-05-08 18:46 ` Paul Bolle
2014-05-08 14:56 ` [PATCH 1/2] dmaengine: omap: hide filter_fn for built-in drivers Arnd Bergmann
2014-05-08 14:56 ` [PATCH 2/2] dmaengine: sa11x0: remove broken #ifdef Arnd Bergmann
2014-05-08 16:08 ` Shevchenko, Andriy
2014-05-21 6:05 ` Vinod Koul
2014-05-08 14:56 ` [PATCH 1/2] mtd/onenand: fix build warning for dma type Arnd Bergmann
2014-05-12 23:26 ` Brian Norris
2014-05-08 14:56 ` [PATCH 2/2] mtd: orion-nand: fix build error with ARMv4 Arnd Bergmann
2014-05-09 18:45 ` Ezequiel Garcia
2014-05-09 19:29 ` Geert Uytterhoeven
2014-05-09 20:12 ` Arnd Bergmann
2014-05-09 21:28 ` Jason Gunthorpe
2014-05-09 22:09 ` Ezequiel Garcia
2014-05-09 22:24 ` Arnd Bergmann
2014-05-09 23:55 ` Ezequiel Garcia
2014-05-13 20:55 ` Jason Gunthorpe
2014-05-14 11:47 ` Arnd Bergmann
2014-05-14 12:35 ` Geert Uytterhoeven [this message]
2014-05-14 13:09 ` Arnd Bergmann
2014-05-08 14:56 ` [PATCH] clk/versatile: export symbols for impd1 Arnd Bergmann
2014-05-08 21:09 ` Linus Walleij
2014-05-15 6:41 ` Mike Turquette
2014-05-08 14:56 ` [PATCH] bus/omap_l3: avoid sync initcall for modules Arnd Bergmann
2014-05-12 22:20 ` Tony Lindgren
2014-05-13 15:12 ` Arnd Bergmann
2014-05-13 16:27 ` Tony Lindgren
2014-05-14 17:39 ` Greg KH
2014-05-14 18:15 ` Arnd Bergmann
2014-05-15 0:11 ` Tony Lindgren
2014-05-08 14:56 ` [PATCH] bus/arm-cci: add dependency on OF && CPU_V7 Arnd Bergmann
2014-05-09 9:31 ` Lorenzo Pieralisi
2014-05-08 14:56 ` [PATCH] watchdog: iop_wdt only builds for mach-iop13xx Arnd Bergmann
2014-05-08 16:42 ` Guenter Roeck
2014-05-08 14:56 ` [PATCH] mpilib: use 'static inline' for mpi-inline.h Arnd Bergmann
2014-05-08 15:30 ` Steven Rostedt
2014-05-09 1:17 ` Behan Webster
2014-05-08 14:56 ` [PATCH] ata: pata_at91 only works on sam9 Arnd Bergmann
2014-05-08 15:00 ` Tejun Heo
2014-05-08 14:56 ` [PATCH] i2c/nuc900: fix ancient build error Arnd Bergmann
2014-05-09 22:23 ` Mark Roszko
2014-05-14 16:27 ` Wolfram Sang
2014-05-14 18:14 ` Arnd Bergmann
2014-05-14 19:17 ` Wolfram Sang
2014-05-21 10:49 ` Wolfram Sang
2014-05-08 14:56 ` [PATCH 1/2] iio: always select ANON_INODES Arnd Bergmann
2014-05-10 10:40 ` Jonathan Cameron
2014-05-08 14:56 ` [PATCH 2/2] iio:adc: at91 requires the input subsystem Arnd Bergmann
2014-05-08 17:22 ` Alexandre Belloni
2014-05-08 17:31 ` Lars-Peter Clausen
2014-05-09 10:01 ` Nicolas Ferre
2014-05-09 11:43 ` [PATCH v2 " Arnd Bergmann
2014-05-09 12:57 ` Nicolas Ferre
2014-05-10 10:42 ` Jonathan Cameron
2014-05-08 14:56 ` [PATCH] pci: rcar host needs OF Arnd Bergmann
2014-05-08 15:06 ` Ben Dooks
2014-05-08 15:16 ` Geert Uytterhoeven
2014-05-08 15:21 ` Arnd Bergmann
2014-05-09 6:59 ` Arnd Bergmann
2014-05-27 22:54 ` Bjorn Helgaas
2014-05-28 1:37 ` Jingoo Han
2014-05-08 14:56 ` [PATCH 1/2] input: fix ps2/serio module dependency Arnd Bergmann
2014-05-08 15:59 ` Dmitry Torokhov
2014-05-09 7:34 ` Arnd Bergmann
2014-05-08 14:56 ` [PATCH 2/2] input: atmel-wm97xx: only build for AVR32 Arnd Bergmann
2014-05-12 13:16 ` Nicolas Ferre
2014-05-08 14:56 ` [PATCH] misc: atmel_pwm: only build for supported platforms Arnd Bergmann
2014-05-09 10:03 ` Nicolas Ferre
2014-05-28 12:24 ` Paul Bolle
2014-05-28 15:59 ` Alexandre Belloni
2014-05-28 16:09 ` Paul Bolle
2014-05-28 17:55 ` Alexandre Belloni
2014-05-28 17:59 ` Paul Bolle
2014-05-28 18:42 ` Greg Kroah-Hartman
2014-05-28 23:19 ` Alexandre Belloni
2014-06-18 9:19 ` Paul Bolle
2014-06-18 9:31 ` Alexandre Belloni
2014-06-25 9:43 ` [PATCH] misc: atmel_pwm: fix Kconfig symbols Nicolas Ferre
2014-06-25 10:48 ` Alexandre Belloni
2014-05-08 14:56 ` [PATCH] remoteproc: da8xx: don't select CMA on no-MMU Arnd Bergmann
2014-05-12 13:09 ` Ohad Ben-Cohen
2014-05-12 18:04 ` Arnd Bergmann
2014-05-12 18:07 ` Ohad Ben-Cohen
2014-05-08 14:56 ` [PATCH] regulator: arizona-ldo1: add missing #include Arnd Bergmann
2014-05-08 16:19 ` Charles Keepax
2014-05-12 22:17 ` [PATCH 1/2] dmaengine: omap: hide filter_fn for built-in drivers Tony Lindgren
2014-05-21 6:11 ` Vinod Koul
2014-05-08 16:41 ` [PATCH 00/22] Random ARM randconfig fixes in drivers Guenter Roeck
2014-05-09 11:48 ` Arnd Bergmann
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='CAMuHMdXD7HhG_jGJdz8hCR847tKcRC-tQnHp=xtTDYVKBc6yQQ@mail.gmail.com' \
--to=geert@linux-m68k.org \
--cc=linux-arm-kernel@lists.infradead.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).