Merge branch 'net-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[pandora-kernel.git] / drivers / scsi / bfa / bfa_module.c
1 /*
2  * Copyright (c) 2005-2009 Brocade Communications Systems, Inc.
3  * All rights reserved
4  * www.brocade.com
5  *
6  * Linux driver for Brocade Fibre Channel Host Bus Adapter.
7  *
8  * This program is free software; you can redistribute it and/or modify it
9  * under the terms of the GNU General Public License (GPL) Version 2 as
10  * published by the Free Software Foundation
11  *
12  * This program is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * General Public License for more details.
16  */
17 #include <bfa.h>
18 #include <defs/bfa_defs_pci.h>
19 #include <cs/bfa_debug.h>
20 #include <bfa_iocfc.h>
21
22 /**
23  * BFA module list terminated by NULL
24  */
25 struct bfa_module_s *hal_mods[] = {
26         &hal_mod_sgpg,
27         &hal_mod_fcport,
28         &hal_mod_fcxp,
29         &hal_mod_lps,
30         &hal_mod_uf,
31         &hal_mod_rport,
32         &hal_mod_fcpim,
33 #ifdef BFA_CFG_PBIND
34         &hal_mod_pbind,
35 #endif
36         NULL
37 };
38
39 /**
40  * Message handlers for various modules.
41  */
42 bfa_isr_func_t  bfa_isrs[BFI_MC_MAX] = {
43         bfa_isr_unhandled,      /* NONE */
44         bfa_isr_unhandled,      /* BFI_MC_IOC */
45         bfa_isr_unhandled,      /* BFI_MC_DIAG */
46         bfa_isr_unhandled,      /* BFI_MC_FLASH */
47         bfa_isr_unhandled,      /* BFI_MC_CEE */
48         bfa_fcport_isr,         /* BFI_MC_FCPORT */
49         bfa_isr_unhandled,      /* BFI_MC_IOCFC */
50         bfa_isr_unhandled,      /* BFI_MC_LL */
51         bfa_uf_isr,             /* BFI_MC_UF */
52         bfa_fcxp_isr,           /* BFI_MC_FCXP */
53         bfa_lps_isr,            /* BFI_MC_LPS */
54         bfa_rport_isr,          /* BFI_MC_RPORT */
55         bfa_itnim_isr,          /* BFI_MC_ITNIM */
56         bfa_isr_unhandled,      /* BFI_MC_IOIM_READ */
57         bfa_isr_unhandled,      /* BFI_MC_IOIM_WRITE */
58         bfa_isr_unhandled,      /* BFI_MC_IOIM_IO */
59         bfa_ioim_isr,           /* BFI_MC_IOIM */
60         bfa_ioim_good_comp_isr, /* BFI_MC_IOIM_IOCOM */
61         bfa_tskim_isr,          /* BFI_MC_TSKIM */
62         bfa_isr_unhandled,      /* BFI_MC_SBOOT */
63         bfa_isr_unhandled,      /* BFI_MC_IPFC */
64         bfa_isr_unhandled,      /* BFI_MC_PORT */
65         bfa_isr_unhandled,      /* --------- */
66         bfa_isr_unhandled,      /* --------- */
67         bfa_isr_unhandled,      /* --------- */
68         bfa_isr_unhandled,      /* --------- */
69         bfa_isr_unhandled,      /* --------- */
70         bfa_isr_unhandled,      /* --------- */
71         bfa_isr_unhandled,      /* --------- */
72         bfa_isr_unhandled,      /* --------- */
73         bfa_isr_unhandled,      /* --------- */
74         bfa_isr_unhandled,      /* --------- */
75 };
76
77 /**
78  * Message handlers for mailbox command classes
79  */
80 bfa_ioc_mbox_mcfunc_t  bfa_mbox_isrs[BFI_MC_MAX] = {
81         NULL,
82         NULL,                   /* BFI_MC_IOC   */
83         NULL,                   /* BFI_MC_DIAG  */
84         NULL,           /* BFI_MC_FLASH */
85         NULL,                   /* BFI_MC_CEE   */
86         NULL,                   /* BFI_MC_PORT  */
87         bfa_iocfc_isr,          /* BFI_MC_IOCFC */
88         NULL,
89 };
90