@@ -71,7 +71,7 @@ static int pl01x_tstc(struct pl01x_regs *regs)
return !(readl(®s->fr) & UART_PL01x_FR_RXFE);
}
-static int pl01x_generic_serial_init(struct pl01x_regs *regs,
+static __used int pl01x_generic_serial_init(struct pl01x_regs *regs,
enum pl01x_type type)
{
switch (type) {
@@ -124,8 +124,9 @@ static int pl011_set_line_control(struct pl01x_regs *regs)
return 0;
}
-static int pl01x_generic_setbrg(struct pl01x_regs *regs, enum pl01x_type type,
- int clock, int baudrate)
+static int __used pl01x_generic_setbrg(struct pl01x_regs *regs,
+ enum pl01x_type type,
+ int clock, int baudrate)
{
switch (type) {
case TYPE_PL010: {
@@ -215,8 +216,10 @@ static void pl01x_serial_init_baud(int baudrate)
#endif
base_regs = (struct pl01x_regs *)port[CONFIG_CONS_INDEX];
+#ifndef CONFIG_PL010_SERIAL_PREINIT
pl01x_generic_serial_init(base_regs, pl01x_type);
pl01x_generic_setbrg(base_regs, pl01x_type, clock, baudrate);
+#endif
}
/*