lkml.org 
[lkml]   [2011]   [Jun]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 4/7] serial/8250: move DWAP support to arch/mips
Hi Arnd,

On Mon, Jun 27, 2011 at 11:45:17PM +0200, Arnd Bergmann wrote:
> Only one board uses the UPIO_DWAP iotype, and nothing uses
> the UPIO_DWAP32 iotype. It seems much cleaner to handle the
> DWAP quirk as a new port type, and move the serial_out
> accessor into the platform code. If more platforms start
> using the DWAP port, that function can be moved into a
> common location.

I posted a series[1] a couple of weeks back that does this for
DWAPB/DWAPB32 in a slightly different way which also removes the extra
interrupt handling into the platform code.

Incidentally, I've been trying to mainline a platform (picoxcell) that
has a DWAPB (with 32-bit access requirement) but struggled to get
feedback on the SoC port but hope to resubmit as a device tree based
platform.

1. http://marc.info/?l=linux-serial&m=130821602729595&w=2

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Cc: Ralf Baechle <ralf@linux-mips.org>
> Cc: Jamie Iles <jamie@jamieiles.com>
> Cc: Greg Kroah-Hartman <gregkh@suse.de>
> Cc: linux-serial@vger.kernel.org
> ---
> arch/mips/pmc-sierra/msp71xx/msp_serial.c | 32 ++++++++++-
> drivers/tty/serial/8250.c | 87 +++--------------------------
> drivers/tty/serial/8250_hub6.c | 17 ++++++

Should the hub6 stuff be in this patch?

> drivers/tty/serial/serial_core.c | 4 -
> include/linux/serial_core.h | 5 +-
> 5 files changed, 57 insertions(+), 88 deletions(-)
>
> diff --git a/arch/mips/pmc-sierra/msp71xx/msp_serial.c b/arch/mips/pmc-sierra/msp71xx/msp_serial.c
> index f726162..6c9f1d3 100644
> --- a/arch/mips/pmc-sierra/msp71xx/msp_serial.c
> +++ b/arch/mips/pmc-sierra/msp71xx/msp_serial.c
> @@ -38,6 +38,33 @@
> #include <msp_int.h>
> #include <msp_regs.h>
>
> +/* Save the LCR value so it can be re-written when a Busy Detect IRQ occurs. */
> +static inline void dwapb_save_out_value(struct uart_port *p, int offset,
> + int value)
> +{
> + struct uart_8250_port *up =
> + container_of(p, struct uart_8250_port, port);

I couldn't see that struct uart_8250_port is moved out of 8250.c, so I'm
not sure that this would work in here?

Jamie


\
 
 \ /
  Last update: 2011-06-28 00:21    [W:0.111 / U:0.340 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site