bfa_module.c 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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. * BFA module list terminated by NULL
  23. */
  24. struct bfa_module_s *hal_mods[] = {
  25. &hal_mod_sgpg,
  26. &hal_mod_pport,
  27. &hal_mod_fcxp,
  28. &hal_mod_lps,
  29. &hal_mod_uf,
  30. &hal_mod_rport,
  31. &hal_mod_fcpim,
  32. #ifdef BFA_CFG_PBIND
  33. &hal_mod_pbind,
  34. #endif
  35. NULL
  36. };
  37. /**
  38. * Message handlers for various modules.
  39. */
  40. bfa_isr_func_t bfa_isrs[BFI_MC_MAX] = {
  41. bfa_isr_unhandled, /* NONE */
  42. bfa_isr_unhandled, /* BFI_MC_IOC */
  43. bfa_isr_unhandled, /* BFI_MC_DIAG */
  44. bfa_isr_unhandled, /* BFI_MC_FLASH */
  45. bfa_isr_unhandled, /* BFI_MC_CEE */
  46. bfa_pport_isr, /* BFI_MC_PORT */
  47. bfa_isr_unhandled, /* BFI_MC_IOCFC */
  48. bfa_isr_unhandled, /* BFI_MC_LL */
  49. bfa_uf_isr, /* BFI_MC_UF */
  50. bfa_fcxp_isr, /* BFI_MC_FCXP */
  51. bfa_lps_isr, /* BFI_MC_LPS */
  52. bfa_rport_isr, /* BFI_MC_RPORT */
  53. bfa_itnim_isr, /* BFI_MC_ITNIM */
  54. bfa_isr_unhandled, /* BFI_MC_IOIM_READ */
  55. bfa_isr_unhandled, /* BFI_MC_IOIM_WRITE */
  56. bfa_isr_unhandled, /* BFI_MC_IOIM_IO */
  57. bfa_ioim_isr, /* BFI_MC_IOIM */
  58. bfa_ioim_good_comp_isr, /* BFI_MC_IOIM_IOCOM */
  59. bfa_tskim_isr, /* BFI_MC_TSKIM */
  60. bfa_isr_unhandled, /* BFI_MC_SBOOT */
  61. bfa_isr_unhandled, /* BFI_MC_IPFC */
  62. bfa_isr_unhandled, /* BFI_MC_PORT */
  63. bfa_isr_unhandled, /* --------- */
  64. bfa_isr_unhandled, /* --------- */
  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. };
  74. /**
  75. * Message handlers for mailbox command classes
  76. */
  77. bfa_ioc_mbox_mcfunc_t bfa_mbox_isrs[BFI_MC_MAX] = {
  78. NULL,
  79. NULL, /* BFI_MC_IOC */
  80. NULL, /* BFI_MC_DIAG */
  81. NULL, /* BFI_MC_FLASH */
  82. NULL, /* BFI_MC_CEE */
  83. NULL, /* BFI_MC_PORT */
  84. bfa_iocfc_isr, /* BFI_MC_IOCFC */
  85. NULL,
  86. };