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 10 /* File aq_pci_func.h: Declaration of PCI functions. */ 11 12 #ifndef AQ_PCI_FUNC_H 13 #define AQ_PCI_FUNC_H 14 15 #include "aq_common.h" 16 17 struct aq_pci_func_s *aq_pci_func_alloc(struct aq_hw_ops *hw_ops, 18 struct pci_dev *pdev, 19 const struct net_device_ops *ndev_ops, 20 const struct ethtool_ops *eth_ops); 21 int aq_pci_func_init(struct aq_pci_func_s *self); 22 int aq_pci_func_alloc_irq(struct aq_pci_func_s *self, unsigned int i, 23 char *name, void *aq_vec, 24 cpumask_t *affinity_mask); 25 void aq_pci_func_free_irqs(struct aq_pci_func_s *self); 26 int aq_pci_func_start(struct aq_pci_func_s *self); 27 void __iomem *aq_pci_func_get_mmio(struct aq_pci_func_s *self); 28 unsigned int aq_pci_func_get_irq_type(struct aq_pci_func_s *self); 29 void aq_pci_func_deinit(struct aq_pci_func_s *self); 30 void aq_pci_func_free(struct aq_pci_func_s *self); 31 int aq_pci_func_change_pm_state(struct aq_pci_func_s *self, 32 pm_message_t *pm_msg); 33 34 #endif /* AQ_PCI_FUNC_H */ 35