Re: [RESEND PATCH] ARM :OMAP2+: UART: Remove some of uart default pads

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

* 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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel



[Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [PDAs]     [Linux]     [Linux MIPS]     [Yosemite Campsites]     [Photos]

Add to Google Follow linuxarm on Twitter