summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorweety <[email protected]>2013-05-25 18:57:01 +0800
committerweety <[email protected]>2013-05-25 18:57:01 +0800
commit624d947e569b8780304537f3d2610f5545c48e10 (patch)
tree8e19524b42349e7bbc29f25dea576ed8efc47235
parenta33e99272418b9570c10a2e82eab9fdb55596d3b (diff)
use __rt_ffs instead of ffs
-rw-r--r--components/drivers/include/drivers/mmcsd_core.h31
-rw-r--r--components/drivers/sdio/mmcsd_core.c2
2 files changed, 1 insertions, 32 deletions
diff --git a/components/drivers/include/drivers/mmcsd_core.h b/components/drivers/include/drivers/mmcsd_core.h
index 1f7b38795c..5326425bfd 100644
--- a/components/drivers/include/drivers/mmcsd_core.h
+++ b/components/drivers/include/drivers/mmcsd_core.h
@@ -210,37 +210,6 @@ rt_inline rt_uint32_t fls(rt_uint32_t val)
return bit;
}
-#if !defined(__GNUC__) || defined(__CC_ARM)
-rt_inline rt_uint32_t ffs(rt_uint32_t x)
-{
- int r = 1;
-
- if (!x)
- return 0;
- if (!(x & 0xffff)) {
- x >>= 16;
- r += 16;
- }
- if (!(x & 0xff)) {
- x >>= 8;
- r += 8;
- }
- if (!(x & 0xf)) {
- x >>= 4;
- r += 4;
- }
- if (!(x & 3)) {
- x >>= 2;
- r += 2;
- }
- if (!(x & 1)) {
- x >>= 1;
- r += 1;
- }
- return r;
-}
-#endif
-
void mmcsd_host_lock(struct rt_mmcsd_host *host);
void mmcsd_host_unlock(struct rt_mmcsd_host *host);
void mmcsd_req_complete(struct rt_mmcsd_host *host);
diff --git a/components/drivers/sdio/mmcsd_core.c b/components/drivers/sdio/mmcsd_core.c
index e9a2e49115..db93cdb10c 100644
--- a/components/drivers/sdio/mmcsd_core.c
+++ b/components/drivers/sdio/mmcsd_core.c
@@ -493,7 +493,7 @@ rt_uint32_t mmcsd_select_voltage(struct rt_mmcsd_host *host, rt_uint32_t ocr)
ocr &= host->valid_ocr;
- bit = ffs(ocr);
+ bit = __rt_ffs(ocr);
if (bit)
{
bit -= 1;