nvmem_device_write 函数执行流程
时间: 2023-07-29 09:14:00 浏览: 66
nvmem_device_write 函数是用于向 nvmem 设备写入数据的函数。其执行流程如下:
1. 首先,函数会检查传入的参数是否合法,包括 nvmem 设备指针,写入数据的指针和长度等参数。
2. 然后,函数会根据 nvmem 设备的类型,选择相应的写入函数进行写入操作。例如,如果是基于 I2C 总线的 nvmem 设备,函数将会调用 i2c_nvmem_write 函数进行写入。
3. 在进行写入操作之前,函数会先调用 nvmem_device_read_only 函数检查是否是只读设备,如果是则直接返回错误。
4. 接着,函数会进行写入操作,具体操作流程取决于不同的 nvmem 设备类型和底层硬件接口。
5. 最后,函数会返回写入的字节数,如果写入失败,则会返回负数表示错误码。
需要注意的是,nvmem_device_write 函数是一个底层驱动函数,需要在应用程序中通过适当的接口进行调用,以实现对 nvmem 设备的数据写入操作。
相关问题
nvmem->reg_write函数执行流程
nvmem->reg_write 函数是用于向 nvmem 设备寄存器写入数据的函数。其执行流程如下:
1. 首先,函数会检查传入的参数是否合法,包括 nvmem 设备指针,寄存器地址和写入数据等参数。
2. 然后,函数会根据 nvmem 设备的类型,选择相应的寄存器写入函数进行写入操作。例如,如果是基于 SPI 总线的 nvmem 设备,函数将会调用 spi_nvmem_reg_write 函数进行寄存器写入。
3. 在进行写入操作之前,函数会先调用 nvmem_device_read_only 函数检查是否是只读设备,如果是则直接返回错误。
4. 接着,函数会进行寄存器写入操作,具体操作流程取决于不同的 nvmem 设备类型和底层硬件接口。
5. 最后,函数会返回写入的字节数,如果写入失败,则会返回负数表示错误码。
需要注意的是,nvmem->reg_write 函数是一个底层驱动函数,需要在应用程序中通过适当的接口进行调用,以实现对 nvmem 设备寄存器的写入操作。
make menuconifg中的 [*] /sys/bus/nvmem/devices/*/nvmem (sysfs interface) 介 绍
"[*] /sys/bus/nvmem/devices/*/nvmem (sysfs interface)" 是 Linux 内核配置菜单中的一个选项,它允许用户启用 sysfs 接口来访问非易失性存储器(NVMEM)设备。如果启用此选项,内核将自动创建 "/sys/bus/nvmem/devices/" 目录,并为所有检测到的 NVMEM 设备创建相应的子目录。
sysfs 是一个由内核提供的虚拟文件系统,它提供了一种方便的方式来访问和管理系统设备和资源。通过启用此选项,NVMEM 设备的相关信息将以文件和目录的形式出现在 sysfs 中,用户可以使用标准的 Linux 文件操作工具(如 ls、cat 等)来查看和修改这些信息。此外,许多诊断和调试工具也支持使用 sysfs 接口来访问设备信息,从而方便用户进行故障排除和性能优化。
需要注意的是,启用此选项可能会增加系统的负载和资源消耗,因为内核需要维护一个额外的虚拟文件系统。此外,不是所有的 NVMEM 设备都支持 sysfs 接口,因此在启用此选项前,需要确保所使用的 NVMEM 设备支持该接口。