Browse Source

[DeviceDrivers] Fix sdio drv issue

Bernard Xiong 9 years ago
parent
commit
540d6ebf54

+ 6 - 0
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);

+ 1 - 1
components/drivers/sdio/block_dev.c

@@ -149,7 +149,7 @@ static rt_err_t rt_mmcsd_req_blk(struct rt_mmcsd_card *card,
     }
     else
     {
-        req.stop = NULL;
+        req.stop = RT_NULL;
         r_cmd = READ_SINGLE_BLOCK;
         w_cmd = WRITE_BLOCK;
     }

+ 2 - 1
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))