[PATCH 2/2] OMAP2+: UART: Add mechanism to probe uart pins and configure rx wakeup
Tony Lindgren
tony at atomide.com
Mon Apr 16 21:41:03 EDT 2012
Hi,
Few more comments below.
* Raja, Govindraj <govindraj.raja at ti.com> [120411 04:53]:
...
> +static int __init omap_serial_fill_default_pads(struct omap_board_data *bdata,
> + struct omap_uart_state *uart)
> +{
> + struct omap_mux_partition *tx_partition = NULL, *rx_partition = NULL;
> + struct omap_mux *rx_mux = NULL, *tx_mux = NULL;
> + char *rx_fmt, *tx_fmt;
> + int uart_nr = bdata->id + 1;
> +
> + if (bdata->id != 2) {
> + rx_fmt = "uart%d_rx.uart%d_rx";
> + tx_fmt = "uart%d_tx.uart%d_tx";
> + } else {
> + rx_fmt = "uart%d_rx_irrx.uart%d_rx_irrx";
> + tx_fmt = "uart%d_tx_irtx.uart%d_tx_irtx";
> + }
> +
> + snprintf(rx_pad_name, OMAP_UART_DEFAULT_PAD_NAME_LEN, rx_fmt,
> + uart_nr, uart_nr);
> + snprintf(tx_pad_name, OMAP_UART_DEFAULT_PAD_NAME_LEN, tx_fmt,
> + uart_nr, uart_nr);
This naming won't work for the fourth port on 3630 as there are no "uart4_rx"
or "uart4_tx" mux entries, they are "gpmc_wait2.uart4_tx" and
"gpmc_wait3.uart4_tx".
> @@ -289,8 +354,8 @@ void __init omap_serial_board_init(struct
> omap_uart_port_info *info)
> bdata.pads = NULL;
> bdata.pads_cnt = 0;
>
> - if (cpu_is_omap44xx() || cpu_is_omap34xx())
> - omap_serial_fill_default_pads(&bdata);
> + if (omap_serial_fill_default_pads(&bdata, uart))
> + continue;
>
> if (!info)
> omap_serial_init_port(&bdata, NULL);
Can't the omap_serial_board_init() now be just be omap_serial_init(void)
as it's not used anywhere else?
Anyways, this is getting too complex for the -rc series as at least 2430sdp
is using alternative pins for the first uart. Let's patch to remove just
the uart4 entry for 3630 for the -rc and then we can properly fix this
for the next merge window.
Regards,
Tony
More information about the linux-arm-kernel
mailing list