Re: [PATCH 7/7] staging: fsl-mc: allow the driver compile multi-arch

2017-07-20 Thread Laurentiu Tudor
Hi,

Sparc seems to be broken in multiple places, including generic code.
Is this a known issue?
Is there something I could/should do?

---
Thanks & Best Regards, Laurentiu

On 07/19/2017 08:31 PM, kbuild test robot wrote:
> Hi Laurentiu,
>
> [auto build test ERROR on staging/staging-testing]
> [also build test ERROR on v4.13-rc1 next-20170718]
> [if your patch is applied to the wrong git tree, please drop us a note to 
> help improve the system]
>
> url:
> https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2F0day-ci%2Flinux%2Fcommits%2Flaurentiu-tudor-nxp-com%2Fstaging-fsl-mc-make-the-driver-compile-on-other-architectures%2F20170718-021715=01%7C01%7Claurentiu.tudor%40nxp.com%7C66f7c5619d664f88ce6108d4cecc14f5%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0=HgKrckHRkhwe6PrGHc%2B1UfoT1rCyMw5C5%2B7wdEuvS5s%3D=0
> config: sparc-allyesconfig (attached as .config)
> compiler: sparc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
> reproduce:
>  wget 
> https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fraw.githubusercontent.com%2F01org%2Flkp-tests%2Fmaster%2Fsbin%2Fmake.cross=01%7C01%7Claurentiu.tudor%40nxp.com%7C66f7c5619d664f88ce6108d4cecc14f5%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0=kFjtWysm4LCK%2BnLcmpogI%2FHRRApSDRcl7QWofLo0%2FDY%3D=0
>  -O ~/bin/make.cross
>  chmod +x ~/bin/make.cross
>  # save the attached .config to linux build tree
>  make.cross ARCH=sparc
>
> All error/warnings (new ones prefixed by >>):
>
> In file included from kernel/irq/chip.c:14:0:
>>> include/linux/msi.h:225:10: error: unknown type name 'msi_alloc_info_t'
>   msi_alloc_info_t *arg);
>   ^~~~
> include/linux/msi.h:229:9: error: unknown type name 'msi_alloc_info_t'
>  msi_alloc_info_t *arg);
>  ^~~~
> include/linux/msi.h:238:12: error: unknown type name 'msi_alloc_info_t'
> msi_alloc_info_t *arg);
> ^~~~
> include/linux/msi.h:239:22: error: unknown type name 'msi_alloc_info_t'
>   void  (*msi_finish)(msi_alloc_info_t *arg, int retval);
>   ^~~~
> include/linux/msi.h:240:20: error: unknown type name 'msi_alloc_info_t'
>   void  (*set_desc)(msi_alloc_info_t *arg,
> ^~~~
> include/linux/msi.h:308:18: error: unknown type name 'msi_alloc_info_t'
> int nvec, msi_alloc_info_t *args);
>   ^~~~
> include/linux/msi.h:310:29: error: unknown type name 'msi_alloc_info_t'
>  int virq, int nvec, msi_alloc_info_t *args);
>  ^~~~
> --
> In file included from kernel/irq/msi.c:16:0:
>>> include/linux/msi.h:225:10: error: unknown type name 'msi_alloc_info_t'
>   msi_alloc_info_t *arg);
>   ^~~~
> include/linux/msi.h:229:9: error: unknown type name 'msi_alloc_info_t'
>  msi_alloc_info_t *arg);
>  ^~~~
> include/linux/msi.h:238:12: error: unknown type name 'msi_alloc_info_t'
> msi_alloc_info_t *arg);
> ^~~~
> include/linux/msi.h:239:22: error: unknown type name 'msi_alloc_info_t'
>   void  (*msi_finish)(msi_alloc_info_t *arg, int retval);
>   ^~~~
> include/linux/msi.h:240:20: error: unknown type name 'msi_alloc_info_t'
>   void  (*set_desc)(msi_alloc_info_t *arg,
> ^~~~
> include/linux/msi.h:308:18: error: unknown type name 'msi_alloc_info_t'
> int nvec, msi_alloc_info_t *args);
>   ^~~~
> include/linux/msi.h:310:29: error: unknown type name 'msi_alloc_info_t'
>  int virq, int nvec, msi_alloc_info_t *args);
>  ^~~~
> kernel/irq/msi.c: In function 'msi_domain_alloc':
>>> kernel/irq/msi.c:126:29: error: 'struct msi_domain_ops' has no member named 
>>> 'get_hwirq'
>   irq_hw_number_t hwirq = ops->get_hwirq(info, arg);
>  ^~
>>> kernel/irq/msi.c:139:12: error: 'struct msi_domain_ops' has no member named 
>>> 'msi_init'; did you mean 'msi_free'?
>ret = ops->msi_init(domain, info, virq + i, hwirq + i, arg);
> ^~
> kernel/irq/msi.c: At top level:
>>> kernel/irq/msi.c:201:11: error: unknown type name 'msi_alloc_info_t'
>msi_alloc_info_t *arg)
>^~~~
>>> kernel/irq/msi.c:221:2: error: unknown field 'get_hwirq' specified in 
>>> initializer
>   .get_hwirq = msi_domain_ops_get_hwirq,
>   ^
>>> kernel/irq/msi.c:222:2: error: unknown field 'msi_init' specified in 
>>> initializer
>   .msi_init = msi_domain_ops_init,
>   ^
>>> kernel/irq/msi.c:222:14: error: 'msi_domain_ops_init' undeclared here (not 
>>> in a function)
>   .msi_init 

