[PATCH 2/8] asm-generic: define fallback memcpy and memset for device I/O

Ahmad Fatoum a.fatoum at pengutronix.de
Tue Feb 2 14:41:22 EST 2021



On 02.02.21 20:03, Sascha Hauer wrote:
> On Fri, Jan 29, 2021 at 05:11:10PM +0100, Ahmad Fatoum wrote:
>> The Atmel quadspi driver makes use of the memcpy_(to|from)io,
>> but we don't define them on all platforms. Fix this to allow
>> for easier porting of kernel code.
>>
>> Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
>> ---
>>  include/asm-generic/io.h | 53 ++++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 53 insertions(+)
> 
> This patch breaks compilation for ARM:

Apologies, the order of the commits is wrong.
I just sent out a v2 (which I forgot the v2 tag..) and made sure this time
that all intermediate commits compile.

> 
> In file included from /ptx/work/WORK_EIHEI/sha/backup/barebox/barebox-maintainer-utils/barebox/arch/arm/include/asm/io.h:6,
>                  from include/io.h:5,
>                  from arch/arm/lib32/io.c:3:
> include/asm-generic/io.h:448:23: error: redefinition of 'memcpy_fromio'
>   448 | #define memcpy_fromio memcpy_fromio
>       |                       ^~~~~~~~~~~~~
> arch/arm/lib32/io.c:9:6: note: in expansion of macro 'memcpy_fromio'
>     9 | void memcpy_fromio(void *to, const volatile void __iomem *from, size_t count)
>       |      ^~~~~~~~~~~~~
> include/asm-generic/io.h:448:23: note: previous definition of 'memcpy_fromio' was here
>   448 | #define memcpy_fromio memcpy_fromio
>       |                       ^~~~~~~~~~~~~
> include/asm-generic/io.h:457:20: note: in expansion of macro 'memcpy_fromio'
>   457 | static inline void memcpy_fromio(void *buffer,
>       |                    ^~~~~~~~~~~~~
> include/asm-generic/io.h:466:21: error: redefinition of 'memcpy_toio'
>   466 | #define memcpy_toio memcpy_toio
>       |                     ^~~~~~~~~~~
> arch/arm/lib32/io.c:24:6: note: in expansion of macro 'memcpy_toio'
>    24 | void memcpy_toio(volatile void __iomem *to, const void *from, size_t count)
>       |      ^~~~~~~~~~~
> include/asm-generic/io.h:466:21: note: previous definition of 'memcpy_toio' was here
>   466 | #define memcpy_toio memcpy_toio
>       |                     ^~~~~~~~~~~
> include/asm-generic/io.h:475:20: note: in expansion of macro 'memcpy_toio'
>   475 | static inline void memcpy_toio(volatile void __iomem *addr, const void *buffer,
>       |                    ^~~~~~~~~~~
> include/asm-generic/io.h:431:19: error: redefinition of 'memset_io'
>   431 | #define memset_io memset_io
>       |                   ^~~~~~~~~
> arch/arm/lib32/io.c:39:6: note: in expansion of macro 'memset_io'
>    39 | void memset_io(volatile void __iomem *dst, int c, size_t count)
>       |      ^~~~~~~~~
> include/asm-generic/io.h:431:19: note: previous definition of 'memset_io' was here
>   431 | #define memset_io memset_io
>       |                   ^~~~~~~~~
> include/asm-generic/io.h:440:20: note: in expansion of macro 'memset_io'
>   440 | static inline void memset_io(volatile void __iomem *addr, int value,
>       |                    ^~~~~~~~~
> 
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list