Errors while upgrading i.MX6 solution to Linux 5

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Errors while upgrading i.MX6 solution to Linux 5

791 Views
michaelworster
Contributor IV

I'm working on taking a solution using an i.MX6DL running on 4.1.15, to 5.15.71.
In doing so I'm running into an error in the MXC code space where I guess warnings are now errors.

Is this something that is known already fixed at NXP? Perhaps a configuration option that needs to be changed?

 

CC drivers/video/fbdev/mxc/mxc_ipuv3_fb.o
In file included from ./include/linux/printk.h:559:0,
from ./include/linux/kernel.h:19,
from ./include/linux/clk.h:13,
from drivers/video/fbdev/mxc/mxc_ipuv3_fb.c:31:
drivers/video/fbdev/mxc/mxc_ipuv3_fb.c: In function ‘mxcfb_ioctl’:
drivers/video/fbdev/mxc/mxc_ipuv3_fb.c:2163:25: warning: format ‘%X’ expects argument of type ‘unsigned int’, but argument 5 has type ‘dma_addr_t {aka long long unsigned int}’ [-Wformat=]
dev_dbg(fbi->device, "allocated %d bytes @ 0x%08X\n",
^
./include/linux/dynamic_debug.h:134:15: note: in definition of macro ‘__dynamic_func_call’
func(&id, ##__VA_ARGS__); \
^~~~~~~~~~~
./include/linux/dynamic_debug.h:166:2: note: in expansion of macro ‘_dynamic_func_call’
_dynamic_func_call(fmt,__dynamic_dev_dbg, \
^~~~~~~~~~~~~~~~~~
./include/linux/dev_printk.h:155:2: note: in expansion of macro ‘dynamic_dev_dbg’
dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~~~~~
./include/linux/dev_printk.h:155:23: note: in expansion of macro ‘dev_fmt’
dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
^~~~~~~
drivers/video/fbdev/mxc/mxc_ipuv3_fb.c:2163:4: note: in expansion of macro ‘dev_dbg’
dev_dbg(fbi->device, "allocated %d bytes @ 0x%08X\n",
^~~~~~~
CC drivers/video/fbdev/mxc/mxc_epdc_fb.o
drivers/video/fbdev/mxc/mxc_epdc_fb.c: In function ‘mxc_epdc_fb_fw_handler’:
drivers/video/fbdev/mxc/mxc_epdc_fb.c:4324:7: error: passing argument 3 of ‘dma_alloc_coherent’ from incompatible pointer type [-Werror=incompatible-pointer-types]
&fb_data->waveform_buffer_phys,
^
In file included from drivers/video/fbdev/mxc/mxc_epdc_fb.c:23:0:
./include/linux/dma-mapping.h:415:21: note: expected ‘dma_addr_t * {aka long long unsigned int *}’ but argument is of type ‘u32 * {aka unsigned int *}’
static inline void *dma_alloc_coherent(struct device *dev, size_t size,
^~~~~~~~~~~~~~~~~~
In file included from ./include/linux/printk.h:559:0,
from ./include/asm-generic/bug.h:22,
from ./arch/arm/include/asm/bug.h:60,
from ./include/linux/bug.h:5,
from ./include/linux/thread_info.h:13,
from ./include/asm-generic/current.h:5,
from ./arch/arm/include/generated/asm/current.h:1,
from ./include/linux/mutex.h:14,
from ./include/linux/notifier.h:14,
from ./include/linux/busfreq-imx.h:12,
from drivers/video/fbdev/mxc/mxc_epdc_fb.c:10:
drivers/video/fbdev/mxc/mxc_epdc_fb.c: In function ‘mxc_epdc_fb_probe’:
drivers/video/fbdev/mxc/mxc_epdc_fb.c:4645:22: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 5 has type ‘dma_addr_t {aka long long unsigned int}’ [-Wformat=]
dev_dbg(&pdev->dev, "allocated at %p:0x%x\n", info->screen_base,
^
./include/linux/dynamic_debug.h:134:15: note: in definition of macro ‘__dynamic_func_call’
func(&id, ##__VA_ARGS__); \
^~~~~~~~~~~
./include/linux/dynamic_debug.h:166:2: note: in expansion of macro ‘_dynamic_func_call’
_dynamic_func_call(fmt,__dynamic_dev_dbg, \
^~~~~~~~~~~~~~~~~~
./include/linux/dev_printk.h:155:2: note: in expansion of macro ‘dynamic_dev_dbg’
dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~~~~~
./include/linux/dev_printk.h:155:23: note: in expansion of macro ‘dev_fmt’
dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
^~~~~~~
drivers/video/fbdev/mxc/mxc_epdc_fb.c:4645:2: note: in expansion of macro ‘dev_dbg’
dev_dbg(&pdev->dev, "allocated at %p:0x%x\n", info->screen_base,
^~~~~~~
drivers/video/fbdev/mxc/mxc_epdc_fb.c:4820:33: warning: format ‘%X’ expects argument of type ‘unsigned int’, but argument 5 has type ‘dma_addr_t {aka long long unsigned int}’ [-Wformat=]
dev_dbg(fb_data->info.device, "allocated %d bytes @ 0x%08X\n",
^
./include/linux/dynamic_debug.h:134:15: note: in definition of macro ‘__dynamic_func_call’
func(&id, ##__VA_ARGS__); \
^~~~~~~~~~~
./include/linux/dynamic_debug.h:166:2: note: in expansion of macro ‘_dynamic_func_call’
_dynamic_func_call(fmt,__dynamic_dev_dbg, \
^~~~~~~~~~~~~~~~~~
./include/linux/dev_printk.h:155:2: note: in expansion of macro ‘dynamic_dev_dbg’
dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~~~~~
./include/linux/dev_printk.h:155:23: note: in expansion of macro ‘dev_fmt’
dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
^~~~~~~
drivers/video/fbdev/mxc/mxc_epdc_fb.c:4820:3: note: in expansion of macro ‘dev_dbg’
dev_dbg(fb_data->info.device, "allocated %d bytes @ 0x%08X\n",
^~~~~~~
drivers/video/fbdev/mxc/mxc_epdc_fb.c:4845:11: error: passing argument 3 of ‘dma_alloc_coherent’ from incompatible pointer type [-Werror=incompatible-pointer-types]
&fb_data->working_buffer_phys,
^
In file included from drivers/video/fbdev/mxc/mxc_epdc_fb.c:23:0:
./include/linux/dma-mapping.h:415:21: note: expected ‘dma_addr_t * {aka long long unsigned int *}’ but argument is of type ‘u32 * {aka unsigned int *}’
static inline void *dma_alloc_coherent(struct device *dev, size_t size,
^~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[4]: *** [scripts/Makefile.build:289: drivers/video/fbdev/mxc/mxc_epdc_fb.o] Error 1
make[3]: *** [scripts/Makefile.build:552: drivers/video/fbdev/mxc] Error 2
make[2]: *** [scripts/Makefile.build:552: drivers/video/fbdev] Error 2
make[1]: *** [scripts/Makefile.build:552: drivers/video] Error 2
make: *** [Makefile:1898: drivers] Error 2

 

Labels (2)
0 Kudos
Reply
5 Replies

766 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

The i.MX6 is not on L5.15.71 you may return to previous BSP.

Regards

0 Kudos
Reply

756 Views
michaelworster
Contributor IV

I see the device trees in place for the i.MX6 line on this branch, so you're saying they are present, just not officially supported? What was the last Linux kernel release/branch that supports the i.MX6DL?

0 Kudos
Reply

746 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi,

It is 4.14.88; but for the MX6DL is 6.1x BSP version

https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applicat...

Regards

 

0 Kudos
Reply

732 Views
michaelworster
Contributor IV

Ok. So to clarify, if we'd like NXP support in our upgrade path from the old 4.1.15 to a newer kernel. We need to go to the supported 6.1x you linked to below.

Is this correct?

0 Kudos
Reply

722 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Correct!

0 Kudos
Reply