xref: /linux/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.h (revision 24bce201d79807b668bf9d9e0aca801c5c0d5f78)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /* Atlantic Network Driver
3  *
4  * Copyright (C) 2014-2019 aQuantia Corporation
5  * Copyright (C) 2019-2020 Marvell International Ltd.
6  */
7 
8 /* File aq_pci_func.h: Declaration of PCI functions. */
9 
10 #ifndef AQ_PCI_FUNC_H
11 #define AQ_PCI_FUNC_H
12 
13 #include "aq_common.h"
14 #include "aq_nic.h"
15 
16 struct aq_board_revision_s {
17 	unsigned short devid;
18 	unsigned short revision;
19 	const struct aq_hw_ops *ops;
20 	const struct aq_hw_caps_s *caps;
21 };
22 
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