Hi Greg,

On Wed, Apr 18, 2018 at 10:01:34AM +1000, Greg Ungerer wrote:
> Hi Angelo,
> 
> On 18/04/18 06:53, Angelo Dureghello wrote:
> > thanks for this great job.
> 
> :-)
> 
> 
> > On patch 10, PIC is PCI, right ?
> 
> Yes, typo on my part. I even managed to get it wrong twice!
> I'll fix that.
> 
> 
> > In case you hae some time,  am interested in understanding how those
> > guards
> > 
> > #define xxx xxx
> > 
> > works.
> 
> In this particular case it is to allow local architecture code to
> have its own version of a function or macro and for the common
> kernel code to define it if it is not otherwise defined.
> 
> Consider this example, in our local arch code we want an optimized
> "readb" function. If we just had:
> 
>   static inline u8 readb(void __iomem *addr)
>   { ... }
> 
> and the common code (such as include/asm-generic/io.h) had the
> common readb in a similar fashion:
> 
>   static inline u8 readb(void __iomem *addr)
>   { ... }
> 
> On compilation you are going to get readb multiply defined.
> If instead the common code had:
> 
>   #ifndef read
>   #define readb readb
>   static inline u8 readb(void __iomem *addr)
>   { ... }
>   #endif
> 
> Then all we need to do in our local arch code is define "readb".
> If we defined it as a macro, then no problem that would just work.
> If we want it as a real function (preferable) then we just need to
> make sure that "readb" is somehow defined, so the simplest way is
> to just define it to be itself:
> 
>   #define read readb
> 
> Obviously our local arch code has to be included first.
> 

Thanks !

> 
> > Is it ok to test the patch now in my mcf54415 based board ?
> 
> Yes, please do. I expect it should fix the the issues you found,
> but lets confirm that is really the case.
> 
> I will be issuing a v2 of the series - to fix the problems found by
> the autobuilder. But they are minor changes, and I would like to
> know that they actually fix your problems first.
> 

Ok i tested it.

* applied all 15 patches
* enabled MMU
* compilied, there was 1 error

  LDS     arch/m68k/kernel/vmlinux.lds
  CC      arch/m68k/mm/init.o
  CC      arch/m68k/mm/cache.o
  CC      arch/m68k/mm/fault.o
  CC      arch/m68k/mm/kmap.o
arch/m68k/mm/kmap.c: In function '__ioremap':
arch/m68k/mm/kmap.c:129:6: error: implicit declaration of function 
'__cf_internalio' [-Werror=implicit-function-declaration]
  if (__cf_internalio(physaddr))
      ^
arch/m68k/mm/kmap.c: In function 'iounmap':
arch/m68k/mm/kmap.c:243:6: error: implicit declaration of function 
'cf_internalio' [-Werror=implicit-function-declaration]
  if (cf_internalio(addr))
      ^
cc1: some warnings being treated as errors
scripts/Makefile.build:312: set di istruzioni per l'obiettivo 
"arch/m68k/mm/kmap.o" non riuscito
make[1]: *** [arch/m68k/mm/kmap.o] Errore 1
Makefile:1060: set di istruzioni per l'obiettivo "arch/m68k/mm" non riuscito
make: *** [arch/m68k/mm] Errore 2

Just to pass over the issue i changed line 20 of 

from
#if defined(CONFIG_PCI) && defined(CONFIG_COLDFIRE)
to
#if defined(CONFIG_PCI) || defined(CONFIG_COLDFIRE)

Then it built fine.
So my dspi driver works fine with MMU enabled.

Tested-by: Angelo Dureghello <ang...@sysam.it>

> 
> > Reviewed-by: Angelo Dureghello <ang...@sysam.it>
> 
> Thanks for that. I will add that in.
> 
> Regards
> Greg
> 
> 

Regards,
Angelo
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to