aq_pci_func.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. /*
  2. * aQuantia Corporation Network Driver
  3. * Copyright (C) 2014-2017 aQuantia Corporation. All rights reserved
  4. *
  5. * This program is free software; you can redistribute it and/or modify it
  6. * under the terms and conditions of the GNU General Public License,
  7. * version 2, as published by the Free Software Foundation.
  8. */
  9. /* File aq_pci_func.h: Declaration of PCI functions. */
  10. #ifndef AQ_PCI_FUNC_H
  11. #define AQ_PCI_FUNC_H
  12. #include "aq_common.h"
  13. struct aq_pci_func_s *aq_pci_func_alloc(struct aq_hw_ops *hw_ops,
  14. struct pci_dev *pdev,
  15. const struct net_device_ops *ndev_ops,
  16. const struct ethtool_ops *eth_ops);
  17. int aq_pci_func_init(struct aq_pci_func_s *self);
  18. int aq_pci_func_alloc_irq(struct aq_pci_func_s *self, unsigned int i,
  19. char *name, void *aq_vec,
  20. cpumask_t *affinity_mask);
  21. void aq_pci_func_free_irqs(struct aq_pci_func_s *self);
  22. int aq_pci_func_start(struct aq_pci_func_s *self);
  23. void __iomem *aq_pci_func_get_mmio(struct aq_pci_func_s *self);
  24. unsigned int aq_pci_func_get_irq_type(struct aq_pci_func_s *self);
  25. void aq_pci_func_deinit(struct aq_pci_func_s *self);
  26. void aq_pci_func_free(struct aq_pci_func_s *self);
  27. int aq_pci_func_change_pm_state(struct aq_pci_func_s *self,
  28. pm_message_t *pm_msg);
  29. #endif /* AQ_PCI_FUNC_H */