tty: serial: qcom-geni-serial: drop unneeded forward definitions
If we shuffle the code a bit, we can drop all forward definitions of various static functions. Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Link: https://lore.kernel.org/r/20221229155030.418800-3-brgl@bgdev.pl Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
d8aca2f968
commit
d0fabb0dc1
@@ -147,11 +147,6 @@ static const struct uart_ops qcom_geni_console_pops;
|
||||
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;
|
||||
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);
|
||||
static unsigned int qcom_geni_serial_tx_empty(struct uart_port *port);
|
||||
static void qcom_geni_serial_stop_rx(struct uart_port *uport);
|
||||
static void qcom_geni_serial_handle_rx(struct uart_port *uport, bool drop);
|
||||
|
||||
#define to_dev_port(ptr, member) \
|
||||
container_of(ptr, struct qcom_geni_serial_port, member)
|
||||
@@ -590,6 +585,11 @@ static int handle_rx_uart(struct uart_port *uport, u32 bytes, bool drop)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static unsigned int qcom_geni_serial_tx_empty(struct uart_port *uport)
|
||||
{
|
||||
return !readl(uport->membase + SE_GENI_TX_FIFO_STATUS);
|
||||
}
|
||||
|
||||
static void qcom_geni_serial_start_tx(struct uart_port *uport)
|
||||
{
|
||||
u32 irq_en;
|
||||
@@ -635,25 +635,29 @@ static void qcom_geni_serial_stop_tx(struct uart_port *uport)
|
||||
writel(M_CMD_CANCEL_EN, uport->membase + SE_GENI_M_IRQ_CLEAR);
|
||||
}
|
||||
|
||||
static void qcom_geni_serial_start_rx(struct uart_port *uport)
|
||||
static void qcom_geni_serial_handle_rx(struct uart_port *uport, bool drop)
|
||||
{
|
||||
u32 irq_en;
|
||||
u32 status;
|
||||
u32 word_cnt;
|
||||
u32 last_word_byte_cnt;
|
||||
u32 last_word_partial;
|
||||
u32 total_bytes;
|
||||
struct qcom_geni_serial_port *port = to_dev_port(uport, uport);
|
||||
|
||||
status = readl(uport->membase + SE_GENI_STATUS);
|
||||
if (status & S_GENI_CMD_ACTIVE)
|
||||
qcom_geni_serial_stop_rx(uport);
|
||||
status = readl(uport->membase + SE_GENI_RX_FIFO_STATUS);
|
||||
word_cnt = status & RX_FIFO_WC_MSK;
|
||||
last_word_partial = status & RX_LAST;
|
||||
last_word_byte_cnt = (status & RX_LAST_BYTE_VALID_MSK) >>
|
||||
RX_LAST_BYTE_VALID_SHFT;
|
||||
|
||||
geni_se_setup_s_cmd(&port->se, UART_START_READ, 0);
|
||||
|
||||
irq_en = readl(uport->membase + SE_GENI_S_IRQ_EN);
|
||||
irq_en |= S_RX_FIFO_WATERMARK_EN | S_RX_FIFO_LAST_EN;
|
||||
writel(irq_en, uport->membase + SE_GENI_S_IRQ_EN);
|
||||
|
||||
irq_en = readl(uport->membase + SE_GENI_M_IRQ_EN);
|
||||
irq_en |= M_RX_FIFO_WATERMARK_EN | M_RX_FIFO_LAST_EN;
|
||||
writel(irq_en, uport->membase + SE_GENI_M_IRQ_EN);
|
||||
if (!word_cnt)
|
||||
return;
|
||||
total_bytes = BYTES_PER_FIFO_WORD * (word_cnt - 1);
|
||||
if (last_word_partial && last_word_byte_cnt)
|
||||
total_bytes += last_word_byte_cnt;
|
||||
else
|
||||
total_bytes += BYTES_PER_FIFO_WORD;
|
||||
port->handle_rx(uport, total_bytes, drop);
|
||||
}
|
||||
|
||||
static void qcom_geni_serial_stop_rx(struct uart_port *uport)
|
||||
@@ -694,29 +698,25 @@ static void qcom_geni_serial_stop_rx(struct uart_port *uport)
|
||||
qcom_geni_serial_abort_rx(uport);
|
||||
}
|
||||
|
||||
static void qcom_geni_serial_handle_rx(struct uart_port *uport, bool drop)
|
||||
static void qcom_geni_serial_start_rx(struct uart_port *uport)
|
||||
{
|
||||
u32 irq_en;
|
||||
u32 status;
|
||||
u32 word_cnt;
|
||||
u32 last_word_byte_cnt;
|
||||
u32 last_word_partial;
|
||||
u32 total_bytes;
|
||||
struct qcom_geni_serial_port *port = to_dev_port(uport, uport);
|
||||
|
||||
status = readl(uport->membase + SE_GENI_RX_FIFO_STATUS);
|
||||
word_cnt = status & RX_FIFO_WC_MSK;
|
||||
last_word_partial = status & RX_LAST;
|
||||
last_word_byte_cnt = (status & RX_LAST_BYTE_VALID_MSK) >>
|
||||
RX_LAST_BYTE_VALID_SHFT;
|
||||
status = readl(uport->membase + SE_GENI_STATUS);
|
||||
if (status & S_GENI_CMD_ACTIVE)
|
||||
qcom_geni_serial_stop_rx(uport);
|
||||
|
||||
if (!word_cnt)
|
||||
return;
|
||||
total_bytes = BYTES_PER_FIFO_WORD * (word_cnt - 1);
|
||||
if (last_word_partial && last_word_byte_cnt)
|
||||
total_bytes += last_word_byte_cnt;
|
||||
else
|
||||
total_bytes += BYTES_PER_FIFO_WORD;
|
||||
port->handle_rx(uport, total_bytes, drop);
|
||||
geni_se_setup_s_cmd(&port->se, UART_START_READ, 0);
|
||||
|
||||
irq_en = readl(uport->membase + SE_GENI_S_IRQ_EN);
|
||||
irq_en |= S_RX_FIFO_WATERMARK_EN | S_RX_FIFO_LAST_EN;
|
||||
writel(irq_en, uport->membase + SE_GENI_S_IRQ_EN);
|
||||
|
||||
irq_en = readl(uport->membase + SE_GENI_M_IRQ_EN);
|
||||
irq_en |= M_RX_FIFO_WATERMARK_EN | M_RX_FIFO_LAST_EN;
|
||||
writel(irq_en, uport->membase + SE_GENI_M_IRQ_EN);
|
||||
}
|
||||
|
||||
static void qcom_geni_serial_handle_tx(struct uart_port *uport, bool done,
|
||||
@@ -1125,11 +1125,6 @@ out_restart_rx:
|
||||
qcom_geni_serial_start_rx(uport);
|
||||
}
|
||||
|
||||
static unsigned int qcom_geni_serial_tx_empty(struct uart_port *uport)
|
||||
{
|
||||
return !readl(uport->membase + SE_GENI_TX_FIFO_STATUS);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SERIAL_QCOM_GENI_CONSOLE
|
||||
static int qcom_geni_console_setup(struct console *co, char *options)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user