提交 6352d6e1 编写于 作者: L lzl

kernel adapter

Signed-off-by: Nlzl <sucer_fater@163.com>
上级 1a3f3f54
...@@ -35,14 +35,8 @@ ...@@ -35,14 +35,8 @@
#include "unistd.h" #include "unistd.h"
#include "sys/mount.h" #include "sys/mount.h"
#include "linux/spinlock.h" #include "linux/spinlock.h"
#include "fs/path_cache.h" #include "fs/path_cache.h"
#ifdef LOSCFG_DRIVERS_MMC
#include "mmc/block.h"
#endif
los_disk g_sysDisk[SYS_MAX_DISK]; los_disk g_sysDisk[SYS_MAX_DISK];
los_part g_sysPart[SYS_MAX_PART]; los_part g_sysPart[SYS_MAX_PART];
...@@ -1685,13 +1679,17 @@ VOID show_part(los_part *part) ...@@ -1685,13 +1679,17 @@ VOID show_part(los_part *part)
PRINTK("part sec count : %llu\n", part->sector_count); PRINTK("part sec count : %llu\n", part->sector_count);
} }
#ifdef LOSCFG_DRIVERS_MMC
ssize_t StorageBlockMmcErase(uint32_t blockId, size_t secStart, size_t secNr);
#endif
INT32 EraseDiskByID(UINT32 diskID, size_t startSector, UINT32 sectors) INT32 EraseDiskByID(UINT32 diskID, size_t startSector, UINT32 sectors)
{ {
INT32 ret = VFS_ERROR; INT32 ret = VFS_ERROR;
#ifdef LOSCFG_DRIVERS_MMC #ifdef LOSCFG_DRIVERS_MMC
los_disk *disk = get_disk((INT32)diskID); los_disk *disk = get_disk((INT32)diskID);
if (disk != NULL) { if (disk != NULL) {
ret = do_mmc_erase(diskID, startSector, sectors); ret = StorageBlockMmcErase(diskID, startSector, sectors);
} }
#endif #endif
......
...@@ -35,7 +35,6 @@ ...@@ -35,7 +35,6 @@
#include "mtd_partition.h" #include "mtd_partition.h"
#endif #endif
#ifdef LOSCFG_DRIVERS_MMC #ifdef LOSCFG_DRIVERS_MMC
#include "mmc/block.h"
#include "disk.h" #include "disk.h"
#endif #endif
#include "sys/mount.h" #include "sys/mount.h"
...@@ -103,18 +102,22 @@ los_disk *GetMmcDisk(UINT8 type) ...@@ -103,18 +102,22 @@ los_disk *GetMmcDisk(UINT8 type)
#endif #endif
#ifdef LOSCFG_STORAGE_EMMC #ifdef LOSCFG_STORAGE_EMMC
struct disk_divide_info *StorageBlockGetEmmc(void);
struct block_operations *StorageBlockGetMmcOps(void);
char *StorageBlockGetEmmcNodeName(void *block);
STATIC const CHAR *AddEmmcRootfsPart(INT32 rootAddr, INT32 rootSize) STATIC const CHAR *AddEmmcRootfsPart(INT32 rootAddr, INT32 rootSize)
{ {
INT32 ret; INT32 ret;
struct mmc_block *block = (struct mmc_block *)((struct drv_data *)g_emmcDisk->dev->data)->priv; void *block = ((struct drv_data *)g_emmcDisk->dev->data)->priv;
const char *node_name = mmc_block_get_node_name(block); const char *node_name = StorageBlockGetEmmcNodeName(block);
if (los_disk_deinit(g_emmcDisk->disk_id) != ENOERR) { if (los_disk_deinit(g_emmcDisk->disk_id) != ENOERR) {
PRINT_ERR("Failed to deinit emmc disk!\n"); PRINT_ERR("Failed to deinit emmc disk!\n");
return NULL; return NULL;
} }
struct disk_divide_info *emmc = get_emmc(); struct disk_divide_info *emmc = StorageBlockGetEmmc();
ret = add_mmc_partition(emmc, rootAddr / EMMC_SEC_SIZE, rootSize / EMMC_SEC_SIZE); ret = add_mmc_partition(emmc, rootAddr / EMMC_SEC_SIZE, rootSize / EMMC_SEC_SIZE);
if (ret != LOS_OK) { if (ret != LOS_OK) {
PRINT_ERR("Failed to add mmc root partition!\n"); PRINT_ERR("Failed to add mmc root partition!\n");
...@@ -138,7 +141,7 @@ STATIC const CHAR *AddEmmcRootfsPart(INT32 rootAddr, INT32 rootSize) ...@@ -138,7 +141,7 @@ STATIC const CHAR *AddEmmcRootfsPart(INT32 rootAddr, INT32 rootSize)
PRINT_ERR("Failed to alloc disk %s!\n", node_name); PRINT_ERR("Failed to alloc disk %s!\n", node_name);
return NULL; return NULL;
} }
if (los_disk_init(node_name, mmc_block_get_bops(block), (void *)block, diskId, emmc) != ENOERR) { if (los_disk_init(node_name, StorageBlockGetMmcOps(), block, diskId, emmc) != ENOERR) {
PRINT_ERR("Failed to init emmc disk!\n"); PRINT_ERR("Failed to init emmc disk!\n");
return NULL; return NULL;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册