Messages in this thread | | | Date | Fri, 14 Nov 2008 00:15:14 +0900 | From | Hitoshi Mitake <> | Subject | Re: [PATCH 1/1] edac x38: new MC driver module |
| |
On Tue, 11 Nov 2008 15:11:40 +0900 Paul Mundt <lethal@linux-sh.org> wrote:
> 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.
I didn't noticed these functions, thanks.
> > > #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.
I found nice source file, lib/iomap.c. There are architecture independent read/write{b,w,l} (named like ioread8).
I want to implement architecture independent readq/writeq in lib/iomap.c . Andrew told,
> 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.
But I want to use x38_edac.c on x86_32 environment, and I think similar desire may occur in the future.
Is this way good enough? Request for comment.
| |