This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Generate errors when I compile the mali-400 kernel drivers .

Hello ,everyone

I meet some problems when I compile the mali-400 kernel drivers

I copy the mali0400 drivers to the linux kernel and config the linux kernel .but when I compile the kernel the compiler just generate errors

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

                                                  Here is the .config of my linux kernel :.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

#

# Graphics support

#

CONFIG_DRM=y

CONFIG_DRM_KMS_HELPER=y

# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set

#

# I2C encoder or helper chips

#

# CONFIG_DRM_I2C_CH7006 is not set

# CONFIG_DRM_I2C_SIL164 is not set

# CONFIG_DRM_MALI is not set

CONFIG_DRM_EXYNOS=y

CONFIG_DRM_EXYNOS_DMABUF=y

CONFIG_DRM_EXYNOS_VIDI=y

CONFIG_DRM_EXYNOS_G2D=y

# CONFIG_DRM_UDL is not set

CONFIG_MALI400=y

# CONFIG_MALI450 is not set

CONFIG_MALI400_DEBUG=y

CONFIG_MALI400_PROFILING=y

CONFIG_MALI400_INTERNAL_PROFILING=y

CONFIG_MALI400_UMP=y

# CONFIG_MALI400_POWER_PERFORMANCE_POLICY is not set

CONFIG_MALI_DMA_BUF_MAP_ON_ATTACH=y

# CONFIG_MALI_SHARED_INTERRUPTS is not set

# CONFIG_MALI_PMU_PARALLEL_POWER_UP is not set

CONFIG_UMP=y

# CONFIG_UMP_DEBUG is not set

CONFIG_ION=y

CONFIG_ION_EXYNOS=y

# CONFIG_VGASTATE is not set

# CONFIG_VIDEO_OUTPUT_CONTROL is not set

CONFIG_FB=y

#

# Frame buffer hardware drivers

#

CONFIG_FB_S3C=y

CONFIG_FB_S3C_NR_BUFFERS=3

CONFIG_BACKLIGHT_LCD_SUPPORT=y

CONFIG_LCD_CLASS_DEVICE=y

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

                    Here is the errors when I make :.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

LD      drivers/gpu/mali_r4p0-00rel1/built-in.o

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `_mali_osk_break':

/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/../mali/linux/mali_osk_misc.c:53: multiple definition of `_mali_osk_break'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/linux/mali_osk_misc.c:53: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `fls':

/home/larrychen/kernel-src/linux-3.5/arch/arm/include/asm/bitops.h:268: multiple definition of `_mali_osk_clz'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/arch/arm/include/asm/bitops.h:268: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `_mali_osk_memcpy':

/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/../mali/linux/mali_osk_memory.c:47: multiple definition of `_mali_osk_memcpy'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/linux/mali_osk_memory.c:47: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `_mali_osk_valloc':

/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/../mali/linux/mali_osk_memory.c:37: multiple definition of `_mali_osk_valloc'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/linux/mali_osk_memory.c:37: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `current_thread_info':

/home/larrychen/kernel-src/linux-3.5/arch/arm/include/asm/thread_info.h:97: multiple definition of `_mali_osk_get_pid'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/arch/arm/include/asm/thread_info.h:97: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `_mali_osk_atomic_read':

/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/../mali/linux/mali_osk_atomics.c:49: multiple definition of `_mali_osk_atomic_read'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/linux/mali_osk_atomics.c:49: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `_mali_osk_atomic_inc_return':

/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/../mali/linux/mali_osk_atomics.c:36: multiple definition of `_mali_osk_atomic_inc_return'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/linux/mali_osk_atomics.c:36: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `_mali_osk_memset':

/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/../mali/linux/mali_osk_memory.c:52: multiple definition of `_mali_osk_memset'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/linux/mali_osk_memory.c:52: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `_mali_osk_abort':

/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/../mali/linux/mali_osk_misc.c:45: multiple definition of `_mali_osk_abort'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/linux/mali_osk_misc.c:45: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `_mali_osk_mem_check_allocated':

/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/../mali/linux/mali_osk_memory.c:61: multiple definition of `_mali_osk_mem_check_allocated'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/linux/mali_osk_memory.c:61: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `map_errcode':

/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/linux/ump_kernel_linux.c:360: multiple definition of `map_errcode'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/linux/mali_kernel_linux.c:552: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `_mali_osk_calloc':

/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/../mali/linux/mali_osk_memory.c:21: multiple definition of `_mali_osk_calloc'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/linux/mali_osk_memory.c:21: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `atomic_add':

