On Fri, Nov 10, 2017 at 5:07 PM, Greentime Hu <green.hu@xxxxxxxxx> wrote: > 2017-11-09 15:04 GMT+08:00 Greentime Hu <green.hu@xxxxxxxxx>: >> 2017-11-08 17:04 GMT+08:00 Arnd Bergmann <arnd@xxxxxxxx>: >>> On Wed, Nov 8, 2017 at 6:55 AM, Greentime Hu <green.hu@xxxxxxxxx> wrote: >>> >>>> + >>>> +#define ioremap(cookie,size) __ioremap(cookie,size,0,1) >>>> +#define ioremap_nocache(cookie,size) __ioremap(cookie,size,0,1) >>>> +#define iounmap(cookie) __iounmap(cookie) >>> >>>> +#include <asm-generic/io.h> >>> >>> asm-generic/io.h now provides an ioremap_nocache() helper along with >>> ioremap_uc/ioremap_wc/ioremap_wt, so I think you can remove the >>> ioremap_nocache definition here. You might also be able to remove >>> __ioremap and __iounmap, and only provide ioremap/iounmap, plus >>> the identity macro 'define ioremap ioremap' >> >> Thanks. I will try to use generic ioremap_nocache() helper in the next >> version patch. > > I think I can't remove ioremap_nocache definition because it is defined > in asm-generic/io.h with !CONFIG_MMU. Ah, I see. Could you move ioremap_nocache/ioremap_uc/ioremap_wc/ioremap_wt out of that #ifdef, or would that break other architectures? Arnd