Sysfs для устройства SPI - PullRequest
       1

Sysfs для устройства SPI

0 голосов
/ 09 июня 2010

Как я могу использовать sysfs, чтобы определить, выполняет ли мой аппаратный модуль (например, MSR) событие или прерывание?

Ответы [ 2 ]

1 голос
/ 09 июня 2010

Ваш вопрос немного расплывчатый.
Для прерывания вы можете посмотреть на вывод cat /proc/interrupts и посмотреть, увеличивается ли количество прерываний для вашего драйвера.

sysfs здесь, чтобы показать вам атрибут вашего устройства или драйвера. Если вы хотите отслеживать выполнение кода драйвера, посмотрите на исходный код. Там может быть отладка printk, которые включаются, только если вы загружаете драйвер с некоторым параметром командной строки. Например:

rmmod mymodule
modprobe mymodule debug=1

Отладочные сообщения обычно появляются на консоли, и их также можно увидеть с помощью dmesg команды

0 голосов
/ 05 июня 2015

Если вы имеете в виду, как экспортировать информацию о том, выполняет ли аппаратный модуль (например, MSR) событие или прерывание, или нет, вот ответ:

, вы можете создать атрибут устройства, используя sysfs api, например:

static numbers;  
/* suppose numbers may be increased in your event function */
static DEVICE_ATTR(event_numbers, 0400, event_numbers_show, NULL);

и определите атрибуты event_numbers_show:

static ssize_t event_numbers_show(struct device *dev,
        struct device_attribute *attr, char *buf)
    .....
    sprintf(buf, "%d\n", numbers);
    .....
}

, затем выполните запись sysfs create func в период инициализации драйвера:

sysfs_create_file(&dev->kobj, &dev_attr_event_numbers_show->attr);

Если все вышеперечисленноеуспешно, чем вы найдете файл event_numbers, доступный в каталоге / sys / bus / platform / devices / {YOUR_DEVICE_NAME}, просто cat event_numbers, и он покажет соответствующее значение 'numbers'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...