Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1311078
| Path | csiph.com!aioe.org!bofh.it!news.nic.it!robomod |
|---|---|
| From | Peter Hurley <peter@hurleysoftware.com> |
| Newsgroups | linux.kernel |
| Subject | [PATCH v6 10/12] serial: 8250_early: Use port->regshift |
| Date | Sun, 17 Jan 2016 00:30:03 +0100 |
| Message-ID | <qRIsb-2KH-33@gated-at.bofh.it> (permalink) |
| References | <qRGJI-1Au-1@gated-at.bofh.it> <qRIsa-2KH-13@gated-at.bofh.it> |
| Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=hurleysoftware-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=3D59oreyMCXhm0CGLlhjvdFa4HPUvk56Jecd7RveNXY=; b=yb9GxT7ZmPCsLftZuwS0ZBV6lpSHAdWHKSY+3nBYZpw0BedlyFp6enAvgE+8IR5ajs cl4eJe2jB15DM2158rz5awE1W9pL+c4jcXm9V9M+vyFEB2OZ04/Y4k2RQbxpjBrB28cb E5qupxsTmPX64WaQs0rryDmfvP3UgIc4Xwb+bc9M70qC0CTm4Hs/GX9BQl7vXGoDz6Tm kajStyU9FwgSag9vyEwqoqTzOEgPVS87OW1jV5b0J6oCYdF7y7bx9fTk2LTDaMlAFcTv SK5Do/sAbYyZYFFF8Kzsjg26GOeiO72l667P89QtJmU/nxBBOrr1gTViByybCb8VZJ3X kZMw== |
| X-Google-Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=3D59oreyMCXhm0CGLlhjvdFa4HPUvk56Jecd7RveNXY=; b=bu6e6wEyutEBmQ1ONovjP4qZRhpRwXE3dwfDbwoxzzjx0+6XfBY0+Y5NauSHjEeSLk CtOtvP6SBA+MkiuKsIZYh67lLAOjS8Rrny/CfSBnxQM5mz0hCtyX4GdZ0gjj+6V9wTjt 5eYuL4+hK+Fo1PDO9uVHmQFTRURhRL+rYFR8cViTTcUDrkjwFL0F/g8X/o/4Sw8gKFuj CKPwWnSX60n2RFD1vzoZ9/uFgeWdzzMsSw403RENSJFYkU60lPpH2Vg/J6UynRs2dFkL 1sw75laZFR/vZ7OiGEalYR94lSZ8evTKcw+DqiFnukvKBYyOBa6/ST9p+84pkKeIXbKP 3lAg== |
| X-Gm-Message-State | ALoCoQnP0FVGfegbwmSJITeRMqilNKWe6Qegj+17spwFKZx57R2fR896TiijeDWRfJCvfqp3Z9zJZ7EkBVCEM5v/D2ZZVZTlpA== |
| X-Received | by 10.66.190.66 with SMTP id go2mr26019377pac.114.1452986681031; Sat, 16 Jan 2016 15:24:41 -0800 (PST) |
| X-Mailer | git-send-email 2.7.0 |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 64 |
| Organization | linux.* mail to news gateway |
| X-Original-Cc | Jiri Slaby <jslaby@suse.cz>, linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, Kevin Cernekee <cernekee@gmail.com>, Jon Hunter <jonathanh@nvidia.com>, Paul Burton <paul.burton@imgtec.com>, Masahiro Yamada <yamada.masahiro@socionext.com>, Sebastian Frias <sf84@laposte.net>, Peter Hurley <peter@hurleysoftware.com> |
| X-Original-Date | Sat, 16 Jan 2016 15:23:47 -0800 |
| X-Original-Message-ID | <1452986629-17210-11-git-send-email-peter@hurleysoftware.com> |
| X-Original-References | <1452980244-20512-1-git-send-email-peter@hurleysoftware.com> <1452986629-17210-1-git-send-email-peter@hurleysoftware.com> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | csiph.com linux.kernel:1311078 |
Show key headers only | View raw
earlycon initializes struct uart_port::regshift to the correct
value for UPIO_MEM32 already. Use the port field rather than
hard-coded value.
This enables broader support for various i/o access methods in
8250 earlycon (eg., omap8250 earlycon).
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
---
drivers/tty/serial/8250/8250_early.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/drivers/tty/serial/8250/8250_early.c b/drivers/tty/serial/8250/8250_early.c
index af62131..180143c 100644
--- a/drivers/tty/serial/8250/8250_early.c
+++ b/drivers/tty/serial/8250/8250_early.c
@@ -39,15 +39,17 @@
static unsigned int __init serial8250_early_in(struct uart_port *port, int offset)
{
+ offset <<= port->regshift;
+
switch (port->iotype) {
case UPIO_MEM:
return readb(port->membase + offset);
case UPIO_MEM16:
- return readw(port->membase + (offset << 1));
+ return readw(port->membase + offset);
case UPIO_MEM32:
- return readl(port->membase + (offset << 2));
+ return readl(port->membase + offset);
case UPIO_MEM32BE:
- return ioread32be(port->membase + (offset << 2));
+ return ioread32be(port->membase + offset);
case UPIO_PORT:
return inb(port->iobase + offset);
default:
@@ -57,18 +59,20 @@ static unsigned int __init serial8250_early_in(struct uart_port *port, int offse
static void __init serial8250_early_out(struct uart_port *port, int offset, int value)
{
+ offset <<= port->regshift;
+
switch (port->iotype) {
case UPIO_MEM:
writeb(value, port->membase + offset);
break;
case UPIO_MEM16:
- writew(value, port->membase + (offset << 1));
+ writew(value, port->membase + offset);
break;
case UPIO_MEM32:
- writel(value, port->membase + (offset << 2));
+ writel(value, port->membase + offset);
break;
case UPIO_MEM32BE:
- iowrite32be(value, port->membase + (offset << 2));
+ iowrite32be(value, port->membase + offset);
break;
case UPIO_PORT:
outb(value, port->iobase + offset);
--
2.7.0
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v5 00/11] Earlycon cleanup Peter Hurley <peter@hurleysoftware.com> - 2016-01-16 22:40 +0100
[PATCH v5 11/11] serial: 8250_omap: Add omap8250 earlycon Peter Hurley <peter@hurleysoftware.com> - 2016-01-16 22:40 +0100
[PATCH v5 06/11] of: earlycon: Move address translation to of_setup_earlycon() Peter Hurley <peter@hurleysoftware.com> - 2016-01-16 22:40 +0100
Re: [PATCH v5 06/11] of: earlycon: Move address translation to of_setup_earlycon() kbuild test robot <lkp@intel.com> - 2016-01-16 23:10 +0100
[PATCH v5 07/11] serial: earlycon: Common log banner for command line and DT Peter Hurley <peter@hurleysoftware.com> - 2016-01-16 22:40 +0100
[PATCH v5 01/11] earlycon: Use common framework for earlycon declarations Peter Hurley <peter@hurleysoftware.com> - 2016-01-16 22:50 +0100
[PATCH v5 05/11] of: earlycon: Initialize port fields from DT properties Peter Hurley <peter@hurleysoftware.com> - 2016-01-16 22:50 +0100
Re: [PATCH v5 05/11] of: earlycon: Initialize port fields from DT properties kbuild test robot <lkp@intel.com> - 2016-01-16 23:00 +0100
[PATCH v5 02/11] serial: earlycon: Fixup earlycon console name and index Peter Hurley <peter@hurleysoftware.com> - 2016-01-16 22:50 +0100
[PATCH v5 03/11] of: earlycon: Fixup earlycon console name and index Peter Hurley <peter@hurleysoftware.com> - 2016-01-16 22:50 +0100
[PATCH v5 04/11] of: earlycon: Add options string handling Peter Hurley <peter@hurleysoftware.com> - 2016-01-16 22:50 +0100
[PATCH v5 09/11] serial: 8250_early: Use port->regshift Peter Hurley <peter@hurleysoftware.com> - 2016-01-16 22:50 +0100
[PATCH v5 08/11] serial: earlycon: Show the earlycon "driver" in banner Peter Hurley <peter@hurleysoftware.com> - 2016-01-16 22:50 +0100
[PATCH v5 10/11] of: earlycon: Log more helpful message if stdout-path node not found Peter Hurley <peter@hurleysoftware.com> - 2016-01-16 22:50 +0100
[PATCH v6 11/12] of: earlycon: Log more helpful message if stdout-path node not found Peter Hurley <peter@hurleysoftware.com> - 2016-01-17 00:30 +0100
[PATCH v6 05/12] of: earlycon: Add options string handling Peter Hurley <peter@hurleysoftware.com> - 2016-01-17 00:30 +0100
[PATCH v6 04/12] of: earlycon: Fixup earlycon console name and index Peter Hurley <peter@hurleysoftware.com> - 2016-01-17 00:30 +0100
[PATCH v6 09/12] serial: earlycon: Show the earlycon "driver" in banner Peter Hurley <peter@hurleysoftware.com> - 2016-01-17 00:30 +0100
[PATCH v6 00/12] Earlycon cleanup Peter Hurley <peter@hurleysoftware.com> - 2016-01-17 00:30 +0100
[PATCH v6 02/12] earlycon: Use common framework for earlycon declarations Peter Hurley <peter@hurleysoftware.com> - 2016-01-17 00:30 +0100
[PATCH v6 10/12] serial: 8250_early: Use port->regshift Peter Hurley <peter@hurleysoftware.com> - 2016-01-17 00:30 +0100
[PATCH v6 07/12] of: earlycon: Move address translation to of_setup_earlycon() Peter Hurley <peter@hurleysoftware.com> - 2016-01-17 00:30 +0100
[PATCH v6 01/12] of: earlycon: of_setup_earlycon() requires CONFIG_OF_EARLY_FLATTREE Peter Hurley <peter@hurleysoftware.com> - 2016-01-17 00:30 +0100
[PATCH v6 03/12] serial: earlycon: Fixup earlycon console name and index Peter Hurley <peter@hurleysoftware.com> - 2016-01-17 00:30 +0100
[PATCH v6 08/12] serial: earlycon: Common log banner for command line and DT Peter Hurley <peter@hurleysoftware.com> - 2016-01-17 00:30 +0100
[PATCH v6 06/12] of: earlycon: Initialize port fields from DT properties Peter Hurley <peter@hurleysoftware.com> - 2016-01-17 00:30 +0100
[PATCH v6 12/12] serial: 8250_omap: Add omap8250 earlycon Peter Hurley <peter@hurleysoftware.com> - 2016-01-17 00:30 +0100
csiph-web