xref: /linux/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.h (revision 3c53c6255d598db7084c5c3d7553d7200e857818)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * aQuantia Corporation Network Driver
4  * Copyright (C) 2014-2017 aQuantia Corporation. All rights reserved
5  */
6 
7 /* File aq_pci_func.h: Declaration of PCI functions. */
8 
9 #ifndef AQ_PCI_FUNC_H
10 #define AQ_PCI_FUNC_H
11 
12 #include "aq_common.h"
13 #include "aq_nic.h"
14 
15 struct aq_board_revision_s {
16 	unsigned short devid;
17 	unsigned short revision;
18 	const struct aq_hw_ops *ops;
19 	const struct aq_hw_caps_s *caps;
20 };
21 
22 int aq_pci_func_init(struct pci_dev *pdev);
23 int aq_pci_func_alloc_irq(struct aq_nic_s *self, unsigned int i,
24 			  char *name, irq_handler_t irq_handler,
25 			  void *irq_arg, cpumask_t *affinity_mask);
26 void aq_pci_func_free_irqs(struct aq_nic_s *self);
27 unsigned int aq_pci_func_get_irq_type(struct aq_nic_s *self);
28 
29 int aq_pci_func_register_driver(void);
30 void aq_pci_func_unregister_driver(void);
31 
32 #endif /* AQ_PCI_FUNC_H */
33