LINUX.ORG.RU

вопрос по register_chdev()


0

0

Когда делаю

register_chdev(0, "candev", &ops);

работает нормально, возвращает номер, по которому потом создаю файл устройства, и могу с ним работать

Но, если хочу задать свой номер:

register_chdev(122, "candev", &ops);

то - болт, ошибку выдает.

в чем тут трабл?


ты имел ввиду `register_chrdev'?

скорее всего этот мажор уже заюзан

lg ★★
()

Трабл в том, что девайс, как правильно заметил lg, уже используется. Загляни в Documentation/devices.txt в исходниках ядра, там очень подробно рассказывается, как для своих девайсов номера выбирать.

ДВ

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

по умолчанию он мне выдает свободный мажор 254.

Ставлю его в параметр - ошибка.

Так что не в этом, похоже, дело.

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

ты небось его забываешь unregister сделать, после того как тебе дали 254

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

Вай! Горе мне и позор!

Все нормально работает. Возвращает 0.

Просто я чего то решил, что если в качестве параметра даешь 0, а функция возвращает мажор, то если ей дать не 0 - она тоже вернет мажор.

Простите, что всех вас отвлек.

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