Драйвер, который я разрабатываю, имеет ряд настроек, которые я хочу, чтобы пользователь мог изменить, но которые на самом деле не вписываются в структуру IIO. Например, использование перечисления IIO_CHAN_INFO_SAMP_FREQ в моей функции чтения предоставляет переменную в /sys/bus/iio/devices/iio:device0/ с именем «in_voltage_sampling_frequency», которая позволяет пользователю изменять частоту на ходу. Я также хотел бы иметь возможность проходить в разных режимах (строка) через аналогичный механизм. Как бы я это сделал? Не похоже, что интерфейс IIO поддерживает вызовы ioctl.
*Разработка драйверов для Linux* Есть ли способ предоставить дополнительные настройки через sysfs с использованием инфраструктуры IIO?
Ответы (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