[U-Boot] [PATCH 5/5] serial: pl01x: avoid pl01x type check two times
Vikas Manocha
vikas.manocha at st.com
Tue Nov 18 01:17:53 CET 2014
Signed-off-by: Vikas Manocha <vikas.manocha at st.com>
---
drivers/serial/serial_pl01x.c | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/drivers/serial/serial_pl01x.c b/drivers/serial/serial_pl01x.c
index 758684f..3fc1db5 100644
--- a/drivers/serial/serial_pl01x.c
+++ b/drivers/serial/serial_pl01x.c
@@ -72,22 +72,19 @@ static int pl01x_tstc(struct pl01x_regs *regs)
static int pl01x_generic_serial_init(struct pl01x_regs *regs,
enum pl01x_type type)
{
+ switch (type) {
+ case TYPE_PL010:
+ /* disable everything */
+ writel(0, ®s->pl010_cr);
+ break;
+ case TYPE_PL011:
#ifdef CONFIG_PL011_SERIAL_FLUSH_ON_INIT
- if (type == TYPE_PL011) {
/* Empty RX fifo if necessary */
if (readl(®s->pl011_cr) & UART_PL011_CR_UARTEN) {
while (!(readl(®s->fr) & UART_PL01x_FR_RXFE))
readl(®s->dr);
}
- }
#endif
-
- switch (type) {
- case TYPE_PL010:
- /* disable everything */
- writel(0, ®s->pl010_cr);
- break;
- case TYPE_PL011:
/* disable everything */
writel(0, ®s->pl011_cr);
break;
--
1.7.9.5
More information about the U-Boot
mailing list