static int __devexit sw_serial_remove(struct platform_device *dev) { struct sw_serial_port *sport = platform_get_drvdata(dev); UART_MSG("serial remove\n"); serial8250_unregister_port(sw_serial[sport->port_no]); sw_serial[sport->port_no] = 0; sw_serial_put_resource(sport); kfree(sport); sport = NULL; return 0; }
static int __devexit sw_serial_remove(struct platform_device *dev) { struct sw_serial_port *sport = platform_get_drvdata(dev); struct sw_serial_data *sdata = sport->port.private_data; serial8250_unregister_port(sdata->line); sdata->line = -1; sw_serial_put_resource(sport); kfree(sport); sport = NULL; return 0; }