>> Туда структура передается. (Структура - это данные в памяти).
> А эта структура так и остается в памяти? С ней можно как-то
> работать?да, конечно же можно работать.
>> ага. шелл записывает значение в PCI. Минуя драйвер. Ага.
>> Поддержку этого всего еще написать надо. ;-)
> Я конечно же не имел в виду что писать напрямую. :) Конечно
> надо каким-то образом взаимодействовать с драйвером. Все функции, которые описаны в
> /saa7134 - их можно вызывать из своих программ?
=) нет конечно. Оно же в ядре модулем крутится.
А с модулем, взаимодействовать можно:
- через устройства, которые он создает, читая/записывая их
- через устройства, которые он создает, делая на них ioctl-операции
- через sysctl, но модуль опять же должен их создать
Мое предложение решения вашей проблемы свелось бы к предложению создания нового модуля :-)
Базовый модуль saa7134 экспортирует много интересных вещей, которые можно использовать в сторонних модулях:
EXPORT_SYMBOL(saa7134_set_gpio)
EXPORT_SYMBOL(saa7134_boards)
EXPORT_SYMBOL(saa7134_devlist)
Т.е. доп модуль сможет получить доступ к нужной инфе базового.
Но тут есть маленькая проблемка с выбором интерфейса взаимодействия с ядром :-)
просто устройства, которые читать/писать - делать невыгодно, нерасширяемо :-)
sysctl - девайсов много, как сделать по элементу sysctl для каждого чипа - непонятно.
Видится мне решение проблемы созданием модуля, который бы для каждого чипа создавал бы по устройству videogpioX :-) и по паре ioctl, на чтение регистров статуса и значения порта.
далее всё упирается в то, какие major/minor для этого выбрать...
А потом - еще надо написать клиентскую программу.