summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ath/ath6kl/bmi.h
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2012-03-13 14:45:40 -0400
committerJohn W. Linville <linville@tuxdriver.com>2012-03-13 14:45:40 -0400
commit843dc6644be05edfcb14f7f7ce5b2ab2bc15b429 (patch)
tree0e2c580ac949d2619522a64cc5a52585645491f5 /drivers/net/wireless/ath/ath6kl/bmi.h
parent5d6a1b069b7f72298aff2306a2d02b0188668218 (diff)
parent9df2a0b7096873e91d1b6b0e842e9f6bdc7ee9fd (diff)
Merge branch 'for-linville' of git://github.com/kvalo/ath6kl
Diffstat (limited to 'drivers/net/wireless/ath/ath6kl/bmi.h')
-rw-r--r--drivers/net/wireless/ath/ath6kl/bmi.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/bmi.h b/drivers/net/wireless/ath/ath6kl/bmi.h
index f1ca6812456d..18fdd69e1f71 100644
--- a/drivers/net/wireless/ath/ath6kl/bmi.h
+++ b/drivers/net/wireless/ath/ath6kl/bmi.h
@@ -1,5 +1,6 @@
/*
* Copyright (c) 2004-2011 Atheros Communications Inc.
+ * Copyright (c) 2011 Qualcomm Atheros, Inc.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -222,6 +223,29 @@ struct ath6kl_bmi_target_info {
__le32 type; /* target type */
} __packed;
+#define ath6kl_bmi_write_hi32(ar, item, val) \
+ ({ \
+ u32 addr; \
+ __le32 v; \
+ \
+ addr = ath6kl_get_hi_item_addr(ar, HI_ITEM(item)); \
+ v = cpu_to_le32(val); \
+ ath6kl_bmi_write(ar, addr, (u8 *) &v, sizeof(v)); \
+ })
+
+#define ath6kl_bmi_read_hi32(ar, item, val) \
+ ({ \
+ u32 addr, *check_type = val; \
+ __le32 tmp; \
+ int ret; \
+ \
+ (void) (check_type == val); \
+ addr = ath6kl_get_hi_item_addr(ar, HI_ITEM(item)); \
+ ret = ath6kl_bmi_read(ar, addr, (u8 *) &tmp, 4); \
+ *val = le32_to_cpu(tmp); \
+ ret; \
+ })
+
int ath6kl_bmi_init(struct ath6kl *ar);
void ath6kl_bmi_cleanup(struct ath6kl *ar);
void ath6kl_bmi_reset(struct ath6kl *ar);