static int imx_driver_remove(struct vmm_device *dev) { int rc = VMM_OK; struct imx_port *port = dev->priv; if (port) { rc = vmm_chardev_unregister(&port->cd); vmm_devtree_regunmap(dev->node, port->base, 0); vmm_free(port); dev->priv = NULL; } return rc; }
static int uart_driver_remove(struct vmm_device *dev) { int rc = VMM_OK; struct vmm_chardev *cd =(struct vmm_chardev*)dev->priv; if (cd) { rc = vmm_chardev_unregister(cd); vmm_free(cd->priv); vmm_free(cd); dev->priv = NULL; } return rc; }
static int omap_uart_driver_remove(struct vmm_device *dev) { struct omap_uart_port *port = dev->priv; if (port) { vmm_chardev_unregister(&port->cd); vmm_host_irq_unregister(port->irq, port); vmm_devtree_regunmap(dev->node, port->base, 0); vmm_free(port); dev->priv = NULL; } return VMM_OK; }