From: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: linux-kernel@vger.kernel.org,
platform-driver-x86@vger.kernel.org,
linux-serial@vger.kernel.org, lm-sensors@lm-sensors.org
Subject: Re: [RFC 3/5] serial: add support for Technologic Systems TS-5500 RS-485 serial port
Date: Mon, 6 Jun 2011 16:48:34 -0400 [thread overview]
Message-ID: <20110606164834.5894deda@v0nbox> (raw)
In-Reply-To: <20110430111753.69466ae5@lxorguk.ukuu.org.uk>
Hi,
Sorry for the late reply to this comment.
On Sat, 30 Apr 2011 11:17:53
+0100, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote :
> > --- a/drivers/tty/serial/8250.c
> > +++ b/drivers/tty/serial/8250.c
> > @@ -109,6 +109,13 @@ static unsigned int skip_txen_test; /* force
> > skip of txen test at init time */
> > #define CONFIG_HUB6 1
> >
> > #include <asm/serial.h>
> > +
> > +/* TS-5500 related stuff */
> > +#ifdef CONFIG_SERIAL_8250_TS5500_485_TIMER
> > +#define TS5500_TIMER2_SPEED_ADDR 0x42
> > +#define TS5500_485_SERIAL_PORT 0x02
> > +#endif
> > +
> > /*
> > * SERIAL_PORT_DFNS tells us about built-in ports that have no
> > * standard enumeration mechanism. Platforms that can find all
> > @@ -437,6 +444,25 @@ static void au_serial_out(struct uart_port *p,
> > int offset, int value)
> > __raw_writel(value, p->membase + offset);
> > }
> >
> > +#ifdef CONFIG_SERIAL_8250_TS5500_485_TIMER
> > +void serial8250_ts5500_set_termios(struct uart_port *port,
> > + struct ktermios *new,
> > + struct ktermios *old)
> > +{
> > + u16 speed;
> > +
> > + if (new->c_ospeed >= 9600 && port->line ==
> > TS5500_485_SERIAL_PORT) {
> > + speed = ((115200 * 2) / new->c_ospeed);
> > +
> > + /* This should be written by low byte followed by
> > high byte */
> > + spin_lock_irq(&port->lock);
> > + outb((speed & 0x0F), TS5500_TIMER2_SPEED_ADDR);
> > + outb((speed >> 8), TS5500_TIMER2_SPEED_ADDR);
> > + spin_unlock_irq(&port->lock);
> > + }
> > +}
> > +#endif
>
> Please don't put board specific magic in this file, we are desperately
> trying to get rid of it.
>
> > +
> > static unsigned int tsi_serial_in(struct uart_port *p, int offset)
> > {
> > unsigned int tmp;
> > @@ -2464,6 +2490,10 @@ serial8250_do_set_termios(struct uart_port
> > *port, struct ktermios *termios,
> > /* Don't rewrite B0 */
> > if (tty_termios_baud_rate(termios))
> > tty_termios_encode_baud_rate(termios, baud, baud);
> > +
> > +#ifdef CONFIG_SERIAL_8250_TS5500_485_TIMER
> > + serial8250_ts5500_set_termios(port, termios, old);
> > +#endif
> > }
> > EXPORT_SYMBOL(serial8250_do_set_termios);
>
> Provide your own set_termios method and then call into this one (which
> is why it is exported)
I don't really understand how to do this. I've written my own
ts5500_serial8250_set_termios() function, which first makes a call to
serial8250_do_set_termios(), but I don't know how to make the platform
uses this one now. I've seen the plat_serial8250_port structure which
has a set_termios field, but I didn't find an example of usage of this
structure with this field. Maybe that's not the good way to "hook" the
serial8250_do_set_termios() function.
Could you please explain how to do this?
Regards,
Vivien.
WARNING: multiple messages have this Message-ID (diff)
From: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: linux-kernel@vger.kernel.org,
platform-driver-x86@vger.kernel.org,
linux-serial@vger.kernel.org, lm-sensors@lm-sensors.org
Subject: Re: [lm-sensors] [RFC 3/5] serial: add support for Technologic
Date: Mon, 06 Jun 2011 20:48:34 +0000 [thread overview]
Message-ID: <20110606164834.5894deda@v0nbox> (raw)
In-Reply-To: <20110430111753.69466ae5@lxorguk.ukuu.org.uk>
Hi,
Sorry for the late reply to this comment.
On Sat, 30 Apr 2011 11:17:53
+0100, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote :
> > --- a/drivers/tty/serial/8250.c
> > +++ b/drivers/tty/serial/8250.c
> > @@ -109,6 +109,13 @@ static unsigned int skip_txen_test; /* force
> > skip of txen test at init time */
> > #define CONFIG_HUB6 1
> >
> > #include <asm/serial.h>
> > +
> > +/* TS-5500 related stuff */
> > +#ifdef CONFIG_SERIAL_8250_TS5500_485_TIMER
> > +#define TS5500_TIMER2_SPEED_ADDR 0x42
> > +#define TS5500_485_SERIAL_PORT 0x02
> > +#endif
> > +
> > /*
> > * SERIAL_PORT_DFNS tells us about built-in ports that have no
> > * standard enumeration mechanism. Platforms that can find all
> > @@ -437,6 +444,25 @@ static void au_serial_out(struct uart_port *p,
> > int offset, int value)
> > __raw_writel(value, p->membase + offset);
> > }
> >
> > +#ifdef CONFIG_SERIAL_8250_TS5500_485_TIMER
> > +void serial8250_ts5500_set_termios(struct uart_port *port,
> > + struct ktermios *new,
> > + struct ktermios *old)
> > +{
> > + u16 speed;
> > +
> > + if (new->c_ospeed >= 9600 && port->line =
> > TS5500_485_SERIAL_PORT) {
> > + speed = ((115200 * 2) / new->c_ospeed);
> > +
> > + /* This should be written by low byte followed by
> > high byte */
> > + spin_lock_irq(&port->lock);
> > + outb((speed & 0x0F), TS5500_TIMER2_SPEED_ADDR);
> > + outb((speed >> 8), TS5500_TIMER2_SPEED_ADDR);
> > + spin_unlock_irq(&port->lock);
> > + }
> > +}
> > +#endif
>
> Please don't put board specific magic in this file, we are desperately
> trying to get rid of it.
>
> > +
> > static unsigned int tsi_serial_in(struct uart_port *p, int offset)
> > {
> > unsigned int tmp;
> > @@ -2464,6 +2490,10 @@ serial8250_do_set_termios(struct uart_port
> > *port, struct ktermios *termios,
> > /* Don't rewrite B0 */
> > if (tty_termios_baud_rate(termios))
> > tty_termios_encode_baud_rate(termios, baud, baud);
> > +
> > +#ifdef CONFIG_SERIAL_8250_TS5500_485_TIMER
> > + serial8250_ts5500_set_termios(port, termios, old);
> > +#endif
> > }
> > EXPORT_SYMBOL(serial8250_do_set_termios);
>
> Provide your own set_termios method and then call into this one (which
> is why it is exported)
I don't really understand how to do this. I've written my own
ts5500_serial8250_set_termios() function, which first makes a call to
serial8250_do_set_termios(), but I don't know how to make the platform
uses this one now. I've seen the plat_serial8250_port structure which
has a set_termios field, but I didn't find an example of usage of this
structure with this field. Maybe that's not the good way to "hook" the
serial8250_do_set_termios() function.
Could you please explain how to do this?
Regards,
Vivien.
_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
next prev parent reply other threads:[~2011-06-06 20:48 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-29 22:21 [RFC 0/5] Support for Technologic Systems TS-5500 board Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` [lm-sensors] " Vivien Didelot
2011-04-29 22:21 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Vivien Didelot
2011-04-29 23:32 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Greg KH
2011-04-29 23:32 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Greg KH
2011-05-02 21:07 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Vivien Didelot
2011-05-02 21:07 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Vivien Didelot
2011-05-02 21:55 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Greg KH
2011-05-02 21:55 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Greg KH
2011-05-03 9:39 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Alan Cox
2011-05-03 9:39 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Alan Cox
2011-05-03 14:13 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Greg KH
2011-05-03 14:13 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Greg KH
2011-04-30 10:07 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Alan Cox
2011-04-30 10:07 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Alan Cox
2011-05-04 15:15 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Vivien Didelot
2011-05-04 15:15 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Vivien Didelot
2011-05-04 15:29 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Alan Cox
2011-05-04 15:29 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Alan Cox
2011-05-04 20:34 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Vivien Didelot
2011-05-04 20:34 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Vivien Didelot
2011-05-05 13:38 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Alan Cox
2011-05-05 13:38 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Alan Cox
2011-05-11 22:24 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Vivien Didelot
2011-05-11 22:24 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Vivien Didelot
2011-05-17 12:37 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Sean Young
2011-05-18 15:03 ` Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` [RFC 2/5] gpio: add support for Technologic Systems TS-5500 GPIOs Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` [lm-sensors] [RFC 2/5] gpio: add support for Technologic Systems Vivien Didelot
2011-04-30 10:15 ` [RFC 2/5] gpio: add support for Technologic Systems TS-5500 GPIOs Alan Cox
2011-04-30 10:15 ` [lm-sensors] [RFC 2/5] gpio: add support for Technologic Alan Cox
2011-05-13 21:33 ` [RFC 2/5] gpio: add support for Technologic Systems TS-5500 GPIOs Vivien Didelot
2011-05-13 21:33 ` [lm-sensors] [RFC 2/5] gpio: add support for Technologic Vivien Didelot
2011-05-13 22:03 ` [RFC 2/5] gpio: add support for Technologic Systems TS-5500 GPIOs Alan Cox
2011-05-13 22:03 ` [lm-sensors] [RFC 2/5] gpio: add support for Technologic Alan Cox
2011-05-04 16:29 ` [RFC 2/5] gpio: add support for Technologic Systems TS-5500 GPIOs Arnd Bergmann
2011-05-04 16:29 ` [lm-sensors] [RFC 2/5] gpio: add support for Technologic Arnd Bergmann
2011-04-29 22:21 ` [RFC 2/5] gpio: add support for Technologic Systems TS-5500 GPIOs Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` [RFC 3/5] serial: add support for Technologic Systems TS-5500 RS-485 serial port Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` [lm-sensors] [RFC 3/5] serial: add support for Technologic Systems Vivien Didelot
2011-04-30 10:17 ` [RFC 3/5] serial: add support for Technologic Systems TS-5500 RS-485 serial port Alan Cox
2011-04-30 10:17 ` [lm-sensors] [RFC 3/5] serial: add support for Technologic Alan Cox
2011-06-06 20:48 ` Vivien Didelot [this message]
2011-06-06 20:48 ` Vivien Didelot
2011-04-29 22:21 ` [RFC 4/5] leds: add support for Technologic Systems TS-5500 leds Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` [lm-sensors] [RFC 4/5] leds: add support for Technologic Systems Vivien Didelot
2011-05-03 6:04 ` [RFC 4/5] leds: add support for Technologic Systems TS-5500 leds Govindraj
2011-05-03 6:16 ` [lm-sensors] [RFC 4/5] leds: add support for Technologic Govindraj
2011-04-29 22:21 ` [RFC 5/5] hwmon: add support for Technologic Systems TS-5500 A-D converter Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Systems Vivien Didelot
2011-04-30 3:39 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Systems TS-5500 A-D converter Guenter Roeck
2011-04-30 3:39 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Guenter Roeck
2011-04-30 3:39 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Systems TS-5500 A-D converter Guenter Roeck
2011-04-30 9:56 ` Jonathan Cameron
2011-04-30 9:56 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Jonathan Cameron
2011-05-03 15:55 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Systems TS-5500 A-D converter Vivien Didelot
2011-05-03 15:55 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Vivien Didelot
2011-05-03 17:33 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Systems TS-5500 A-D converter Guenter Roeck
2011-05-03 17:33 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Guenter Roeck
2011-05-03 17:33 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Systems TS-5500 A-D converter Guenter Roeck
2011-05-04 9:03 ` Jonathan Cameron
2011-05-04 9:03 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Jonathan Cameron
2011-05-04 9:03 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Systems TS-5500 A-D converter Jonathan Cameron
2011-06-06 22:56 ` Vivien Didelot
2011-06-07 8:37 ` Jonathan Cameron
2011-04-30 10:20 ` Alan Cox
2011-04-30 10:20 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Alan Cox
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=20110606164834.5894deda@v0nbox \
--to=vivien.didelot@savoirfairelinux.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=lm-sensors@lm-sensors.org \
--cc=platform-driver-x86@vger.kernel.org \
/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.