kernel, ioctl (multiple definition)

Взгляд изнутри

Модератор: Модераторы разделов

Ответить
IMB
Сообщения: 2561
ОС: Debian

kernel, ioctl

Сообщение IMB »

Доброго дня!
Модифицирую потихоньку ядро, необходимо управлять несколькими драйверами по ioctl. Один модифицировал нормально - работает. Внес необходимые изменения, запускаю компиляцию и вижу:

Код:

$ make uImage CHK include/linux/version.h SPLIT include/linux/autoconf.h -> include/config/* SYMLINK include/asm-arm/arch -> include/asm-arm/arch-davinci make[1]: `arch/arm/kernel/asm-offsets.s' is up to date. make[1]: `include/asm-arm/mach-types.h' is up to date. CHK include/linux/compile.h CHK usr/initramfs_list LD drivers/media/video/davinci/built-in.o drivers/media/video/davinci/davinci_capture.o(.text+0x94): In function `device_ioctl': davinci_vpfe.c: multiple definition of `device_ioctl' drivers/media/video/davinci/mt9t001.o(.text+0x3178):mt9t001.c: first defined here arm_v5t_le-ld: Warning: size of symbol `device_ioctl' changed from 160 in drivers/media/video/davinci/mt9t001.o to 84 in drivers/media/video/davinci/davinci_capture.o drivers/media/video/davinci/davinci_capture.o(.data+0x1464): multiple definition of `Fops' drivers/media/video/davinci/mt9t001.o(.data+0x0): first defined here make[4]: *** [drivers/media/video/davinci/built-in.o] Error 1 make[3]: *** [drivers/media/video/davinci] Error 2 make[2]: *** [drivers/media/video] Error 2 make[1]: *** [drivers/media] Error 2 make: *** [drivers] Error 2

Насколько я понимаю, компилятору не нравится использвание функций с одним названием в двух файлах. Но это как то странно.
Кто нибудь сталкивался с подобным? Если сталкивались, как решали?
Спасибо.
Спасибо сказали:
IMB
Сообщения: 2561
ОС: Debian

Re: kernel, ioctl

Сообщение IMB »

Похоже решил проблему переименованием функций.
Спасибо сказали:
Ответить