summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2015-08-09 11:23:16 +0800
committerBernard Xiong <[email protected]>2015-08-09 11:23:16 +0800
commite029f14b46a5556a2d771daf1e995b47b9e52d47 (patch)
tree57d15d22d1564236e29cfc0881f93ac2fec6a3fe
parentfc54a74abb7d7de84a81e4b11e402ef6ec278273 (diff)
[DeviceDrivers] fix sd->drv issue in sdio
-rw-r--r--components/drivers/include/drivers/sdio.h6
-rw-r--r--components/drivers/sdio/sdio.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/components/drivers/include/drivers/sdio.h b/components/drivers/include/drivers/sdio.h
index 6533ec3cbb..b52af38308 100644
--- a/components/drivers/include/drivers/sdio.h
+++ b/components/drivers/include/drivers/sdio.h
@@ -181,6 +181,12 @@ rt_int32_t sdio_io_rw_extended(struct rt_mmcsd_card *card,
rt_uint8_t *buf,
rt_uint32_t blocks,
rt_uint32_t blksize);
+rt_int32_t sdio_io_rw_extended_block(struct rt_sdio_function *func,
+ rt_int32_t rw,
+ rt_uint32_t addr,
+ rt_int32_t op_code,
+ rt_uint8_t *buf,
+ rt_uint32_t len);
rt_uint8_t sdio_io_readb(struct rt_sdio_function *func,
rt_uint32_t reg,
rt_int32_t *err);
diff --git a/components/drivers/sdio/sdio.c b/components/drivers/sdio/sdio.c
index 7817ae5c50..6b2d655dd7 100644
--- a/components/drivers/sdio/sdio.c
+++ b/components/drivers/sdio/sdio.c
@@ -244,7 +244,7 @@ rt_inline rt_uint32_t sdio_max_block_size(struct rt_sdio_function *func)
return MIN(size, 512u); /* maximum size for byte mode */
}
-static rt_int32_t sdio_io_rw_extended_block(struct rt_sdio_function *func,
+rt_int32_t sdio_io_rw_extended_block(struct rt_sdio_function *func,
rt_int32_t rw,
rt_uint32_t addr,
rt_int32_t op_code,
@@ -1325,6 +1325,7 @@ rt_int32_t sdio_register_driver(struct rt_sdio_driver *driver)
return -RT_ENOMEM;
}
+ sd->drv = driver;
rt_list_insert_after(&sdio_drivers, &sd->list);
if (!rt_list_isempty(&sdio_cards))