portdrv.h 972 B

123456789101112131415161718192021222324252627282930313233
  1. /*
  2. * File: portdrv.h
  3. * Purpose: PCI Express Port Bus Driver's Internal Data Structures
  4. *
  5. * Copyright (C) 2004 Intel
  6. * Copyright (C) Tom Long Nguyen (tom.l.nguyen@intel.com)
  7. */
  8. #ifndef _PORTDRV_H_
  9. #define _PORTDRV_H_
  10. #include <linux/compiler.h>
  11. #define PCIE_PORT_DEVICE_MAXSERVICES 4
  12. /*
  13. * According to the PCI Express Base Specification 2.0, the indices of
  14. * the MSI-X table entires used by port services must not exceed 31
  15. */
  16. #define PCIE_PORT_MAX_MSIX_ENTRIES 32
  17. #define get_descriptor_id(type, service) (((type - 4) << 4) | service)
  18. extern struct bus_type pcie_port_bus_type;
  19. extern int pcie_port_device_register(struct pci_dev *dev);
  20. #ifdef CONFIG_PM
  21. extern int pcie_port_device_suspend(struct device *dev);
  22. extern int pcie_port_device_resume(struct device *dev);
  23. #endif
  24. extern void pcie_port_device_remove(struct pci_dev *dev);
  25. extern int __must_check pcie_port_bus_register(void);
  26. extern void pcie_port_bus_unregister(void);
  27. #endif /* _PORTDRV_H_ */