+ case SERIO_SETBRDRATE:
+ {
+ unsigned int div, rate;
+
+ rate = va_arg(args, speed_t);
+ if (!rate) {
+ return EINVAL;
+ }
+
+ div = uart->base_clk / va_arg(args, speed_t);
+ uart_baud_divisor(uart, div);
+ break;
+ }
+ case SERIO_SETBRDBASE:
+ {
+ int clk = va_arg(args, unsigned int);
+ if (!clk) {
+ return EINVAL;
+ }
+
+ uart->base_clk = clk;
+ break;
+ }