*Разработка драйверов для Linux* Есть ли способ предоставить дополнительные настройки через sysfs с использованием инфраструктуры IIO?

Драйвер, который я разрабатываю, имеет ряд настроек, которые я хочу, чтобы пользователь мог изменить, но которые на самом деле не вписываются в структуру IIO. Например, использование перечисления IIO_CHAN_INFO_SAMP_FREQ в моей функции чтения предоставляет переменную в /sys/bus/iio/devices/iio:device0/ с именем «in_voltage_sampling_frequency», которая позволяет пользователю изменять частоту на ходу. Я также хотел бы иметь возможность проходить в разных режимах (строка) через аналогичный механизм. Как бы я это сделал? Не похоже, что интерфейс IIO поддерживает вызовы ioctl.


person z470    schedule 04.06.2015    source источник


Ответы (2)


Нашел решение.

Я использовал атрибут устройства sysfs, как показано здесь:

https://www.kernel.org/doc/Documentation/driver-model/device.txt

person z470    schedule 04.06.2015

Другим решением этой проблемы может быть использование module_param, который регистрирует параметры, которые можно установить во время загрузки через modprobe/insmod и во время выполнения через sysfs:

int myint = 3;
module_param(myint, int, 0);

Для получения дополнительной информации см.: https://www.tldp.org/LDP/lkmpg/2.6/html/x323.html

person mallwright    schedule 12.07.2018