static int ohci_hcd_sa1111_drv_remove(struct sa1111_dev *dev) { struct usb_hcd *hcd = sa1111_get_drvdata(dev); usb_hcd_sa1111_remove(hcd, dev); return 0; }
static void ohci_hcd_sa1111_shutdown(struct sa1111_dev *dev) { struct usb_hcd *hcd = sa1111_get_drvdata(dev); if (test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags)) { hcd->driver->shutdown(hcd); sa1111_stop_hc(dev); } }
/** * ohci_hcd_sa1111_remove - shutdown processing for SA-1111-based HCDs * @dev: USB Host Controller being removed * * Reverses the effect of ohci_hcd_sa1111_probe(), first invoking * the HCD's stop() method. */ static int ohci_hcd_sa1111_remove(struct sa1111_dev *dev) { struct usb_hcd *hcd = sa1111_get_drvdata(dev); usb_remove_hcd(hcd); sa1111_stop_hc(dev); release_mem_region(hcd->rsrc_start, hcd->rsrc_len); usb_put_hcd(hcd); return 0; }
/* * Remove one device from this driver. */ static int __devexit ps2_remove(struct sa1111_dev *dev) { struct ps2if *ps2if = sa1111_get_drvdata(dev); serio_unregister_port(ps2if->io); release_mem_region(dev->res.start, resource_size(&dev->res)); sa1111_set_drvdata(dev, NULL); kfree(ps2if); return 0; }
/* * Remove one device from this driver. */ static int ps2_remove(struct sa1111_dev *dev) { struct ps2if *ps2if = sa1111_get_drvdata(dev); serio_unregister_port(ps2if->io); release_mem_region(dev->res.start, dev->res.end - dev->res.start + 1); sa1111_set_drvdata(dev, NULL); kfree(ps2if); return 0; }