pci.c 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // SPDX-License-Identifier: GPL-2.0
  2. #include <linux/pci.h>
  3. __rust_helper u16 rust_helper_pci_dev_id(struct pci_dev *dev)
  4. {
  5. return PCI_DEVID(dev->bus->number, dev->devfn);
  6. }
  7. __rust_helper resource_size_t
  8. rust_helper_pci_resource_start(struct pci_dev *pdev, int bar)
  9. {
  10. return pci_resource_start(pdev, bar);
  11. }
  12. __rust_helper resource_size_t rust_helper_pci_resource_len(struct pci_dev *pdev,
  13. int bar)
  14. {
  15. return pci_resource_len(pdev, bar);
  16. }
  17. __rust_helper bool rust_helper_dev_is_pci(const struct device *dev)
  18. {
  19. return dev_is_pci(dev);
  20. }
  21. #ifndef CONFIG_PCI_MSI
  22. __rust_helper int rust_helper_pci_alloc_irq_vectors(struct pci_dev *dev,
  23. unsigned int min_vecs,
  24. unsigned int max_vecs,
  25. unsigned int flags)
  26. {
  27. return pci_alloc_irq_vectors(dev, min_vecs, max_vecs, flags);
  28. }
  29. __rust_helper void rust_helper_pci_free_irq_vectors(struct pci_dev *dev)
  30. {
  31. pci_free_irq_vectors(dev);
  32. }
  33. __rust_helper int rust_helper_pci_irq_vector(struct pci_dev *pdev,
  34. unsigned int nvec)
  35. {
  36. return pci_irq_vector(pdev, nvec);
  37. }
  38. #endif