svn commit: r296154 - head/tools/tools/ath/athregs
Adrian Chadd
adrian at FreeBSD.org
Sun Feb 28 06:30:41 UTC 2016
Author: adrian
Date: Sun Feb 28 06:30:39 2016
New Revision: 296154
URL: https://svnweb.freebsd.org/changeset/base/296154
Log:
Migrate athregs over to use the new stats API.
Modified:
head/tools/tools/ath/athregs/Makefile
head/tools/tools/ath/athregs/dumpregs.c
Modified: head/tools/tools/ath/athregs/Makefile
==============================================================================
--- head/tools/tools/ath/athregs/Makefile Sun Feb 28 06:29:25 2016 (r296153)
+++ head/tools/tools/ath/athregs/Makefile Sun Feb 28 06:30:39 2016 (r296154)
@@ -2,9 +2,12 @@
PROG= athregs
+CFLAGS+= -I${.CURDIR}/../common/
+
.PATH.c: ${.CURDIR}/../common
SRCS= dumpregs.c
+SRCS+= ctrl.c
SRCS+= dumpregs_5210.c
SRCS+= dumpregs_5211.c
SRCS+= dumpregs_5212.c
Modified: head/tools/tools/ath/athregs/dumpregs.c
==============================================================================
--- head/tools/tools/ath/athregs/dumpregs.c Sun Feb 28 06:29:25 2016 (r296153)
+++ head/tools/tools/ath/athregs/dumpregs.c Sun Feb 28 06:30:39 2016 (r296154)
@@ -43,6 +43,8 @@
#include <ctype.h>
#include <err.h>
+#include "ctrl.h"
+
typedef struct {
HAL_REVS revs;
u_int32_t regdata[0xffff / sizeof(u_int32_t)];
@@ -93,11 +95,11 @@ main(int argc, char *argv[])
const char *ifname;
u_int32_t *data;
u_int32_t *dp, *ep;
- int what, c, s, i;
+ int what, c, i;
+ struct ath_driver_req req;
+
+ ath_driver_req_init(&req);
- s = socket(AF_INET, SOCK_DGRAM, 0);
- if (s < 0)
- err(1, "socket");
ifname = getenv("ATH");
if (!ifname)
ifname = ATH_DEFAULT;
@@ -144,6 +146,16 @@ main(int argc, char *argv[])
usage();
/*NOTREACHED*/
}
+
+ /* Initialise the driver interface */
+ if (ath_driver_req_open(&req, ifname) < 0) {
+ exit(127);
+ }
+
+ /*
+ * Whilst we're doing the ath_diag pieces, we have to set this
+ * ourselves.
+ */
strncpy(atd.ad_name, ifname, sizeof (atd.ad_name));
argc -= optind;
@@ -154,7 +166,8 @@ main(int argc, char *argv[])
atd.ad_id = HAL_DIAG_REVS;
atd.ad_out_data = (caddr_t) &state.revs;
atd.ad_out_size = sizeof(state.revs);
- if (ioctl(s, SIOCGATHDIAG, &atd) < 0)
+
+ if (ath_driver_req_fetch_diag(&req, SIOCGATHDIAG, &atd) < 0)
err(1, "%s", atd.ad_name);
if (ath_hal_setupregs(&atd, what) == 0)
@@ -172,7 +185,8 @@ main(int argc, char *argv[])
exit(-1);
}
atd.ad_id = HAL_DIAG_REGS | ATH_DIAG_IN | ATH_DIAG_DYN;
- if (ioctl(s, SIOCGATHDIAG, &atd) < 0)
+
+ if (ath_driver_req_fetch_diag(&req, SIOCGATHDIAG, &atd) < 0)
err(1, "%s", atd.ad_name);
/*
@@ -238,6 +252,7 @@ main(int argc, char *argv[])
fprintf(stdout, "\n");
ath_hal_dumpbb(stdout, what);
}
+ ath_driver_req_close(&req);
return 0;
}
More information about the svn-src-all
mailing list