Здравствуйте!
Сразу скажу, что в программировании модулей я новичок.
Пытаюсь скомпилировать драйвер под ядро 3.10.12, написанный довольно давно для ядра 2.6.
Изначально в тексте драйвера были следующие инклуды:
#include <linux/uio_driver.h>
#include <linux/pci.h>
#include <linux/module.h>
#include <linux/init.h>
/.../driver.c:50:22: ошибка: expected «=», «,», «;», «asm» or «__attribute__» before «probe»
/.../driver.c:169:11: ошибка: «probe» undeclared here (not in a function)
Объявление этой функции выглядит так:
static int __devinit probe(...)
На сколько я понял, компилятор не знает что такое __devinit, принимая это за имя функции. Это странно, потому что, на сколько я знаю от сюда, __devinit определен в linux/init.h, который я уже подключил. Подозреваю, что нужно еще что-нибудь подключить, но не знаю что.
Подскажите пожалуйста, какой заголовочный файл нужно еще подключить, чтобы устранить эту ошибку?
Заранее спасибо!