From: Miguel Botón This happens when trying to compile memory stick support inside the kernel. drivers/memstick/core/mspro_block.o: In function `memstick_priv': mspro_block.c:(.text+0x0): multiple definition of `memstick_priv' drivers/memstick/core/memstick.o:memstick.c:(.text+0x0): first defined here drivers/memstick/core/mspro_block.o: In function `memstick_get_drvdata': mspro_block.c:(.text+0x6): multiple definition of `memstick_get_drvdata' drivers/memstick/core/memstick.o:memstick.c:(.text+0x6): first defined here drivers/memstick/core/mspro_block.o: In function `memstick_set_drvdata': mspro_block.c:(.text+0xd): multiple definition of `memstick_set_drvdata' drivers/memstick/core/memstick.o:memstick.c:(.text+0xd): first defined here This is because those three functions are not defined as static in "include/linux/memstick.h". Signed-off-by: Miguel Botón Signed-off-by: Andrew Morton --- include/linux/memstick.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff -puN include/linux/memstick.h~memstick-initial-commit-for-sony-memorystick-support-fix include/linux/memstick.h --- a/include/linux/memstick.h~memstick-initial-commit-for-sony-memorystick-support-fix +++ a/include/linux/memstick.h @@ -271,17 +271,17 @@ void memstick_new_req(struct memstick_ho int memstick_set_rw_addr(struct memstick_dev *card); -inline void *memstick_priv(struct memstick_host *host) +static inline void *memstick_priv(struct memstick_host *host) { return (void *)host->private; } -inline void *memstick_get_drvdata(struct memstick_dev *card) +static inline void *memstick_get_drvdata(struct memstick_dev *card) { return dev_get_drvdata(&card->dev); } -inline void memstick_set_drvdata(struct memstick_dev *card, void *data) +static inline void memstick_set_drvdata(struct memstick_dev *card, void *data) { dev_set_drvdata(&card->dev, data); } _