并行端口打印机驱动案例分析
1. 引言
在并行端口打印机驱动的开发中,有多个关键函数协同工作,以实现打印机设备的识别、检测、连接、数据传输等功能。下面将按照函数执行的大致顺序,对这些函数进行详细分析。
2. lpt_identify 函数
- 功能:该函数是 lpt(4) 的
device_identify实现,由于并行端口无法自行识别其子设备,所以需要这个函数。 - 代码实现:
static void lpt_identify(driver_t *driver, device_t parent) { device_t dev; dev = device_find_child(parent, LPT_NAME, -1); if (!dev) BUS_ADD_CHILD(parent, 0, LPT_NAME, -1); }- 执行流程:
- 使用
device_find_child函数确定并行端口是否曾经识别过名为LPT_NAME的子设备。 - 如果没有识别过,则使用
BUS_ADD_CHILD函数将LPT_NAME
- 使用