/home/larrychen/kernel-src/linux-3.5/arch/arm/include/asm/atomic.h:44: multiple definition of `_mali_osk_atomic_inc'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/arch/arm/include/asm/atomic.h:44: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `_mali_osk_atomic_term':

/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/../mali/linux/mali_osk_atomics.c:55: multiple definition of `_mali_osk_atomic_term'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/linux/mali_osk_atomics.c:55: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `atomic_sub':

/home/larrychen/kernel-src/linux-3.5/arch/arm/include/asm/atomic.h:82: multiple definition of `_mali_osk_atomic_dec'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/arch/arm/include/asm/atomic.h:82: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `_mali_osk_atomic_xchg':

/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/../mali/linux/mali_osk_atomics.c:58: multiple definition of `_mali_osk_atomic_xchg'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/linux/mali_osk_atomics.c:58: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `kmalloc':

/home/larrychen/kernel-src/linux-3.5/include/linux/slub_def.h:283: multiple definition of `_mali_osk_malloc'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/include/linux/slub_def.h:283: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `current_thread_info':

/home/larrychen/kernel-src/linux-3.5/arch/arm/include/asm/thread_info.h:97: multiple definition of `_mali_osk_get_tid'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/arch/arm/include/asm/thread_info.h:97: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `_mali_osk_atomic_dec_return':

/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/../mali/linux/mali_osk_atomics.c:26: multiple definition of `_mali_osk_atomic_dec_return'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/linux/mali_osk_atomics.c:26: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `_mali_osk_snprintf':

/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/../mali/linux/mali_osk_misc.c:33: multiple definition of `_mali_osk_snprintf'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/linux/mali_osk_misc.c:33: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `_mali_osk_atomic_init':

/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/../mali/linux/mali_osk_atomics.c:42: multiple definition of `_mali_osk_atomic_init'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/linux/mali_osk_atomics.c:42: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `_mali_osk_dbgmsg':

/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/../mali/linux/mali_osk_misc.c:24: multiple definition of `_mali_osk_dbgmsg'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/linux/mali_osk_misc.c:24: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `_mali_osk_vfree':

/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/../mali/linux/mali_osk_memory.c:42: multiple definition of `_mali_osk_vfree'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/linux/mali_osk_memory.c:42: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `fls':

/home/larrychen/kernel-src/linux-3.5/arch/arm/include/asm/bitops.h:268: multiple definition of `_mali_osk_fls'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/arch/arm/include/asm/bitops.h:268: first defined here

drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/built-in.o: In function `_mali_osk_free':

/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/ump/../mali/linux/mali_osk_memory.c:32: multiple definition of `_mali_osk_free'

drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/built-in.o:/home/larrychen/kernel-src/linux-3.5/drivers/gpu/mali_r4p0-00rel1/devicedrv/mali/linux/mali_osk_memory.c:32: first defined here

Parents
  • Hi Chen,

    It looks like the kernel drivers you have built might have been using default platform configuration.

    [  226.710000] Mali<2>: mali_probe(): Called for platform device mali-utgard

    [  226.720000] Mali<2>: Using device defined memory settings (dedicated: 0x00000000@0x00000000, shared: 0x40000000)

    [  226.730000] Mali<2>: Using device defined frame buffer settings (0x00000000@0x00000000)

    This won't build a working driver.  It is necessary to use hardware OEM defined platform files specific to the platform you intend to run on (which ARM itself does not provide) to give the driver memory map regions etc.

    The best starting point to do what you're doing is to take a working kernel tree for your target platform and replace the Mali drivers in the source with the ones you want to build; then to fix any mismatches between the mali driver version and kernel to get it building.

    Hope this helps,

    Rich

Reply
  • Hi Chen,

    It looks like the kernel drivers you have built might have been using default platform configuration.

    [  226.710000] Mali<2>: mali_probe(): Called for platform device mali-utgard

    [  226.720000] Mali<2>: Using device defined memory settings (dedicated: 0x00000000@0x00000000, shared: 0x40000000)

    [  226.730000] Mali<2>: Using device defined frame buffer settings (0x00000000@0x00000000)

    This won't build a working driver.  It is necessary to use hardware OEM defined platform files specific to the platform you intend to run on (which ARM itself does not provide) to give the driver memory map regions etc.

    The best starting point to do what you're doing is to take a working kernel tree for your target platform and replace the Mali drivers in the source with the ones you want to build; then to fix any mismatches between the mali driver version and kernel to get it building.

    Hope this helps,

    Rich

Children
No data