linux emmc 驱动文件结构
时间: 2023-11-01 12:49:56 浏览: 215
Linux 中的 eMMC 驱动程序通常由以下组件组成:
1. `mmc_core`:这是一个通用模块,提供了 eMMC 驱动程序所需的核心功能。这个模块负责管理所有的 MMC/SD/SDIO 卡,并提供了对这些卡进行操作的接口。
2. `mmc_block`:这是一个块设备驱动程序,提供了块设备层次结构中的块设备接口。这个模块负责将 MMC 卡映射到块设备中,并提供了块设备操作的接口。
3. `mmc_card`:这是一个 MMC 卡驱动程序,用于管理 MMC 卡的读/写操作。这个模块负责与 MMC 卡进行通信,并提供了读/写操作的接口。
4. `sdhci`:这是一个 SD 卡主机控制器驱动程序,用于管理 SD 卡和 MMC 卡的读/写操作。这个模块负责与主机控制器进行通信,并提供了读/写操作的接口。
5. `sdhci-acpi`:这是一个 ACPI 驱动程序,用于在 ACPI 枚举过程中自动检测 SD 卡主机控制器。这个模块负责与 ACPI 进行通信,并提供了 SD 卡主机控制器的检测功能。
6. `sdhci-pci`:这是一个 PCI 驱动程序,用于在 PCI 枚举过程中自动检测 SD 卡主机控制器。这个模块负责与 PCI 控制器进行通信,并提供了 SD 卡主机控制器的检测功能。
这些组件组合在一起构成了 Linux 中的 eMMC 驱动程序。这些驱动程序通常位于内核源代码的 `drivers/mmc` 目录下。
相关问题
sdcard,emmc,ufs的linux kernel驱动代码分别在哪几个目录下面
### 回答1:
在Linux内核中,SD卡、eMMC和UFS的驱动代码位于不同的目录中。
1. SD卡驱动代码位于`drivers/mmc`目录下。在该目录中,可以找到与SD卡相关的驱动文件和子目录,如`mmc_core.c`、`mmc_block.c`等。此外,还有一些特定厂商的SD卡驱动,例如`mmc/sdhci-s3c.c`。
2. eMMC驱动代码同样位于`drivers/mmc`目录下。在该目录中,也可以找到与eMMC相关的驱动文件和子目录,如`mmc_core.c`、`mmc_block.c`等。与SD卡相比,eMMC的驱动代码可能会有一些特定的文件,但大部分代码都是共用的。
3. UFS驱动代码位于`drivers/scsi/ufs`目录下。在该目录中,可以找到与UFS相关的驱动文件和子目录,如`ufs.c`、`ufs-sysfs.c`和`ufs-exynos.c`等。这些文件包含了UFS设备的驱动代码。
此外,还需要注意,以上目录可能会随着不同内核版本的变化而有所不同,因此在具体的内核版本中可能会有一些细微的差异。
### 回答2:
在Linux内核中,SD卡、eMMC和UFS存储设备的驱动程序代码位于不同的目录下面。
1. SD卡驱动程序的代码位于`drivers/mmc`目录下。具体而言,SD卡的核心驱动程序是`mmc_core.c`,而与SD卡相关的SDIO(Secure Digital Input Output)功能驱动程序位于`sdio`目录下。
2. eMMC驱动程序的代码位于`drivers/mmc`目录下的`mmc_core.c`中。eMMC是一种闪存存储设备,因此其驱动程序与SD卡驱动程序共享。
3. UFS驱动程序的代码位于`drivers/scsi/ufs`目录下。UFS(Universal Flash Storage)是一种新的高性能存储标准,可以代替eMMC。UFS驱动程序的核心文件是`ufs.c`。此外,与UFS相关的Host控制器驱动程序代码位于`drivers/scsi/ufs/ufshcd.c`中。
需要注意的是,以上目录是指Linux内核的主线驱动程序目录结构。对于特定的内核版本或特定的Linux发行版,可能会存在一些小的差异。因此,在查找驱动程序代码时,最好根据具体的内核版本或系统来进行查找。
### 回答3:
在Linux内核中,SD卡、eMMC和UFS的驱动代码可以在以下几个目录下找到:
1. SD卡驱动代码:可以在目录/drivers/mmc/host/下找到SD卡的驱动代码。主要文件包括:
- sdhci.c: SD卡主机控制器(SD Host Controller)的驱动代码。
- mmc_block.c: SD卡块设备驱动代码,用于提供SD卡的块设备访问接口。
2. eMMC驱动代码:可以在目录/drivers/mmc/host/下找到eMMC驱动代码。主要文件包括:
- sdhci.c: eMMC主机控制器(eMMC Host Controller)的驱动代码。
- mmc_block.c: eMMC块设备驱动代码,用于提供eMMC的块设备访问接口。
3. UFS驱动代码:可以在目录/drivers/scsi/ufs/下找到UFS驱动代码。主要文件包括:
- ufs.h: UFS驱动的头文件。
- ufs-scsi.c: UFS SCSI驱动代码。
- ufs-qp.c: UFS队列处理驱动代码。
这些驱动代码文件包含了与SD卡、eMMC和UFS硬件交互的相关函数和数据结构,用于在Linux内核中实现对这些存储设备的访问和控制。
阅读全文