void
ath9k_hw_rfdetach(struct ath_hw *ah)
{
- kfree(ah->analogBank0Data);
- ah->analogBank0Data = NULL;
-
- kfree(ah->analogBank1Data);
- ah->analogBank1Data = NULL;
-
- kfree(ah->analogBank2Data);
- ah->analogBank2Data = NULL;
-
- kfree(ah->analogBank3Data);
- ah->analogBank3Data = NULL;
-
- kfree(ah->analogBank6Data);
- ah->analogBank6Data = NULL;
-
- kfree(ah->analogBank6TPCData);
- ah->analogBank6TPCData = NULL;
-
- kfree(ah->analogBank7Data);
- ah->analogBank7Data = NULL;
-
- kfree(ah->addac5416_21);
- ah->addac5416_21 = NULL;
-
- kfree(ah->bank6Temp);
- ah->bank6Temp = NULL;
+#define ATH_FREE_BANK(bank) do { \
+ kfree(bank); \
+ bank = NULL; \
+ } while (0);
+
+ ATH_FREE_BANK(ah->analogBank0Data);
+ ATH_FREE_BANK(ah->analogBank1Data);
+ ATH_FREE_BANK(ah->analogBank2Data);
+ ATH_FREE_BANK(ah->analogBank3Data);
+ ATH_FREE_BANK(ah->analogBank6Data);
+ ATH_FREE_BANK(ah->analogBank6TPCData);
+ ATH_FREE_BANK(ah->analogBank7Data);
+ ATH_FREE_BANK(ah->addac5416_21);
+ ATH_FREE_BANK(ah->bank6Temp);
+#undef ATH_FREE_BANK
}
bool ath9k_hw_init_rf(struct ath_hw *ah, int *status)