1 /* 2 * Copyright (c) 2009 Atheros Communications Inc. 3 * 4 * Permission to use, copy, modify, and/or distribute this software for any 5 * purpose with or without fee is hereby granted, provided that the above 6 * copyright notice and this permission notice appear in all copies. 7 * 8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 */ 16 17 #include "ath.h" 18 #include "debug.h" 19 20 void ath_print(struct ath_common *common, int dbg_mask, const char *fmt, ...) 21 { 22 va_list args; 23 24 if (likely(!(common->debug_mask & dbg_mask))) 25 return; 26 27 va_start(args, fmt); 28 printk(KERN_DEBUG "ath: "); 29 vprintk(fmt, args); 30 va_end(args); 31 } 32 EXPORT_SYMBOL(ath_print); 33 34 const char *ath_opmode_to_string(enum nl80211_iftype opmode) 35 { 36 switch (opmode) { 37 case NL80211_IFTYPE_UNSPECIFIED: 38 return "UNSPEC"; 39 case NL80211_IFTYPE_ADHOC: 40 return "ADHOC"; 41 case NL80211_IFTYPE_STATION: 42 return "STATION"; 43 case NL80211_IFTYPE_AP: 44 return "AP"; 45 case NL80211_IFTYPE_AP_VLAN: 46 return "AP-VLAN"; 47 case NL80211_IFTYPE_WDS: 48 return "WDS"; 49 case NL80211_IFTYPE_MONITOR: 50 return "MONITOR"; 51 case NL80211_IFTYPE_MESH_POINT: 52 return "MESH"; 53 case NL80211_IFTYPE_P2P_CLIENT: 54 return "P2P-CLIENT"; 55 case NL80211_IFTYPE_P2P_GO: 56 return "P2P-GO"; 57 default: 58 return "UNKNOWN"; 59 } 60 } 61 EXPORT_SYMBOL(ath_opmode_to_string); 62