LINUX.ORG.RU

Ответ на: комментарий от hateyoufeel
dm3ch@Dm3Ch-Asus-UX31A ~/Workspace/usb-pkk-backlight_driver $ gcc usb-pkk-backlight.c -I/usr/src/linux/include
In file included from /usr/src/linux/include/linux/device.h:16:0,
                 from /usr/src/linux/include/linux/backlight.h:11,
                 from usb-pkk-backlight.c:1:
/usr/src/linux/include/linux/ioport.h:200:32: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘check_region’
In file included from /usr/src/linux/include/linux/kernel.h:6:0,
                 from /usr/src/linux/include/linux/cache.h:4,
                 from /usr/src/linux/include/linux/time.h:4,
                 from /usr/src/linux/include/linux/stat.h:18,
                 from /usr/src/linux/include/linux/sysfs.h:20,
                 from /usr/src/linux/include/linux/kobject.h:21,
                 from /usr/src/linux/include/linux/device.h:17,
                 from /usr/src/linux/include/linux/backlight.h:11,
                 from usb-pkk-backlight.c:1:
/usr/src/linux/include/linux/linkage.h:7:25: fatal error: asm/linkage.h: No such file or directory
compilation terminated.

Dm3Ch
() автор топика
Ответ на: комментарий от Dm3Ch

Мальчик, ты баклажан. У тебя сырцы ядра в /usr/src хотя бы сконфигурированы? В любом случае, марш читать доки по ссылке выше!

hateyoufeel ★★★★★
()
Ответ на: комментарий от hateyoufeel

Да, исходники сконфигурированны. Именно из этих исходников и было собранно ядро, которое у меня сейчас работает.

Меня беспокоит один момент у меня нет папки /usr/src/linux/include/asm, но есть /usr/src/linux/include/asm-generic, а в ней есть файл /usr/src/linux/include/asm-generic/linkage.h.

Dm3Ch
() автор топика
Ответ на: комментарий от Deleted

Уже попробовал и получил:

dm3ch@Dm3Ch-Asus-UX31A ~/Workspace/usb-pkk-backlight_driver $ gcc usb-pkk-backlight.c -I/usr/src/linux/include
In file included from /usr/src/linux/include/linux/device.h:16:0,
                 from /usr/src/linux/include/linux/backlight.h:11,
                 from usb-pkk-backlight.c:1:
/usr/src/linux/include/linux/ioport.h:200:32: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘check_region’
In file included from /usr/src/linux/include/linux/kernel.h:6:0,
                 from /usr/src/linux/include/linux/cache.h:4,
                 from /usr/src/linux/include/linux/time.h:4,
                 from /usr/src/linux/include/linux/stat.h:18,
                 from /usr/src/linux/include/linux/sysfs.h:20,
                 from /usr/src/linux/include/linux/kobject.h:21,
                 from /usr/src/linux/include/linux/device.h:17,
                 from /usr/src/linux/include/linux/backlight.h:11,
                 from usb-pkk-backlight.c:1:
/usr/src/linux/include/linux/linkage.h:7:25: fatal error: asm/linkage.h: No such file or directory
compilation terminated.

Dm3Ch
() автор топика
Ответ на: комментарий от Dm3Ch

меня нет папки /usr/src/linux/include/asm

Это должен быть симлинк в arch/`uname -m`/asm. Опять же повторюсь: используй KBuild для сборки модуля. Доки выше по ссылке.

hateyoufeel ★★★★★
()
Ответ на: комментарий от hateyoufeel

Разобрался с kbuild, но есть иная проблема - не даёт на выходе файлов.

make: Entering directory `/usr/src/linux-3.13.1'
  Building modules, stage 2.
  MODPOST 0 modules
make: Leaving directory `/usr/src/linux-3.13.1'

Dm3Ch
() автор топика
Ответ на: комментарий от hateyoufeel

Я переделал Makefile от другово внешнего модуля. И теперь мой Makefile такой.

Но теперь он плюётся таким списком ошибок.

Модуль пока только декларирует себя. Состоит из 2х файлов: usb-pkk-backlight.c и usb-pkk-backlight.h.

Dm3Ch
() автор топика
Ответ на: комментарий от Dm3Ch
  CC [M]  /home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.o
/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.c:3:2: error: invalid preprocessing directive #incluce

Ну чувааааак, ну ты издеваешься, да?

hateyoufeel ★★★★★
()
Ответ на: комментарий от Dm3Ch

Извините за такую тупую ошибку. Исправил, но всё равно не компилится.

Опять я должен угадывать как оно у тебя не компилится?

