c - 如何在 Linux 驱动程序中列出 MMC 分区?
问题描述
我正在尝试读取存储在 eMMC 上的 U-Boot 环境,但我不知道如何列出磁盘。我正在创建的驱动程序与 mmc 设备驱动程序 (/dev/mmcblk0p1) 是分开的。
我已经发现 struct mmc_card 的分区mmcblk0
是struct 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);
推荐阅读
- angular - Angular 库模块从模块中导出组件、服务和其他
- maven - 由于 DEFAULT_GLOBAL_SETTING_FILE 错误,无法迁移 Maven-3.6
- r - 缺少参数“mainPanel”,在 R 中没有默认值
- node.js - 数个帖子后,数据库的帖子停止工作
- swift - 为什么 NSFileManager 不能与 UIDocumentBrowserViewController 一起使用?
- c# - 如何替换存储在文本文件中的用户名和密码
- python - 如何将变量设置为属性?
- excel - Excel VBA 到 Windows 窗体应用程序进程通信
- c# - 从网页中解析出表格?
- ruby-on-rails - Heroku - 构建失败“LoadError:无法加载此类文件--coffee_script”