- supported.conf: Added sparse_keymap (eeepc_laptop depends on it)
[linux-flexiantxendom0-3.2.10.git] / drivers / net / sfc / sfc_resource / ci / driver / resource / linux_efhw_nic.h
1 /****************************************************************************
2  * Driver for Solarflare network controllers -
3  *          resource management for Xen backend, OpenOnload, etc
4  *           (including support for SFE4001 10GBT NIC)
5  *
6  * This file contains definition of the public type struct linux_efhw_nic.
7  *
8  * Copyright 2005-2007: Solarflare Communications Inc,
9  *                      9501 Jeronimo Road, Suite 250,
10  *                      Irvine, CA 92618, USA
11  *
12  * Developed and maintained by Solarflare Communications:
13  *                      <linux-xen-drivers@solarflare.com>
14  *                      <onload-dev@solarflare.com>
15  *
16  * Certain parts of the driver were implemented by
17  *          Alexandra Kossovsky <Alexandra.Kossovsky@oktetlabs.ru>
18  *          OKTET Labs Ltd, Russia,
19  *          http://oktetlabs.ru, <info@oktetlabs.ru>
20  *          by request of Solarflare Communications
21  *
22  *
23  * This program is free software; you can redistribute it and/or modify it
24  * under the terms of the GNU General Public License version 2 as published
25  * by the Free Software Foundation, incorporated herein by reference.
26  *
27  * This program is distributed in the hope that it will be useful,
28  * but WITHOUT ANY WARRANTY; without even the implied warranty of
29  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
30  * GNU General Public License for more details.
31  *
32  * You should have received a copy of the GNU General Public License
33  * along with this program; if not, write to the Free Software
34  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
35  ****************************************************************************
36  */
37
38 #ifndef __CI_DRIVER_RESOURCE_LINUX_RESOURCE__
39 #define __CI_DRIVER_RESOURCE_LINUX_RESOURCE__
40
41 #include <ci/efrm/efrm_nic.h>
42 #include <linux/interrupt.h>
43
44
45 /************************************************************************
46  * Per-nic structure in the resource driver                             *
47  ************************************************************************/
48
49 struct linux_efhw_nic {
50         struct efrm_nic efrm_nic;
51
52         struct pci_dev *pci_dev;        /*!< pci descriptor */
53         struct tasklet_struct tasklet;  /*!< for interrupt bottom half */
54
55         /* Physical addresses of the control aperture bar. */
56         unsigned long ctr_ap_pci_addr;
57
58         /*! Callbacks for driverlink, when needed. */
59         struct efx_dl_callbacks *dl_callbacks;
60
61         /*! Event handlers. */
62         struct efhw_ev_handler *ev_handlers;
63
64 };
65
66 #define linux_efhw_nic(_efhw_nic)                                       \
67   container_of(_efhw_nic, struct linux_efhw_nic, efrm_nic.efhw_nic)
68
69 #endif /* __CI_DRIVER_RESOURCE_LINUX_RESOURCE__ */