* Russ Dill <russ.dill@xxxxxxxxx> [120409 09:59]: > > From: "Govindraj.R" <govindraj.raja@xxxxxx> > > Date: Mon, 9 Apr 2012 15:16:52 +0530 > > Subject: [PATCH] ARM: OMAP2+: UART: Fix usage of default uart pads. > > -static int __init > > +int __init > > omap_mux_get_by_name(const char *muxname, > > struct omap_mux_partition **found_partition, > > struct omap_mux **found_mux) This can now be one one line: int __init omap_mux_get_by_name(const char *muxname, ... > > + u16 tx_mode, rx_mode; > > + > > + tx_mode = omap_mux_read(tx_partition, tx_mux->reg_offset); > > + rx_mode = omap_mux_read(rx_partition, rx_mux->reg_offset); > > + > > + if (!(rx_mode & 0x07) && !(tx_mode & 0x07)) { > > + default_omap_uart_pads[0].name = rx_pad_name; > > + default_omap_uart_pads[0].flags = > > + OMAP_DEVICE_PAD_REMUX | OMAP_DEVICE_PAD_WAKEUP; > > + default_omap_uart_pads[0].enable = OMAP_PIN_INPUT | > > + OMAP_MUX_MODE0; > > + default_omap_uart_pads[0].idle = OMAP_PIN_INPUT | > > + OMAP_MUX_MODE0; > > + > > + default_omap_uart_pads[1].name = tx_pad_name; > > + default_omap_uart_pads[1].enable = OMAP_PIN_OUTPUT | > > + OMAP_MUX_MODE0; > > + bdata->pads = default_omap_uart_pads; > > You are assigning this variable to a structure on the stack. > > > + bdata->pads_cnt = ARRAY_SIZE(default_omap_uart_pads); Also, maybe make that into a separate function with comments added that we check that the default pins are muxed to uart rx and tx mode to start with. Otherwise it's a bit hard to figure out what's going on here. Then please split it into two patches: First one removes all the unsafe muxing, then the second one enables wake-up events for the ports already in uart rx/tx mode. Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html