- В версиях ядра 4.19-rc1 и позже сигнатура функции будет такой:
Код: Выделить всё
int pci_reset_bus(struct pci_dev *dev); - В версиях ядра до 4.19-rc1 подпись была:
Код: Выделить всё
int pci_reset_bus(struct pci_bus *bus);
[*]SLES 15.1 с ядром 4.12.14-195-default использует новую подпись (
Код: Выделить всё
int pci_reset_bus(struct pci_dev *dev)[*]Fedora 27 с ядром 4.13.9 также использует новую подпись.
< /ul>
Вот текущий код:
Код: Выделить всё
int nnt_pci_reset_bus(struct pci_dev *pci_device)
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) || (defined(RHEL_RELEASE_CODE) && RHEL_RELEASE_CODE >= 2048)
return pci_reset_bus(pci_device);
#else
return pci_reset_bus(pci_device->bus);
#endif
}
Мои вопросы :
- Как лучше всего определить правильную подпись pci_reset_bus?
- Какое наиболее надежное решение этой проблемы? ситуация для разных версий и дистрибутивов ядра?
Подробнее здесь: https://stackoverflow.com/questions/793 ... s-funtcion
Мобильная версия