hateyoufeel ★★★★★
()
Ответ на: комментарий от hateyoufeel
dm3ch@Dm3Ch-Asus-UX31A ~/Workspace/usb-pkk-backlight_driver $ make
make -C /lib/modules/3.13.1/build SUBDIRS=/home/dm3ch/Workspace/usb-pkk-backlight_driver modules
make[1]: Entering directory `/usr/src/linux-3.13.1'
  CC [M]  /home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.o
In file included from /home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.c:5:0:
/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.h:1:26: warning: missing whitespace after the macro name [enabled by default]
/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.h:2:26: warning: missing whitespace after the macro name [enabled by default]
/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.c:7:32: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘-’ token
/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.c:13:29: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘-’ token
/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.c:19:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘-’ token
/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.c: In function ‘__inittest’:
/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.c:19:1: error: ‘pkk’ undeclared (first use in this function)
/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.c:19:1: note: each undeclared identifier is reported only once for each function it appears in
/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.c:19:1: error: ‘bl_driver_init’ undeclared (first use in this function)
/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.c: At top level:
/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.c:19:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘-’ token
/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.c: In function ‘__exittest’:
/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.c:19:1: error: ‘pkk’ undeclared (first use in this function)
/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.c:19:1: error: ‘bl_driver_exit’ undeclared (first use in this function)
/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.c: At top level:
/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.c:21:19: error: expected declaration specifiers or ‘...’ before string constant
/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.c:11:1: error: ‘__mod_usb_device_table’ aliased to undefined symbol ‘pkk-bl_device’
/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.c:19:1: error: ‘init_module’ aliased to undefined symbol ‘pkk-bl_driver_init’
/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.c:19:1: error: ‘cleanup_module’ aliased to undefined symbol ‘pkk-bl_driver_exit’
make[2]: *** [/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.o] Error 1
make[1]: *** [_module_/home/dm3ch/Workspace/usb-pkk-backlight_driver] Error 2
make[1]: Leaving directory `/usr/src/linux-3.13.1'
make: *** [default] Error 2
Dm3Ch
() автор топика
Ответ на: комментарий от Dm3Ch

Это всё исключительно твои косяки из-за невнимательности. Курни маны и исправь их. Они очевидны.

Deleted
()
Ответ на: комментарий от Deleted

Да, почитал, ошибки понял и исправил. Но осталось 2 ошибки, не могу понять, что не так. Всё, как в модуле с которого беру пример.

dm3ch@Dm3Ch-Asus-UX31A ~/Workspace/usb-pkk-backlight_driver $ make
make -C /lib/modules/3.13.1/build SUBDIRS=/home/dm3ch/Workspace/usb-pkk-backlight_driver modules
make[1]: Entering directory `/usr/src/linux-3.13.1'
  CC [M]  /home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.o
/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.c:11:1: error: ‘__mod_usb_device_table’ aliased to undefined symbol ‘pkk_bl_device’
make[2]: *** [/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.o] Error 1
make[1]: *** [_module_/home/dm3ch/Workspace/usb-pkk-backlight_driver] Error 2
make[1]: Leaving directory `/usr/src/linux-3.13.1'
make: *** [default] Error 2

usb-pkk-backlight.c
usb-pkk-backlight.h
Makefile

P.S. Помогите, пожалуйста, понять, как их исправить.

Dm3Ch
() автор топика
Ответ на: комментарий от avsej

Спасибо, не заметил, а что по поводу

/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.c:21:19: error: expected declaration specifiers or ‘...’ before string constant

Dm3Ch
() автор топика
Ответ на: комментарий от Dm3Ch

Ну а чего ты ожидал? Что ты вообще хотел сказать своей 21 строкой?

Deleted
()
Ответ на: комментарий от Dm3Ch

Спасибо, не заметил

Как можно не заметить сообщение компилятора? Ты же сам его сюда вставил.

avsej
()
Ответ на: комментарий от Dm3Ch

Спасибо, не заметил, а что по поводу

/home/dm3ch/Workspace/usb-pkk-backlight_driver/usb-pkk-backlight.c:21:19: error: expected declaration specifiers or ‘...’ before string constant

Ты по памяти с бодуна код переписывал? Может вот так?

-MODULE_DESCRIPTOR("PKK USB backlight driver");
+MODULE_DESCRIPTION("PKK USB backlight driver");
avsej
()
Ответ на: комментарий от avsej

а как декларация может быть со стринговой константой? Это же бред. ТС просто совершенно не понимает, что творит, и пытается заставить нас думать за него.

Deleted
()
Ответ на: комментарий от Deleted

а может быть проводит кастинг на шоу экстрасенсов

avsej
()
Ответ на: комментарий от Dm3Ch

Это финиш.

man программирование

Хочешь программировать — марш читать K&R! Нужен срочно драйвер — пиши в job. С твоим шлангизмом самостоятельно драйвер не написать

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.