From: "Heiko Stübner" <heiko@sntech.de>
To: Pichon Julien <pichon.jln@gmail.com>
Cc: kgene.kim@samsung.com, linux-samsung-soc@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, ben-linux@fluff.org
Subject: Re: [PATCH] Add poll_get_char & poll_put_char to uart_ops for the samsung UARTS.
Date: Sat, 25 Feb 2012 12:27:41 +0100 [thread overview]
Message-ID: <201202251227.42284.heiko@sntech.de> (raw)
In-Reply-To: <CAHQa92Vjwh3gtME2u19EZz57My3H7R=fQK4CoJR9s_ktpsy_Ww@mail.gmail.com>
Am Samstag 25 Februar 2012, 12:05:56 schrieb Pichon Julien:
> > (please CC me in your replies as I am not suscribed to the ML)
> >
> > The following patch allows users to use KGDB over serial console on
> > board based on Samsung SOC. It has been tested on a mini2440.
> >
> > Signed-off-by: Julien Pichon <pichon.jln@gmail.com>
> > ---
> > drivers/tty/serial/samsung.c | 50
> > ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 50
> > insertions(+), 0 deletions(-)
> >
> > diff --git a/drivers/tty/serial/samsung.c b/drivers/tty/serial/samsung.c
> > index f96f37b..9f703ca 100644
> > --- a/drivers/tty/serial/samsung.c
> > +++ b/drivers/tty/serial/samsung.c
> > @@ -877,11 +877,24 @@ s3c24xx_serial_verify_port(struct uart_port *port,
> > struct serial_struct *ser)
> >
> > static struct console s3c24xx_serial_console;
> >
> > +static int __init s3c24xx_serial_console_init(void)
> > +{
> > + register_console(&s3c24xx_serial_console);
> > + return 0;
> > +}
> > +console_initcall(s3c24xx_serial_console_init);
> > +
> > #define S3C24XX_SERIAL_CONSOLE &s3c24xx_serial_console
> > #else
> > #define S3C24XX_SERIAL_CONSOLE NULL
> > #endif
> >
> > +#ifdef CONFIG_CONSOLE_POLL
> > +static int s3c24xx_serial_get_poll_char(struct uart_port *port);
> > +static void s3c24xx_serial_put_poll_char(struct uart_port *port,
> > + unsigned char c);
> > +#endif
> > +
> > static struct uart_ops s3c24xx_serial_ops = {
> > .pm = s3c24xx_serial_pm,
> > .tx_empty = s3c24xx_serial_tx_empty,
> > @@ -900,6 +913,10 @@ static struct uart_ops s3c24xx_serial_ops = {
> > .request_port = s3c24xx_serial_request_port,
> > .config_port = s3c24xx_serial_config_port,
> > .verify_port = s3c24xx_serial_verify_port,
> > +#ifdef CONFIG_CONSOLE_POLL
> > + .poll_get_char = s3c24xx_serial_get_poll_char,
> > + .poll_put_char = s3c24xx_serial_put_poll_char,
> > +#endif
> > };
> >
> > static struct uart_driver s3c24xx_uart_drv = {
> > @@ -1311,6 +1328,39 @@ s3c24xx_serial_console_txrdy(struct uart_port
> > *port, unsigned int ufcon) return (utrstat & S3C2410_UTRSTAT_TXE) ? 1 :
> > 0;
> > }
> >
> > +#ifdef CONFIG_CONSOLE_POLL
> > +/*
> > + * Console polling routines for writing and reading from the uart while
> > + * in an interrupt or debug context.
> > + */
> > +
> > +static int s3c24xx_serial_get_poll_char(struct uart_port *port)
> > +{
> > + struct s3c24xx_uart_port *ourport = to_ourport(port);
> > + unsigned int ufstat, count;
> > +
> > + do {
> > + ufstat = rd_regl(port, S3C2410_UFSTAT);
> > + count = s3c24xx_serial_rx_fifocnt(ourport, ufstat);
> > + if (!count)
> > + cpu_relax();
> > + } while (!count);
> > +
> > + return rd_regb(port, S3C2410_URXH);
> > +}
> > +
> > +static void s3c24xx_serial_put_poll_char(struct uart_port *port,
> > + unsigned char c)
> > +{
> > + unsigned int ufcon = rd_regl(cons_uart, S3C2410_UFCON);
> > +
> > + while (!s3c24xx_serial_console_txrdy(port, ufcon))
> > + cpu_relax();
> > + wr_regb(cons_uart, S3C2410_UTXH, c);
> > +}
> > +
> > +#endif /* CONFIG_CONSOLE_POLL */
> > +
> > static void
> > s3c24xx_serial_console_putchar(struct uart_port *port, int ch)
> > {
> > --
> > 1.7.2.5
>
> (CC maintainers)
> Someone has time to review this patch ?
It might be goot to included the linux-arm-kernel list to get a wider
audience. I always felt, that the samsung ml isn't read by many.
Heiko
WARNING: multiple messages have this Message-ID (diff)
From: heiko@sntech.de (Heiko Stübner)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] Add poll_get_char & poll_put_char to uart_ops for the samsung UARTS.
Date: Sat, 25 Feb 2012 12:27:41 +0100 [thread overview]
Message-ID: <201202251227.42284.heiko@sntech.de> (raw)
In-Reply-To: <CAHQa92Vjwh3gtME2u19EZz57My3H7R=fQK4CoJR9s_ktpsy_Ww@mail.gmail.com>
Am Samstag 25 Februar 2012, 12:05:56 schrieb Pichon Julien:
> > (please CC me in your replies as I am not suscribed to the ML)
> >
> > The following patch allows users to use KGDB over serial console on
> > board based on Samsung SOC. It has been tested on a mini2440.
> >
> > Signed-off-by: Julien Pichon <pichon.jln@gmail.com>
> > ---
> > drivers/tty/serial/samsung.c | 50
> > ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 50
> > insertions(+), 0 deletions(-)
> >
> > diff --git a/drivers/tty/serial/samsung.c b/drivers/tty/serial/samsung.c
> > index f96f37b..9f703ca 100644
> > --- a/drivers/tty/serial/samsung.c
> > +++ b/drivers/tty/serial/samsung.c
> > @@ -877,11 +877,24 @@ s3c24xx_serial_verify_port(struct uart_port *port,
> > struct serial_struct *ser)
> >
> > static struct console s3c24xx_serial_console;
> >
> > +static int __init s3c24xx_serial_console_init(void)
> > +{
> > + register_console(&s3c24xx_serial_console);
> > + return 0;
> > +}
> > +console_initcall(s3c24xx_serial_console_init);
> > +
> > #define S3C24XX_SERIAL_CONSOLE &s3c24xx_serial_console
> > #else
> > #define S3C24XX_SERIAL_CONSOLE NULL
> > #endif
> >
> > +#ifdef CONFIG_CONSOLE_POLL
> > +static int s3c24xx_serial_get_poll_char(struct uart_port *port);
> > +static void s3c24xx_serial_put_poll_char(struct uart_port *port,
> > + unsigned char c);
> > +#endif
> > +
> > static struct uart_ops s3c24xx_serial_ops = {
> > .pm = s3c24xx_serial_pm,
> > .tx_empty = s3c24xx_serial_tx_empty,
> > @@ -900,6 +913,10 @@ static struct uart_ops s3c24xx_serial_ops = {
> > .request_port = s3c24xx_serial_request_port,
> > .config_port = s3c24xx_serial_config_port,
> > .verify_port = s3c24xx_serial_verify_port,
> > +#ifdef CONFIG_CONSOLE_POLL
> > + .poll_get_char = s3c24xx_serial_get_poll_char,
> > + .poll_put_char = s3c24xx_serial_put_poll_char,
> > +#endif
> > };
> >
> > static struct uart_driver s3c24xx_uart_drv = {
> > @@ -1311,6 +1328,39 @@ s3c24xx_serial_console_txrdy(struct uart_port
> > *port, unsigned int ufcon) return (utrstat & S3C2410_UTRSTAT_TXE) ? 1 :
> > 0;
> > }
> >
> > +#ifdef CONFIG_CONSOLE_POLL
> > +/*
> > + * Console polling routines for writing and reading from the uart while
> > + * in an interrupt or debug context.
> > + */
> > +
> > +static int s3c24xx_serial_get_poll_char(struct uart_port *port)
> > +{
> > + struct s3c24xx_uart_port *ourport = to_ourport(port);
> > + unsigned int ufstat, count;
> > +
> > + do {
> > + ufstat = rd_regl(port, S3C2410_UFSTAT);
> > + count = s3c24xx_serial_rx_fifocnt(ourport, ufstat);
> > + if (!count)
> > + cpu_relax();
> > + } while (!count);
> > +
> > + return rd_regb(port, S3C2410_URXH);
> > +}
> > +
> > +static void s3c24xx_serial_put_poll_char(struct uart_port *port,
> > + unsigned char c)
> > +{
> > + unsigned int ufcon = rd_regl(cons_uart, S3C2410_UFCON);
> > +
> > + while (!s3c24xx_serial_console_txrdy(port, ufcon))
> > + cpu_relax();
> > + wr_regb(cons_uart, S3C2410_UTXH, c);
> > +}
> > +
> > +#endif /* CONFIG_CONSOLE_POLL */
> > +
> > static void
> > s3c24xx_serial_console_putchar(struct uart_port *port, int ch)
> > {
> > --
> > 1.7.2.5
>
> (CC maintainers)
> Someone has time to review this patch ?
It might be goot to included the linux-arm-kernel list to get a wider
audience. I always felt, that the samsung ml isn't read by many.
Heiko
next prev parent reply other threads:[~2012-02-25 11:27 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-12 18:22 [PATCH] Add poll_get_char & poll_put_char to uart_ops for the samsung UARTS Julien Pichon
[not found] ` <CAHQa92X=9kiVhxCspcAR+dK-NbFqaUW2xTCjjDOAHGfDx_yMBQ@mail.gmail.com>
2012-02-25 11:05 ` Pichon Julien
2012-02-25 11:27 ` Heiko Stübner [this message]
2012-02-25 11:27 ` Heiko Stübner
2012-02-26 18:34 ` Denis 'GNUtoo' Carikli
2012-02-26 18:34 ` Denis 'GNUtoo' Carikli
2012-02-26 18:31 ` Denis 'GNUtoo' Carikli
2012-09-22 6:22 ` [PATCH] serial: samsung: Add poll_get_char & poll_put_char Doug Anderson
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=201202251227.42284.heiko@sntech.de \
--to=heiko@sntech.de \
--cc=ben-linux@fluff.org \
--cc=kgene.kim@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=pichon.jln@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.