static int __devexit tegra_uart_remove(struct platform_device *pdev) { struct tegra_uart_port *t = platform_get_drvdata(pdev); struct uart_port *u; if (pdev->id < 0 || pdev->id > tegra_uart_driver.nr) pr_err("Invalid Uart instance (%d)\n", pdev->id); if (t->is_irda && t->irda_remove) t->irda_remove(); u = &t->uport; tasklet_kill(&t->tlet); pm_runtime_disable(u->dev); uart_remove_one_port(&tegra_uart_driver, u); tegra_uart_free_rx_dma_buffer(t); platform_set_drvdata(pdev, NULL); pr_info("Unregistered UART port %s%d\n", tegra_uart_driver.dev_name, u->line); kfree(t); return 0; }
static int __devexit tegra_uart_remove(struct platform_device *pdev) { struct tegra_uart_port *t = platform_get_drvdata(pdev); struct uart_port *u; printk("[seyoung] tegra_hs_uart_remove \n"); if (pdev->id < 0 || pdev->id > tegra_uart_driver.nr) pr_err("Invalid Uart instance (%d)\n", pdev->id); u = &t->uport; uart_remove_one_port(&tegra_uart_driver, u); tegra_uart_free_rx_dma_buffer(t); platform_set_drvdata(pdev, NULL); pr_info("Unregistered UART port %s%d\n", tegra_uart_driver.dev_name, u->line); kfree(t); return 0; }