int comedi_pci_auto_config(struct pci_dev *pcidev,
                           struct comedi_driver *driver);
 void comedi_pci_auto_unconfig(struct pci_dev *pcidev);
-struct usb_device;             /* forward declaration */
-int comedi_usb_auto_config(struct usb_device *usbdev,
+struct usb_interface;          /* forward declaration */
+int comedi_usb_auto_config(struct usb_interface *intf,
                           struct comedi_driver *driver);
-void comedi_usb_auto_unconfig(struct usb_device *usbdev);
+void comedi_usb_auto_unconfig(struct usb_interface *intf);
 
 #ifdef CONFIG_COMEDI_PCI_DRIVERS
 #define CONFIG_COMEDI_PCI
 
 }
 EXPORT_SYMBOL_GPL(comedi_pci_auto_unconfig);
 
-int comedi_usb_auto_config(struct usb_device *usbdev,
+int comedi_usb_auto_config(struct usb_interface *intf,
                           struct comedi_driver *driver)
 {
-       BUG_ON(usbdev == NULL);
-       return comedi_auto_config(&usbdev->dev, driver->driver_name, NULL, 0);
+       BUG_ON(intf == NULL);
+       return comedi_auto_config(&intf->dev, driver->driver_name, NULL, 0);
 }
 EXPORT_SYMBOL_GPL(comedi_usb_auto_config);
 
-void comedi_usb_auto_unconfig(struct usb_device *usbdev)
+void comedi_usb_auto_unconfig(struct usb_interface *intf)
 {
-       BUG_ON(usbdev == NULL);
-       comedi_auto_unconfig(&usbdev->dev);
+       BUG_ON(intf == NULL);
+       comedi_auto_unconfig(&intf->dev);
 }
 EXPORT_SYMBOL_GPL(comedi_usb_auto_unconfig);
 
                                                     void *context)
 {
        struct usbduxsub *usbduxsub_tmp = context;
-       struct usb_device *usbdev = usbduxsub_tmp->usbdev;
+       struct usb_interface *uinterf = usbduxsub_tmp->interface;
        int ret;
 
        if (fw == NULL) {
-               dev_err(&usbdev->dev,
+               dev_err(&uinterf->dev,
                        "Firmware complete handler without firmware!\n");
                return;
        }
        ret = firmwareUpload(usbduxsub_tmp, fw->data, fw->size);
 
        if (ret) {
-               dev_err(&usbdev->dev,
+               dev_err(&uinterf->dev,
                        "Could not upload firmware (err=%d)\n", ret);
                goto out;
        }
-       comedi_usb_auto_config(usbdev, &driver_usbdux);
+       comedi_usb_auto_config(uinterf, &driver_usbdux);
  out:
        release_firmware(fw);
 }
                dev_err(&intf->dev, "comedi_: BUG! called with wrong ptr!!!\n");
                return;
        }
-       comedi_usb_auto_unconfig(udev);
+       comedi_usb_auto_unconfig(intf);
        down(&start_stop_sem);
        down(&usbduxsub_tmp->sem);
        tidy_up(usbduxsub_tmp);
 
                                                         *fw, void *context)
 {
        struct usbduxfastsub_s *usbduxfastsub_tmp = context;
-       struct usb_device *usbdev = usbduxfastsub_tmp->usbdev;
+       struct usb_interface *uinterf = usbduxfastsub_tmp->interface;
        int ret;
 
        if (fw == NULL)
        ret = firmwareUpload(usbduxfastsub_tmp, fw->data, fw->size);
 
        if (ret) {
-               dev_err(&usbdev->dev,
+               dev_err(&uinterf->dev,
                        "Could not upload firmware (err=%d)\n", ret);
                goto out;
        }
 
-       comedi_usb_auto_config(usbdev, &driver_usbduxfast);
+       comedi_usb_auto_config(uinterf, &driver_usbduxfast);
  out:
        release_firmware(fw);
 }
                return;
        }
 
-       comedi_usb_auto_unconfig(udev);
+       comedi_usb_auto_unconfig(intf);
 
        down(&start_stop_sem);
        down(&udfs->sem);
 
                                                     void *context)
 {
        struct usbduxsub *usbduxsub_tmp = context;
-       struct usb_device *usbdev = usbduxsub_tmp->usbdev;
+       struct usb_interface *uinterf = usbduxsub_tmp->interface;
        int ret;
 
        if (fw == NULL) {
-               dev_err(&usbdev->dev,
+               dev_err(&uinterf->dev,
                        "Firmware complete handler without firmware!\n");
                return;
        }
        ret = firmwareUpload(usbduxsub_tmp, fw->data, fw->size);
 
        if (ret) {
-               dev_err(&usbdev->dev,
+               dev_err(&uinterf->dev,
                        "Could not upload firmware (err=%d)\n", ret);
                goto out;
        }
-       comedi_usb_auto_config(usbdev, &driver_usbduxsigma);
+       comedi_usb_auto_config(uinterf, &driver_usbduxsigma);
 out:
        release_firmware(fw);
 }
        if (usbduxsub_tmp->ao_cmd_running)
                /* we are still running a command */
                usbdux_ao_stop(usbduxsub_tmp, 1);
-       comedi_usb_auto_unconfig(udev);
+       comedi_usb_auto_unconfig(intf);
        down(&start_stop_sem);
        down(&usbduxsub_tmp->sem);
        tidy_up(usbduxsub_tmp);
 
 
        mutex_unlock(&glb_mutex);
 
-       comedi_usb_auto_config(dev->udev, &driver_vmk80xx);
+       comedi_usb_auto_config(intf, &driver_vmk80xx);
 
        return 0;
 error:
        if (!dev)
                return;
 
-       comedi_usb_auto_unconfig(dev->udev);
+       comedi_usb_auto_unconfig(intf);
 
        mutex_lock(&glb_mutex);
        down(&dev->limit_sem);