summaryrefslogtreecommitdiff
path: root/qdf/linux
diff options
context:
space:
mode:
authorYingying Tang <yintang@codeaurora.org>2017-03-06 18:14:14 +0800
committerSandeep Puligilla <spuligil@codeaurora.org>2017-03-20 21:15:37 -0700
commita6eb7d089b6770641bd79d84e885a5f6bbdbcb85 (patch)
tree715c343ef182b3d15692a8ae96ef6e20bfad274d /qdf/linux
parent2bca19dc6b2ae971a3cd7f1653edf8dc07a32349 (diff)
qcacmn: Fix "__aeabi_uldivmod" symbol error
There is an unknown symbol error "__aeabi_uldivmod" due to a division operation between uint64 value in wlan driver. Add qdf API to use do_div to avoid "__aeabi_uldivmod" symbol error. Change-Id: I24e51990ff9e0ecea327ad9c71266fd768d62a6c CRs-Fixed: 2013952
Diffstat (limited to 'qdf/linux')
-rw-r--r--qdf/linux/src/i_qdf_util.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/qdf/linux/src/i_qdf_util.h b/qdf/linux/src/i_qdf_util.h
index 711fc3ebe261..ad3f769b59ef 100644
--- a/qdf/linux/src/i_qdf_util.h
+++ b/qdf/linux/src/i_qdf_util.h
@@ -372,4 +372,19 @@ int __qdf_set_dma_coherent_mask(struct device *dev, uint8_t addr_bits)
}
#endif
+/**
+ * __qdf_do_div() - wrapper function for kernel macro(do_div).
+ * @dividend: Dividend value
+ * @divisor : Divisor value
+ *
+ * Return: Quotient
+ */
+static inline
+uint64_t __qdf_do_div(uint64_t dividend, uint32_t divisor)
+{
+ do_div(dividend, divisor);
+ /*do_div macro updates dividend with Quotient of dividend/divisor */
+ return dividend;
+}
+
#endif /*_I_QDF_UTIL_H*/