Re: [PATCH 7/7] staging: fsl-mc: allow the driver compile multi-arch

2017-07-19 Thread kbuild test robot
Hi Laurentiu,

[auto build test ERROR on staging/staging-testing]
[also build test ERROR on v4.13-rc1 next-20170718]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/laurentiu-tudor-nxp-com/staging-fsl-mc-make-the-driver-compile-on-other-architectures/20170718-021715
config: sparc-allyesconfig (attached as .config)
compiler: sparc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget 
https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=sparc 

All error/warnings (new ones prefixed by >>):

   In file included from kernel/irq/chip.c:14:0:
>> include/linux/msi.h:225:10: error: unknown type name 'msi_alloc_info_t'
 msi_alloc_info_t *arg);
 ^~~~
   include/linux/msi.h:229:9: error: unknown type name 'msi_alloc_info_t'
msi_alloc_info_t *arg);
^~~~
   include/linux/msi.h:238:12: error: unknown type name 'msi_alloc_info_t'
   msi_alloc_info_t *arg);
   ^~~~
   include/linux/msi.h:239:22: error: unknown type name 'msi_alloc_info_t'
 void  (*msi_finish)(msi_alloc_info_t *arg, int retval);
 ^~~~
   include/linux/msi.h:240:20: error: unknown type name 'msi_alloc_info_t'
 void  (*set_desc)(msi_alloc_info_t *arg,
   ^~~~
   include/linux/msi.h:308:18: error: unknown type name 'msi_alloc_info_t'
   int nvec, msi_alloc_info_t *args);
 ^~~~
   include/linux/msi.h:310:29: error: unknown type name 'msi_alloc_info_t'
int virq, int nvec, msi_alloc_info_t *args);
^~~~
--
   In file included from kernel/irq/msi.c:16:0:
>> include/linux/msi.h:225:10: error: unknown type name 'msi_alloc_info_t'
 msi_alloc_info_t *arg);
 ^~~~
   include/linux/msi.h:229:9: error: unknown type name 'msi_alloc_info_t'
msi_alloc_info_t *arg);
^~~~
   include/linux/msi.h:238:12: error: unknown type name 'msi_alloc_info_t'
   msi_alloc_info_t *arg);
   ^~~~
   include/linux/msi.h:239:22: error: unknown type name 'msi_alloc_info_t'
 void  (*msi_finish)(msi_alloc_info_t *arg, int retval);
 ^~~~
   include/linux/msi.h:240:20: error: unknown type name 'msi_alloc_info_t'
 void  (*set_desc)(msi_alloc_info_t *arg,
   ^~~~
   include/linux/msi.h:308:18: error: unknown type name 'msi_alloc_info_t'
   int nvec, msi_alloc_info_t *args);
 ^~~~
   include/linux/msi.h:310:29: error: unknown type name 'msi_alloc_info_t'
int virq, int nvec, msi_alloc_info_t *args);
^~~~
   kernel/irq/msi.c: In function 'msi_domain_alloc':
>> kernel/irq/msi.c:126:29: error: 'struct msi_domain_ops' has no member named 
>> 'get_hwirq'
 irq_hw_number_t hwirq = ops->get_hwirq(info, arg);
^~
>> kernel/irq/msi.c:139:12: error: 'struct msi_domain_ops' has no member named 
>> 'msi_init'; did you mean 'msi_free'?
  ret = ops->msi_init(domain, info, virq + i, hwirq + i, arg);
   ^~
   kernel/irq/msi.c: At top level:
>> kernel/irq/msi.c:201:11: error: unknown type name 'msi_alloc_info_t'
  msi_alloc_info_t *arg)
  ^~~~
>> kernel/irq/msi.c:221:2: error: unknown field 'get_hwirq' specified in 
>> initializer
 .get_hwirq = msi_domain_ops_get_hwirq,
 ^
>> kernel/irq/msi.c:222:2: error: unknown field 'msi_init' specified in 
>> initializer
 .msi_init = msi_domain_ops_init,
 ^
>> kernel/irq/msi.c:222:14: error: 'msi_domain_ops_init' undeclared here (not 
>> in a function)
 .msi_init = msi_domain_ops_init,
 ^~~
>> kernel/irq/msi.c:224:2: error: unknown field 'msi_prepare' specified in 
>> initializer
 .msi_prepare = msi_domain_ops_prepare,
 ^
