LINUX.ORG.RU

kernel module не собирается


0

0

Приветово.

Есть такая проблема: при сборке драйвера для одного специфического устройства (модуль аналогового ввода diamond), под ядром 2.2.16-22, редхат 7, gcc 2.96, выдаются следующие ошибки:

1. Не определен идентификатор DEVICE_COUNT_RESOURCE 2. Структура pci_dev не имеет члена с именем resource

В хедерах ядра не прописаны данные идентификаторы. Перед компиляцией я, как было рекомендовано производителем железки, сделал с ядром make menuconfig && make dep, для подготовки хедеров.

Зачем я взял такое старьё? Разрабатываю для embedded-платформы, для релиза критичны размер ядра и libc. Производитель уверяет, что на 2.2 ядре драйвер для его устройства компилироваться должен. Что посоветуете?

anonymous

1. Попробуй определить DEVICE_COUNT_RESOURCE
2. Поправь структуру pci_dev на предмет отсутствия там resource

Методы конечно брутальные, но у меня похожая проблема была(с другим устройством на на том же дистре) и в результате шаманских плясок драйвер собрался.

hint: Качни 2.2.26, выкинь оттудова все лишнее. Попробуй собрать.

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

Я немного не по теме, просто увидел интересующую меня фразу - struct pci_dev. Я от никак не могу разобраться с одной ошибкой. Компилятор выводит сообщение об ошибке в строке struct pci_dev PLX; Сообщение об ошибке - "storage size of `PLX' isn't known". Но мне, как новичку не совсем понятно как этот размер задавать или делать его известным. Если можно поделитесь пожалуйста своими соображениями по этому поводу.

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