2010-06-09 2 views

ответ

1

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

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

rmmod mymodule 
modprobe mymodule debug=1 

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

0

Если вы имеете в виду, как экспортировать информацию о том, выполняет аппаратный модуль (например, 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 создать 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'variable.

Смежные вопросы