Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / drivers / net / ethernet / aquantia / atlantic / aq_pci_func.h
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 */