c-如何在Linux驱动程序中列出MMC分区



我正在尝试读取eMMC上存储的U-Boot环境,但我不知道如何列出磁盘。我正在创建的驱动程序与mmc设备驱动程序(/dev/mmcblk0p1(是分开的。

我已经发现mmcblk0的分区是结构mmc_card中的结构mmc_part条目。基本上,我在搜索__mtd_next_device的mmc变体。


编辑1:
我发现我可以通过bdget获得一个block_device结构,但gendisk指向NULL

struct block_device *my_bdevice;
struct gendisk *my_gdisk;
my_bdevice = bdget(179);
my_gdisk = part_to_disk(my_bdevice->bd_part);
if (!my_gdisk) goto end; // Goes to end..

在我上面的代码中,my_bdevice = bdget(179);是错误的:

dev_t devt = blk_lookup_devt("mmcblk0", 0);
my_bdevice = bdget(devt);

最新更新