3.: 原理和操作步骤
当我们按照例子使用下面函数操作时:
request_firmware(&fw_entry, "sample_driver_fw", &ghost_device);
从firmware_class.c 可以看出request_firmware作了如下动作:
(1) . 创建 ghost_device 所在节点文件;
(2) . 调用hotplug; (Documentation/firmware_class/hotplug-script,应放在/sbin/hotplug)
完成load动作;
理解hotplug例子;
HOTPLUG_FW_DIR=/usr/lib/hotplug/firmware/
//本机存放firmware.bin 目录,也就是目标固件文件所放置的位置;
echo 1 > /sys/$DEVPATH/loading
cat $HOTPLUG_FW_DIR/$FIRMWARE > /sys/$DEVPATH/data
//通过用户程序将固件cp 给 kernel 创建 的ghot_device 文件;
// 这样kernel就获取了固件数据;
echo 0 > /sys/$DEVPATH/loading
To be continued...
阅读(2002) | 评论(1) | 转发(0) |