LINUX.ORG.RU

Vortex2+RedHat9=remap_page_range error


0

0

Стоял RedHat7.3 и всё было хорошо. Решил обновить систему. Поставил RH9. И всё б хорошо, только драйвер под зв. плату не компилится. Пишет что-то вроде:

[root@localhost aureal]# make install-all gcc -D__KERNEL__ -DMODULE -DAU8830 -mpentiumpro -O6 -fomit-frame-pointer -Wall -pipe -I/usr/src/linux-2.4.20-8/include -c -o au_audio.o au_audio.c au_audio.c: In function `au_audio_mmap': au_audio.c:650: warning: passing arg 1 of `remap_page_range_R2baf18f2' makes pointer from integer without a cast au_audio.c:650: incompatible type for argument 4 of `remap_page_range_R2baf18f2' au_audio.c:650: too few arguments to function `remap_page_range_R2baf18f2' au_audio.c:672: warning: passing arg 1 of `remap_page_range_R2baf18f2' makes pointer from integer without a cast au_audio.c:672: incompatible type for argument 4 of `remap_page_range_R2baf18f2' au_audio.c:672: too few arguments to function `remap_page_range_R2baf18f2' make: *** [au_audio.o] Ошибка 1

Пробовал драйвера v1.12 и 1.13(CVS). На RH7.3 всё работало.

kernel-2.4.20-8 proc-Intel Pentium3 AU8830

anonymous

Короче, эта хреновина в драйвере. Редхад сильно переделывает ядро. У меня зорановский драйвер и там в файле zoran_driver.c(хачить драйвер необходимо для ядра редхата, в других линухах вроде работает без хака) мне надо было строчку(под номером 4512, опять таки для моего драйвера):

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)

изменить на строчку

#if 0

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

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

Во-первых, спасибо, vifred. Сам исправить ошибку я не смог(не помогло), но нашёл это:

Эта проблема существует в дистрибутивах, основанных на RedHat 9, к ним также относится ASP 9. Причина в том, что разработчики дистрибутива использовали не обычную стабильную версию ядра 2.4.20 с /"kernel.org/", а внесли изменения, в результате которого интерфейс некоторых функции ядра стал, как у экспериментальных версий 2.5.x. Модули ядра для устройств L-Card используют одну из таких функций - /"remap_page_range/", которая в этих ядрах требует не 4, а 5 параметров. Для сборки драйверов с таким ядром нужно внести незначительные изменения в исходный текст модулей. В библиотеке файлов сейчас находится версия, которая учитывает эти изменения и корректно собирается как под нормальными ядрами, так и под RH9/ASP9.

Может подскажет кто-нибудь какие "незначительные изменения в исходный текст модулей" надо внести?

//А то влом мне всё ядро качать - Dial-up...

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