Как узнать MINOR номер устройства в современном linux в режиме ядра?
Добрый день,
n-лет назад написал драйвер для кастомного устройства под тогдашние версии ядер Linux.
Сегодня потребовалось сдуть с него пыль и запустить этот драйвер на свежем Linux (Ubuntu 16).
Но при компиляции возникла ошибка:
struct file has no member f_dentry
Он ругается на строку, где я узнаю minor номер устройства:
minor = MINOR(filp->f_dentry->d_inode->i_rdev);
(filp это struct file *filp)
Подскажите пожалуйста, как теперь коректно доставать minor номер устройства?
C появились подсистемы /sys и /udev, номера большинства устройств присваиваются динамически во время загрузки. Думаю надо посмотреть в сторону udev и как он получает номера устройств.
Сам я не разраб но надеюсь ссылки помогут или натолкнут на нужные мысли.