Software Archive
Read-only legacy content
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
17060 Discussions

Rebuild modules for newer kernels fails

Ole_Saastad
Beginner
596 Views

Hi, the systems hosting the MICs have been updated and hence the mpss must be updated.

Information:

Linux compute-19-17.local 3.19.1-1.el6.elrepo.x86_64 #1 SMP

mpss-3.5-linux.tar

gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC)

Trying to rebuild the modules fails (it works fine with 2.6 type kernels) :

rpmbuild --rebuild mpss-modules-3.5-1.src.rpm

<cut ....>

make[1]: Entering directory `/usr/src/kernels/3.19.1-1.el6.elrepo.x86_64'
  CC   /root/rpmbuild/BUILD/mpss-modules-3.5/dma/mic_dma_lib.o
  CC   /root/rpmbuild/BUILD/mpss-modules-3.5/dma/mic_dma_md.o
  CC   /root/rpmbuild/BUILD/mpss-modules-3.5/host/acptboot.o
  CC   /root/rpmbuild/BUILD/mpss-modules-3.5/host/ioctl.o
  CC   /root/rpmbuild/BUILD/mpss-modules-3.5/host/linpm.o
  CC   /root/rpmbuild/BUILD/mpss-modules-3.5/host/linpsmi.o
  CC   /root/rpmbuild/BUILD/mpss-modules-3.5/host/linscif_host.o
  CC   /root/rpmbuild/BUILD/mpss-modules-3.5/host/linsysfs.o
  CC   /root/rpmbuild/BUILD/mpss-modules-3.5/host/linux.o
  CC   /root/rpmbuild/BUILD/mpss-modules-3.5/host/linvcons.o
  CC   /root/rpmbuild/BUILD/mpss-modules-3.5/host/linvnet.o
  CC   /root/rpmbuild/BUILD/mpss-modules-3.5/host/micpsmi.o
  CC   /root/rpmbuild/BUILD/mpss-modules-3.5/host/micscif_pm.o
  CC   /root/rpmbuild/BUILD/mpss-modules-3.5/host/pm_ioctl.o
  CC   /root/rpmbuild/BUILD/mpss-modules-3.5/host/pm_pcstate.o
  CC   /root/rpmbuild/BUILD/mpss-modules-3.5/host/tools_support.o
In file included from /root/rpmbuild/BUILD/mpss-modules-3.5/dma/mic_dma_lib.c:55:
/root/rpmbuild/BUILD/mpss-modules-3.5/include/mic_common.h: In function 'mic_setstate':
/root/rpmbuild/BUILD/mpss-modules-3.5/include/mic_common.h:701: warning: passing argument 1 of 'sysfs_notify_dirent' from incompatible pointer type
include/linux/sysfs.h:458: note: expected 'struct kernfs_node *' but argument is of type 'struct sysfs_dirent *'
In file included from /root/rpmbuild/BUILD/mpss-modules-3.5/host/ioctl.c:38:
/root/rpmbuild/BUILD/mpss-modules-3.5/include/mic_common.h: In function 'mic_setstate':
/root/rpmbuild/BUILD/mpss-modules-3.5/include/mic_common.h:701: warning: passing argument 1 of 'sysfs_notify_dirent' from incompatible pointer type
include/linux/sysfs.h:458: note: expected 'struct kernfs_node *' but argument is of type 'struct sysfs_dirent *'
In file included from /root/rpmbuild/BUILD/mpss-modules-3.5/host/pm_pcstate.c:36:
/root/rpmbuild/BUILD/mpss-modules-3.5/include/mic_common.h: In function 'mic_setstate':
/root/rpmbuild/BUILD/mpss-modules-3.5/include/mic_common.h:701: warning: passing argument 1 of 'sysfs_notify_dirent' from incompatible pointer type
include/linux/sysfs.h:458: note: expected 'struct kernfs_node *' but argument is of type 'struct sysfs_dirent *'
In file included from /root/rpmbuild/BUILD/mpss-modules-3.5/host/micscif_pm.c:36:
/root/rpmbuild/BUILD/mpss-modules-3.5/include/mic_common.h: In function 'mic_setstate':
/root/rpmbuild/BUILD/mpss-modules-3.5/include/mic_common.h:701: warning: passing argument 1 of 'sysfs_notify_dirent' from incompatible pointer type
include/linux/sysfs.h:458: note: expected 'struct kernfs_node *' but argument is of type 'struct sysfs_dirent *'
In file included from /root/rpmbuild/BUILD/mpss-modules-3.5/host/linscif_host.c:36:
/root/rpmbuild/BUILD/mpss-modules-3.5/include/mic_common.h: In function 'mic_setstate':
/root/rpmbuild/BUILD/mpss-modules-3.5/include/mic_common.h:701: warning: passing argument 1 of 'sysfs_notify_dirent' from incompatible pointer type

 

And more until make bails out with errors.

 

Any suggestions or updated that support the 3.19 kernels ?

 

Ole W. Saastad

 

 

0 Kudos
1 Reply
Frances_R_Intel
Employee
596 Views

This is probably too late to help Ole but for future people who may come along - the problem is that some of the data structures in the Linux kernel change around 3.12 or so (I don't remember the exact release) to remove unused fields that unfortunately the MPSS code was using. There are two solutions if you wish to use a later kernel - one is to create a patch for the MPSS files yourself - the other is to search on "sysfs_notify_dirent Phi" to find examples of other people's patches that you can crib off of.

Trying to put together an unofficial Intel patch is something that has been on my "I really should do this" list for a while, but unfortunately, I haven't gotten there yet. At this point, I expect the official MPSS release will be updated to correct this problem before I get to it. Sorry I don't have a better answer.

0 Kudos
Reply