forked from luck/tmp_suning_uos_patched
pl2303: improve the chip type information output on startup
The chip type distinction is getting more and more relevant and complicating, so always print the chip type. Printing a name string is also much better than just printing an internal index number. Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
73b583af59
commit
a77a8c23e4
@ -177,6 +177,7 @@ static int pl2303_startup(struct usb_serial *serial)
|
||||
{
|
||||
struct pl2303_serial_private *spriv;
|
||||
enum pl2303_type type = type_0;
|
||||
char *type_str = "unknown (treating as type_0)";
|
||||
unsigned char *buf;
|
||||
|
||||
spriv = kzalloc(sizeof(*spriv), GFP_KERNEL);
|
||||
@ -189,14 +190,18 @@ static int pl2303_startup(struct usb_serial *serial)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
if (serial->dev->descriptor.bDeviceClass == 0x02)
|
||||
if (serial->dev->descriptor.bDeviceClass == 0x02) {
|
||||
type = type_0;
|
||||
else if (serial->dev->descriptor.bMaxPacketSize0 == 0x40)
|
||||
type_str = "type_0";
|
||||
} else if (serial->dev->descriptor.bMaxPacketSize0 == 0x40) {
|
||||
type = HX;
|
||||
else if (serial->dev->descriptor.bDeviceClass == 0x00
|
||||
|| serial->dev->descriptor.bDeviceClass == 0xFF)
|
||||
type_str = "X/HX";
|
||||
} else if (serial->dev->descriptor.bDeviceClass == 0x00
|
||||
|| serial->dev->descriptor.bDeviceClass == 0xFF) {
|
||||
type = type_1;
|
||||
dev_dbg(&serial->interface->dev, "device type: %d\n", type);
|
||||
type_str = "type_1";
|
||||
}
|
||||
dev_dbg(&serial->interface->dev, "device type: %s\n", type_str);
|
||||
|
||||
spriv->type = type;
|
||||
usb_set_serial_data(serial, spriv);
|
||||
|
Loading…
Reference in New Issue
Block a user