* [PATCH] u_serial: add setbrg to be able to use loadb & co
@ 2012-01-04 10:35 Eric Bénard
2012-01-04 11:45 ` Jean-Christophe PLAGNIOL-VILLARD
0 siblings, 1 reply; 6+ messages in thread
From: Eric Bénard @ 2012-01-04 10:35 UTC (permalink / raw)
To: barebox
Signed-off-by: Eric Bénard <eric@eukrea.com>
---
drivers/usb/gadget/u_serial.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/usb/gadget/u_serial.c b/drivers/usb/gadget/u_serial.c
index e310c3a..980b527 100644
--- a/drivers/usb/gadget/u_serial.c
+++ b/drivers/usb/gadget/u_serial.c
@@ -420,6 +420,10 @@ static int serial_getc(struct console_device *cdev)
static void serial_flush(struct console_device *cdev)
{
}
+static int serial_setbaudrate(struct console_device *cdev, int baudrate)
+{
+ return 0;
+}
static struct console_device *mycdev;
@@ -469,6 +473,7 @@ int gserial_connect(struct gserial *gser, u8 port_num)
cdev->putc = serial_putc;
cdev->getc = serial_getc;
cdev->flush = serial_flush;
+ cdev->setbrg = serial_setbaudrate;
console_register(cdev);
mycdev = cdev;
--
1.7.7.5
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] u_serial: add setbrg to be able to use loadb & co
2012-01-04 10:35 [PATCH] u_serial: add setbrg to be able to use loadb & co Eric Bénard
@ 2012-01-04 11:45 ` Jean-Christophe PLAGNIOL-VILLARD
2012-01-04 15:01 ` [PATCH] loadb: only try to change the baudrate if the driver has this feature Eric Bénard
0 siblings, 1 reply; 6+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-01-04 11:45 UTC (permalink / raw)
To: Eric Bénard; +Cc: barebox
On 11:35 Wed 04 Jan , Eric Bénard wrote:
> Signed-off-by: Eric Bénard <eric@eukrea.com>
> ---
> drivers/usb/gadget/u_serial.c | 5 +++++
> 1 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/usb/gadget/u_serial.c b/drivers/usb/gadget/u_serial.c
> index e310c3a..980b527 100644
> --- a/drivers/usb/gadget/u_serial.c
> +++ b/drivers/usb/gadget/u_serial.c
> @@ -420,6 +420,10 @@ static int serial_getc(struct console_device *cdev)
> static void serial_flush(struct console_device *cdev)
> {
> }
> +static int serial_setbaudrate(struct console_device *cdev, int baudrate)
> +{
> + return 0;
> +}
>
> static struct console_device *mycdev;
>
> @@ -469,6 +473,7 @@ int gserial_connect(struct gserial *gser, u8 port_num)
> cdev->putc = serial_putc;
> cdev->getc = serial_getc;
> cdev->flush = serial_flush;
> + cdev->setbrg = serial_setbaudrate;
> console_register(cdev);
> mycdev = cdev;
if no setbrg this need to be manage at framework level
Best Regards,
J.
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] loadb: only try to change the baudrate if the driver has this feature
2012-01-04 11:45 ` Jean-Christophe PLAGNIOL-VILLARD
@ 2012-01-04 15:01 ` Eric Bénard
2012-01-04 16:37 ` Sascha Hauer
0 siblings, 1 reply; 6+ messages in thread
From: Eric Bénard @ 2012-01-04 15:01 UTC (permalink / raw)
To: barebox
this allows loadb to work over usbserial gadget
Signed-off-by: Eric Bénard <eric@eukrea.com>
---
commands/loadb.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/commands/loadb.c b/commands/loadb.c
index 439a83a..d60340e 100644
--- a/commands/loadb.c
+++ b/commands/loadb.c
@@ -690,12 +690,13 @@ static int do_load_serial_bin(struct command *cmdtp, int argc, char *argv[])
{
ulong offset = 0;
ulong addr;
- int load_baudrate = 0, current_baudrate;
+ int load_baudrate = 0, current_baudrate = 0;
int rcode = 0;
int opt;
int open_mode = O_WRONLY;
char *output_file = NULL;
struct console_device *cdev = NULL;
+ unsigned char baudrate[16];
while ((opt = getopt(argc, argv, "f:b:o:c")) > 0) {
switch (opt) {
@@ -722,7 +723,8 @@ static int do_load_serial_bin(struct command *cmdtp, int argc, char *argv[])
printf("%s:No console device with STDIN and STDOUT\n", argv[0]);
return -ENODEV;
}
- current_baudrate = (int)simple_strtoul(dev_get_param(&cdev->class_dev, "baudrate"), NULL, 10);
+ if (dev_get_param(&cdev->class_dev, "baudrate") != NULL)
+ current_baudrate = (int)simple_strtoul(dev_get_param(&cdev->class_dev, "baudrate"), NULL, 10);
/* Load Defaults */
if (load_baudrate == 0)
--
1.7.7.5
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] loadb: only try to change the baudrate if the driver has this feature
2012-01-04 15:01 ` [PATCH] loadb: only try to change the baudrate if the driver has this feature Eric Bénard
@ 2012-01-04 16:37 ` Sascha Hauer
2012-01-04 17:04 ` Eric Bénard
0 siblings, 1 reply; 6+ messages in thread
From: Sascha Hauer @ 2012-01-04 16:37 UTC (permalink / raw)
To: Eric Bénard; +Cc: barebox
On Wed, Jan 04, 2012 at 04:01:16PM +0100, Eric Bénard wrote:
> this allows loadb to work over usbserial gadget
I like the original approach better. The baudrate setting has no meaning
in hardware for the usb serial gadget. This means that we can happily
support every baudrate requested by adding a fake setbrg function.
If we had some global console_setbrg function I would agree
Jean-Christophe, this function should return cdev->setbrg or
-ENOSYS if the driver does not have a setbrg function. Still the
usb gadget serial driver should have a fake setbrg function for
the reason explained above.
>
> Signed-off-by: Eric Bénard <eric@eukrea.com>
> ---
> commands/loadb.c | 6 ++++--
> 1 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/commands/loadb.c b/commands/loadb.c
> index 439a83a..d60340e 100644
> --- a/commands/loadb.c
> +++ b/commands/loadb.c
> @@ -690,12 +690,13 @@ static int do_load_serial_bin(struct command *cmdtp, int argc, char *argv[])
> {
> ulong offset = 0;
> ulong addr;
> - int load_baudrate = 0, current_baudrate;
> + int load_baudrate = 0, current_baudrate = 0;
> int rcode = 0;
> int opt;
> int open_mode = O_WRONLY;
> char *output_file = NULL;
> struct console_device *cdev = NULL;
> + unsigned char baudrate[16];
>
> while ((opt = getopt(argc, argv, "f:b:o:c")) > 0) {
> switch (opt) {
> @@ -722,7 +723,8 @@ static int do_load_serial_bin(struct command *cmdtp, int argc, char *argv[])
> printf("%s:No console device with STDIN and STDOUT\n", argv[0]);
> return -ENODEV;
> }
> - current_baudrate = (int)simple_strtoul(dev_get_param(&cdev->class_dev, "baudrate"), NULL, 10);
> + if (dev_get_param(&cdev->class_dev, "baudrate") != NULL)
> + current_baudrate = (int)simple_strtoul(dev_get_param(&cdev->class_dev, "baudrate"), NULL, 10);
>
This command could be improved by doing all this baudrate stuff only
when the -b option is given. This way we default to the current
baudrate (which seems sane in the cases I can think of)
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] loadb: only try to change the baudrate if the driver has this feature
2012-01-04 16:37 ` Sascha Hauer
@ 2012-01-04 17:04 ` Eric Bénard
2012-01-05 8:28 ` Sascha Hauer
0 siblings, 1 reply; 6+ messages in thread
From: Eric Bénard @ 2012-01-04 17:04 UTC (permalink / raw)
To: Sascha Hauer; +Cc: barebox
Hi Sascha,
Le Wed, 4 Jan 2012 17:37:56 +0100,
Sascha Hauer <s.hauer@pengutronix.de> a écrit :
> On Wed, Jan 04, 2012 at 04:01:16PM +0100, Eric Bénard wrote:
> > this allows loadb to work over usbserial gadget
>
> I like the original approach better. The baudrate setting has no meaning
> in hardware for the usb serial gadget. This means that we can happily
> support every baudrate requested by adding a fake setbrg function.
>
> If we had some global console_setbrg function I would agree
> Jean-Christophe, this function should return cdev->setbrg or
> -ENOSYS if the driver does not have a setbrg function. Still the
> usb gadget serial driver should have a fake setbrg function for
> the reason explained above.
>
> This command could be improved by doing all this baudrate stuff only
> when the -b option is given. This way we default to the current
> baudrate (which seems sane in the cases I can think of)
>
OK so in conclusion, what do you prefer :
- applying " u_serial: add setbrg to be able to use loadb & co"
- a fix for loadb to only handle baudrate change if -b option is given
- or maybe both options ? ;-)
?
Eric
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] loadb: only try to change the baudrate if the driver has this feature
2012-01-04 17:04 ` Eric Bénard
@ 2012-01-05 8:28 ` Sascha Hauer
0 siblings, 0 replies; 6+ messages in thread
From: Sascha Hauer @ 2012-01-05 8:28 UTC (permalink / raw)
To: Eric Bénard; +Cc: barebox
On Wed, Jan 04, 2012 at 06:04:23PM +0100, Eric Bénard wrote:
> Hi Sascha,
>
> Le Wed, 4 Jan 2012 17:37:56 +0100,
> Sascha Hauer <s.hauer@pengutronix.de> a écrit :
>
> > On Wed, Jan 04, 2012 at 04:01:16PM +0100, Eric Bénard wrote:
> > > this allows loadb to work over usbserial gadget
> >
> > I like the original approach better. The baudrate setting has no meaning
> > in hardware for the usb serial gadget. This means that we can happily
> > support every baudrate requested by adding a fake setbrg function.
> >
> > If we had some global console_setbrg function I would agree
> > Jean-Christophe, this function should return cdev->setbrg or
> > -ENOSYS if the driver does not have a setbrg function. Still the
> > usb gadget serial driver should have a fake setbrg function for
> > the reason explained above.
> >
> > This command could be improved by doing all this baudrate stuff only
> > when the -b option is given. This way we default to the current
> > baudrate (which seems sane in the cases I can think of)
> >
> OK so in conclusion, what do you prefer :
> - applying " u_serial: add setbrg to be able to use loadb & co"
> - a fix for loadb to only handle baudrate change if -b option is given
> - or maybe both options ? ;-)
Yes, both. The -b option patch was just something I saw when looking at
your patch.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2012-01-05 8:28 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-01-04 10:35 [PATCH] u_serial: add setbrg to be able to use loadb & co Eric Bénard
2012-01-04 11:45 ` Jean-Christophe PLAGNIOL-VILLARD
2012-01-04 15:01 ` [PATCH] loadb: only try to change the baudrate if the driver has this feature Eric Bénard
2012-01-04 16:37 ` Sascha Hauer
2012-01-04 17:04 ` Eric Bénard
2012-01-05 8:28 ` Sascha Hauer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox