解决Android设备插入打印机无法启动
diff --git a/kernel/drivers/usb/class/usblp.c b/kernel/drivers/usb/cl index 9eca405..b528437 100755 --- a/kernel/drivers/usb/class/usblp.c +++ b/kernel/drivers/usb/class/usblp.c @@ -1046,8 +1046,13 @@ static const struct file_operations usblp_fops .llseek = noop_llseek, }; +static struct device_type printer_type = { + .name = "printer", +}; + static char *usblp_devnode(struct device *dev, mode_t *mode) { + dev->type=&printer_type; return kasprintf(GFP_KERNEL, "usb/%s", dev_name(dev)); } @@ -1072,6 +1077,7 @@ static ssize_t usblp_show_ieee1284_id(struct de static DEVICE_ATTR(ieee1284_id, S_IRUGO, usblp_show_ieee1284_id, NUL + static int usblp_probe(struct usb_interface *intf, const struct usb_device_id *id) { @@ -1079,6 +1085,8 @@ static int usblp_probe(struct usb_interface *in struct usblp *usblp; int protocol; int retval; + //dev->children[0]->dev.type=&printer_type; + //dev->dev.type=&printer_type; /* Malloc and start initializing usblp structure so we can us * directly. */注:注释的那两条是测试的过但是不成功的方法。
这里点名感谢一下《Linux驱动》群中的LinuxDrv群主。一步步指点着添加成功了。如下图:
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。