Краткая справка |
Предыдущая Содержание Следующая |
В этом разделе просуммированы символы, представленные в этой главе:
#include <linux/pci.h> Заголовок, который подключает символические имена регистров PCI и несколько идентификаторов поставщиков и устройств. struct pci_dev; Структура, которая представляет PCI устройство в ядре. struct pci_driver; Структура, которая представляет драйвер PCI. Все драйверы PCI должны её определять. struct pci_device_id; Структура, которая описывает типы устройств PCI, которые поддерживает этот драйвер. int pci_register_driver(struct pci_driver *drv); int pci_module_init(struct pci_driver *drv); void pci_unregister_driver(struct pci_driver *drv); Функции, которые регистрируют или отменяют регистрацию PCI драйвера в ядре. struct pci_dev *pci_find_device(unsigned int vendor, unsigned int device, struct pci_dev *from); struct pci_dev *pci_find_device_reverse(unsigned int vendor, unsigned int device, const struct pci_dev *from); struct pci_dev *pci_find_subsys (unsigned int vendor, unsigned int device, unsigned int ss_vendor, unsigned int ss_device, const struct pci_dev *from); struct pci_dev *pci_find_class(unsigned int class, struct pci_dev *from); Функции, которые ищут устройство в списке устройств с заданной сигнатурой или принадлежащие к определённому классу. Если ничего не найдено, возвращается значение NULL. from используется для продолжения поиска; она должно быть NULL при первом вызове любой функции и она должна указывать на только что найденное устройство, если вы ищете несколько устройств. Эти функции не рекомендуется использовать, используйте вместо них варианты pci_get_. struct pci_dev *pci_get_device(unsigned int vendor, unsigned int device, struct pci_dev *from); struct pci_dev *pci_get_subsys(unsigned int vendor, unsigned int device, unsigned int ss_vendor, unsigned int ss_device, struct pci_dev *from); struct pci_dev *pci_get_slot(struct pci_bus *bus, unsigned int devfn); Функции, которые ищут список устройств для устройств с заданной сигнатурой или принадлежащих к определённому классу. Если ничего не найдено, возвращается значение NULL. from используется для продолжения поиска; она должна быть NULL при первом вызове любой функции и она должна указывать на только что найденное устройство, если вы ищете несколько устройств. Возвращаемая структура увеличивает свой счётчик ссылок и после завершения работы с ней вызывающего должна быть вызвана функция pci_dev_put. int pci_read_config_byte(struct pci_dev *dev, int where, u8 *val); int pci_read_config_word(struct pci_dev *dev, int where, u16 *val); int pci_read_config_dword(struct pci_dev *dev, int where, u32 *val); int pci_write_config_byte (struct pci_dev *dev, int where, u8 val); int pci_write_config_word (struct pci_dev *dev, int where, u16 val); int pci_write_config_dword (struct pci_dev *dev, int where, u32 val); Функции, которые читают или пишут реестр PCI конфигурации. Хотя ядро Linux заботится о порядке байтов, программист должен быть внимателен с порядком байтов при сборке многобайтовых значений из отдельных байтов. Шина PCI использует little-endian (сначала младший). int pci_enable_device(struct pci_dev *dev); Разрешение PCI устройства. unsigned long pci_resource_start(struct pci_dev *dev, int bar); unsigned long pci_resource_end(struct pci_dev *dev, int bar); unsigned long pci_resource_flags(struct pci_dev *dev, int bar); Функции, которые обрабатывают ресурсы PCI устройства. |
Предыдущая Содержание Следующая |