drivers: rk_nand: add full disk for gpt and recovrey

Add full nand disk device for gpt and recovery.
Device path is /dev/block/rknand0 or /dev/rknand0.

Change-Id: If6f52e4fd2b32c55ef4795692c40b6a18d066cb0
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
This commit is contained in:
Yifeng Zhao
2018-05-28 10:08:05 +08:00
committed by Tao Huang
parent 8bc3f8e449
commit 3f3c077099

View File

@@ -632,13 +632,6 @@ static int nand_remove_dev(struct nand_blk_dev *dev)
int nand_blk_add_whole_disk(void)
{
struct nand_part part;
part.offset = 0;
part.size = rk_ftl_get_capacity();
part.type = 0;
memcpy(part.name, "rknand", sizeof("rknand"));
nand_add_dev(&mytr, &part);
return 0;
}
@@ -646,6 +639,7 @@ static int nand_blk_register(struct nand_blk_ops *nandr)
{
int i, ret;
u32 part_size;
struct nand_part part;
rk_nand_schedule_enable_config(1);
nandr->quit = 0;
@@ -680,8 +674,15 @@ static int nand_blk_register(struct nand_blk_ops *nandr)
kthread_run(nand_blktrans_thread, (void *)nandr, "rknand");
g_max_part_num = nand_prase_cmdline_part(disk_array);
nandr->last_dev_index = 0;
part.offset = 0;
part.size = rk_ftl_get_capacity();
part.type = 0;
part.name[0] = 0;
nand_add_dev(&mytr, &part);
if (g_max_part_num) {
nandr->last_dev_index = 0;
for (i = 0; i < g_max_part_num; i++) {
part_size = (disk_array[i].offset + disk_array[i].size);
pr_info("%10s: 0x%09llx -- 0x%09llx (%llu MB)\n",
@@ -691,14 +692,6 @@ static int nand_blk_register(struct nand_blk_ops *nandr)
(u64)disk_array[i].size / 2048);
nand_add_dev(nandr, &disk_array[i]);
}
} else {
struct nand_part part;
part.offset = 0;
part.size = rk_ftl_get_capacity();
part.type = 0;
part.name[0] = 0;
nand_add_dev(&mytr, &part);
}
rknand_create_procfs();