>> kernel/irq/msi.c:225:2: error: unknown field 'set_desc' specified in 
>> initializer
 .set_desc = msi_domain_ops_set_desc,
 ^
   In file included from include/uapi/linux/posix_types.h:4:0,
from include/uapi/linux/types.h:13,
from include/linux/types.h:5,
from kernel/irq/msi.c:12:
   include/linux/stddef.h:7:14: warning: excess elements in struct initializer
#define NULL ((void *)0)
 ^
>> kernel/irq/msi.c:195:34: note: in expansion of macro 'NULL'
#define msi_domain_ops_set_desc  NULL
 ^~~~
>> kernel/irq/msi.c:225:14: note: in expansion of macro 
>> 

Re: [PATCH 7/7] staging: fsl-mc: allow the driver compile multi-arch

2017-07-19 Thread kbuild test robot
Hi Laurentiu,

[auto build test ERROR on staging/staging-testing]
[also build test ERROR on v4.13-rc1 next-20170718]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/laurentiu-tudor-nxp-com/staging-fsl-mc-make-the-driver-compile-on-other-architectures/20170718-021715
config: cris-allyesconfig (attached as .config)
compiler: cris-linux-gcc (GCC) 6.2.0
reproduce:
wget 
https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=cris 

All errors (new ones prefixed by >>):

   In file included from drivers/staging/fsl-mc/bus/fsl-mc-bus.c:21:0:
>> include/linux/msi.h:196:21: fatal error: asm/msi.h: No such file or directory
#include 
^
   compilation terminated.

vim +196 include/linux/msi.h

d9109698 Jiang Liu 2014-11-15  194  
aeeb5965 Jiang Liu 2014-11-15  195  #include 
d9109698 Jiang Liu 2014-11-15 @196  #include 
d9109698 Jiang Liu 2014-11-15  197  

:: The code at line 196 was first introduced by commit
:: d9109698be6e7439e6082aa00d79d4556114739b genirq: Introduce 
msi_domain_alloc/free_irqs()

:: TO: Jiang Liu 
:: CC: Thomas Gleixner 

---
0-DAY kernel test infrastructureOpen Source Technology Center
https://lists.01.org/pipermail/kbuild-all   Intel Corporation


.config.gz
Description: application/gzip
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 7/7] staging: fsl-mc: allow the driver compile multi-arch

2017-07-17 Thread laurentiu.tudor
From: Laurentiu Tudor 

Drop dependency on ARCH_LAYERSCAPE (which in turn depends on ARM64),
thus leaving this driver compile on other architectures.
Also, other drivers depending on the bus are updated to depend
on ARCH_LAYERSCAPE until they'll also be made multi-arch.
This was compiled tested on:
 - booke powerpc (corenet{32,64}_smp_defconfig)
 - x86 (i386_defconfig, x86_64_defconfig, needs CONFIG_OF)
 - arm64 (defconfig)

Signed-off-by: Laurentiu Tudor 
---
 drivers/staging/fsl-dpaa2/Kconfig  | 2 +-
 drivers/staging/fsl-mc/bus/Kconfig | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/fsl-dpaa2/Kconfig 
b/drivers/staging/fsl-dpaa2/Kconfig
index 730fd6d..dfff675 100644
--- a/drivers/staging/fsl-dpaa2/Kconfig
+++ b/drivers/staging/fsl-dpaa2/Kconfig
@@ -4,7 +4,7 @@
 
 config FSL_DPAA2
bool "Freescale DPAA2 devices"
-   depends on FSL_MC_BUS
+   depends on FSL_MC_BUS && ARCH_LAYERSCAPE
---help---
  Build drivers for Freescale DataPath Acceleration
  Architecture (DPAA2) family of SoCs.
diff --git a/drivers/staging/fsl-mc/bus/Kconfig 
b/drivers/staging/fsl-mc/bus/Kconfig
index a10aaf0..c0acc97 100644
--- a/drivers/staging/fsl-mc/bus/Kconfig
+++ b/drivers/staging/fsl-mc/bus/Kconfig
@@ -8,7 +8,7 @@
 
 config FSL_MC_BUS
bool "QorIQ DPAA2 fsl-mc bus driver"
-   depends on OF && ARCH_LAYERSCAPE
+   depends on OF
select GENERIC_MSI_IRQ_DOMAIN
help
  Driver to enable the bus infrastructure for the QorIQ DPAA2
@@ -18,7 +18,7 @@ config FSL_MC_BUS
 
 config FSL_MC_DPIO
 tristate "QorIQ DPAA2 DPIO driver"
-depends on FSL_MC_BUS
+depends on FSL_MC_BUS && ARCH_LAYERSCAPE
 help
  Driver for the DPAA2 DPIO object.  A DPIO provides queue and
  buffer management facilities for software to interact with
-- 
2.9.4

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel