static int __devexit sunxi_remove(struct platform_device *pdev) { struct sunxi_otgc *otgc = platform_get_drvdata(pdev); struct resource *res; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); pm_runtime_put(&pdev->dev); pm_runtime_disable(&pdev->dev); sunxi_debugfs_exit(otgc); #ifndef SUNXI_USB_FPGA sunxi_pin_exit(otgc); release_usb_regulator_io(otgc); #endif sunxi_host_exit(otgc); sunxi_gadget_exit(otgc); sunxi_core_exit(otgc); sunxi_otg_pdev = NULL; return 0; }
static int exit_sunxi_hci(struct sunxi_hci_hcd *sunxi_hci, u32 ohci) { clock_exit(sunxi_hci, ohci); release_usb_regulator_io(sunxi_hci); return 0; }