Message ID | 20221118122539.384993-5-brgl@bgdev.pl (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | serial: qcom-geni-serial: implement support for SE DMA | expand |
On 18/11/2022 13:25, Bartosz Golaszewski wrote: > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > > The member we want to resolve in struct qcom_geni_serial_port is called > uport so we don't need an additional redundant parameter in this macro. > > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > --- Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Konrad > drivers/tty/serial/qcom_geni_serial.c | 33 +++++++++++++-------------- > 1 file changed, 16 insertions(+), 17 deletions(-) > > diff --git a/drivers/tty/serial/qcom_geni_serial.c b/drivers/tty/serial/qcom_geni_serial.c > index 97ee7c074b79..1db2795804e9 100644 > --- a/drivers/tty/serial/qcom_geni_serial.c > +++ b/drivers/tty/serial/qcom_geni_serial.c > @@ -133,8 +133,7 @@ static const struct uart_ops qcom_geni_uart_pops; > static struct uart_driver qcom_geni_console_driver; > static struct uart_driver qcom_geni_uart_driver; > > -#define to_dev_port(ptr, member) \ > - container_of(ptr, struct qcom_geni_serial_port, member) > +#define to_dev_port(ptr) container_of(ptr, struct qcom_geni_serial_port, uport) > > static struct qcom_geni_serial_port qcom_geni_uart_ports[GENI_UART_PORTS] = { > [0] = { > @@ -175,7 +174,7 @@ static struct qcom_geni_serial_port qcom_geni_console_port = { > static int qcom_geni_serial_request_port(struct uart_port *uport) > { > struct platform_device *pdev = to_platform_device(uport->dev); > - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); > + struct qcom_geni_serial_port *port = to_dev_port(uport); > > uport->membase = devm_platform_ioremap_resource(pdev, 0); > if (IS_ERR(uport->membase)) > @@ -212,7 +211,7 @@ static void qcom_geni_serial_set_mctrl(struct uart_port *uport, > unsigned int mctrl) > { > u32 uart_manual_rfr = 0; > - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); > + struct qcom_geni_serial_port *port = to_dev_port(uport); > > if (uart_console(uport)) > return; > @@ -253,7 +252,7 @@ static bool qcom_geni_serial_poll_bit(struct uart_port *uport, > struct qcom_geni_private_data *private_data = uport->private_data; > > if (private_data->drv) { > - port = to_dev_port(uport, uport); > + port = to_dev_port(uport); > baud = port->baud; > if (!baud) > baud = 115200; > @@ -506,7 +505,7 @@ static int handle_rx_console(struct uart_port *uport, u32 bytes, bool drop) > u32 i; > unsigned char buf[sizeof(u32)]; > struct tty_port *tport; > - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); > + struct qcom_geni_serial_port *port = to_dev_port(uport); > > tport = &uport->state->port; > for (i = 0; i < bytes; ) { > @@ -549,7 +548,7 @@ static int handle_rx_console(struct uart_port *uport, u32 bytes, bool drop) > static int handle_rx_uart(struct uart_port *uport, u32 bytes, bool drop) > { > struct tty_port *tport; > - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); > + struct qcom_geni_serial_port *port = to_dev_port(uport); > u32 num_bytes_pw = port->tx_fifo_width / BITS_PER_BYTE; > u32 words = ALIGN(bytes, num_bytes_pw) / num_bytes_pw; > int ret; > @@ -598,7 +597,7 @@ static void qcom_geni_serial_stop_tx(struct uart_port *uport) > { > u32 irq_en; > u32 status; > - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); > + struct qcom_geni_serial_port *port = to_dev_port(uport); > > irq_en = readl(uport->membase + SE_GENI_M_IRQ_EN); > irq_en &= ~(M_CMD_DONE_EN | M_TX_FIFO_WATERMARK_EN); > @@ -627,7 +626,7 @@ static void qcom_geni_serial_handle_rx(struct uart_port *uport, bool drop) > u32 last_word_byte_cnt; > u32 last_word_partial; > u32 total_bytes; > - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); > + struct qcom_geni_serial_port *port = to_dev_port(uport); > > status = readl(uport->membase + SE_GENI_RX_FIFO_STATUS); > word_cnt = status & RX_FIFO_WC_MSK; > @@ -649,7 +648,7 @@ static void qcom_geni_serial_stop_rx(struct uart_port *uport) > { > u32 irq_en; > u32 status; > - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); > + struct qcom_geni_serial_port *port = to_dev_port(uport); > u32 s_irq_status; > > irq_en = readl(uport->membase + SE_GENI_S_IRQ_EN); > @@ -687,7 +686,7 @@ static void qcom_geni_serial_start_rx(struct uart_port *uport) > { > u32 irq_en; > u32 status; > - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); > + struct qcom_geni_serial_port *port = to_dev_port(uport); > > status = readl(uport->membase + SE_GENI_STATUS); > if (status & S_GENI_CMD_ACTIVE) > @@ -707,7 +706,7 @@ static void qcom_geni_serial_start_rx(struct uart_port *uport) > static void qcom_geni_serial_handle_tx(struct uart_port *uport, bool done, > bool active) > { > - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); > + struct qcom_geni_serial_port *port = to_dev_port(uport); > struct circ_buf *xmit = &uport->state->xmit; > size_t avail; > size_t remaining; > @@ -803,7 +802,7 @@ static irqreturn_t qcom_geni_serial_isr(int isr, void *dev) > struct uart_port *uport = dev; > bool drop_rx = false; > struct tty_port *tport = &uport->state->port; > - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); > + struct qcom_geni_serial_port *port = to_dev_port(uport); > > if (uport->suspended) > return IRQ_NONE; > @@ -869,7 +868,7 @@ static void qcom_geni_serial_shutdown(struct uart_port *uport) > > static int qcom_geni_serial_port_setup(struct uart_port *uport) > { > - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); > + struct qcom_geni_serial_port *port = to_dev_port(uport); > u32 rxstale = DEFAULT_BITS_PER_CHAR * STALE_TIMEOUT; > u32 proto; > u32 pin_swap; > @@ -917,7 +916,7 @@ static int qcom_geni_serial_port_setup(struct uart_port *uport) > static int qcom_geni_serial_startup(struct uart_port *uport) > { > int ret; > - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); > + struct qcom_geni_serial_port *port = to_dev_port(uport); > > if (!port->setup) { > ret = qcom_geni_serial_port_setup(uport); > @@ -1003,7 +1002,7 @@ static void qcom_geni_serial_set_termios(struct uart_port *uport, > u32 stop_bit_len; > unsigned int clk_div; > u32 ser_clk_cfg; > - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); > + struct qcom_geni_serial_port *port = to_dev_port(uport); > unsigned long clk_rate; > u32 ver, sampling_rate; > unsigned int avg_bw_core; > @@ -1288,7 +1287,7 @@ static struct uart_driver qcom_geni_uart_driver = { > static void qcom_geni_serial_pm(struct uart_port *uport, > unsigned int new_state, unsigned int old_state) > { > - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); > + struct qcom_geni_serial_port *port = to_dev_port(uport); > > /* If we've never been called, treat it as off */ > if (old_state == UART_PM_STATE_UNDEFINED)
On Fri, 18 Nov 2022, Bartosz Golaszewski wrote: > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > > The member we want to resolve in struct qcom_geni_serial_port is called > uport so we don't need an additional redundant parameter in this macro. > > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > --- > drivers/tty/serial/qcom_geni_serial.c | 33 +++++++++++++-------------- > 1 file changed, 16 insertions(+), 17 deletions(-) > > diff --git a/drivers/tty/serial/qcom_geni_serial.c b/drivers/tty/serial/qcom_geni_serial.c > index 97ee7c074b79..1db2795804e9 100644 > --- a/drivers/tty/serial/qcom_geni_serial.c > +++ b/drivers/tty/serial/qcom_geni_serial.c > @@ -133,8 +133,7 @@ static const struct uart_ops qcom_geni_uart_pops; > static struct uart_driver qcom_geni_console_driver; > static struct uart_driver qcom_geni_uart_driver; > > -#define to_dev_port(ptr, member) \ > - container_of(ptr, struct qcom_geni_serial_port, member) > +#define to_dev_port(ptr) container_of(ptr, struct qcom_geni_serial_port, uport) Make this a static inline now that you're touching it.
diff --git a/drivers/tty/serial/qcom_geni_serial.c b/drivers/tty/serial/qcom_geni_serial.c index 97ee7c074b79..1db2795804e9 100644 --- a/drivers/tty/serial/qcom_geni_serial.c +++ b/drivers/tty/serial/qcom_geni_serial.c @@ -133,8 +133,7 @@ static const struct uart_ops qcom_geni_uart_pops; static struct uart_driver qcom_geni_console_driver; static struct uart_driver qcom_geni_uart_driver; -#define to_dev_port(ptr, member) \ - container_of(ptr, struct qcom_geni_serial_port, member) +#define to_dev_port(ptr) container_of(ptr, struct qcom_geni_serial_port, uport) static struct qcom_geni_serial_port qcom_geni_uart_ports[GENI_UART_PORTS] = { [0] = { @@ -175,7 +174,7 @@ static struct qcom_geni_serial_port qcom_geni_console_port = { static int qcom_geni_serial_request_port(struct uart_port *uport) { struct platform_device *pdev = to_platform_device(uport->dev); - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); + struct qcom_geni_serial_port *port = to_dev_port(uport); uport->membase = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(uport->membase)) @@ -212,7 +211,7 @@ static void qcom_geni_serial_set_mctrl(struct uart_port *uport, unsigned int mctrl) { u32 uart_manual_rfr = 0; - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); + struct qcom_geni_serial_port *port = to_dev_port(uport); if (uart_console(uport)) return; @@ -253,7 +252,7 @@ static bool qcom_geni_serial_poll_bit(struct uart_port *uport, struct qcom_geni_private_data *private_data = uport->private_data; if (private_data->drv) { - port = to_dev_port(uport, uport); + port = to_dev_port(uport); baud = port->baud; if (!baud) baud = 115200; @@ -506,7 +505,7 @@ static int handle_rx_console(struct uart_port *uport, u32 bytes, bool drop) u32 i; unsigned char buf[sizeof(u32)]; struct tty_port *tport; - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); + struct qcom_geni_serial_port *port = to_dev_port(uport); tport = &uport->state->port; for (i = 0; i < bytes; ) { @@ -549,7 +548,7 @@ static int handle_rx_console(struct uart_port *uport, u32 bytes, bool drop) static int handle_rx_uart(struct uart_port *uport, u32 bytes, bool drop) { struct tty_port *tport; - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); + struct qcom_geni_serial_port *port = to_dev_port(uport); u32 num_bytes_pw = port->tx_fifo_width / BITS_PER_BYTE; u32 words = ALIGN(bytes, num_bytes_pw) / num_bytes_pw; int ret; @@ -598,7 +597,7 @@ static void qcom_geni_serial_stop_tx(struct uart_port *uport) { u32 irq_en; u32 status; - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); + struct qcom_geni_serial_port *port = to_dev_port(uport); irq_en = readl(uport->membase + SE_GENI_M_IRQ_EN); irq_en &= ~(M_CMD_DONE_EN | M_TX_FIFO_WATERMARK_EN); @@ -627,7 +626,7 @@ static void qcom_geni_serial_handle_rx(struct uart_port *uport, bool drop) u32 last_word_byte_cnt; u32 last_word_partial; u32 total_bytes; - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); + struct qcom_geni_serial_port *port = to_dev_port(uport); status = readl(uport->membase + SE_GENI_RX_FIFO_STATUS); word_cnt = status & RX_FIFO_WC_MSK; @@ -649,7 +648,7 @@ static void qcom_geni_serial_stop_rx(struct uart_port *uport) { u32 irq_en; u32 status; - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); + struct qcom_geni_serial_port *port = to_dev_port(uport); u32 s_irq_status; irq_en = readl(uport->membase + SE_GENI_S_IRQ_EN); @@ -687,7 +686,7 @@ static void qcom_geni_serial_start_rx(struct uart_port *uport) { u32 irq_en; u32 status; - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); + struct qcom_geni_serial_port *port = to_dev_port(uport); status = readl(uport->membase + SE_GENI_STATUS); if (status & S_GENI_CMD_ACTIVE) @@ -707,7 +706,7 @@ static void qcom_geni_serial_start_rx(struct uart_port *uport) static void qcom_geni_serial_handle_tx(struct uart_port *uport, bool done, bool active) { - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); + struct qcom_geni_serial_port *port = to_dev_port(uport); struct circ_buf *xmit = &uport->state->xmit; size_t avail; size_t remaining; @@ -803,7 +802,7 @@ static irqreturn_t qcom_geni_serial_isr(int isr, void *dev) struct uart_port *uport = dev; bool drop_rx = false; struct tty_port *tport = &uport->state->port; - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); + struct qcom_geni_serial_port *port = to_dev_port(uport); if (uport->suspended) return IRQ_NONE; @@ -869,7 +868,7 @@ static void qcom_geni_serial_shutdown(struct uart_port *uport) static int qcom_geni_serial_port_setup(struct uart_port *uport) { - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); + struct qcom_geni_serial_port *port = to_dev_port(uport); u32 rxstale = DEFAULT_BITS_PER_CHAR * STALE_TIMEOUT; u32 proto; u32 pin_swap; @@ -917,7 +916,7 @@ static int qcom_geni_serial_port_setup(struct uart_port *uport) static int qcom_geni_serial_startup(struct uart_port *uport) { int ret; - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); + struct qcom_geni_serial_port *port = to_dev_port(uport); if (!port->setup) { ret = qcom_geni_serial_port_setup(uport); @@ -1003,7 +1002,7 @@ static void qcom_geni_serial_set_termios(struct uart_port *uport, u32 stop_bit_len; unsigned int clk_div; u32 ser_clk_cfg; - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); + struct qcom_geni_serial_port *port = to_dev_port(uport); unsigned long clk_rate; u32 ver, sampling_rate; unsigned int avg_bw_core; @@ -1288,7 +1287,7 @@ static struct uart_driver qcom_geni_uart_driver = { static void qcom_geni_serial_pm(struct uart_port *uport, unsigned int new_state, unsigned int old_state) { - struct qcom_geni_serial_port *port = to_dev_port(uport, uport); + struct qcom_geni_serial_port *port = to_dev_port(uport); /* If we've never been called, treat it as off */ if (old_state == UART_PM_STATE_UNDEFINED)