aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/sfxge/common/efx_mon.c
diff options
context:
space:
mode:
authorAndrew Rybchenko <arybchik@FreeBSD.org>2016-01-12 06:37:42 +0000
committerAndrew Rybchenko <arybchik@FreeBSD.org>2016-01-12 06:37:42 +0000
commitb13ad4deb6f2556b940300161f79224178c8b5b9 (patch)
treeeebc09d3389328ffb2f721b0bad6a10a638c8bf6 /sys/dev/sfxge/common/efx_mon.c
parent19bc938f5a28648ed8ce8cd96a88cf07169b409e (diff)
downloadsrc-b13ad4deb6f2556b940300161f79224178c8b5b9.tar.gz
src-b13ad4deb6f2556b940300161f79224178c8b5b9.zip
sfxge: add Medford sensor support
Submitted by: Mark Spender <mspender at solarflare.com> Reviewed by: gnn Sponsored by: Solarflare Communications, Inc. MFC after: 2 days Differential Revision: https://reviews.freebsd.org/D4858
Notes
Notes: svn path=/head/; revision=293733
Diffstat (limited to 'sys/dev/sfxge/common/efx_mon.c')
-rw-r--r--sys/dev/sfxge/common/efx_mon.c55
1 files changed, 25 insertions, 30 deletions
diff --git a/sys/dev/sfxge/common/efx_mon.c b/sys/dev/sfxge/common/efx_mon.c
index 3574e8a5d652..00bb3a195d21 100644
--- a/sys/dev/sfxge/common/efx_mon.c
+++ b/sys/dev/sfxge/common/efx_mon.c
@@ -62,6 +62,7 @@ static const char *__efx_mon_name[] = {
"max6647",
"sfx90x0",
"sfx91x0"
+ "sfx92x0"
};
const char *
@@ -119,34 +120,6 @@ static efx_mon_ops_t __efx_mon_mcdi_ops = {
};
#endif
-static efx_mon_ops_t *__efx_mon_ops[] = {
- NULL,
-#if EFSYS_OPT_MON_NULL
- &__efx_mon_null_ops,
-#else
- NULL,
-#endif
-#if EFSYS_OPT_MON_LM87
- &__efx_mon_lm87_ops,
-#else
- NULL,
-#endif
-#if EFSYS_OPT_MON_MAX6647
- &__efx_mon_max6647_ops,
-#else
- NULL,
-#endif
-#if EFSYS_OPT_MON_MCDI
- &__efx_mon_mcdi_ops,
-#else
- NULL,
-#endif
-#if EFSYS_OPT_MON_MCDI
- &__efx_mon_mcdi_ops
-#else
- NULL
-#endif
-};
__checkReturn efx_rc_t
efx_mon_init(
@@ -170,8 +143,30 @@ efx_mon_init(
emp->em_type = encp->enc_mon_type;
EFSYS_ASSERT(encp->enc_mon_type != EFX_MON_INVALID);
- EFSYS_ASSERT3U(emp->em_type, <, EFX_MON_NTYPES);
- if ((emop = (efx_mon_ops_t *)__efx_mon_ops[emp->em_type]) == NULL) {
+ switch (emp->em_type) {
+#if EFSYS_OPT_MON_NULL
+ case EFX_MON_NULL:
+ emop = &__efx_mon_null_ops;
+ break;
+#endif
+#if EFSYS_OPT_MON_LM87
+ case EFX_MON_LM87:
+ emop = &__efx_mon_lm87_ops;
+ break;
+#endif
+#if EFSYS_OPT_MON_MAX6647
+ case EFX_MON_MAX6647:
+ emop = &__efx_mon_max6647_ops;
+ break;
+#endif
+#if EFSYS_OPT_MON_MCDI
+ case EFX_MON_SFC90X0:
+ case EFX_MON_SFC91X0:
+ case EFX_MON_SFC92X0:
+ emop = &__efx_mon_mcdi_ops;
+ break;
+#endif
+ default:
rc = ENOTSUP;
goto fail2;
}