lkml.org 
[lkml]   [2011]   [Dec]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] serial/efm32: add new driver
    Hello,

    On Wed, Dec 21, 2011 at 08:28:47PM +0000, Alan Cox wrote:
    > On Wed, 21 Dec 2011 16:05:59 +0100
    > Uwe Kleine-König <u.kleine-koenig@pengutronix.de> wrote:
    >
    > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    > > ---
    > > Hello,
    > >
    > > note that ARCH_EFM32 isn't in mainline yet, so to be actually usable
    > > some arch patches are needed.
    >
    > Start by running it through the CodingStyle scripts as I see a //
    > comment in there 8)
    oops

    > > +static void efm32_usart_rx_chars(struct efm32_usart_port *efm_port)
    > > +{
    > > + struct uart_port *port = &efm_port->port;
    > > + struct tty_struct *tty = port->state->port.tty;
    >
    > Needs to be using krefs and checking the tty is not NULL
    > (tty_port_tty_get)
    ah, I copied from mxs-auart. Will try to find a better example.

    > > +static void efm32_usart_set_termios(struct uart_port *port,
    > > + struct ktermios *new, struct ktermios *old)
    > > +{
    > > + struct efm32_usart_port *efm_port = to_efm_port(port);
    > > + unsigned long flags;
    > > + unsigned baud;
    > > + u32 clkdiv;
    > > +
    > > + /* no modem control lines */
    > > + new->c_cflag &= ~(HUPCL | CRTSCTS | CMSPAR);
    >
    > Minor item - HUPCL shouldn't get cleared - its a request for hangup
    > behaviour not a port feature.
    ah, I copied that from imx (in an if(0) though).

    > > + /* currently only some features are implemented */
    > > + new->c_cflag &= ~CSIZE;
    > > + new->c_cflag |= CS8;
    > > + new->c_cflag |= CSTOPB;
    > > + new->c_cflag &= ~PARENB;
    >
    > If you can do CS8 without parity you can do CS7 with parity.
    I sticked to the things I use and tested. According to the manual the
    hardware can do 4 up to 16 data bits with and without parity :-)

    > > + new->c_iflag = 0;
    >
    > This seems broken. Lots of the iflgs are user requests and stack
    > properties not port features. For example you can do xon/xoff as its
    > pure software. As far as I can see you should leave c_iflag alone.
    ok.

    I will send an update and fix the drivers I copied from.

    Best regards
    Uwe

    --
    Pengutronix e.K. | Uwe Kleine-König |
    Industrial Linux Solutions | http://www.pengutronix.de/ |
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2011-12-22 09:59    [W:0.024 / U:0.744 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site