Messages in this thread | | | Subject | Re: [PATCH] arch/arm/Kconfig: Make UIO available on ARM architecture | From | David Woodhouse <> | Date | Fri, 08 Feb 2008 09:04:13 +0000 |
| |
On Thu, 2008-02-07 at 21:23 +0100, Sam Ravnborg wrote: > Both situations are trivially fixable by introducing > HAVE_IDE and HAVE_MTD. > See attached patch.
HAVE_MTD is wrong. The actual problem we're trying to solve is that when the architecture lacks alignment fixups, certain patterns of write access to 16-bit or 32-bit NOR flash arrays are broken. So it's not 'MTD' which should be conditional -- but only certain configurations of NOR flash, which could perhaps be prevented by disallowing any of the MTD_MAP_BANK_WIDTH_* options other than MTD_MAP_BANK_WIDTH_1 from being set.
And it's not just an ARM-specific problem; a number of our MMU-less architectures also lack alignment traps now. It _used_ to be the case that platforms without alignment fixups were simply considered to be broken -- if the hardware didn't support unaligned access, either natively or through traps, it just wasn't supported by Linux. But since that isn't really the case any more, perhaps we should seek a better option than just disabling certain functionality (or _not_ disabling it, in the case of the network stack, and just kind of praying that it works even though we don't really think it does).
We could add get_unaligned() in certain places in the code, but that isn't ideal for the majority of architectures. What we really want, I suppose, is get_something_which_may_be_but_probably_is_not_unaligned().
With a better name.
-- dwmw2
| |