struct liteuart_port {
struct uart_port port;
struct timer_list timer;
- u32 id;
u8 irq_reg;
};
if (ret)
return ret;
- uart->id = dev_id;
/* values not from device tree */
port->dev = &pdev->dev;
port->iotype = UPIO_MEM;
return 0;
err_erase_id:
- xa_erase(&liteuart_array, uart->id);
+ xa_erase(&liteuart_array, dev_id);
return ret;
}
static int liteuart_remove(struct platform_device *pdev)
{
struct uart_port *port = platform_get_drvdata(pdev);
- struct liteuart_port *uart = to_liteuart_port(port);
+ unsigned int line = port->line;
uart_remove_one_port(&liteuart_driver, port);
- xa_erase(&liteuart_array, uart->id);
+ xa_erase(&liteuart_array, line);
return 0;
}