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

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

2 ответа

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

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

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

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

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

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

Другие вопросы по тегам