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 #if defined(__DragonFly__)
866 	kprintf("%s: called\n", __func__);
867 #else
868 	printf("%s: called\n", __func__);
869 #endif
870 	return (0);
871 }
872 
873 void
874 ar9300_Stub_SetSpurMitigation(struct ath_hal *ah,
875     const struct ieee80211_channel *chan)
876 {
877 
878 	ath_hal_printf(ah, "%s: called\n", __func__);
879 }
880 
881 HAL_BOOL
882 ar9300_Stub_SetAntennaSwitchInternal(struct ath_hal *ah,
883     HAL_ANT_SETTING settings, const struct ieee80211_channel *chan)
884 {
885 
886 	ath_hal_printf(ah, "%s: called\n", __func__);
887 	return (AH_FALSE);
888 }
889 
890 HAL_BOOL
891 ar9300_Stub_SetTxPowerLimit(struct ath_hal *ah, uint32_t limit)
892 {
893 
894 	ath_hal_printf(ah, "%s: called\n", __func__);
895 	return (AH_FALSE);
896 }
897 
898 HAL_BOOL
899 ar9300_Stub_GetChipPowerLimits(struct ath_hal *ah,
900 		struct ieee80211_channel *chan)
901 {
902 
903 	ath_hal_printf(ah, "%s: called\n", __func__);
904 	return (AH_FALSE);
905 }
906 
907 void
908 ar9300_Stub_InitializeGainValues(struct ath_hal *ah)
909 {
910 
911 	ath_hal_printf(ah, "%s: called\n", __func__);
912 }
913 
914 HAL_RFGAIN
915 ar9300_Stub_GetRfgain(struct ath_hal *ah)
916 {
917 
918 	ath_hal_printf(ah, "%s: called\n", __func__);
919 	return (0);
920 }
921 
922 void
923 ar9300_Stub_RequestRfgain(struct ath_hal *ah)
924 {
925 
926 	ath_hal_printf(ah, "%s: called\n", __func__);
927 }
928 
929 HAL_BOOL
930 ar9300_Stub_UpdateTxTrigLevel(struct ath_hal *ah,
931 		HAL_BOOL IncTrigLevel)
932 {
933 
934 	ath_hal_printf(ah, "%s: called\n", __func__);
935 	return (AH_FALSE);
936 }
937 
938 HAL_BOOL
939 ar9300_Stub_SetTxQueueProps(struct ath_hal *ah, int q,
940 		const HAL_TXQ_INFO *qInfo)
941 {
942 
943 	ath_hal_printf(ah, "%s: called\n", __func__);
944 	return (AH_FALSE);
945 }
946 
947 HAL_BOOL
948 ar9300_Stub_GetTxQueueProps(struct ath_hal *ah, int q,
949 		HAL_TXQ_INFO *qInfo)
950 {
951 
952 	ath_hal_printf(ah, "%s: called\n", __func__);
953 	return (AH_FALSE);
954 }
955 
956 int
957 ar9300_Stub_SetupTxQueue(struct ath_hal *ah, HAL_TX_QUEUE type,
958 		const HAL_TXQ_INFO *qInfo)
959 {
960 
961 	ath_hal_printf(ah, "%s: called\n", __func__);
962 	return (0);
963 }
964 
965 HAL_BOOL
966 ar9300_Stub_ReleaseTxQueue(struct ath_hal *ah, u_int q)
967 {
968 
969 	ath_hal_printf(ah, "%s: called\n", __func__);
970 	return (AH_FALSE);
971 }
972 
973 HAL_BOOL
974 ar9300_Stub_ResetTxQueue(struct ath_hal *ah, u_int q)
975 {
976 
977 	ath_hal_printf(ah, "%s: called\n", __func__);
978 	return (AH_FALSE);
979 }
980 
981 uint32_t
982 ar9300_Stub_GetTxDP(struct ath_hal *ah, u_int q)
983 {
984 
985 	ath_hal_printf(ah, "%s: called\n", __func__);
986 	return (0);
987 }
988 
989 HAL_BOOL
990 ar9300_Stub_SetTxDP(struct ath_hal *ah, u_int q, uint32_t txdp)
991 {
992 
993 	ath_hal_printf(ah, "%s: called\n", __func__);
994 	return (AH_FALSE);
995 }
996 
997 HAL_BOOL
998 ar9300_Stub_StartTxDma(struct ath_hal *ah, u_int q)
999 {
1000 
1001 	ath_hal_printf(ah, "%s: called\n", __func__);
1002 	return (AH_FALSE);
1003 }
1004 
1005 uint32_t
1006 ar9300_Stub_NumTxPending(struct ath_hal *ah, u_int q)
1007 {
1008 
1009 	ath_hal_printf(ah, "%s: called\n", __func__);
1010 	return (0);
1011 }
1012 
1013 HAL_BOOL
1014 ar9300_Stub_StopTxDma(struct ath_hal *ah, u_int q)
1015 {
1016 
1017 	ath_hal_printf(ah, "%s: called\n", __func__);
1018 	return (AH_FALSE);
1019 }
1020 
1021 HAL_BOOL
1022 ar9300_Stub_SetupTxDesc(struct ath_hal *ah, struct ath_desc *ds,
1023 		u_int pktLen, u_int hdrLen, HAL_PKT_TYPE type, u_int txPower,
1024 		u_int txRate0, u_int txTries0,
1025 		u_int keyIx, u_int antMode, u_int flags,
1026 		u_int rtsctsRate, u_int rtsctsDuration,
1027 		u_int compicvLen, u_int compivLen, u_int comp)
1028 {
1029 
1030 	ath_hal_printf(ah, "%s: called\n", __func__);
1031 	return (AH_FALSE);
1032 }
1033 
1034 HAL_BOOL
1035 ar9300_Stub_SetupXTxDesc(struct ath_hal *ah, struct ath_desc *desc,
1036 		u_int txRate1, u_int txRetries1,
1037 		u_int txRate2, u_int txRetries2,
1038 		u_int txRate3, u_int txRetries3)
1039 {
1040 
1041 	ath_hal_printf(ah, "%s: called\n", __func__);
1042 	return (AH_FALSE);
1043 }
1044 
1045 HAL_BOOL
1046 ar9300_Stub_FillTxDesc(struct ath_hal *ah, struct ath_desc *ds,
1047 		HAL_DMA_ADDR *bufAddrList, uint32_t *segLenList,
1048 		u_int descId, u_int qcuId,
1049 		HAL_BOOL firstSeg, HAL_BOOL lastSeg,
1050 		const struct ath_desc *ds0)
1051 {
1052 
1053 	ath_hal_printf(ah, "%s: called\n", __func__);
1054 	return (AH_FALSE);
1055 }
1056 
1057 HAL_STATUS
1058 ar9300_Stub_ProcTxDesc(struct ath_hal *ah,
1059 		struct ath_desc *ds, struct ath_tx_status *txstat)
1060 {
1061 
1062 	ath_hal_printf(ah, "%s: called\n", __func__);
1063 	return (HAL_EINPROGRESS);
1064 }
1065 
1066 void
1067 ar9300_Stub_GetTxIntrQueue(struct ath_hal *ah, uint32_t *val)
1068 {
1069 
1070 	ath_hal_printf(ah, "%s: called\n", __func__);
1071 }
1072 
1073 void
1074 ar9300_Stub_IntrReqTxDesc(struct ath_hal *ah, struct ath_desc *desc)
1075 {
1076 
1077 	ath_hal_printf(ah, "%s: called\n", __func__);
1078 }
1079 
1080 HAL_BOOL
1081 ar9300_Stub_GetTxCompletionRates(struct ath_hal *ah,
1082 		const struct ath_desc *ds0, int *rates, int *tries)
1083 {
1084 
1085 	ath_hal_printf(ah, "%s: called\n", __func__);
1086 	return (AH_FALSE);
1087 }
1088 
1089 const HAL_RATE_TABLE *
1090 ar9300_Stub_GetRateTable(struct ath_hal *ah, u_int mode)
1091 {
1092 
1093 	ath_hal_printf(ah, "%s: called\n", __func__);
1094 	/* XXX null may panic the kernel? */
1095 	return (AH_NULL);
1096 }
1097 
1098 #if 0
1099 void
1100 ar9300_Stub_AniAttach(struct ath_hal *ah, const struct ar5212AniParams *,
1101     const struct ar5212AniParams *, HAL_BOOL ena)
1102 {
1103 
1104 	ath_hal_printf(ah, "%s: called\n", __func__);
1105 }
1106 
1107 void
1108 ar9300_Stub_AniDetach(struct ath_hal *)
1109 {
1110 
1111 	ath_hal_printf(ah, "%s: called\n", __func__);
1112 }
1113 #endif
1114 
1115 #if 0
1116 struct ar5212AniState *
1117 ar9300_Stub_AniGetCurrentState(struct ath_hal *ah)
1118 {
1119 
1120 	ath_hal_printf(ah, "%s: called\n", __func__);
1121 	return (AH_NULL);
1122 }
1123 
1124 struct ar5212Stats
1125 *ar5212AniGetCurrentStats(struct ath_hal *)
1126 {
1127 
1128 	ath_hal_printf(ah, "%s: called\n", __func__);
1129 	return (AH_NULL);
1130 }
1131 #endif
1132 
1133 HAL_BOOL
1134 ar9300_Stub_AniControl(struct ath_hal *ah, HAL_ANI_CMD cmd, int param)
1135 {
1136 
1137 	ath_hal_printf(ah, "%s: called\n", __func__);
1138 	return (AH_FALSE);
1139 }
1140 
1141 #if 0
1142 HAL_BOOL
1143 ar9300_Stub_AniSetParams(struct ath_hal *, const struct ar5212AniParams *,
1144     const struct ar5212AniParams *)
1145 {
1146 
1147 	ath_hal_printf(ah, "%s: called\n", __func__);
1148 	return (AH_FALSE);
1149 }
1150 #endif
1151 
1152 struct ath_rx_status;
1153 
1154 void
1155 ar9300_Stub_AniPhyErrReport(struct ath_hal *ah,
1156 		const struct ath_rx_status *rs)
1157 {
1158 
1159 	ath_hal_printf(ah, "%s: called\n", __func__);
1160 	return;
1161 }
1162 
1163 void
1164 ar9300_Stub_ProcessMibIntr(struct ath_hal *ah, const HAL_NODE_STATS *stats)
1165 {
1166 
1167 	ath_hal_printf(ah, "%s: called\n", __func__);
1168 }
1169 
1170 void
1171 ar9300_Stub_RxMonitor(struct ath_hal *ah, const HAL_NODE_STATS *stats,
1172     const struct ieee80211_channel *chan)
1173 {
1174 
1175 	ath_hal_printf(ah, "%s: called\n", __func__);
1176 }
1177 
1178 void
1179 ar9300_Stub_AniPoll(struct ath_hal *ah, const struct ieee80211_channel * chan)
1180 {
1181 
1182 	ath_hal_printf(ah, "%s: called\n", __func__);
1183 }
1184 
1185 void
1186 ar9300_Stub_AniReset(struct ath_hal *ah, const struct ieee80211_channel * chan,
1187 		HAL_OPMODE ani_opmode, int val)
1188 {
1189 
1190 	ath_hal_printf(ah, "%s: called\n", __func__);
1191 }
1192 
1193 HAL_BOOL
1194 ar9300_Stub_IsNFCalInProgress(struct ath_hal *ah)
1195 {
1196 
1197 	ath_hal_printf(ah, "%s: called\n", __func__);
1198 	return (AH_FALSE);
1199 }
1200 
1201 HAL_BOOL
1202 ar9300_Stub_WaitNFCalComplete(struct ath_hal *ah, int i)
1203 {
1204 
1205 	ath_hal_printf(ah, "%s: called\n", __func__);
1206 	return (AH_FALSE);
1207 }
1208 
1209 void
1210 ar9300_Stub_EnableDfs(struct ath_hal *ah, HAL_PHYERR_PARAM *pe)
1211 {
1212 
1213 	ath_hal_printf(ah, "%s: called\n", __func__);
1214 }
1215 
1216 void
1217 ar9300_Stub_GetDfsThresh(struct ath_hal *ah, HAL_PHYERR_PARAM *pe)
1218 {
1219 
1220 	ath_hal_printf(ah, "%s: called\n", __func__);
1221 }
1222 
1223 HAL_BOOL
1224 ar9300_Stub_ProcessRadarEvent(struct ath_hal *ah,
1225     struct ath_rx_status *rxs, uint64_t fulltsf, const char *buf,
1226     HAL_DFS_EVENT *event)
1227 {
1228 
1229 	ath_hal_printf(ah, "%s: called\n", __func__);
1230 	return (AH_FALSE);
1231 }
1232 
1233 HAL_BOOL
1234 ar9300_Stub_IsFastClockEnabled(struct ath_hal *ah)
1235 {
1236 
1237 	ath_hal_printf(ah, "%s: called\n", __func__);
1238 	return (AH_FALSE);
1239 }
1240 
1241 uint32_t
1242 ar9300_Stub_Get11nExtBusy(struct ath_hal *ah)
1243 {
1244 
1245 	ath_hal_printf(ah, "%s: called\n", __func__);
1246 	return (0);
1247 }
1248 
1249 void
1250 ar9300_Stub_ConfigPCIE(struct ath_hal *ah, HAL_BOOL restore, HAL_BOOL powerOff)
1251 {
1252 
1253 	ath_hal_printf(ah, "%s: called\n", __func__);
1254 }
1255 
1256 void
1257 ar9300_Stub_DisablePCIE(struct ath_hal *ah)
1258 {
1259 
1260 	ath_hal_printf(ah, "%s: called\n", __func__);
1261 }
1262