mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Alexey Galakhov <agalakhov@gmail.com>
To: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: barebox@lists.infradead.org
Subject: Re: [PATCH] Force set console baudrate
Date: Wed, 10 Jul 2013 02:09:50 +0600	[thread overview]
Message-ID: <51DC6E0E.2090806@gmail.com> (raw)
In-Reply-To: <5C73F356-67C8-4D18-B0B8-3D0BE89794A7@jcrosoft.com>

Hi,

On 07/10/2013 12:57 AM, Jean-Christophe PLAGNIOL-VILLARD wrote:
> 
> On Jul 10, 2013, at 1:43 AM, Sascha Hauer <s.hauer@pengutronix.de> wrote:
> 
>> On Tue, Jul 09, 2013 at 09:22:10PM +0600, Alexey Galakhov wrote:
>>> Most serial drivers require setbrg() to be called at least once. Call them
>>> just after the device has been added.
>>>
>>> Signed-off-by: Alexey Galakhov <agalakhov@gmail.com>
> 
> This is wrong if you do this at boot which means you force the same baudrate
> on all the console

This does NOT force the same baudrate. It just ensures that the default
baudrate will not be ignored. There is no problem setting another
baudrate later if desired by using "baudrate" parameter from the shell
or something.

> We must do this only is enable by default of via shell

There is "chicken and egg" problem. barebox_banner() requires valid
baudrate setting and may deadlock without it. (It WILL deadlock on most
serial drivers and really deadlocks on S3C one).

> and some console may not need the setbrg call back (keyboard or fbdev as example)

If the device does not have setbrg() function defined, nothing will be
called. This all is under if (newcdev->setbrg) anyway.

> Also if we want to use a rs232 for controlling a mcu the baud rate may not be the
> CONFIG_BAUDRATE

No problem, there is a parameter. Just set it before activating the device.

> so force it at register is wrong

Not setting it is much worse. It will result in deadlock at the first
attempt to write to the console since setbrg() will not be called at all.

The idea is, if there IS a function to set a baudrate and there IS a
default setting, the baudrate SHOULD be initialized before doing
anything else.  Changing the baudrate on an inactive device multiple
times is (or at least should be) harmless. Trying to activate the device
with baudrate unset is not.

Regards,
Alex

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

  reply	other threads:[~2013-07-09 20:10 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-09 15:22 Alexey Galakhov
2013-07-09 17:43 ` Sascha Hauer
2013-07-09 18:57   ` Jean-Christophe PLAGNIOL-VILLARD
2013-07-09 20:09     ` Alexey Galakhov [this message]
2013-07-10  8:07       ` Jean-Christophe PLAGNIOL-VILLARD
2013-07-10  8:36         ` Alexey Galakhov
2013-07-10  9:01           ` Sascha Hauer
2013-07-10  9:36             ` Alexey Galakhov
2013-07-10 10:15             ` [PATCH 1/2] Revert "Force set console baudrate" Alexey Galakhov
2013-07-10 10:15               ` [PATCH 2/2] Force set console baudrate at enable time Alexey Galakhov
2013-07-10 21:28                 ` Sascha Hauer
2013-07-11  7:13                   ` Alexey Galakhov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51DC6E0E.2090806@gmail.com \
    --to=agalakhov@gmail.com \
    --cc=barebox@lists.infradead.org \
    --cc=plagnioj@jcrosoft.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox