[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081111061140.GB32733@linux-sh.org>
Date: Tue, 11 Nov 2008 15:11:40 +0900
From: Paul Mundt <lethal@...ux-sh.org>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Hitoshi Mitake <h.mitake@...il.com>,
Hitoshi Mitake <mitake@...stcom.com>,
Doug Thompson <norsk5@...oo.com>, dougthompson@...ssion.com,
linux-kernel@...r.kernel.org, ktaka@...stcom.com,
linux-arch@...r.kernel.org
Subject: Re: [PATCH 1/1] edac x38: new MC driver module
On Sun, Nov 09, 2008 at 11:26:46AM -0800, Andrew Morton wrote:
> (cc linux-arch)
>
> > It seems that architectures that provide readq/writeq are
> > mips, parisc and x86 (and x86_64).
> >
There are more than that, grep arch/*/include also.
In addition to mips, parisc, and x86, there is ia64, alpha, sh, and
sparc.
> #ifdef readq
>
> Is a suitable way of determining whether the architecture implements
> readq and writeq. It isn't pretty, but it will suffice.
>
> A problem with it is that drivers will then do
>
> #ifndef readq
> <provide a local implementation here>
> #endif
>
> which rather sucks - we don't want lots of little private readq/writeq
> implementations all over the tree.
>
> Perhaps it would be better to have a CONFIG_ARCH_HAS_READQ and to then
> disable these drivers on the architectures which don't provide
> readq/writeq support.
>
However this is handled, we don't want a rehash of the read/writes{b,w,l} fiasco.
Allowing drivers to do their own local implementations of these things
has always been a complete disaster. A Kconfig option will at least take
care of having these craptastic ifdef lists for architectures in every
driver that rolls its own implementation.
Even a sub-optimal asm-generic version would be preferable, if the
semantics are well enough defined and consistently adhered to.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists