Sorry, resending this email in plain text format. Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> 於 2024年10月24日 週四 下午5:57寫道: > > On 24.10.2024 16:59:14, Ming Yu wrote: > > +static int nct6694_usb_probe(struct usb_interface *iface, > > + const struct usb_device_id *id) > > +{ > > + struct usb_device *udev = interface_to_usbdev(iface); > > + struct device *dev = &udev->dev; > > + struct usb_host_interface *interface; > > + struct usb_endpoint_descriptor *int_endpoint; > > + struct nct6694 *nct6694; > > + int pipe, maxp, bulk_pipe; > > + int ret = EINVAL; > > + > > + interface = iface->cur_altsetting; > > + /* Binding interface class : 0xFF */ > > + if (interface->desc.bInterfaceClass != USB_CLASS_VENDOR_SPEC || > > + interface->desc.bInterfaceSubClass != 0x00 || > > + interface->desc.bInterfaceProtocol != 0x00) > > + return -ENODEV; > > I think you can use USB_DEVICE_INFO() and remove this manual check > > https://elixir.bootlin.com/linux/v6.11.5/source/include/linux/usb.h#L1056 > > [...] [Ming] Okay! I'll remove it and change USB_DEVICE() to USB_DEVICE_AND_INTERFACE_INFO(). > > > + > > +static const struct usb_device_id nct6694_ids[] = { > > + { USB_DEVICE(NCT6694_VENDOR_ID, NCT6694_PRODUCT_ID)}, > > + {}, > > +}; > > +MODULE_DEVICE_TABLE(usb, nct6694_ids); > > regards, > Marc > > -- > Pengutronix e.K. | Marc Kleine-Budde | > Embedded Linux | https://www.pengutronix.de | > Vertretung Nürnberg | Phone: +49-5121-206917-129 | > Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |