1 /*
2  * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting
3  * Copyright (c) 2002-2008 Atheros Communications, Inc.
4  *
5  * Permission to use, copy, modify, and/or distribute this software for any
6  * purpose with or without fee is hereby granted, provided that the above
7  * copyright notice and this permission notice appear in all copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16  *
17  * $FreeBSD: head/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c 235972 2012-05-25 05:01:27Z adrian $
18  */
19 #include "opt_ah.h"
20 
21 #include "ah.h"
22 #include "ah_internal.h"
23 #include "ah_devid.h"
24 
25 #include "ar9300/ar9300.h"
26 #include "ar9300/ar9300reg.h"
27 #include "ar9300/ar9300phy.h"
28 
29 #include "ar9300/ar9300_stub.h"
30 #include "ar9300/ar9300_stub_funcs.h"
31 
32 uint32_t
33 ar9300_Stub_GetRadioRev(struct ath_hal *ah)
34 {
35 
36 	ath_hal_printf(ah, "%s: called\n", __func__);
37 	return (0);
38 }
39 
40 #if 0
41 void
42 ar9300_Stub_InitState(struct ath_hal_5212 *, uint16_t devid, HAL_SOFTC,
43     HAL_BUS_TAG st, HAL_BUS_HANDLE sh, HAL_STATUS *status)
44 {
45 
46 	ath_hal_printf(ah, "%s: called\n", __func__);
47 	return;
48 
49 }
50 #endif
51 
52 void
53 ar9300_Stub_Detach(struct ath_hal *ah)
54 {
55 
56 	ath_hal_printf(ah, "%s: called\n", __func__);
57 	return;
58 }
59 
60 HAL_BOOL
61 ar9300_Stub_ChipTest(struct ath_hal *ah)
62 {
63 
64 	ath_hal_printf(ah, "%s: called\n", __func__);
65 	return (AH_FALSE);
66 }
67 
68 HAL_BOOL
69 ar9300_Stub_GetChannelEdges(struct ath_hal *ah, uint16_t flags,
70     uint16_t *low, uint16_t *high)
71 {
72 
73 	ath_hal_printf(ah, "%s: called\n", __func__);
74 	return (AH_FALSE);
75 }
76 
77 HAL_BOOL
78 ar9300_Stub_FillCapabilityInfo(struct ath_hal *ah)
79 {
80 
81 	ath_hal_printf(ah, "%s: called\n", __func__);
82 	return (AH_FALSE);
83 }
84 
85 void
86 ar9300_Stub_SetBeaconTimers(struct ath_hal *ah,
87     const HAL_BEACON_TIMERS * bs)
88 {
89 
90 	ath_hal_printf(ah, "%s: called\n", __func__);
91 }
92 
93 void
94 ar9300_Stub_BeaconInit(struct ath_hal *ah, uint32_t next_beacon,
95     uint32_t beacon_period)
96 {
97 
98 	ath_hal_printf(ah, "%s: called\n", __func__);
99 }
100 
101 void
102 ar9300_Stub_ResetStaBeaconTimers(struct ath_hal *ah)
103 {
104 
105 	ath_hal_printf(ah, "%s: called\n", __func__);
106 }
107 
108 void
109 ar9300_Stub_SetStaBeaconTimers(struct ath_hal *ah, const HAL_BEACON_STATE *bs)
110 {
111 
112 	ath_hal_printf(ah, "%s: called\n", __func__);
113 }
114 
115 uint64_t
116 ar9300_Stub_GetNextTBTT(struct ath_hal *ah)
117 {
118 
119 	ath_hal_printf(ah, "%s: called\n", __func__);
120 	return (0);
121 }
122 
123 HAL_BOOL
124 ar9300_Stub_IsInterruptPending(struct ath_hal *ah)
125 {
126 
127 	ath_hal_printf(ah, "%s: called\n", __func__);
128 	return (AH_FALSE);
129 }
130 
131 HAL_BOOL
132 ar9300_Stub_GetPendingInterrupts(struct ath_hal *ah, HAL_INT *mask)
133 {
134 
135 	ath_hal_printf(ah, "%s: called\n", __func__);
136 	return (AH_FALSE);
137 }
138 
139 HAL_INT
140 ar9300_Stub_GetInterrupts(struct ath_hal *ah)
141 {
142 
143 	ath_hal_printf(ah, "%s: called\n", __func__);
144 	return (0);
145 }
146 
147 HAL_INT
148 ar9300_Stub_SetInterrupts(struct ath_hal *ah, HAL_INT ints)
149 {
150 
151 	ath_hal_printf(ah, "%s: called\n", __func__);
152 	return (0);
153 }
154 
155 
156 uint32_t
157 ar9300_Stub_GetKeyCacheSize(struct ath_hal *ah)
158 {
159 
160 	ath_hal_printf(ah, "%s: called\n", __func__);
161 	return (0);
162 }
163 
164 HAL_BOOL
165 ar9300_Stub_IsKeyCacheEntryValid(struct ath_hal *ah, uint16_t entry)
166 {
167 
168 	ath_hal_printf(ah, "%s: called\n", __func__);
169 	return (AH_FALSE);
170 }
171 
172 HAL_BOOL
173 ar9300_Stub_ResetKeyCacheEntry(struct ath_hal *ah, uint16_t entry)
174 {
175 
176 	ath_hal_printf(ah, "%s: called\n", __func__);
177 	return (AH_FALSE);
178 }
179 
180 HAL_BOOL
181 ar9300_Stub_SetKeyCacheEntryMac(struct ath_hal *ah, uint16_t entry,
182     const uint8_t *mac)
183 {
184 
185 	ath_hal_printf(ah, "%s: called\n", __func__);
186 	return (AH_FALSE);
187 }
188 
189 HAL_BOOL
190 ar9300_Stub_SetKeyCacheEntry(struct ath_hal *ah, uint16_t entry,
191     const HAL_KEYVAL *k, const uint8_t *mac, int xorKey)
192 {
193 
194 	ath_hal_printf(ah, "%s: called\n", __func__);
195 	return (AH_FALSE);
196 }
197 
198 void
199 ar9300_Stub_GetMacAddress(struct ath_hal *ah, uint8_t *mac)
200 {
201 
202 	ath_hal_printf(ah, "%s: called\n", __func__);
203 }
204 
205 HAL_BOOL
206 ar9300_Stub_SetMacAddress(struct ath_hal *ah, const uint8_t *mac)
207 {
208 
209 	ath_hal_printf(ah, "%s: called\n", __func__);
210 	return (AH_FALSE);
211 }
212 
213 void
214 ar9300_Stub_GetBssIdMask(struct ath_hal *ah, uint8_t *mac)
215 {
216 
217 	ath_hal_printf(ah, "%s: called\n", __func__);
218 }
219 
220 HAL_BOOL
221 ar9300_Stub_SetBssIdMask(struct ath_hal *ah, const uint8_t *bssid)
222 {
223 
224 	ath_hal_printf(ah, "%s: called\n", __func__);
225 	return (AH_FALSE);
226 }
227 
228 HAL_BOOL
229 ar9300_Stub_EepromRead(struct ath_hal *ah, u_int off, uint16_t *data)
230 {
231 
232 	ath_hal_printf(ah, "%s: called\n", __func__);
233 	return (AH_FALSE);
234 }
235 
236 HAL_BOOL
237 ar9300_Stub_EepromWrite(struct ath_hal *ah, u_int off, uint16_t data)
238 {
239 
240 	ath_hal_printf(ah, "%s: called\n", __func__);
241 	return (AH_FALSE);
242 }
243 
244 HAL_BOOL
245 ar9300_Stub_SetRegulatoryDomain(struct ath_hal *ah,
246 		uint16_t regDomain, HAL_STATUS *stats)
247 {
248 
249 	ath_hal_printf(ah, "%s: called\n", __func__);
250 	return (AH_FALSE);
251 }
252 
253 u_int
254 ar9300_Stub_GetWirelessModes(struct ath_hal *ah)
255 {
256 
257 	ath_hal_printf(ah, "%s: called\n", __func__);
258 	/* XXX map these */
259 	return (0);
260 }
261 
262 void
263 ar9300_Stub_EnableRfKill(struct ath_hal *ah)
264 {
265 
266 	ath_hal_printf(ah, "%s: called\n", __func__);
267 }
268 
269 HAL_BOOL
270 ar9300_Stub_GpioCfgOutput(struct ath_hal *ah, uint32_t gpio,
271 		HAL_GPIO_MUX_TYPE mux)
272 {
273 
274 	ath_hal_printf(ah, "%s: called\n", __func__);
275 	return (AH_FALSE);
276 }
277 
278 HAL_BOOL
279 ar9300_Stub_GpioCfgInput(struct ath_hal *ah, uint32_t gpio)
280 {
281 
282 	ath_hal_printf(ah, "%s: called\n", __func__);
283 	return (AH_FALSE);
284 }
285 
286 HAL_BOOL
287 ar9300_Stub_GpioSet(struct ath_hal *ah, uint32_t gpio, uint32_t val)
288 {
289 
290 	ath_hal_printf(ah, "%s: called\n", __func__);
291 	return (AH_FALSE);
292 }
293 
294 uint32_t
295 ar9300_Stub_GpioGet(struct ath_hal *ah, uint32_t gpio)
296 {
297 
298 	ath_hal_printf(ah, "%s: called\n", __func__);
299 	return (0);
300 }
301 
302 void
303 ar9300_Stub_GpioSetIntr(struct ath_hal *ah, u_int gpioPin, uint32_t ilevel)
304 {
305 
306 	ath_hal_printf(ah, "%s: called\n", __func__);
307 }
308 
309 void
310 ar9300_Stub_SetLedState(struct ath_hal *ah, HAL_LED_STATE state)
311 {
312 
313 	ath_hal_printf(ah, "%s: called\n", __func__);
314 }
315 
316 void
317 ar9300_Stub_WriteAssocid(struct ath_hal *ah, const uint8_t *bssid,
318 		uint16_t assocId)
319 {
320 
321 	ath_hal_printf(ah, "%s: called\n", __func__);
322 }
323 
324 uint32_t
325 ar9300_Stub_GetTsf32(struct ath_hal *ah)
326 {
327 
328 	ath_hal_printf(ah, "%s: called\n", __func__);
329 	return (0);
330 }
331 
332 uint64_t
333 ar9300_Stub_GetTsf64(struct ath_hal *ah)
334 {
335 
336 	ath_hal_printf(ah, "%s: called\n", __func__);
337 	return (0);
338 }
339 
340 void
341 ar9300_Stub_SetTsf64(struct ath_hal *ah, uint64_t tsf64)
342 {
343 
344 	ath_hal_printf(ah, "%s: called\n", __func__);
345 }
346 
347 void
348 ar9300_Stub_ResetTsf(struct ath_hal *ah)
349 {
350 
351 	ath_hal_printf(ah, "%s: called\n", __func__);
352 }
353 
354 void
355 ar9300_Stub_SetBasicRate(struct ath_hal *ah, HAL_RATE_SET *pSet)
356 {
357 
358 	ath_hal_printf(ah, "%s: called\n", __func__);
359 }
360 
361 uint32_t
362 ar9300_Stub_GetRandomSeed(struct ath_hal *ah)
363 {
364 
365 	ath_hal_printf(ah, "%s: called\n", __func__);
366 	return (0);
367 }
368 
369 HAL_BOOL
370 ar9300_Stub_DetectCardPresent(struct ath_hal *ah)
371 {
372 
373 	ath_hal_printf(ah, "%s: called\n", __func__);
374 	return (AH_TRUE);
375 }
376 
377 void
378 ar9300_Stub_EnableMibCounters(struct ath_hal *ah)
379 {
380 
381 	ath_hal_printf(ah, "%s: called\n", __func__);
382 }
383 
384 void
385 ar9300_Stub_DisableMibCounters(struct ath_hal *ah)
386 {
387 
388 	ath_hal_printf(ah, "%s: called\n", __func__);
389 }
390 
391 void
392 ar9300_Stub_UpdateMibCounters(struct ath_hal *ah, HAL_MIB_STATS* stats)
393 {
394 
395 	ath_hal_printf(ah, "%s: called\n", __func__);
396 }
397 
398 HAL_BOOL
399 ar9300_Stub_IsJapanChannelSpreadSupported(struct ath_hal *ah)
400 {
401 
402 	ath_hal_printf(ah, "%s: called\n", __func__);
403 	return (AH_FALSE);
404 }
405 
406 uint32_t
407 ar9300_Stub_GetCurRssi(struct ath_hal *ah)
408 {
409 
410 	ath_hal_printf(ah, "%s: called\n", __func__);
411 	return (0);
412 }
413 
414 u_int
415 ar9300_Stub_GetDefAntenna(struct ath_hal *ah)
416 {
417 
418 	ath_hal_printf(ah, "%s: called\n", __func__);
419 	return (0);
420 }
421 
422 void
423 ar9300_Stub_SetDefAntenna(struct ath_hal *ah, u_int antenna)
424 {
425 
426 	ath_hal_printf(ah, "%s: called\n", __func__);
427 }
428 
429 HAL_ANT_SETTING
430 ar9300_Stub_GetAntennaSwitch(struct ath_hal *ah)
431 {
432 
433 	ath_hal_printf(ah, "%s: called\n", __func__);
434 	return (HAL_ANT_VARIABLE);
435 }
436 
437 HAL_BOOL
438 ar9300_Stub_SetAntennaSwitch(struct ath_hal *ah, HAL_ANT_SETTING setting)
439 {
440 
441 	ath_hal_printf(ah, "%s: called\n", __func__);
442 	return (AH_FALSE);
443 }
444 
445 HAL_BOOL
446 ar9300_Stub_IsSleepAfterBeaconBroken(struct ath_hal *ah)
447 {
448 
449 	ath_hal_printf(ah, "%s: called\n", __func__);
450 	return (AH_FALSE);
451 }
452 
453 HAL_BOOL
454 ar9300_Stub_SetSifsTime(struct ath_hal *ah, u_int sifs)
455 {
456 
457 	ath_hal_printf(ah, "%s: called\n", __func__);
458 	return (AH_FALSE);
459 }
460 
461 u_int
462 ar9300_Stub_GetSifsTime(struct ath_hal *ah)
463 {
464 
465 	ath_hal_printf(ah, "%s: called\n", __func__);
466 	return (0);
467 }
468 
469 HAL_BOOL
470 ar9300_Stub_SetSlotTime(struct ath_hal *ah, u_int slottime)
471 {
472 
473 	ath_hal_printf(ah, "%s: called\n", __func__);
474 	return (AH_FALSE);
475 }
476 
477 u_int
478 ar9300_Stub_GetSlotTime(struct ath_hal *ah)
479 {
480 
481 	ath_hal_printf(ah, "%s: called\n", __func__);
482 	return (0);
483 }
484 
485 HAL_BOOL
486 ar9300_Stub_SetAckTimeout(struct ath_hal *ah, u_int acktimeout)
487 {
488 
489 	ath_hal_printf(ah, "%s: called\n", __func__);
490 	return (AH_FALSE);
491 }
492 
493 u_int
494 ar9300_Stub_GetAckTimeout(struct ath_hal *ah)
495 {
496 
497 	ath_hal_printf(ah, "%s: called\n", __func__);
498 	return (0);
499 }
500 
501 HAL_BOOL
502 ar9300_Stub_SetAckCTSRate(struct ath_hal *ah, u_int ctsrate)
503 {
504 
505 	ath_hal_printf(ah, "%s: called\n", __func__);
506 	return (AH_FALSE);
507 }
508 
509 u_int
510 ar9300_Stub_GetAckCTSRate(struct ath_hal *ah)
511 {
512 
513 	ath_hal_printf(ah, "%s: called\n", __func__);
514 	return (0);
515 }
516 
517 HAL_BOOL
518 ar9300_Stub_SetCTSTimeout(struct ath_hal *ah, u_int ctstimeout)
519 {
520 
521 	ath_hal_printf(ah, "%s: called\n", __func__);
522 	return (AH_FALSE);
523 }
524 
525 u_int
526 ar9300_Stub_GetCTSTimeout(struct ath_hal *ah)
527 {
528 
529 	ath_hal_printf(ah, "%s: called\n", __func__);
530 	return (0);
531 }
532 
533 HAL_BOOL
534 ar9300_Stub_SetDecompMask(struct ath_hal *ah, uint16_t a, int b)
535 {
536 
537 	ath_hal_printf(ah, "%s: called\n", __func__);
538 	return (AH_FALSE);
539 }
540 
541 void
542 ar9300_Stub_SetCoverageClass(struct ath_hal *ah, uint8_t a, int b)
543 {
544 
545 	ath_hal_printf(ah, "%s: called\n", __func__);
546 }
547 
548 void
549 ar9300_Stub_SetPCUConfig(struct ath_hal *ah)
550 {
551 
552 	ath_hal_printf(ah, "%s: called\n", __func__);
553 }
554 
555 HAL_BOOL
556 ar9300_Stub_Use32KHzclock(struct ath_hal *ah, HAL_OPMODE opmode)
557 {
558 
559 	ath_hal_printf(ah, "%s: called\n", __func__);
560 	return (AH_FALSE);
561 }
562 
563 void
564 ar9300_Stub_SetupClock(struct ath_hal *ah, HAL_OPMODE opmode)
565 {
566 
567 	ath_hal_printf(ah, "%s: called\n", __func__);
568 }
569 
570 void
571 ar9300_Stub_RestoreClock(struct ath_hal *ah, HAL_OPMODE opmode)
572 {
573 
574 	ath_hal_printf(ah, "%s: called\n", __func__);
575 }
576 
577 int16_t
578 ar9300_Stub_GetNfAdjust(struct ath_hal *ah, const HAL_CHANNEL_INTERNAL *ichan)
579 {
580 
581 	ath_hal_printf(ah, "%s: called\n", __func__);
582 	return (0);
583 }
584 
585 void
586 ar9300_Stub_SetCompRegs(struct ath_hal *ah)
587 {
588 
589 	ath_hal_printf(ah, "%s: called\n", __func__);
590 }
591 
592 HAL_STATUS
593 ar9300_Stub_GetCapability(struct ath_hal *ah, HAL_CAPABILITY_TYPE ctype,
594 		uint32_t which, uint32_t *val)
595 {
596 
597 	ath_hal_printf(ah, "%s: called\n", __func__);
598 	return (HAL_EIO);
599 }
600 
601 HAL_BOOL
602 ar9300_Stub_SetCapability(struct ath_hal *ah , HAL_CAPABILITY_TYPE ctype,
603 		uint32_t which, uint32_t val, HAL_STATUS *status)
604 {
605 
606 	ath_hal_printf(ah, "%s: called\n", __func__);
607 	return (AH_FALSE);
608 }
609 
610 HAL_BOOL
611 ar9300_Stub_GetDiagState(struct ath_hal *ah, int request,
612 		const void *args, uint32_t argsize,
613 		void **result, uint32_t *resultsize)
614 {
615 
616 	ath_hal_printf(ah, "%s: called\n", __func__);
617 	return (AH_FALSE);
618 }
619 
620 HAL_STATUS
621 ar9300_Stub_SetQuiet(struct ath_hal *ah, uint32_t period,
622 		uint32_t duration, uint32_t nextStart, HAL_QUIET_FLAG flag)
623 {
624 
625 	ath_hal_printf(ah, "%s: called\n", __func__);
626 	return (HAL_EIO);
627 }
628 
629 HAL_BOOL
630 ar9300_Stub_GetMibCycleCounts(struct ath_hal *ah,
631 		HAL_SURVEY_SAMPLE *hs)
632 {
633 
634 	ath_hal_printf(ah, "%s: called\n", __func__);
635 	return (AH_FALSE);
636 }
637 
638 HAL_BOOL
639 ar9300_Stub_SetPowerMode(struct ath_hal *ah, HAL_POWER_MODE mode,
640 		int setChip)
641 {
642 
643 	ath_hal_printf(ah, "%s: called\n", __func__);
644 	return (AH_FALSE);
645 }
646 
647 HAL_POWER_MODE
648 ar9300_Stub_GetPowerMode(struct ath_hal *ah)
649 {
650 
651 	ath_hal_printf(ah, "%s: called\n", __func__);
652 	return (HAL_PM_AWAKE);
653 }
654 
655 HAL_BOOL
656 ar9300_Stub_GetPowerStatus(struct ath_hal *ah)
657 {
658 
659 	ath_hal_printf(ah, "%s: called\n", __func__);
660 	return (AH_FALSE);
661 }
662 
663 uint32_t
664 ar9300_Stub_GetRxDP(struct ath_hal *ah, HAL_RX_QUEUE qtype)
665 {
666 
667 	ath_hal_printf(ah, "%s: called\n", __func__);
668 	return (0);
669 }
670 
671 void
672 ar9300_Stub_SetRxDP(struct ath_hal *ah, uint32_t rxdp, HAL_RX_QUEUE qtype)
673 {
674 
675 	ath_hal_printf(ah, "%s: called\n", __func__);
676 }
677 
678 void
679 ar9300_Stub_EnableReceive(struct ath_hal *ah)
680 {
681 
682 	ath_hal_printf(ah, "%s: called\n", __func__);
683 }
684 
685 HAL_BOOL
686 ar9300_Stub_StopDmaReceive(struct ath_hal *ah)
687 {
688 
689 	ath_hal_printf(ah, "%s: called\n", __func__);
690 	return (AH_FALSE);
691 }
692 
693 void
694 ar9300_Stub_StartPcuReceive(struct ath_hal *ah)
695 {
696 
697 	ath_hal_printf(ah, "%s: called\n", __func__);
698 }
699 
700 void
701 ar9300_Stub_StopPcuReceive(struct ath_hal *ah)
702 {
703 
704 	ath_hal_printf(ah, "%s: called\n", __func__);
705 }
706 
707 void
708 ar9300_Stub_SetMulticastFilter(struct ath_hal *ah, uint32_t filter0,
709     uint32_t filter1)
710 {
711 
712 	ath_hal_printf(ah, "%s: called\n", __func__);
713 }
714 
715 HAL_BOOL
716 ar9300_Stub_ClrMulticastFilterIndex(struct ath_hal *ah, uint32_t ix)
717 {
718 
719 	ath_hal_printf(ah, "%s: called\n", __func__);
720 	return (AH_FALSE);
721 }
722 
723 HAL_BOOL
724 ar9300_Stub_SetMulticastFilterIndex(struct ath_hal *ah, uint32_t ix)
725 {
726 
727 	ath_hal_printf(ah, "%s: called\n", __func__);
728 	return (AH_FALSE);
729 }
730 
731 uint32_t
732 ar9300_Stub_GetRxFilter(struct ath_hal *ah)
733 {
734 
735 	ath_hal_printf(ah, "%s: called\n", __func__);
736 	return (AH_FALSE);
737 }
738 
739 void
740 ar9300_Stub_SetRxFilter(struct ath_hal *ah, uint32_t bits)
741 {
742 
743 	ath_hal_printf(ah, "%s: called\n", __func__);
744 }
745 
746 HAL_BOOL
747 ar9300_Stub_SetupRxDesc(struct ath_hal *ah,
748 		struct ath_desc *rxdesc, uint32_t size, u_int flags)
749 {
750 
751 	ath_hal_printf(ah, "%s: called\n", __func__);
752 	return (AH_FALSE);
753 }
754 
755 HAL_STATUS
756 ar9300_Stub_ProcRxDesc(struct ath_hal *ah, struct ath_desc *desc0,
757 		uint32_t a, struct ath_desc *desc, uint64_t tsf,
758 		struct ath_rx_status *rxstat)
759 {
760 
761 	ath_hal_printf(ah, "%s: called\n", __func__);
762 	return (HAL_EIO);
763 }
764 
765 HAL_BOOL
766 ar9300_Stub_Reset(struct ath_hal *ah, HAL_OPMODE opmode,
767 		struct ieee80211_channel *chan, HAL_BOOL bChannelChange,
768 		HAL_RESET_TYPE resetType,
769 		HAL_STATUS *status)
770 {
771 
772 	ath_hal_printf(ah, "%s: called\n", __func__);
773 	return (AH_FALSE);
774 }
775 
776 HAL_BOOL
777 ar9300_Stub_SetChannel(struct ath_hal *ah,
778 		const struct ieee80211_channel *chan)
779 {
780 
781 	ath_hal_printf(ah, "%s: called\n", __func__);
782 	return (AH_FALSE);
783 }
784 
785 void
786 ar9300_Stub_SetOperatingMode(struct ath_hal *ah, int opmode)
787 {
788 
789 	ath_hal_printf(ah, "%s: called\n", __func__);
790 }
791 
792 HAL_BOOL
793 ar9300_Stub_PhyDisable(struct ath_hal *ah)
794 {
795 
796 	ath_hal_printf(ah, "%s: called\n", __func__);
797 	return (AH_FALSE);
798 }
799 
800 HAL_BOOL
801 ar9300_Stub_Disable(struct ath_hal *ah)
802 {
803 
804 	ath_hal_printf(ah, "%s: called\n", __func__);
805 	return (AH_FALSE);
806 }
807 
808 HAL_BOOL
809 ar9300_Stub_ChipReset(struct ath_hal *ah,
810 		const struct ieee80211_channel *chan)
811 {
812 
813 	ath_hal_printf(ah, "%s: called\n", __func__);
814 	return (AH_FALSE);
815 }
816 
817 HAL_BOOL
818 ar9300_Stub_PerCalibration(struct ath_hal *ah,
819 		struct ieee80211_channel *chan, HAL_BOOL *isIQdone)
820 {
821 
822 	ath_hal_printf(ah, "%s: called\n", __func__);
823 	return (AH_FALSE);
824 }
825 
826 HAL_BOOL
827 ar9300_Stub_PerCalibrationN(struct ath_hal *ah,
828 		struct ieee80211_channel *chan, u_int chainMask,
829 		HAL_BOOL longCal, HAL_BOOL *isCalDone)
830 {
831 
832 	ath_hal_printf(ah, "%s: called\n", __func__);
833 	return (AH_FALSE);
834 }
835 
836 HAL_BOOL
837 ar9300_Stub_ResetCalValid(struct ath_hal *ah,
838 		const struct ieee80211_channel *chan)
839 {
840 
841 	ath_hal_printf(ah, "%s: called\n", __func__);
842 	return (AH_FALSE);
843 }
844 
845 int16_t
846 ar9300_Stub_GetNoiseFloor(struct ath_hal *ah)
847 {
848 
849 	/* XXX */
850 	ath_hal_printf(ah, "%s: called\n", __func__);
851 	return (-91);
852 }
853 
854 void
855 ar9300_Stub_InitNfCalHistBuffer(struct ath_hal *ah)
856 {
857 
858 	ath_hal_printf(ah, "%s: called\n", __func__);
859 }
860 
861 int16_t
862 ar9300_Stub_GetNfHistMid(const int16_t calData[])
863 {
864 
865 	printf("%s: called\n", __func__);
866 	return (0);
867 }
868 
869 void
870 ar9300_Stub_SetSpurMitigation(struct ath_hal *ah,
871     const struct ieee80211_channel *chan)
872 {
873 
874 	ath_hal_printf(ah, "%s: called\n", __func__);
875 }
876 
877 HAL_BOOL
878 ar9300_Stub_SetAntennaSwitchInternal(struct ath_hal *ah,
879     HAL_ANT_SETTING settings, const struct ieee80211_channel *chan)
880 {
881 
882 	ath_hal_printf(ah, "%s: called\n", __func__);
883 	return (AH_FALSE);
884 }
885 
886 HAL_BOOL
887 ar9300_Stub_SetTxPowerLimit(struct ath_hal *ah, uint32_t limit)
888 {
889 
890 	ath_hal_printf(ah, "%s: called\n", __func__);
891 	return (AH_FALSE);
892 }
893 
894 HAL_BOOL
895 ar9300_Stub_GetChipPowerLimits(struct ath_hal *ah,
896 		struct ieee80211_channel *chan)
897 {
898 
899 	ath_hal_printf(ah, "%s: called\n", __func__);
900 	return (AH_FALSE);
901 }
902 
903 void
904 ar9300_Stub_InitializeGainValues(struct ath_hal *ah)
905 {
906 
907 	ath_hal_printf(ah, "%s: called\n", __func__);
908 }
909 
910 HAL_RFGAIN
911 ar9300_Stub_GetRfgain(struct ath_hal *ah)
912 {
913 
914 	ath_hal_printf(ah, "%s: called\n", __func__);
915 	return (0);
916 }
917 
918 void
919 ar9300_Stub_RequestRfgain(struct ath_hal *ah)
920 {
921 
922 	ath_hal_printf(ah, "%s: called\n", __func__);
923 }
924 
925 HAL_BOOL
926 ar9300_Stub_UpdateTxTrigLevel(struct ath_hal *ah,
927 		HAL_BOOL IncTrigLevel)
928 {
929 
930 	ath_hal_printf(ah, "%s: called\n", __func__);
931 	return (AH_FALSE);
932 }
933 
934 HAL_BOOL
935 ar9300_Stub_SetTxQueueProps(struct ath_hal *ah, int q,
936 		const HAL_TXQ_INFO *qInfo)
937 {
938 
939 	ath_hal_printf(ah, "%s: called\n", __func__);
940 	return (AH_FALSE);
941 }
942 
943 HAL_BOOL
944 ar9300_Stub_GetTxQueueProps(struct ath_hal *ah, int q,
945 		HAL_TXQ_INFO *qInfo)
946 {
947 
948 	ath_hal_printf(ah, "%s: called\n", __func__);
949 	return (AH_FALSE);
950 }
951 
952 int
953 ar9300_Stub_SetupTxQueue(struct ath_hal *ah, HAL_TX_QUEUE type,
954 		const HAL_TXQ_INFO *qInfo)
955 {
956 
957 	ath_hal_printf(ah, "%s: called\n", __func__);
958 	return (0);
959 }
960 
961 HAL_BOOL
962 ar9300_Stub_ReleaseTxQueue(struct ath_hal *ah, u_int q)
963 {
964 
965 	ath_hal_printf(ah, "%s: called\n", __func__);
966 	return (AH_FALSE);
967 }
968 
969 HAL_BOOL
970 ar9300_Stub_ResetTxQueue(struct ath_hal *ah, u_int q)
971 {
972 
973 	ath_hal_printf(ah, "%s: called\n", __func__);
974 	return (AH_FALSE);
975 }
976 
977 uint32_t
978 ar9300_Stub_GetTxDP(struct ath_hal *ah, u_int q)
979 {
980 
981 	ath_hal_printf(ah, "%s: called\n", __func__);
982 	return (0);
983 }
984 
985 HAL_BOOL
986 ar9300_Stub_SetTxDP(struct ath_hal *ah, u_int q, uint32_t txdp)
987 {
988 
989 	ath_hal_printf(ah, "%s: called\n", __func__);
990 	return (AH_FALSE);
991 }
992 
993 HAL_BOOL
994 ar9300_Stub_StartTxDma(struct ath_hal *ah, u_int q)
995 {
996 
997 	ath_hal_printf(ah, "%s: called\n", __func__);
998 	return (AH_FALSE);
999 }
1000 
1001 uint32_t
1002 ar9300_Stub_NumTxPending(struct ath_hal *ah, u_int q)
1003 {
1004 
1005 	ath_hal_printf(ah, "%s: called\n", __func__);
1006 	return (0);
1007 }
1008 
1009 HAL_BOOL
1010 ar9300_Stub_StopTxDma(struct ath_hal *ah, u_int q)
1011 {
1012 
1013 	ath_hal_printf(ah, "%s: called\n", __func__);
1014 	return (AH_FALSE);
1015 }
1016 
1017 HAL_BOOL
1018 ar9300_Stub_SetupTxDesc(struct ath_hal *ah, struct ath_desc *ds,
1019 		u_int pktLen, u_int hdrLen, HAL_PKT_TYPE type, u_int txPower,
1020 		u_int txRate0, u_int txTries0,
1021 		u_int keyIx, u_int antMode, u_int flags,
1022 		u_int rtsctsRate, u_int rtsctsDuration,
1023 		u_int compicvLen, u_int compivLen, u_int comp)
1024 {
1025 
1026 	ath_hal_printf(ah, "%s: called\n", __func__);
1027 	return (AH_FALSE);
1028 }
1029 
1030 HAL_BOOL
1031 ar9300_Stub_SetupXTxDesc(struct ath_hal *ah, struct ath_desc *desc,
1032 		u_int txRate1, u_int txRetries1,
1033 		u_int txRate2, u_int txRetries2,
1034 		u_int txRate3, u_int txRetries3)
1035 {
1036 
1037 	ath_hal_printf(ah, "%s: called\n", __func__);
1038 	return (AH_FALSE);
1039 }
1040 
1041 HAL_BOOL
1042 ar9300_Stub_FillTxDesc(struct ath_hal *ah, struct ath_desc *ds,
1043 		HAL_DMA_ADDR *bufAddrList, uint32_t *segLenList,
1044 		u_int descId, u_int qcuId,
1045 		HAL_BOOL firstSeg, HAL_BOOL lastSeg,
1046 		const struct ath_desc *ds0)
1047 {
1048 
1049 	ath_hal_printf(ah, "%s: called\n", __func__);
1050 	return (AH_FALSE);
1051 }
1052 
1053 HAL_STATUS
1054 ar9300_Stub_ProcTxDesc(struct ath_hal *ah,
1055 		struct ath_desc *ds, struct ath_tx_status *txstat)
1056 {
1057 
1058 	ath_hal_printf(ah, "%s: called\n", __func__);
1059 	return (HAL_EINPROGRESS);
1060 }
1061 
1062 void
1063 ar9300_Stub_GetTxIntrQueue(struct ath_hal *ah, uint32_t *val)
1064 {
1065 
1066 	ath_hal_printf(ah, "%s: called\n", __func__);
1067 }
1068 
1069 void
1070 ar9300_Stub_IntrReqTxDesc(struct ath_hal *ah, struct ath_desc *desc)
1071 {
1072 
1073 	ath_hal_printf(ah, "%s: called\n", __func__);
1074 }
1075 
1076 HAL_BOOL
1077 ar9300_Stub_GetTxCompletionRates(struct ath_hal *ah,
1078 		const struct ath_desc *ds0, int *rates, int *tries)
1079 {
1080 
1081 	ath_hal_printf(ah, "%s: called\n", __func__);
1082 	return (AH_FALSE);
1083 }
1084 
1085 const HAL_RATE_TABLE *
1086 ar9300_Stub_GetRateTable(struct ath_hal *ah, u_int mode)
1087 {
1088 
1089 	ath_hal_printf(ah, "%s: called\n", __func__);
1090 	/* XXX null may panic the kernel? */
1091 	return (AH_NULL);
1092 }
1093 
1094 #if 0
1095 void
1096 ar9300_Stub_AniAttach(struct ath_hal *ah, const struct ar5212AniParams *,
1097     const struct ar5212AniParams *, HAL_BOOL ena)
1098 {
1099 
1100 	ath_hal_printf(ah, "%s: called\n", __func__);
1101 }
1102 
1103 void
1104 ar9300_Stub_AniDetach(struct ath_hal *)
1105 {
1106 
1107 	ath_hal_printf(ah, "%s: called\n", __func__);
1108 }
1109 #endif
1110 
1111 #if 0
1112 struct ar5212AniState *
1113 ar9300_Stub_AniGetCurrentState(struct ath_hal *ah)
1114 {
1115 
1116 	ath_hal_printf(ah, "%s: called\n", __func__);
1117 	return (AH_NULL);
1118 }
1119 
1120 struct ar5212Stats
1121 *ar5212AniGetCurrentStats(struct ath_hal *)
1122 {
1123 
1124 	ath_hal_printf(ah, "%s: called\n", __func__);
1125 	return (AH_NULL);
1126 }
1127 #endif
1128 
1129 HAL_BOOL
1130 ar9300_Stub_AniControl(struct ath_hal *ah, HAL_ANI_CMD cmd, int param)
1131 {
1132 
1133 	ath_hal_printf(ah, "%s: called\n", __func__);
1134 	return (AH_FALSE);
1135 }
1136 
1137 #if 0
1138 HAL_BOOL
1139 ar9300_Stub_AniSetParams(struct ath_hal *, const struct ar5212AniParams *,
1140     const struct ar5212AniParams *)
1141 {
1142 
1143 	ath_hal_printf(ah, "%s: called\n", __func__);
1144 	return (AH_FALSE);
1145 }
1146 #endif
1147 
1148 struct ath_rx_status;
1149 
1150 void
1151 ar9300_Stub_AniPhyErrReport(struct ath_hal *ah,
1152 		const struct ath_rx_status *rs)
1153 {
1154 
1155 	ath_hal_printf(ah, "%s: called\n", __func__);
1156 	return;
1157 }
1158 
1159 void
1160 ar9300_Stub_ProcessMibIntr(struct ath_hal *ah, const HAL_NODE_STATS *stats)
1161 {
1162 
1163 	ath_hal_printf(ah, "%s: called\n", __func__);
1164 }
1165 
1166 void
1167 ar9300_Stub_RxMonitor(struct ath_hal *ah, const HAL_NODE_STATS *stats,
1168     const struct ieee80211_channel *chan)
1169 {
1170 
1171 	ath_hal_printf(ah, "%s: called\n", __func__);
1172 }
1173 
1174 void
1175 ar9300_Stub_AniPoll(struct ath_hal *ah, const struct ieee80211_channel * chan)
1176 {
1177 
1178 	ath_hal_printf(ah, "%s: called\n", __func__);
1179 }
1180 
1181 void
1182 ar9300_Stub_AniReset(struct ath_hal *ah, const struct ieee80211_channel * chan,
1183 		HAL_OPMODE ani_opmode, int val)
1184 {
1185 
1186 	ath_hal_printf(ah, "%s: called\n", __func__);
1187 }
1188 
1189 HAL_BOOL
1190 ar9300_Stub_IsNFCalInProgress(struct ath_hal *ah)
1191 {
1192 
1193 	ath_hal_printf(ah, "%s: called\n", __func__);
1194 	return (AH_FALSE);
1195 }
1196 
1197 HAL_BOOL
1198 ar9300_Stub_WaitNFCalComplete(struct ath_hal *ah, int i)
1199 {
1200 
1201 	ath_hal_printf(ah, "%s: called\n", __func__);
1202 	return (AH_FALSE);
1203 }
1204 
1205 void
1206 ar9300_Stub_EnableDfs(struct ath_hal *ah, HAL_PHYERR_PARAM *pe)
1207 {
1208 
1209 	ath_hal_printf(ah, "%s: called\n", __func__);
1210 }
1211 
1212 void
1213 ar9300_Stub_GetDfsThresh(struct ath_hal *ah, HAL_PHYERR_PARAM *pe)
1214 {
1215 
1216 	ath_hal_printf(ah, "%s: called\n", __func__);
1217 }
1218 
1219 HAL_BOOL
1220 ar9300_Stub_ProcessRadarEvent(struct ath_hal *ah,
1221     struct ath_rx_status *rxs, uint64_t fulltsf, const char *buf,
1222     HAL_DFS_EVENT *event)
1223 {
1224 
1225 	ath_hal_printf(ah, "%s: called\n", __func__);
1226 	return (AH_FALSE);
1227 }
1228 
1229 HAL_BOOL
1230 ar9300_Stub_IsFastClockEnabled(struct ath_hal *ah)
1231 {
1232 
1233 	ath_hal_printf(ah, "%s: called\n", __func__);
1234 	return (AH_FALSE);
1235 }
1236 
1237 uint32_t
1238 ar9300_Stub_Get11nExtBusy(struct ath_hal *ah)
1239 {
1240 
1241 	ath_hal_printf(ah, "%s: called\n", __func__);
1242 	return (0);
1243 }
1244 
1245 void
1246 ar9300_Stub_ConfigPCIE(struct ath_hal *ah, HAL_BOOL restore, HAL_BOOL powerOff)
1247 {
1248 
1249 	ath_hal_printf(ah, "%s: called\n", __func__);
1250 }
1251 
1252 void
1253 ar9300_Stub_DisablePCIE(struct ath_hal *ah)
1254 {
1255 
1256 	ath_hal_printf(ah, "%s: called\n", __func__);
1257 }
1258