static __inline int match(const struct dumpreg *dr, const HAL_REVS *revs) { if (!MAC_MATCH(dr, revs->ah_macVersion, revs->ah_macRev)) return 0; if ((dr->type & DUMP_BASEBAND) && !PHY_MATCH(dr, revs->ah_phyRev)) return 0; return 1; }
static const struct dumpreg * findreg(int reg) { const HAL_REVS *revs = &state.revs; int i; for (i = 0; i < state.nregs; i++) { const struct dumpreg *dr = state.regs[i]; if (dr->addr == reg && MAC_MATCH(dr, revs->ah_macVersion, revs->ah_macRev)) return dr; } return NULL; }
static const struct dumpreg * reglookup(const char *v) { const HAL_REVS *revs = &state.revs; int i; if (strncasecmp(v, "AR_", 3) == 0) v += 3; for (i = 0; i < state.nregs; i++) { const struct dumpreg *dr = state.regs[i]; if (MAC_MATCH(dr, revs->ah_macVersion, revs->ah_macRev) && strcasecmp(v, dr->name) == 0) return dr; } return NULL; }