Re: arch/x86/Kconfig selects invalid HAVE_READQ, HAVE_WRITEQ vars

From: H. Peter Anvin
Date: Tue Apr 21 2009 - 15:10:10 EST


Roland Dreier wrote:
> > However I worry that this just leaves driver authors too much rope.
> > Choosing readq_atomic() vs. readq() is just one more thing to get wrong.

> ... as is having each driver implementing their own substitutes.

Yes, I agree with that. However at least status quo ante (readq/writeq
64-bit only) means that driver authors who use readq/writeq are forced
(by a compile error) to spend a little thought on what 32-bit fallback
they should use.

I guess one possibility is to make readq/writeq the atomic version, and
add readq_nonatomic()/writeq_nonatomic() for 32-bit architectures. Then
it's much more opt-in -- but then that makes the (perhaps) more common
case look a bit uglier.


Do you really expect driver authors to type writeq_nonatomic() for every register reference?

I think an #include at the top is one thing, but something that heavyweight for each call site really isn't going to fly.

-hpa

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/