当把一个usb转serial串口设备插到linux系统上时,系统自动识别设备后会把设备和/dev目录下设备节点相关联,但是默认的关联是从ttyUSB0开始,依次ttyUSB1,ttyUSB2.....
(内核打印信息为:
pl23031-1.4:1.0:pl2303converterdetected
usb1-1.4:pl2303converternowattachedtottyUSB0)
现在想要把和usb转serial串口设备相关联的/dev/ttyUSB0设备节点的名字改成自己想要的名字,比如插上一个usb转串口设备后该设备和/dev/ttyUSB122相关联,文件操作时open(“/dev/ttyUSB122”)
想要完成这样的需求应该在内核驱动哪儿改啊,这是我毕业设计导师让我做的,不会呀,完全无从下手啊,求前辈指导
|
看下内核中的drivers/usb/serial/usb-serial.c文件
设备号在usb_serial_probe()函数中设定吧
|
drivers/usb/serial/usb-serial.c
1077for(i=0;iport[i];
1079dev_set_name(&port->dev,"ttyUSB%d",port->number);
1080dbg("%s-registering%s",__func__,dev_name(&port->dev));
1081port->dev_state=PORT_REGISTERING;
1082retval=device_add(&port->dev);
1083if(retval){
1084dev_err(&port->dev,"Errorregisteringportdevice,"
1085"continuingn");
1086port->dev_state=PORT_UNREGISTERED;
1087}else{
1088port->dev_state=PORT_REGISTERED;
1089}
1090}