| .. | .. |
|---|
| 261 | 261 | |
|---|
| 262 | 262 | /* Generic hardware linkage */ |
|---|
| 263 | 263 | .irq = uhci_irq, |
|---|
| 264 | | - .flags = HCD_USB11, |
|---|
| 264 | + .flags = HCD_DMA | HCD_USB11, |
|---|
| 265 | 265 | |
|---|
| 266 | 266 | /* Basic lifecycle operations */ |
|---|
| 267 | 267 | .reset = uhci_pci_init, |
|---|
| .. | .. |
|---|
| 287 | 287 | static const struct pci_device_id uhci_pci_ids[] = { { |
|---|
| 288 | 288 | /* handle any USB UHCI controller */ |
|---|
| 289 | 289 | PCI_DEVICE_CLASS(PCI_CLASS_SERIAL_USB_UHCI, ~0), |
|---|
| 290 | | - .driver_data = (unsigned long) &uhci_driver, |
|---|
| 291 | 290 | }, { /* end: all zeroes */ } |
|---|
| 292 | 291 | }; |
|---|
| 293 | 292 | |
|---|
| 294 | 293 | MODULE_DEVICE_TABLE(pci, uhci_pci_ids); |
|---|
| 295 | 294 | |
|---|
| 295 | +static int uhci_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) |
|---|
| 296 | +{ |
|---|
| 297 | + return usb_hcd_pci_probe(dev, id, &uhci_driver); |
|---|
| 298 | +} |
|---|
| 299 | + |
|---|
| 296 | 300 | static struct pci_driver uhci_pci_driver = { |
|---|
| 297 | | - .name = (char *)hcd_name, |
|---|
| 301 | + .name = hcd_name, |
|---|
| 298 | 302 | .id_table = uhci_pci_ids, |
|---|
| 299 | 303 | |
|---|
| 300 | | - .probe = usb_hcd_pci_probe, |
|---|
| 304 | + .probe = uhci_pci_probe, |
|---|
| 301 | 305 | .remove = usb_hcd_pci_remove, |
|---|
| 302 | 306 | .shutdown = uhci_shutdown, |
|---|
| 303 | 307 | |
|---|