mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 02:21:52 +09:00
UPSTREAM: 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>
Bug: 370629635
Change-Id: If741a90295960d502af58641c4db61ab14b1dabe
(cherry picked from commit d0fabb0dc1)
Signed-off-by: Praveen Talari <quic_ptalari@quicinc.com>
This commit is contained in:
committed by
John Stultz
parent
d75a50763e
commit
6e6cda8f06
@@ -148,11 +148,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)
|
||||
@@ -591,6 +586,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;
|
||||
@@ -636,25 +636,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)
|
||||
@@ -695,29 +699,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,
|
||||
@@ -1141,11 +1141,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