Question about memcpy_fromio prototype

From: Matthew Wilcox
Date: Thu Dec 16 2004 - 06:03:35 EST

Hi Linus. On x86 and ia64, memcpy_fromio is protoyped as:

static inline void memcpy_fromio(void *dst, volatile void __iomem *src, int count)

ALSA does this (except on x86 and sparc32, so you don't see it):

int copy_to_user_fromio(void __user *dst, const void __iomem *src, size_t count)
memcpy_fromio(buf, src, c);

which provokes a warning from gcc that we're discarding a qualifier (the
'const') from src. Is ALSA just wrong? Or is the 'volatile' wrong?

"Next the statesmen will invent cheap lies, putting the blame upon
the nation that is attacked, and every man will be glad of those
conscience-soothing falsities, and will diligently study them, and refuse
to examine any refutations of them; and thus he will by and by convince
himself that the war is just, and will thank God for the better sleep
he enjoys after this process of grotesque self-deception." -- Mark Twain
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at